Libraryless. Click here for Pure Java version (15894L/95K).
1 | sclass DeleteFilesDialog {
|
2 | settable S title = "Delete files"; |
3 | new LinkedHashSet<File> filesToDelete; |
4 | |
5 | *() {}
|
6 | *(S *title) {}
|
7 | |
8 | selfType wholeDirectory(File dir) {
|
9 | if (!isDirectory(dir)) this; |
10 | filesToDelete.addAll(reversed(findAllFiles(dir))); |
11 | filesToDelete.add(dir); |
12 | this; |
13 | } |
14 | |
15 | void show {
|
16 | renameSubmitButton("DELETE " + upper(nFiles(filesToDelete)),
|
17 | showFormTitled3(title, |
18 | "Files to delete", jscroll(uneditableTextArea(lines(filesToDelete))), |
19 | null, rThread doIt).visualize()); |
20 | } |
21 | |
22 | void doIt {
|
23 | int successes = 0; |
24 | for (File f : filesToDelete) |
25 | if (deleteFile(f)) {
|
26 | print("DELETED: " + f);
|
27 | ++successes; |
28 | } else |
29 | print("COULDN'T DELETE: " + f);
|
30 | int failures = l(filesToDelete)-successes; |
31 | |
32 | S msg = "Deleted " + nFiles(successes); |
33 | if (failures == 0) |
34 | infoBox(msg); |
35 | else |
36 | messageBox(msg + ", but couldn't delete " + n2(failures)); |
37 | } |
38 | } |
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1035137 |
| Snippet name: | DeleteFilesDialog |
| Eternal ID of this version: | #1035137/6 |
| Text MD5: | a8e017a75955ff2dbe2a43bc3c9f5f62 |
| Transpilation MD5: | 2daf486ad2239597f0e96538e5500890 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-03-31 16:51:36 |
| Source code size: | 999 bytes / 38 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 596 / 723 |
| Version history: | 5 change(s) |
| Referenced in: | [show references] |