1 "{ Package: 'stx:libtool2' }" |
|
2 |
|
3 FileOperations subclass:#Delete |
|
4 instanceVariableNames:'fileName errorString' |
|
5 classVariableNames:'' |
|
6 poolDictionaries:'' |
|
7 category:'Interface-Support' |
|
8 ! |
|
9 |
|
10 |
|
11 !Delete class methodsFor:'actions'! |
|
12 |
|
13 deleteFile:aFileOrDirectory |
|
14 "delete current selected files/directories |
|
15 " |
|
16 |
|
17 |instance| |
|
18 |
|
19 instance := self new. |
|
20 instance deleteFile:aFileOrDirectory. |
|
21 ^ instance |
|
22 ! |
|
23 |
|
24 deleteFiles:aColOfFiles |
|
25 "delete current selected files/directories |
|
26 " |
|
27 |
|
28 |instance| |
|
29 |
|
30 instance := self new. |
|
31 instance deleteFiles:aColOfFiles. |
|
32 ^ instance |
|
33 ! ! |
|
34 |
|
35 !Delete methodsFor:'actions'! |
|
36 |
|
37 deleteFile:aFileOrDirectory |
|
38 |
|
39 | file isDirectory | |
|
40 |
|
41 aFileOrDirectory notNil ifTrue:[ |
|
42 file := aFileOrDirectory asFilename. |
|
43 |
|
44 file exists ifTrue:[ |
|
45 isDirectory := file isDirectory. |
|
46 |
|
47 Error handle:[:ex| |
|
48 "was not able to remove it" |
|
49 Smalltalk beep. |
|
50 self errorString:((ex description, '\', ex signal notifierString) withCRs). |
|
51 result := false. |
|
52 ] do:[ |
|
53 isDirectory ifTrue:[file recursiveRemove] ifFalse:[file remove]. |
|
54 |
|
55 "/ flush parent directory or directory |
|
56 DirectoryContents flushCachedDirectory:(file directory). |
|
57 ] |
|
58 ] |
|
59 ]. |
|
60 result := true. |
|
61 ! |
|
62 |
|
63 deleteFiles:colOfFiles |
|
64 "delete current selected files/directories |
|
65 " |
|
66 | retVal ask size| |
|
67 |
|
68 ask := true. |
|
69 size := colOfFiles size. |
|
70 colOfFiles do:[: filename | |
|
71 ask ifTrue:[ |
|
72 size = 1 ifTrue:[ |
|
73 retVal := Dialog |
|
74 confirmWithCancel:('really delete ', filename asString , ' ?') |
|
75 labels:#('Yes' 'No' 'Cancel') |
|
76 values:#(#yes #no #cancel) |
|
77 default:1. |
|
78 ] ifFalse:[ |
|
79 retVal := Dialog |
|
80 confirmWithCancel:('really delete ', filename asString , ' ?') |
|
81 labels:#('Yes' 'No' 'Yes to All' 'Cancel') |
|
82 values:#(#yes #no #yesToAll #cancel) |
|
83 default:1. |
|
84 ] |
|
85 ]. |
|
86 retVal == #cancel ifTrue:[ |
|
87 ^ self. |
|
88 ]. |
|
89 retVal == #yes ifTrue:[ |
|
90 self deleteFile:filename. |
|
91 ]. |
|
92 retVal == #yesToAll ifTrue:[ |
|
93 self deleteFile:filename. |
|
94 ask := false. |
|
95 retVal := #yes. |
|
96 ]. |
|
97 ]. |
|
98 ! ! |
|
99 |
|
100 !Delete class methodsFor:'documentation'! |
|
101 |
|
102 version |
|
103 ^ '$Header$' |
|
104 ! ! |
|