--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Copy.st Tue Sep 03 17:23:22 2002 +0200
@@ -0,0 +1,114 @@
+"{ Package: 'stx:libtool2' }"
+
+FileOperations subclass:#Copy
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Interface-Support'
+!
+
+
+!Copy class methodsFor:'actions'!
+
+copyFile:aSourceFile to:aDestFile
+ "delete current selected files/directories
+ "
+
+ |instance|
+
+ instance := self new.
+ instance copyFile:aSourceFile to:aDestFile.
+ ^ instance
+!
+
+copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning
+ "delete current selected files/directories
+ "
+
+ |instance|
+
+ instance := self new.
+ instance copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning.
+ ^ instance
+!
+
+copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy
+ "delete current selected files/directories
+ "
+
+ |instance|
+
+ instance := self new.
+ instance copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy.
+ ^ instance
+! !
+
+!Copy methodsFor:'actions'!
+
+copyFile:aSourceFile to:aDestFile
+ "defete current selected files/directories
+ "
+
+ self copyFile:aSourceFile to:aDestFile withOverWriteWarning:true
+!
+
+copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning
+ "copy to
+ "
+
+ self copyFile:aSourceFile to:aDestFile withOverWriteWarning:true copyFileIfSame:false
+!
+
+copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy
+ "copy to
+ "
+
+ |newFile fileString|
+
+ aDestFile exists not ifTrue:[
+ DialogBox warn:'cant copy to:', aDestFile asString.
+ result := false.
+ ^ self
+ ].
+ newFile := (aDestFile pathName asFilename) construct:(aSourceFile baseName).
+ (newFile exists) ifTrue:[
+ ((newFile asString = aSourceFile asString) and:[copy]) ifTrue:[
+ [newFile exists] whileTrue:[
+ fileString := newFile baseName.
+ fileString := 'CopyOf', fileString.
+ newFile := (aDestFile pathName asFilename) construct:fileString.
+ ].
+ ] ifFalse:[
+ overWriteWarning ifTrue:[
+ (self fileExistDialogFor:newFile) ifFalse:[
+ result := false.
+ ^ self.
+ ]
+ ] ifFalse:[
+ result := false.
+ ^ self.
+ ]
+ ].
+ ].
+ Error handle:[:ex|
+ "was not able to copy it"
+ WarningBox warn:'on copy file - ', ex errorString.
+ self errorString:('on copy file - ', ex description asString).
+ result := false.
+ ] do:[
+ aSourceFile isDirectory ifFalse:[
+ aSourceFile copyTo:newFile.
+ ] ifTrue:[
+ OperatingSystem recursiveCopyDirectory:(aSourceFile pathName)
+ to:newFile.
+ ].
+ DirectoryContents flushCachedDirectory:(aSourceFile directory).
+ result := true.
+ ].
+! !
+
+!Copy class methodsFor:'documentation'!
+
+version
+ ^ '$Header$'
+! !