Mercurial > geeqie
diff src/layout_util.c @ 94:50dc5a14d37b
Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
* collect.c, img-view.c: Make [Shift]+P printing shortcut work for
collections and view windows.
* layout_util.c: Fix shortcuts [Control]+N and [Shift]+P, broken
by the previous keypress handler code cleanup. Add [Control]+V to
view current image in a new image window.
author | gqview |
---|---|
date | Thu, 02 Nov 2006 23:27:03 +0000 |
parents | cade6a52a165 |
children | e2a8b7f2165b |
line wrap: on
line diff
--- a/src/layout_util.c Thu Nov 02 19:45:18 2006 +0000 +++ b/src/layout_util.c Thu Nov 02 23:27:03 2006 +0000 @@ -21,6 +21,7 @@ #include "collect-dlg.h" #include "dupe.h" #include "editors.h" +#include "img-view.h" #include "info.h" #include "layout_image.h" #include "pan-view.h" @@ -118,21 +119,33 @@ case GDK_Down: case GDK_KP_Down: y += 1; break; - case GDK_BackSpace: - case 'B': case 'b': - layout_image_prev(lw); - break; - case GDK_space: - case 'N': case 'n': - layout_image_next(lw); - break; - case GDK_Menu: - layout_image_menu_popup(lw); - break; default: stop_signal = FALSE; break; } + + if (!stop_signal && + !(event->state & GDK_CONTROL_MASK)) + { + stop_signal = TRUE; + switch (event->keyval) + { + case GDK_BackSpace: + case 'B': case 'b': + layout_image_prev(lw); + break; + case GDK_space: + case 'N': case 'n': + layout_image_next(lw); + break; + case GDK_Menu: + layout_image_menu_popup(lw); + break; + default: + stop_signal = FALSE; + break; + } + } } if (x != 0 || y!= 0) @@ -149,7 +162,20 @@ if (stop_signal) return stop_signal; - if (!(event->state & GDK_CONTROL_MASK)) + if (event->state & GDK_CONTROL_MASK) + { + stop_signal = TRUE; + switch (event->keyval) + { + case 'v' : case 'V': + view_window_new(layout_image_get_path(lw)); + break; + default: + stop_signal = FALSE; + break; + } + } + else { stop_signal = TRUE; switch (event->keyval) @@ -216,11 +242,18 @@ #endif break; case 'P': case 'p': - layout_image_slideshow_pause_toggle(lw); + if (!event->state & GDK_SHIFT_MASK) + { + layout_image_slideshow_pause_toggle(lw); + } + else + { + stop_signal = FALSE; + } break; case 'V': case 'v': case GDK_F11: - if (!(event->state & GDK_MOD1_MASK)) layout_image_full_screen_toggle(lw); + layout_image_full_screen_toggle(lw); break; default: stop_signal = FALSE;