comparison 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
comparison
equal deleted inserted replaced
93:f1c8f8632e23 94:50dc5a14d37b
19 #include "cache_maint.h" 19 #include "cache_maint.h"
20 #include "collect.h" 20 #include "collect.h"
21 #include "collect-dlg.h" 21 #include "collect-dlg.h"
22 #include "dupe.h" 22 #include "dupe.h"
23 #include "editors.h" 23 #include "editors.h"
24 #include "img-view.h"
24 #include "info.h" 25 #include "info.h"
25 #include "layout_image.h" 26 #include "layout_image.h"
26 #include "pan-view.h" 27 #include "pan-view.h"
27 #include "pixbuf_util.h" 28 #include "pixbuf_util.h"
28 #include "preferences.h" 29 #include "preferences.h"
116 y -= 1; 117 y -= 1;
117 break; 118 break;
118 case GDK_Down: case GDK_KP_Down: 119 case GDK_Down: case GDK_KP_Down:
119 y += 1; 120 y += 1;
120 break; 121 break;
121 case GDK_BackSpace:
122 case 'B': case 'b':
123 layout_image_prev(lw);
124 break;
125 case GDK_space:
126 case 'N': case 'n':
127 layout_image_next(lw);
128 break;
129 case GDK_Menu:
130 layout_image_menu_popup(lw);
131 break;
132 default: 122 default:
133 stop_signal = FALSE; 123 stop_signal = FALSE;
134 break; 124 break;
125 }
126
127 if (!stop_signal &&
128 !(event->state & GDK_CONTROL_MASK))
129 {
130 stop_signal = TRUE;
131 switch (event->keyval)
132 {
133 case GDK_BackSpace:
134 case 'B': case 'b':
135 layout_image_prev(lw);
136 break;
137 case GDK_space:
138 case 'N': case 'n':
139 layout_image_next(lw);
140 break;
141 case GDK_Menu:
142 layout_image_menu_popup(lw);
143 break;
144 default:
145 stop_signal = FALSE;
146 break;
147 }
135 } 148 }
136 } 149 }
137 150
138 if (x != 0 || y!= 0) 151 if (x != 0 || y!= 0)
139 { 152 {
147 layout_image_scroll(lw, x, y); 160 layout_image_scroll(lw, x, y);
148 } 161 }
149 162
150 if (stop_signal) return stop_signal; 163 if (stop_signal) return stop_signal;
151 164
152 if (!(event->state & GDK_CONTROL_MASK)) 165 if (event->state & GDK_CONTROL_MASK)
166 {
167 stop_signal = TRUE;
168 switch (event->keyval)
169 {
170 case 'v' : case 'V':
171 view_window_new(layout_image_get_path(lw));
172 break;
173 default:
174 stop_signal = FALSE;
175 break;
176 }
177 }
178 else
153 { 179 {
154 stop_signal = TRUE; 180 stop_signal = TRUE;
155 switch (event->keyval) 181 switch (event->keyval)
156 { 182 {
157 case '+': case GDK_KP_Add: 183 case '+': case GDK_KP_Add:
214 #if 0 240 #if 0
215 interrupt_thumbs(); 241 interrupt_thumbs();
216 #endif 242 #endif
217 break; 243 break;
218 case 'P': case 'p': 244 case 'P': case 'p':
219 layout_image_slideshow_pause_toggle(lw); 245 if (!event->state & GDK_SHIFT_MASK)
246 {
247 layout_image_slideshow_pause_toggle(lw);
248 }
249 else
250 {
251 stop_signal = FALSE;
252 }
220 break; 253 break;
221 case 'V': case 'v': 254 case 'V': case 'v':
222 case GDK_F11: 255 case GDK_F11:
223 if (!(event->state & GDK_MOD1_MASK)) layout_image_full_screen_toggle(lw); 256 layout_image_full_screen_toggle(lw);
224 break; 257 break;
225 default: 258 default:
226 stop_signal = FALSE; 259 stop_signal = FALSE;
227 break; 260 break;
228 } 261 }