checkin from browser
authorClaus Gittinger <cg@exept.de>
Sun, 29 Jun 2003 15:05:59 +0200
changeset 5006 998b72da8946
parent 5005 8a213f0650aa
child 5007 82d60e287837
checkin from browser
FileBrowser.st
--- a/FileBrowser.st	Sun Jun 29 15:00:32 2003 +0200
+++ b/FileBrowser.st	Sun Jun 29 15:05:59 2003 +0200
@@ -3463,14 +3463,24 @@
 newHardLink
     "ask for and create a hard link (unix only)"
 
-    |sel box ok orgName1 name1 name2 f1 f2 err if1 if2|
+    self newLinkWithType:#hard.
+!
+
+newLinkWithType:hardOrSoftSymbol
+    "ask for and create a link (unix only)"
+
+    |sel box ok lbl orgName1 name1 name2 f1 f2 err if1 if2|
 
     sel := self getSelectedFileName.
 
     orgName1 := ''.
     (sel size > 0) ifTrue:[
-        (currentDirectory construct:sel) isDirectory ifFalse:[
+        hardOrSoftSymbol == #soft ifTrue:[
             orgName1 := sel
+        ] ifFalse:[
+            (currentDirectory construct:sel) isDirectory ifFalse:[
+                orgName1 := sel
+            ]
         ]
     ].
 
@@ -3478,9 +3488,16 @@
     name2 := '' asValue.
 
     box := DialogBox new.
-    (box addTextLabel:(resources string:'Create hard link from:')) adjust:#left.
+    lbl := hardOrSoftSymbol == #soft 
+            ifTrue:['Create symbolic link to:']
+            ifFalse:['Create hard link from:'].
+    (box addTextLabel:(resources string:lbl)) adjust:#left.
     if1 := box addFilenameInputFieldOn:name1 in:currentDirectory tabable:true.
-    (box addTextLabel:(resources string:'to:')) adjust:#left.
+
+    lbl := hardOrSoftSymbol == #soft 
+            ifTrue:['as']
+            ifFalse:['to:'].
+    (box addTextLabel:(resources string:lbl)) adjust:#left.
     if2 := box addFilenameInputFieldOn:name2 in:currentDirectory tabable:true.
 
     box addAbortAndOkButtons.
@@ -3515,7 +3532,13 @@
                             Error handle:[:ex |
                                 err := ex description
                             ] do:[
-                                OperatingSystem createHardLinkFrom:name1 to:name2
+                                hardOrSoftSymbol == #soft
+                                    ifTrue:[
+                                        OperatingSystem createSymbolicLinkFrom:name1 to:name2
+                                    ]
+                                    ifFalse:[
+                                        OperatingSystem createHardLinkFrom:name1 to:name2
+                                    ]
                             ]
                         ]
                     ]
@@ -3535,64 +3558,7 @@
 newSoftLink
     "ask for and create a soft link (unix only)"
 
-    |sel box ok orgName1 name1 name2 f1 f2 err if1 if2|
-
-    sel := self getSelectedFileName.
-
-    orgName1 := ''.
-    (sel size > 0) ifTrue:[
-        orgName1 := sel
-    ].
-
-    name1 := orgName1 asValue.
-    name2 := '' asValue.
-
-    box := DialogBox new.
-    (box addTextLabel:'Create symbolic link to:') adjust:#left.
-    if1 := box addFilenameInputFieldOn:name1 in:currentDirectory tabable:true.
-    (box addTextLabel:'as:') adjust:#left.
-    if2 := box addFilenameInputFieldOn:name2 in:currentDirectory tabable:true.
-
-    box addAbortAndOkButtons.
-
-    orgName1 size > 0 ifTrue:[
-        box focusOnField:if2.
-    ].
-    box show.
-    ok := box accepted.
-    box destroy.
-
-    ok ifTrue:[
-        name1 := name1 value.
-        (name1 size == 0) ifTrue:[
-            err := 'no name entered'.
-        ] ifFalse:[
-            f1 := name1 asFilename.
-            name2 := name2 value.
-            (name2 size == 0) ifTrue:[
-                err := 'no name entered'.
-            ] ifFalse:[
-                f2 := name2 asFilename.
-                f2 exists ifTrue:[
-                    err := '''%2'' already exists'.
-                ] ifFalse:[
-                    f1 exists ifFalse:[
-                        err := '''%1'' does not exist (link created anyway)'.
-                    ].
-                    Error handle:[:ex |
-                        err := ex description
-                    ] do:[
-                        OperatingSystem createSymbolicLinkFrom:name1 to:name2
-                    ]
-                ]
-            ]
-        ].
-
-        err notNil ifTrue:[
-            self warn:(resources string:err with:(name1 ? '') allBold with:(name2 ? '') allBold).
-            ^ self
-        ].
-    ].
+    self newLinkWithType:#soft.
 
     "Modified: / 13.8.1998 / 21:26:59 / cg"
     "Created: / 13.8.1998 / 21:47:14 / cg"
@@ -7831,5 +7797,5 @@
 !FileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.538 2003-06-29 13:00:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.539 2003-06-29 13:05:59 cg Exp $'
 ! !