1110 |
1110 |
1111 "Modified: / 25-07-2006 / 09:07:55 / cg" |
1111 "Modified: / 25-07-2006 / 09:07:55 / cg" |
1112 ! |
1112 ! |
1113 |
1113 |
1114 enterActionFor:anItem |
1114 enterActionFor:anItem |
1115 | filename info targetItem| |
1115 | filename info targetItem targetFile| |
1116 |
1116 |
1117 filename := anItem fileName. |
1117 filename := anItem fileName. |
1118 |
1118 |
1119 filename baseName = '..' ifTrue:[ |
1119 filename baseName = '..' ifTrue:[ |
1120 self setCurrentFileName:(self directory directory). |
1120 self setCurrentFileName:(self directory directory). |
1121 ^ self. |
1121 ^ self. |
1122 ]. |
1122 ]. |
1123 targetItem := anItem. |
1123 targetItem := anItem. |
|
1124 targetFile := filename. |
1124 |
1125 |
1125 [ |
1126 [ |
1126 (info := filename linkInfo) isNil ifTrue:[ ^ self ]. |
1127 (info := targetFile linkInfo) notNil |
1127 info isSymbolicLink |
1128 and:[ info isSymbolicLink ] |
1128 ] whileTrue:[ |
1129 ] whileTrue:[ |
1129 targetItem := nil. |
1130 targetItem := nil. |
1130 filename := info path. |
1131 info path isNil ifTrue:[^ self]. |
1131 filename isNil ifTrue:[^ self]. |
1132 targetFile := filename directory construct:info path. |
1132 filename := filename asFilename. |
1133 ]. |
1133 ]. |
1134 |
|
1135 filename := targetFile. |
1134 |
1136 |
1135 (filename isDirectory) ifTrue:[ |
1137 (filename isDirectory) ifTrue:[ |
1136 self setCurrentFileName:filename. |
1138 self setCurrentFileName:filename. |
1137 ^ self. |
1139 ^ self. |
1138 ]. |
1140 ]. |