diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-08-18 11:00:24 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-08-18 11:01:39 +0200 |
commit | fee966abf48a84814b7b50ccb8c0dd118d65f30f (patch) | |
tree | 7b10899a30ff49e739f38eadcf3d9cde98122da0 /src/keyevents.c | |
parent | fdf6add16d8deb9f52dc416bd626d888205e548a (diff) |
--action: Reload image if hold_action flag (;) is set (closes #59)
An action may be used to alter the image or specific parts of it displayed by
--info, so if a user invokes an action with hold_action set, the image and all
relevant information must be reloaded.
Diffstat (limited to 'src/keyevents.c')
-rw-r--r-- | src/keyevents.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/keyevents.c b/src/keyevents.c index 7299fa8..82d0cce 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -331,15 +331,20 @@ void feh_event_invoke_action(winwidget winwid, unsigned char action) if (opt.actions[action]) { if (opt.slideshow) { feh_action_run(FEH_FILE(winwid->file->data), opt.actions[action]); - winwidget_update_caption(winwid); - if (! opt.hold_actions[action]) + if (opt.hold_actions[action]) + feh_reload_image(winwid, 1, 1); + else slideshow_change_image(winwid, SLIDE_NEXT, 1); } else if ((winwid->type == WIN_TYPE_SINGLE) || (winwid->type == WIN_TYPE_THUMBNAIL_VIEWER)) { feh_action_run(FEH_FILE(winwid->file->data), opt.actions[action]); - winwidget_destroy(winwid); + + if (opt.hold_actions[action]) + feh_reload_image(winwid, 1, 1); + else + winwidget_destroy(winwid); } else if (winwid->type == WIN_TYPE_THUMBNAIL) fputs("actions from the main thumb window aren't currently supported!\n" "For now, open the image to perform the action on it.\n", |