commit e0d6077a7ad1031111d79bf441dc4e7e513aed66 from: Marcel Rodrigues date: Wed May 27 00:34:59 2015 UTC Add 'x' to delete selected entry. commit - 97217d57091c4a13a330ba8e01ad3ec9924aa958 commit + e0d6077a7ad1031111d79bf441dc4e7e513aed66 blob - 8846519910c56eb524814bcba737a5615402c19a blob + 5f35413923eedee78275f9a9896c64493ea0871a --- README.md +++ README.md @@ -43,6 +43,7 @@ Quick Start f/d/s - toggle file/directory/hidden listing n/N - create new file/directory r - rename selected file or directory + x - delete selected file or (empty) directory m - toggle mark on the selected entry M - toggle mark on all visible entries a - mark all visible entries blob - ff36965fa2a816de06d63f4dba5f4bcf9e080463 blob + b1f450df140b3c753594f2bbd6b58443228c153e --- config.h +++ config.h @@ -22,12 +22,13 @@ #define RVK_NEW_FILE "n" #define RVK_NEW_DIR "N" #define RVK_RENAME "r" +#define RVK_DELETE "x" #define RVK_TG_MARK "m" #define RVK_INVMARK "M" #define RVK_MARKALL "a" -#define RVK_DELETE "X" -#define RVK_COPY "C" -#define RVK_MOVE "V" +#define RVK_MARK_DELETE "X" +#define RVK_MARK_COPY "C" +#define RVK_MARK_MOVE "V" /* Colors available: DEFAULT, RED, GREEN, YELLOW, BLUE, CYAN, MAGENTA, WHITE. */ #define RVC_CWD GREEN blob - 3b95ebcc9fb98079f6ff0a4c8707be3fc34b7c4d blob + 2d8241f6a11e82af163b358372d5febe1c6c1441 --- rover.1 +++ rover.1 @@ -105,6 +105,9 @@ Create new file/directory. .B r Rename selected file or directory. .TP +.B x +Delete selected file or (empty) directory. +.TP .B m Toggle mark on the selected entry. .TP blob - 5aad957df549807821297f1d8b7219169ce628d9 blob + 7a47eead56977d5168d7ceb4eb54a4a73acaa54b --- rover.c +++ rover.c @@ -1020,6 +1020,19 @@ main(int argc, char *argv[]) } else message("File already exists.", RED); } + } else if (!strcmp(key, RVK_DELETE)) { + if (rover.nfiles) { + message("Delete selected entry? (Y to confirm)", YELLOW); + if (getch() == 'Y') { + const char *name = ENAME(ESEL); + int ret = ISDIR(name) ? deldir(name) : delfile(name); + reload(); + if (ret) + message("Could not delete entry.", RED); + } else + clear_message(); + } else + message("No entry selected for deletion.", RED); } else if (!strcmp(key, RVK_TG_MARK)) { if (MARKED(ESEL)) del_mark(&rover.marks, ENAME(ESEL)); @@ -1044,7 +1057,7 @@ main(int argc, char *argv[]) MARKED(i) = 1; } update_view(); - } else if (!strcmp(key, RVK_DELETE)) { + } else if (!strcmp(key, RVK_MARK_DELETE)) { if (rover.marks.nentries) { message("Delete marked entries? (Y to confirm)", YELLOW); if (getch() == 'Y') @@ -1053,12 +1066,12 @@ main(int argc, char *argv[]) clear_message(); } else message("No entries marked for deletion.", RED); - } else if (!strcmp(key, RVK_COPY)) { + } else if (!strcmp(key, RVK_MARK_COPY)) { if (rover.marks.nentries) process_marked(adddir, cpyfile, NULL); else message("No entries marked for copying.", RED); - } else if (!strcmp(key, RVK_MOVE)) { + } else if (!strcmp(key, RVK_MARK_MOVE)) { if (rover.marks.nentries) process_marked(adddir, movfile, deldir); else