handling of symbolicLinks
authorca
Thu, 23 Oct 2008 08:13:14 +0200
changeset 8375 fd8d9e2fe62a
parent 8374 eb9f3796eb0a
child 8376 63af71109312
handling of symbolicLinks
DirectoryContentsBrowser.st
--- a/DirectoryContentsBrowser.st	Wed Oct 22 20:49:37 2008 +0200
+++ b/DirectoryContentsBrowser.st	Thu Oct 23 08:13:14 2008 +0200
@@ -1144,7 +1144,7 @@
 !
 
 enterActionFor:anItem
-    | filename|
+    | filename info targetItem|
 
     filename := anItem fileName.
 
@@ -1152,12 +1152,29 @@
         self setCurrentFileName:(self directory directory).
         ^ self.
     ].
+    targetItem := anItem.
+
+    [
+       (info := filename linkInfo) isNil ifTrue:[ ^ self ].
+        info isSymbolicLink
+    ] whileTrue:[
+        targetItem := nil.
+        filename := info path.
+        filename isNil ifTrue:[^ self].
+        filename := filename asFilename.
+    ].
+
     (filename isDirectory) ifTrue:[
         self setCurrentFileName:filename.
         ^ self.
     ].
+
+    targetItem isNil ifTrue:[
+        targetItem := anItem class fileName:filename.
+    ].
+
 "/    self withWaitCursorDo:[
-        self openApplByFileItem:anItem.
+        self openApplByFileItem:targetItem.
 "/    ]
 
     "Modified: / 25-07-2006 / 09:08:00 / cg"
@@ -3268,5 +3285,5 @@
 !DirectoryContentsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.216 2008-10-22 16:10:45 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.217 2008-10-23 06:13:14 ca Exp $'
 ! !