--- 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 $'
! !