Rev 99 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 99 | Rev 106 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | OpenDialog1: TOpenDialog; |
16 | OpenDialog1: TOpenDialog; |
17 | LabeledEdit1: TLabeledEdit; |
17 | LabeledEdit1: TLabeledEdit; |
18 | ImageList1: TImageList; |
18 | ImageList1: TImageList; |
19 | CheckBox2: TCheckBox; |
19 | CheckBox2: TCheckBox; |
20 | Button3: TButton; |
20 | Button3: TButton; |
- | 21 | Button4: TButton; |
|
- | 22 | SaveDialog1: TSaveDialog; |
|
21 | procedure Button1Click(Sender: TObject); |
23 | procedure Button1Click(Sender: TObject); |
22 | procedure Button2Click(Sender: TObject); |
24 | procedure Button2Click(Sender: TObject); |
23 | procedure FormShow(Sender: TObject); |
25 | procedure FormShow(Sender: TObject); |
24 | procedure TreeView1DblClick(Sender: TObject); |
26 | procedure TreeView1DblClick(Sender: TObject); |
25 | procedure Button3Click(Sender: TObject); |
27 | procedure Button3Click(Sender: TObject); |
- | 28 | procedure Button4Click(Sender: TObject); |
|
26 | private |
29 | private |
27 | localRecyclersNode: TTreeNode; |
30 | localRecyclersNode: TTreeNode; |
28 | individualRecyclersNode: TTreeNode; |
31 | individualRecyclersNode: TTreeNode; |
29 | end; |
32 | end; |
30 | 33 | ||
Line 48... | Line 51... | ||
48 | ICON_BIN = 4; |
51 | ICON_BIN = 4; |
49 | ICON_DRIVE = 6; |
52 | ICON_DRIVE = 6; |
50 | ICON_UNKNOWN = 8; |
53 | ICON_UNKNOWN = 8; |
51 | ICON_FOLDER = 10; |
54 | ICON_FOLDER = 10; |
52 | 55 | ||
- | 56 | resourcestring |
|
- | 57 | S_PLEASE_WAIT = 'Please wait'; |
|
- | 58 | ||
53 | procedure TRecyclerListingMainForm.Button1Click(Sender: TObject); |
59 | procedure TRecyclerListingMainForm.Button1Click(Sender: TObject); |
54 | var |
60 | var |
55 | drives: TObjectList{TRbDrive}; |
61 | drives: TObjectList{TRbDrive}; |
56 | iDrive: integer; |
62 | iDrive: integer; |
57 | drive: TRbDrive; |
63 | drive: TRbDrive; |
Line 65... | Line 71... | ||
65 | items: TObjectList{TRbRecycleBinItem}; |
71 | items: TObjectList{TRbRecycleBinItem}; |
66 | iItem: integer; |
72 | iItem: integer; |
67 | item: TRbRecycleBinItem; |
73 | item: TRbRecycleBinItem; |
68 | nItem: TTreeNode; |
74 | nItem: TTreeNode; |
69 | sCaption: string; |
75 | sCaption: string; |
- | 76 | ||
- | 77 | bakCaption: string; |
|
70 | resourcestring |
78 | resourcestring |
71 | S_DRIVE = 'Drive %s'; |
79 | S_DRIVE = 'Drive %s'; |
72 | begin |
80 | begin |
- | 81 | bakCaption := Button1.Caption; |
|
- | 82 | Button1.Caption := S_PLEASE_WAIT; |
|
- | 83 | try |
|
73 | localRecyclersNode.DeleteChildren; // TODO: Will the objects be freed? This is important to avoid memory leaks. |
84 | localRecyclersNode.DeleteChildren; // TODO: Will the objects be freed? This is important to avoid memory leaks. |
74 | 85 | ||
75 | TreeView1.Items.BeginUpdate; |
86 | TreeView1.Items.BeginUpdate; |
76 | drives := TObjectList.Create(false); |
87 | drives := TObjectList.Create(false); |
77 | bins := TObjectList.Create(false); |
88 | bins := TObjectList.Create(false); |
Line 133... | Line 144... | ||
133 | items.Free; |
144 | items.Free; |
134 | TreeView1.Items.EndUpdate; |
145 | TreeView1.Items.EndUpdate; |
135 | end; |
146 | end; |
136 | 147 | ||
137 | localRecyclersNode.Expand(false); |
148 | localRecyclersNode.Expand(false); |
- | 149 | finally |
|
- | 150 | Button1.Caption := bakCaption; |
|
- | 151 | end; |
|
138 | end; |
152 | end; |
139 | 153 | ||
140 | procedure TRecyclerListingMainForm.Button2Click(Sender: TObject); |
154 | procedure TRecyclerListingMainForm.Button2Click(Sender: TObject); |
141 | var |
155 | var |
142 | bin: TRbRecycleBin; |
156 | bin: TRbRecycleBin; |
Line 145... | Line 159... | ||
145 | items: TObjectList{TRbRecycleBinItem}; |
159 | items: TObjectList{TRbRecycleBinItem}; |
146 | iItem: integer; |
160 | iItem: integer; |
147 | item: TRbRecycleBinItem; |
161 | item: TRbRecycleBinItem; |
148 | nItem: TTreeNode; |
162 | nItem: TTreeNode; |
149 | sCaption: string; |
163 | sCaption: string; |
- | 164 | bakCaption: string; |
|
150 | begin |
165 | begin |
- | 166 | bakCaption := Button2.Caption; |
|
- | 167 | Button2.Caption := S_PLEASE_WAIT; |
|
- | 168 | try |
|
151 | bin := TRbRecycleBin.Create(LabeledEdit1.Text); |
169 | bin := TRbRecycleBin.Create(LabeledEdit1.Text); |
152 | 170 | ||
153 | nBin := TreeView1.Items.AddChildObject(individualRecyclersNode, bin.FileOrDirectory, bin); |
171 | nBin := TreeView1.Items.AddChildObject(individualRecyclersNode, bin.FileOrDirectory, bin); |
154 | nBin.ImageIndex := ICON_BIN; |
172 | nBin.ImageIndex := ICON_BIN; |
155 | nBin.SelectedIndex := nBin.ImageIndex; |
173 | nBin.SelectedIndex := nBin.ImageIndex; |
Line 182... | Line 200... | ||
182 | finally |
200 | finally |
183 | items.Free; |
201 | items.Free; |
184 | end; |
202 | end; |
185 | 203 | ||
186 | nBin.Expand(false); |
204 | nBin.Expand(false); |
- | 205 | finally |
|
- | 206 | Button2.Caption := bakCaption; |
|
- | 207 | end; |
|
187 | end; |
208 | end; |
188 | 209 | ||
189 | procedure TRecyclerListingMainForm.Button3Click(Sender: TObject); |
210 | procedure TRecyclerListingMainForm.Button3Click(Sender: TObject); |
190 | begin |
211 | begin |
191 | if OpenDialog1.Execute then |
212 | if OpenDialog1.Execute then |
192 | LabeledEdit1.Text := OpenDialog1.FileName; |
213 | LabeledEdit1.Text := OpenDialog1.FileName; |
193 | end; |
214 | end; |
194 | 215 | ||
- | 216 | procedure TRecyclerListingMainForm.Button4Click(Sender: TObject); |
|
- | 217 | begin |
|
- | 218 | if SaveDialog1.Execute then |
|
- | 219 | begin |
|
- | 220 | TreeView1.SaveToFile(SaveDialog1.FileName); |
|
- | 221 | end; |
|
- | 222 | end; |
|
- | 223 | ||
195 | procedure TRecyclerListingMainForm.FormShow(Sender: TObject); |
224 | procedure TRecyclerListingMainForm.FormShow(Sender: TObject); |
196 | resourcestring |
225 | resourcestring |
197 | S_LOCAL_RECYCLE_BINS = 'Local recycle bins'; |
226 | S_LOCAL_RECYCLE_BINS = 'Local recycle bins'; |
198 | S_MANUAL_RECYCLE_BINS ='Manually added recycle bins'; |
227 | S_MANUAL_RECYCLE_BINS ='Manually added recycle bins'; |
199 | begin |
228 | begin |