|
1 "{ Package: 'stx:libtool2' }" |
|
2 |
|
3 FileOperations subclass:#Copy |
|
4 instanceVariableNames:'' |
|
5 classVariableNames:'' |
|
6 poolDictionaries:'' |
|
7 category:'Interface-Support' |
|
8 ! |
|
9 |
|
10 |
|
11 !Copy class methodsFor:'actions'! |
|
12 |
|
13 copyFile:aSourceFile to:aDestFile |
|
14 "delete current selected files/directories |
|
15 " |
|
16 |
|
17 |instance| |
|
18 |
|
19 instance := self new. |
|
20 instance copyFile:aSourceFile to:aDestFile. |
|
21 ^ instance |
|
22 ! |
|
23 |
|
24 copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning |
|
25 "delete current selected files/directories |
|
26 " |
|
27 |
|
28 |instance| |
|
29 |
|
30 instance := self new. |
|
31 instance copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning. |
|
32 ^ instance |
|
33 ! |
|
34 |
|
35 copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy |
|
36 "delete current selected files/directories |
|
37 " |
|
38 |
|
39 |instance| |
|
40 |
|
41 instance := self new. |
|
42 instance copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy. |
|
43 ^ instance |
|
44 ! ! |
|
45 |
|
46 !Copy methodsFor:'actions'! |
|
47 |
|
48 copyFile:aSourceFile to:aDestFile |
|
49 "defete current selected files/directories |
|
50 " |
|
51 |
|
52 self copyFile:aSourceFile to:aDestFile withOverWriteWarning:true |
|
53 ! |
|
54 |
|
55 copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning |
|
56 "copy to |
|
57 " |
|
58 |
|
59 self copyFile:aSourceFile to:aDestFile withOverWriteWarning:true copyFileIfSame:false |
|
60 ! |
|
61 |
|
62 copyFile:aSourceFile to:aDestFile withOverWriteWarning:overWriteWarning copyFileIfSame:copy |
|
63 "copy to |
|
64 " |
|
65 |
|
66 |newFile fileString| |
|
67 |
|
68 aDestFile exists not ifTrue:[ |
|
69 DialogBox warn:'cant copy to:', aDestFile asString. |
|
70 result := false. |
|
71 ^ self |
|
72 ]. |
|
73 newFile := (aDestFile pathName asFilename) construct:(aSourceFile baseName). |
|
74 (newFile exists) ifTrue:[ |
|
75 ((newFile asString = aSourceFile asString) and:[copy]) ifTrue:[ |
|
76 [newFile exists] whileTrue:[ |
|
77 fileString := newFile baseName. |
|
78 fileString := 'CopyOf', fileString. |
|
79 newFile := (aDestFile pathName asFilename) construct:fileString. |
|
80 ]. |
|
81 ] ifFalse:[ |
|
82 overWriteWarning ifTrue:[ |
|
83 (self fileExistDialogFor:newFile) ifFalse:[ |
|
84 result := false. |
|
85 ^ self. |
|
86 ] |
|
87 ] ifFalse:[ |
|
88 result := false. |
|
89 ^ self. |
|
90 ] |
|
91 ]. |
|
92 ]. |
|
93 Error handle:[:ex| |
|
94 "was not able to copy it" |
|
95 WarningBox warn:'on copy file - ', ex errorString. |
|
96 self errorString:('on copy file - ', ex description asString). |
|
97 result := false. |
|
98 ] do:[ |
|
99 aSourceFile isDirectory ifFalse:[ |
|
100 aSourceFile copyTo:newFile. |
|
101 ] ifTrue:[ |
|
102 OperatingSystem recursiveCopyDirectory:(aSourceFile pathName) |
|
103 to:newFile. |
|
104 ]. |
|
105 DirectoryContents flushCachedDirectory:(aSourceFile directory). |
|
106 result := true. |
|
107 ]. |
|
108 ! ! |
|
109 |
|
110 !Copy class methodsFor:'documentation'! |
|
111 |
|
112 version |
|
113 ^ '$Header$' |
|
114 ! ! |