From 284be749278a7b6471926a618877dbb3adc8c1ad Mon Sep 17 00:00:00 2001 From: Bert Münnich Date: Sat, 16 Aug 2014 19:24:34 +0200 Subject: Count number of marked files --- commands.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'commands.c') diff --git a/commands.c b/commands.c index 830c6af..9ff411b 100644 --- a/commands.c +++ b/commands.c @@ -50,6 +50,7 @@ extern win_t win; extern fileinfo_t *files; extern int filecnt, fileidx; extern int alternate; +extern int markcnt; extern int prefix; extern bool extprefix; @@ -62,7 +63,7 @@ bool cg_quit(arg_t a) { unsigned int i; - if (options->to_stdout) { + if (options->to_stdout && markcnt > 0) { for (i = 0; i < filecnt; i++) { if (files[i].marked) printf("%s\n", files[i].name); @@ -195,6 +196,7 @@ bool cg_scroll_screen(arg_t a) bool cg_toggle_image_mark(arg_t a) { files[fileidx].marked = !files[fileidx].marked; + markcnt += files[fileidx].marked ? 1 : -1; if (mode == MODE_THUMB) tns_mark(&tns, fileidx, files[fileidx].marked); return true; @@ -202,10 +204,12 @@ bool cg_toggle_image_mark(arg_t a) bool cg_reverse_marks(arg_t a) { - int i, cnt = mode == MODE_IMAGE ? filecnt : tns.cnt; + int i; - for (i = 0; i < cnt; i++) + for (i = 0; i < filecnt; i++) { files[i].marked = !files[i].marked; + markcnt += files[i].marked ? 1 : -1; + } if (mode == MODE_THUMB) tns.dirty = true; return true; -- cgit v1.2.3-54-g00ecf