Thumbnail

rani/cscroll.git

Clone URL: https://git.buni.party/rani/cscroll.git

commit 3e4f05150aff9027226e8fab229993731997c1b9 Author: Raniconduh <clagv.randomgames@gmail.com> Date: Sat Dec 04 10:34:24 2021 +0000 added prompt when pasting multiple files. removed ability to mark files while cutting diff --git a/src/main.c b/src/main.c index 2d3e9bc..79b430c 100644 --- a/src/main.c +++ b/src/main.c @@ -1716 +17110 @@ int main(int argc, char ** argv) {   }   break;   case 'm': + // cannot mark files outside of start dir + // while cutting + if (cutting && strcmp(cwd, cut_start_dir)) break; +   if (!dir_entries[cursor - 1]->marked) {   dir_entries[cursor - 1]->marked = true;   n_marked_files++; @@ -2336 +23717 @@ int main(int argc, char ** argv) {   free_cuts();   break;   } + + if (n_marked_files) { + char * args[] = {"No", "Yes", NULL}; + char * p = malloc(30); + sprintf(p, "Paste all files (%lu)", n_marked_files); + if (strcmp(prompt(p, args), "Yes")) { + free(p); + break; + } + } +   paste_cuts(cwd);   free_cuts();   @@ -24511 +26012 @@ int main(int argc, char ** argv) {   break;   case ':':;   char * inp = curses_getline(":"); - if (!strcmp(inp, "ma")) + if (!strcmp(inp, "ma") && !cutting)   mark_all(); - else if (!strcmp(inp, "mu")) + else if (!strcmp(inp, "mu")) { + if (cutting) free_cuts();   unmark_all(); - else if (!strcmp(inp, "ca") && !cutting) { + } else if (!strcmp(inp, "ca") && !cutting) {   mark_all();   create_cuts(cwd, NULL);   } @@ -3026 +31815 @@ int main(int argc, char ** argv) {     run_cmd(cmd);   free(cmd); + + free_dir_entries(); + list_dir(cwd); + + if (cursor > n_dir_entries || last_f >= n_dir_entries) { + cursor = 1; + first_f = 0; + last_f = LAST_F; + }   break;   case 'q':   goto done;