completion fixes (canon)
authorClaus Gittinger <cg@exept.de>
Tue, 15 Oct 2002 18:40:38 +0200
changeset 2299 345995779410
parent 2298 22e95baad346
child 2300 c3d1ba5c884e
completion fixes (canon)
FilenameEditField.st
HierarchicalFileList.st
--- a/FilenameEditField.st	Tue Oct 15 15:18:21 2002 +0200
+++ b/FilenameEditField.st	Tue Oct 15 18:40:38 2002 +0200
@@ -199,11 +199,12 @@
     directory := Filename currentDirectory.
 
     entryCompletionBlock := [:contents |
-        |newString isMultiMatch|
+        |newString isMultiMatch canonContents|
 
         isMultiMatch := false.
+        canonContents := Filename canonicalize:contents.
         newString := Filename 
-                        filenameCompletionFor:contents 
+                        filenameCompletionFor:canonContents 
                         directory:directory 
                         directoriesOnly:directoriesOnly 
                         filesOnly:filesOnly 
@@ -214,6 +215,10 @@
                             isMultiMatch := true.
                             self flash.
                         ].
+        newString asFilename pathName = canonContents ifTrue:[
+            self flash.
+        ].
+
         self contents:newString addSeparatorToDirectories:isMultiMatch not.
         self cursorToEndOfLine.
     ].
@@ -235,5 +240,5 @@
 !FilenameEditField class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/FilenameEditField.st,v 1.28 2002-05-16 15:40:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/FilenameEditField.st,v 1.29 2002-10-15 16:39:42 cg Exp $'
 ! !
--- a/HierarchicalFileList.st	Tue Oct 15 15:18:21 2002 +0200
+++ b/HierarchicalFileList.st	Tue Oct 15 18:40:38 2002 +0200
@@ -166,7 +166,8 @@
             fileInfo := directory info.
         ]
     ].
-    newRootItem := HierarchicalFileItem fileName:directory.
+
+    newRootItem := HierarchicalFileItem fileName:directory asCanonicalizedFilename.
     doExpand ifTrue:[ newRootItem setExpanded:true ].
     self root:newRootItem.
 !
@@ -373,7 +374,7 @@
         ^ nil
     ].
     rootComponents   := rootDir components.
-    searchComponents := file components.
+    searchComponents := file asCanonicalizedFilename components.
     searchItem       := root.
 
     searchComponents from:(rootComponents size + 1) do:[:aName| |child|
@@ -471,20 +472,22 @@
     ^ self forContentsItem:(DirectoryContents contentsItemForFileName:aFileName)
 !
 
-forContentsItem:anItem
+forContentsItem:aContentsItem
     |item cls|
 
-    anItem isRemoteDirectory ifTrue:[
-        cls := HierarchicalFileList::RemoteDirectory
-    ] ifFalse:[
-        anItem isDirectory ifTrue:[
-            cls := HierarchicalFileList::Directory
+    cls := HierarchicalFileList::File.
+
+    aContentsItem notNil ifTrue:[
+        aContentsItem isRemoteDirectory ifTrue:[
+            cls := HierarchicalFileList::RemoteDirectory
         ] ifFalse:[
-            cls := HierarchicalFileList::File
-        ]
+            aContentsItem isDirectory ifTrue:[
+                cls := HierarchicalFileList::Directory
+            ]
+        ].
     ].
     item := cls basicNew initialize.
-    item contentsItem:anItem.
+    item contentsItem:aContentsItem.
     ^ item
 !
 
@@ -1072,5 +1075,5 @@
 !HierarchicalFileList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalFileList.st,v 1.34 2002-10-15 13:18:21 penk Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalFileList.st,v 1.35 2002-10-15 16:40:38 cg Exp $'
 ! !