AbstractFileBrowser.st
changeset 18389 028d70eb907a
parent 18352 ee486b3355c7
child 18426 7a6813ed8ec0
--- a/AbstractFileBrowser.st	Sat Sep 15 14:37:16 2018 +0200
+++ b/AbstractFileBrowser.st	Mon Sep 17 16:26:47 2018 +0200
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 2002 by eXept Software AG
               All Rights Reserved
@@ -3006,7 +3004,7 @@
                                     "/ are perfect here, but usually not available in the font
                                     "/ and we have currently no way of knowing if they are...
                                     "/ (could let the font draw into a bitmap and check if there is something...)
-                                    "/ For now, write a dot.·
+                                    "/ For now, write a dot.·
                                     "/ charPrinted := (Character value:(byte + 16r2400))
                                 ].
                             ].
@@ -4768,7 +4766,7 @@
 !
 
 currentFileNameHolderChangedForCommon
-    |newDirectories oldDirectories size rootInTreeView selection selectionNotEmpty|
+    |newDirectories oldDirectories size rootInTreeView selection selectionNotEmpty dir|
 
     selection := self currentSelectedObjects.
     self class currentSelection:selection.
@@ -4792,13 +4790,25 @@
         newDirectories notEmpty ifTrue:[
             self directoryHistory addToHistory:(newDirectories first asString).
         ].
-        self enableHome value:((newDirectories includes:(Filename homeDirectory asAbsoluteFilename))not).
+        (dir := Filename homeDirectory) notNil ifTrue:[
+            self enableHome value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
         "/ self enableGotoDesktop value:((newDirectories includes:(Filename desktopDirectory asAbsoluteFilename))not).
-        self enableGotoDefaultDirectory value:((newDirectories includes:(Filename defaultDirectory asAbsoluteFilename))not).
-        self enableGotoSmalltalkDirectory value:((newDirectories includes:(self smalltalkDirectory asAbsoluteFilename))not).
-        self enableGotoDesktopDirectory value:((newDirectories includes:(Filename desktopDirectory asAbsoluteFilename))not).
-        self enableGotoDownloadsDirectory value:((newDirectories includes:(Filename downloadsDirectory asAbsoluteFilename))not).
-        self enableGotoTempDirectory value:((newDirectories includes:(self tempDirectory asAbsoluteFilename))not).
+        (dir := Filename defaultDirectory) notNil ifTrue:[
+            self enableGotoDefaultDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
+        (dir := self smalltalkDirectory) notNil ifTrue:[
+            self enableGotoSmalltalkDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
+        (dir := Filename desktopDirectory) notNil ifTrue:[
+            self enableGotoDesktopDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
+        (dir := Filename downloadsDirectory) notNil ifTrue:[
+            self enableGotoDownloadsDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
+        (dir := self tempDirectory) notNil ifTrue:[
+            self enableGotoTempDirectory value:((newDirectories includes:(dir asAbsoluteFilename))not).
+        ].
     ].
     self enableGotoDefaultDirectory value:(self currentDirectory isNil or:[self currentDirectory pathName ~= OperatingSystem getCurrentDirectory]).
     self enableMakeCurrentDirectory value:(newDirectories size == 1
@@ -4810,7 +4820,7 @@
 
     "Modified: / 29-12-2010 / 11:01:52 / cg"
     "Modified: / 17-12-2013 / 08:23:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 30-06-2018 / 18:30:44 / Claus Gittinger"
+    "Modified: / 17-09-2018 / 16:25:36 / Claus Gittinger"
 !
 
 filterModelChanged
@@ -8726,7 +8736,7 @@
             ] ifFalse:[sig == HaltInterrupt ifTrue:[ |sender|
                 label := msg := 'Breakpoint/Halt in fileIn'.
                 sender := ex suspendedContext.
-                msg := msg , ('\\in %1 » %2' bindWith:(sender receiver class name) with:(sender sender selector))
+                msg := msg , ('\\in %1 » %2' bindWith:(sender receiver class name) with:(sender sender selector))
             ] ifFalse:[
                 label := 'Error in fileIn'.
                 msg := 'error in fileIn: %1'