annotate src/layout_util.c @ 380:5afe77bb563a

Introduce a new struct ViewDir to handle directory views common data. Specific data is now in ViewDirInfoList and ViewDirInfoTree. Type of directory view can be specified with enum DirViewType. This is saved to rc file as layout.dir_view_type, which replace layout.view_as_tree. Code was modified to reflect these changes. This is a first to move to merge common code of view_dir_list.c and view_dir_tree.c and ease the introduction of new types of directory view.
author zas_
date Wed, 16 Apr 2008 14:45:22 +0000
parents 63380ea3e65d
children c4080362d619
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 163
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
4 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * This software comes with no warranty of any kind, use at your own risk!
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
11
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12
281
9995c5fb202a gqview.h -> main.h
zas_
parents: 278
diff changeset
13 #include "main.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #include "layout_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16 #include "bar_info.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17 #include "bar_exif.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 #include "bar_sort.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19 #include "cache_maint.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 #include "collect.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 #include "collect-dlg.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 #include "dupe.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23 #include "editors.h"
249
c1d7b6d5f228 Add missing #include.
zas_
parents: 196
diff changeset
24 #include "filelist.h"
284
84c4618cd1cb Fix missing header files inclusions.
zas_
parents: 281
diff changeset
25 #include "image-overlay.h"
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
26 #include "img-view.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27 #include "info.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 #include "layout_image.h"
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
29 #include "pan-view.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30 #include "pixbuf_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31 #include "preferences.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
32 #include "print.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
33 #include "search.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
34 #include "utilops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
35 #include "ui_bookmark.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36 #include "ui_fileops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37 #include "ui_menu.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38 #include "ui_misc.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39 #include "ui_tabcomp.h"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
40 #include "view_dir.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42 #include <gdk/gdkkeysyms.h> /* for keyboard values */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
45 #define MENU_EDIT_ACTION_OFFSET 16
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
46
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
47
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
48 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
49 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50 * keyboard handler
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
53
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
54 static guint tree_key_overrides[] = {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55 GDK_Page_Up, GDK_KP_Page_Up,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
56 GDK_Page_Down, GDK_KP_Page_Down,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 GDK_Home, GDK_KP_Home,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 GDK_End, GDK_KP_End
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
60
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 static gint layout_key_match(guint keyval)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
64
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
65 for (i = 0; i < sizeof(tree_key_overrides) / sizeof(guint); i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
66 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
67 if (keyval == tree_key_overrides[i]) return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
68 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
69
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70 return FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
71 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
73 gint layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
75 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76 gint stop_signal = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77 gint x = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 gint y = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
79
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80 if (lw->path_entry && GTK_WIDGET_HAS_FOCUS(lw->path_entry))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
81 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
82 if (event->keyval == GDK_Escape && lw->path)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
83 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
84 gtk_entry_set_text(GTK_ENTRY(lw->path_entry), lw->path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
85 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
86
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
87 /* the gtkaccelgroup of the window is stealing presses before they get to the entry (and more),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
88 * so when the some widgets have focus, give them priority (HACK)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
89 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
90 if (gtk_widget_event(lw->path_entry, (GdkEvent *)event))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
91 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
92 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
93 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
94 }
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
95 if (lw->vd && lw->dir_view_type == DIRVIEW_TREE && GTK_WIDGET_HAS_FOCUS(lw->vd->view) &&
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
96 !layout_key_match(event->keyval) &&
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
97 gtk_widget_event(lw->vd->view, (GdkEvent *)event))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
98 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
99 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
100 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
101 if (lw->bar_info &&
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
102 bar_info_event(lw->bar_info, (GdkEvent *)event))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
103 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
104 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
105 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
106
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
107 /*
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
108 if (event->type == GDK_KEY_PRESS && lw->full_screen &&
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
109 gtk_accel_groups_activate(G_OBJECT(lw->window), event->keyval, event->state))
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
110 return TRUE;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
111 */
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
112
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
113 if (lw->image &&
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
114 (GTK_WIDGET_HAS_FOCUS(lw->image->widget) || (lw->tools && widget == lw->window) || lw->full_screen) )
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
115 {
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
116 stop_signal = TRUE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
117 switch (event->keyval)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
118 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
119 case GDK_Left: case GDK_KP_Left:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
120 x -= 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
121 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
122 case GDK_Right: case GDK_KP_Right:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
123 x += 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
124 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
125 case GDK_Up: case GDK_KP_Up:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
126 y -= 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
127 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
128 case GDK_Down: case GDK_KP_Down:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
129 y += 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
130 break;
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
131 default:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
132 stop_signal = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
133 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
134 }
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
135
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
136 if (!stop_signal &&
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
137 !(event->state & GDK_CONTROL_MASK))
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
138 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
139 stop_signal = TRUE;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
140 switch (event->keyval)
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
141 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
142 case GDK_Menu:
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
143 layout_image_menu_popup(lw);
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
144 break;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
145 default:
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
146 stop_signal = FALSE;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
147 break;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
148 }
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
149 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
150 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
151
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
152 if (x != 0 || y!= 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
153 {
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
154 if (event->state & GDK_SHIFT_MASK)
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
155 {
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
156 x *= 3;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
157 y *= 3;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
158 }
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
159
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
160 keyboard_scroll_calc(&x, &y, event);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
161 layout_image_scroll(lw, x, y);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
162 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
163
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
164 if (stop_signal) return stop_signal;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
165
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
166 if (event->state & GDK_CONTROL_MASK)
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
167 {
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
168 stop_signal = FALSE;
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
169 }
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
170 else
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
171 {
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
172 stop_signal = TRUE;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
173 switch (event->keyval)
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
174 {
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
175 case '+': case GDK_KP_Add:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
176 layout_image_zoom_adjust(lw, get_zoom_increment());
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
177 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
178 case GDK_KP_Subtract:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
179 layout_image_zoom_adjust(lw, -get_zoom_increment());
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
180 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
181 case GDK_KP_Multiply:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
182 layout_image_zoom_set(lw, 0.0);
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
183 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
184 case GDK_KP_Divide:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
185 layout_image_zoom_set(lw, 1.0);
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
186 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
187 case GDK_Page_Up: case GDK_KP_Page_Up:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
188 layout_image_prev(lw);
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
189 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
190 case GDK_Page_Down: case GDK_KP_Page_Down:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
191 layout_image_next(lw);
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
192 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
193 case GDK_Delete: case GDK_KP_Delete:
341
15c6b94545a2 Move safe_delete* and in place rename options to file_ops
zas_
parents: 329
diff changeset
194 if (options->file_ops.enable_delete_key)
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
195 {
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
196 file_util_delete(NULL, layout_selection_list(lw), widget);
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
197 }
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
198 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
199 case GDK_Escape:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
200 /* FIXME:interrupting thumbs no longer allowed */
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
201 #if 0
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
202 interrupt_thumbs();
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
203 #endif
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
204 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
205 case 'P': case 'p':
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
206 if (!event->state & GDK_SHIFT_MASK)
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
207 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
208 layout_image_slideshow_pause_toggle(lw);
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
209 }
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
210 else
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
211 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
212 stop_signal = FALSE;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
213 }
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
214 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
215 case 'V': case 'v':
86
cade6a52a165 Mon Oct 23 05:34:29 2006 John Ellis <johne@verizon.net>
gqview
parents: 84
diff changeset
216 case GDK_F11:
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
217 layout_image_full_screen_toggle(lw);
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
218 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
219 default:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
220 stop_signal = FALSE;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
221 break;
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
222 }
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
223 }
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
224
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
225 #if 0
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
226 if (stop_signal) g_signal_stop_emission_by_name(G_OBJECT(widget), "key_press_event");
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
227 #endif
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
228
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
229 return stop_signal;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
230 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
231
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
232 void layout_keyboard_init(LayoutWindow *lw, GtkWidget *window)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
233 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
234 g_signal_connect(G_OBJECT(window), "key_press_event",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
235 G_CALLBACK(layout_key_press_cb), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
236 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
237
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
238 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
239 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
240 * menu callbacks
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
241 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
242 */
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
243
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
244
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
245 static GtkWidget *layout_window(LayoutWindow *lw)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
246 {
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
247 return lw->full_screen ? lw->full_screen->window : lw->window;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
248 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
249
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
250 static void layout_menu_new_window_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
251 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
252 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
253 LayoutWindow *nw;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
254
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
255 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
256 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
257
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
258 nw = layout_new(NULL, FALSE, FALSE);
329
a51242c032ea Rename file sorting options.
zas_
parents: 318
diff changeset
259 layout_sort_set(nw, options->file_sort.method, options->file_sort.ascending);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
260 layout_set_path(nw, layout_get_path(lw));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
261 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
262
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
263 static void layout_menu_new_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
264 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
265 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
266 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
267 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
268 collection_window_new(NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
269 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
270
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
271 static void layout_menu_open_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
272 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
273 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
274 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
275 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
276 collection_dialog_load(NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
277 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
278
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
279 static void layout_menu_search_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
280 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
281 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
282 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
283 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
284
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
285 search_new(lw->path, layout_image_get_path(lw));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
286 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
287
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
288 static void layout_menu_dupes_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
289 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
290 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
291 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
292 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
293
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
294 dupe_window_new(DUPE_MATCH_NAME);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
295 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
296
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
297 static void layout_menu_pan_cb(GtkAction *action, gpointer data)
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
298 {
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
299 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
300 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
301 layout_image_full_screen_stop(lw);
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
302
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
303 pan_window_new(layout_get_path(lw));
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
304 }
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
305
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
306 static void layout_menu_print_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
307 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
308 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
309
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
310 print_window_new(layout_image_get_fd(lw), layout_selection_list(lw), layout_list(lw), layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
311 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
312
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
313 static void layout_menu_dir_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
314 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
315 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
316
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
317 file_util_create_dir(lw->path, layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
318 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
319
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
320 static void layout_menu_copy_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
321 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
322 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
323
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
324 file_util_copy(NULL, layout_selection_list(lw), NULL, layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
325 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
326
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
327 static void layout_menu_move_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
328 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
329 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
330
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
331 file_util_move(NULL, layout_selection_list(lw), NULL, layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
332 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
333
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
334 static void layout_menu_rename_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
335 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
336 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
337
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
338 file_util_rename(NULL, layout_selection_list(lw), layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
339 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
340
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
341 static void layout_menu_delete_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
342 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
343 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
344
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
345 file_util_delete(NULL, layout_selection_list(lw), layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
346 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
347
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
348 static void layout_menu_close_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
349 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
350 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
351 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
352 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
353
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
354 layout_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
355 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
356
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
357 static void layout_menu_exit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
358 {
278
04abf5b160eb exit_gqview() renamed to exit_program().
zas_
parents: 273
diff changeset
359 exit_program();
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
360 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
361
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
362 static void layout_menu_alter_90_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
363 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
364 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
365
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
366 layout_image_alter(lw, ALTER_ROTATE_90);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
367 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
368
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
369 static void layout_menu_alter_90cc_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
370 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
371 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
372
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
373 layout_image_alter(lw, ALTER_ROTATE_90_CC);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
374 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
375
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
376 static void layout_menu_alter_180_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
377 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
378 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
379
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
380 layout_image_alter(lw, ALTER_ROTATE_180);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
381 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
382
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
383 static void layout_menu_alter_mirror_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
384 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
385 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
386
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
387 layout_image_alter(lw, ALTER_MIRROR);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
388 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
389
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
390 static void layout_menu_alter_flip_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
391 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
392 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
393
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
394 layout_image_alter(lw, ALTER_FLIP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
395 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
396
82
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
397 static void layout_menu_alter_desaturate_cb(GtkAction *action, gpointer data)
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
398 {
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
399 LayoutWindow *lw = data;
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
400
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
401 layout_image_alter(lw, ALTER_DESATURATE);
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
402 }
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
403
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
404 static void layout_menu_info_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
405 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
406 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
407 GList *list;
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
408 FileData *fd = NULL;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
409
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
410 list = layout_selection_list(lw);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
411 if (!list) fd = layout_image_get_fd(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
412
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
413 info_window_new(fd, list);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
414 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
415
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
416
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
417 static void layout_menu_config_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
418 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
419 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
420 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
421 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
422
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
423 show_config_window();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
424 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
425
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
426 static void layout_menu_remove_thumb_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
427 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
428 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
429 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
430 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
431
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
432 cache_manager_show();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
433 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
434
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
435 static void layout_menu_wallpaper_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
436 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
437 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
438
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
439 layout_image_to_root(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
440 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
441
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
442 static void layout_menu_zoom_in_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
443 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
444 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
445
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
446 layout_image_zoom_adjust(lw, get_zoom_increment());
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
447 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
448
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
449 static void layout_menu_zoom_out_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
450 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
451 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
452
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
453 layout_image_zoom_adjust(lw, -get_zoom_increment());
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
454 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
455
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
456 static void layout_menu_zoom_1_1_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
457 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
458 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
459
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
460 layout_image_zoom_set(lw, 1.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
461 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
462
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
463 static void layout_menu_zoom_fit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
464 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
465 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
466
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
467 layout_image_zoom_set(lw, 0.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
468 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
469
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
470 static void layout_menu_zoom_fit_hor_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
471 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
472 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
473
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
474 layout_image_zoom_set_fill_geometry(lw, TRUE);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
475 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
476
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
477 static void layout_menu_zoom_fit_vert_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
478 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
479 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
480
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
481 layout_image_zoom_set_fill_geometry(lw, FALSE);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
482 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
483
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
484 static void layout_menu_zoom_2_1_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
485 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
486 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
487
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
488 layout_image_zoom_set(lw, 2.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
489 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
490
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
491 static void layout_menu_zoom_3_1_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
492 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
493 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
494
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
495 layout_image_zoom_set(lw, 3.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
496 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
497 static void layout_menu_zoom_4_1_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
498 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
499 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
500
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
501 layout_image_zoom_set(lw, 4.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
502 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
503
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
504 static void layout_menu_zoom_1_2_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
505 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
506 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
507
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
508 layout_image_zoom_set(lw, -2.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
509 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
510
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
511 static void layout_menu_zoom_1_3_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
512 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
513 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
514
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
515 layout_image_zoom_set(lw, -3.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
516 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
517
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
518 static void layout_menu_zoom_1_4_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
519 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
520 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
521
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
522 layout_image_zoom_set(lw, -4.0);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
523 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
524
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
525
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
526 static void layout_menu_split_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
527 {
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
528 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
529 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
530 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
531
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
532 ImageSplitMode mode = gtk_radio_action_get_current_value(action);
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
533
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
534 if (mode == lw->split_mode) mode = 0; /* toggle back */
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
535
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
536 layout_split_change(lw, mode);
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
537 }
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
538
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
539 static void layout_menu_connect_scroll_cb(GtkToggleAction *action, gpointer data)
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
540 {
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
541 LayoutWindow *lw = data;
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
542 lw->connect_scroll = gtk_toggle_action_get_active(action);
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
543 }
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
544
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
545 static void layout_menu_connect_zoom_cb(GtkToggleAction *action, gpointer data)
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
546 {
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
547 LayoutWindow *lw = data;
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
548 lw->connect_zoom = gtk_toggle_action_get_active(action);
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
549 }
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
550
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
551
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
552 static void layout_menu_thumb_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
553 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
554 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
555
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
556 layout_thumb_set(lw, gtk_toggle_action_get_active(action));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
557 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
558
132
661cd91e5a7e First implementation of marks for all photos.
bruclik
parents: 122
diff changeset
559
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
560 static void layout_menu_list_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
561 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
562 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
563 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
564 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
565
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
566 layout_views_set(lw, lw->dir_view_type, (gtk_radio_action_get_current_value(action) == 1));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
567 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
568
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
569 static void layout_menu_view_dir_as_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
570 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
571 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
572 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
573 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
574
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
575 layout_views_set(lw, (DirViewType) gtk_radio_action_get_current_value(action), lw->icon_view);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
576 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
577
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
578 static void layout_menu_view_in_new_window_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
579 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
580 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
581
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
582 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
583 layout_image_full_screen_stop(lw);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
584 view_window_new(layout_image_get_fd(lw));
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
585 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
586
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
587 static void layout_menu_fullscreen_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
588 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
589 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
590
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
591 layout_image_full_screen_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
592 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
593
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
594 static void layout_menu_overlay_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
595 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
596 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
597
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
598 if (image_osd_get(lw->image, NULL, NULL))
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
599 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
600 if (image_osd_histogram_onoff_status(lw->image))
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
601 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
602 image_osd_histogram_onoff_toggle(lw->image, 0);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
603 layout_image_overlay_update(lw);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
604 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
605 else
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
606 layout_image_overlay_toggle(lw);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
607 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
608 else
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
609 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
610 layout_image_overlay_toggle(lw);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
611 image_osd_histogram_onoff_toggle(lw->image, 1);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
612 layout_image_overlay_update(lw);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
613 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
614 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
615
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
616 static void layout_menu_histogram_chan_cb(GtkAction *action, gpointer data)
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
617 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
618 LayoutWindow *lw = data;
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
619
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
620 image_osd_histogram_chan_toggle(lw->image);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
621 layout_image_overlay_update(lw);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
622 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
623
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
624 static void layout_menu_histogram_log_cb(GtkAction *action, gpointer data)
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
625 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
626 LayoutWindow *lw = data;
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
627
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
628 image_osd_histogram_log_toggle(lw->image);
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
629 layout_image_overlay_update(lw);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
630 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
631
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
632 static void layout_menu_refresh_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
633 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
634 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
635
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
636 layout_refresh(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
637 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
638
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
639 static void layout_menu_float_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
640 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
641 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
642 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
643 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
644
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
645 if (lw->tools_float != gtk_toggle_action_get_active(action))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
646 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
647 layout_tools_float_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
648 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
649 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
650
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
651 static void layout_menu_hide_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
652 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
653 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
654 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
655 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
656
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
657 layout_tools_hide_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
658 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
659
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
660 static void layout_menu_toolbar_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
661 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
662 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
663 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
664 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
665
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
666 if (lw->toolbar_hidden != gtk_toggle_action_get_active(action))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
667 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
668 layout_toolbar_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
669 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
670 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
671
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
672 static void layout_menu_bar_info_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
673 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
674 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
675 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
676 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
677
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
678 if (lw->bar_info_enabled != gtk_toggle_action_get_active(action))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
679 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
680 layout_bar_info_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
681 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
682 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
683
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
684 static void layout_menu_bar_exif_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
685 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
686 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
687 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
688 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
689
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
690 if (lw->bar_exif_enabled != gtk_toggle_action_get_active(action))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
691 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
692 layout_bar_exif_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
693 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
694 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
695
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
696 static void layout_menu_bar_sort_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
697 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
698 LayoutWindow *lw = data;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
699 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
700 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
701
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
702 if (lw->bar_sort_enabled != gtk_toggle_action_get_active(action))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
703 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
704 layout_bar_sort_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
705 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
706 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
707
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
708 static void layout_menu_slideshow_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
709 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
710 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
711
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
712 layout_image_slideshow_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
713 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
714
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
715 static void layout_menu_help_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
716 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
717 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
718 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
719 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
720 help_window_show("html_contents");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
721 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
722
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
723 static void layout_menu_help_keys_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
724 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
725 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
726 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
727 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
728 help_window_show("documentation");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
729 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
730
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
731 static void layout_menu_notes_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
732 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
733 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
734 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
735 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
736 help_window_show("release_notes");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
737 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
738
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
739 static void layout_menu_about_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
740 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
741 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
742 if (lw->full_screen)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
743 layout_image_full_screen_stop(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
744 show_about_window();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
745 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
746
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
747
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
748 /*
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
749 *-----------------------------------------------------------------------------
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
750 * select menu
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
751 *-----------------------------------------------------------------------------
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
752 */
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
753
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
754 static void layout_menu_select_all_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
755 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
756 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
757
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
758 layout_select_all(lw);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
759 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
760
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
761 static void layout_menu_unselect_all_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
762 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
763 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
764
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
765 layout_select_none(lw);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
766 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
767
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
768 static void layout_menu_marks_cb(GtkToggleAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
769 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
770 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
771
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
772 layout_marks_set(lw, gtk_toggle_action_get_active(action));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
773 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
774
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
775
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
776 static void layout_menu_set_mark_sel_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
777 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
778 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
779 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
780 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
781 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
782
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
783 layout_selection_to_mark(lw, mark, STM_MODE_SET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
784 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
785
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
786 static void layout_menu_res_mark_sel_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
787 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
788 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
789 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
790 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
791 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
792
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
793 layout_selection_to_mark(lw, mark, STM_MODE_RESET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
794 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
795
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
796 static void layout_menu_toggle_mark_sel_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
797 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
798 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
799 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
800 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
801 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
802
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
803 layout_selection_to_mark(lw, mark, STM_MODE_TOGGLE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
804 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
805
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
806 static void layout_menu_sel_mark_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
807 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
808 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
809 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
810 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
811 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
812
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
813 layout_mark_to_selection(lw, mark, MTS_MODE_SET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
814 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
815
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
816 static void layout_menu_sel_mark_or_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
817 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
818 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
819 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
820 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
821 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
822
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
823 layout_mark_to_selection(lw, mark, MTS_MODE_OR);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
824 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
825
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
826 static void layout_menu_sel_mark_and_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
827 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
828 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
829 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
830 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
831 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
832
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
833 layout_mark_to_selection(lw, mark, MTS_MODE_AND);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
834 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
835
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
836 static void layout_menu_sel_mark_minus_cb(GtkAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
837 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
838 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
839 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
840 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
841 mark--;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
842
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
843 layout_mark_to_selection(lw, mark, MTS_MODE_MINUS);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
844 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
845
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
846
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
847 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
848 *-----------------------------------------------------------------------------
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
849 * go menu
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
850 *-----------------------------------------------------------------------------
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
851 */
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
852
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
853 static void layout_menu_image_first_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
854 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
855 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
856 layout_image_first(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
857 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
858
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
859 static void layout_menu_image_prev_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
860 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
861 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
862 layout_image_prev(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
863 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
864
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
865 static void layout_menu_image_next_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
866 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
867 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
868 layout_image_next(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
869 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
870
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
871 static void layout_menu_image_last_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
872 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
873 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
874 layout_image_last(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
875 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
876
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
877
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
878 /*
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
879 *-----------------------------------------------------------------------------
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
880 * edit menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
881 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
882 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
883
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
884 static void layout_menu_edit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
885 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
886 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
887 GList *list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
888 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
889
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
890 n = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "edit_index"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
891
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
892
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
893 if (lw->full_screen && !editor_window_flag_set(n))
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
894 {
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
895 layout_image_full_screen_stop(lw);
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
896 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
897 list = layout_selection_list(lw);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
898 start_editor_from_filelist(n, list);
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
899 filelist_free(list);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
900 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
901
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
902 static void layout_menu_edit_update(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
903 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
904 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
905
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
906 /* main edit menu */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
907
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
908 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
909
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
910 for (i = 0; i < 10; i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
911 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
912 gchar *key;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
913 GtkAction *action;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
914
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
915 key = g_strdup_printf("Editor%d", i);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
916
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
917 action = gtk_action_group_get_action(lw->action_group, key);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
918 g_object_set_data(G_OBJECT(action), "edit_index", GINT_TO_POINTER(i));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
919
318
b16b9b8979e5 Add a new struct ConfOptions to handle options.
zas_
parents: 284
diff changeset
920 if (options->editor_command[i] && strlen(options->editor_command[i]) > 0)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
921 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
922 gchar *text;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
923
318
b16b9b8979e5 Add a new struct ConfOptions to handle options.
zas_
parents: 284
diff changeset
924 if (options->editor_name[i] && strlen(options->editor_name[i]) > 0)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
925 {
318
b16b9b8979e5 Add a new struct ConfOptions to handle options.
zas_
parents: 284
diff changeset
926 text = g_strdup_printf(_("in %s..."), options->editor_name[i]);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
927 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
928 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
929 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
930 text = g_strdup(_("in (unknown)..."));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
931 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
932 g_object_set(action, "label", text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
933 "sensitive", TRUE, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
934 g_free(text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
935 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
936 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
937 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
938 g_object_set(action, "label", _("empty"),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
939 "sensitive", FALSE, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
940 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
941
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
942 g_free(key);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
943 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
944 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
945
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
946 void layout_edit_update_all(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
947 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
948 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
949
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
950 work = layout_window_list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
951 while (work)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
952 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
953 LayoutWindow *lw = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
954 work = work->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
955
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
956 layout_menu_edit_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
957 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
958 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
959
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
960 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
961 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
962 * recent menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
963 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
964 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
965
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
966 static void layout_menu_recent_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
967 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
968 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
969 gchar *path;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
970
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
971 n = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "recent_index"));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
972
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
973 path = g_list_nth_data(history_list_get_by_key("recent"), n);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
974
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
975 if (!path) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
976
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
977 /* make a copy of it */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
978 path = g_strdup(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
979 collection_window_new(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
980 g_free(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
981 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
982
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
983 static void layout_menu_recent_update(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
984 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
985 GtkWidget *menu;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
986 GtkWidget *recent;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
987 GtkWidget *item;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
988 GList *list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
989 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
990
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
991 if (!lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
992
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
993 list = history_list_get_by_key("recent");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
994 n = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
995
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
996 menu = gtk_menu_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
997
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
998 while (list)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
999 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1000 item = menu_item_add_simple(menu, filename_from_path((gchar *)list->data),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1001 G_CALLBACK(layout_menu_recent_cb), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1002 g_object_set_data(G_OBJECT(item), "recent_index", GINT_TO_POINTER(n));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1003 list = list->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1004 n++;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1005 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1006
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1007 if (n == 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1008 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1009 menu_item_add(menu, _("Empty"), NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1010 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1011
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1012 recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/FileMenu/OpenRecent");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1013 gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent), menu);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1014 gtk_widget_set_sensitive(recent, (n != 0));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1015 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1016
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1017 void layout_recent_update_all(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1018 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1019 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1020
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1021 work = layout_window_list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1022 while (work)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1023 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1024 LayoutWindow *lw = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1025 work = work->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1026
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1027 layout_menu_recent_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1028 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1029 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1030
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1031 void layout_recent_add_path(const gchar *path)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1032 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1033 if (!path) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1034
343
63380ea3e65d Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
zas_
parents: 341
diff changeset
1035 history_list_add_to_key("recent", path, options->open_recent_list_maxsize);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1036
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1037 layout_recent_update_all();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1038 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1039
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1040 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1041 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1042 * menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1043 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1044 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1045
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1046 #define CB G_CALLBACK
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1047
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1048 static GtkActionEntry menu_entries[] = {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1049 { "FileMenu", NULL, N_("_File") },
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1050 { "GoMenu", NULL, N_("_Go") },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1051 { "EditMenu", NULL, N_("_Edit") },
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1052 { "SelectMenu", NULL, N_("_Select") },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1053 { "AdjustMenu", NULL, N_("_Adjust") },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1054 { "ViewMenu", NULL, N_("_View") },
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1055 { "DirMenu", NULL, N_("_View Directory as") },
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1056 { "ZoomMenu", NULL, N_("_Zoom") },
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1057 { "SplitMenu", NULL, N_("_Split") },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1058 { "HelpMenu", NULL, N_("_Help") },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1059
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1060 { "FirstImage", GTK_STOCK_GOTO_TOP, N_("_First Image"), "Home", NULL, CB(layout_menu_image_first_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1061 { "PrevImage", GTK_STOCK_GO_UP, N_("_Previous Image"), "BackSpace", NULL, CB(layout_menu_image_prev_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1062 { "NextImage", GTK_STOCK_GO_DOWN, N_("_Next Image"), "space", NULL, CB(layout_menu_image_next_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1063 { "LastImage", GTK_STOCK_GOTO_BOTTOM, N_("_Last Image"), "End", NULL, CB(layout_menu_image_last_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1064
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1065
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1066 { "NewWindow", GTK_STOCK_NEW, N_("New _window"), NULL, NULL, CB(layout_menu_new_window_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1067 { "NewCollection", GTK_STOCK_INDEX,N_("_New collection"), "C", NULL, CB(layout_menu_new_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1068 { "OpenCollection", GTK_STOCK_OPEN, N_("_Open collection..."),"O", NULL, CB(layout_menu_open_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1069 { "OpenRecent", NULL, N_("Open _recent") },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1070 { "Search", GTK_STOCK_FIND, N_("_Search..."), "F3", NULL, CB(layout_menu_search_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1071 { "FindDupes", GTK_STOCK_FIND, N_("_Find duplicates..."),"D", NULL, CB(layout_menu_dupes_cb) },
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
1072 { "PanView", NULL, N_("Pan _view"), "<control>J", NULL, CB(layout_menu_pan_cb) },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1073 { "Print", GTK_STOCK_PRINT,N_("_Print..."), "<shift>P", NULL, CB(layout_menu_print_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1074 { "NewFolder", NULL, N_("N_ew folder..."), "<control>F", NULL, CB(layout_menu_dir_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1075 { "Copy", NULL, N_("_Copy..."), "<control>C", NULL, CB(layout_menu_copy_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1076 { "Move", NULL, N_("_Move..."), "<control>M", NULL, CB(layout_menu_move_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1077 { "Rename", NULL, N_("_Rename..."), "<control>R", NULL, CB(layout_menu_rename_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1078 { "Delete", GTK_STOCK_DELETE, N_("_Delete..."), "<control>D", NULL, CB(layout_menu_delete_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1079 { "CloseWindow", GTK_STOCK_CLOSE,N_("C_lose window"), "<control>W", NULL, CB(layout_menu_close_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1080 { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", NULL, CB(layout_menu_exit_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1081
163
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1082 { "Editor0", NULL, "editor0", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1083 { "Editor1", NULL, "editor1", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1084 { "Editor2", NULL, "editor2", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1085 { "Editor3", NULL, "editor3", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1086 { "Editor4", NULL, "editor4", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1087 { "Editor5", NULL, "editor5", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1088 { "Editor6", NULL, "editor6", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1089 { "Editor7", NULL, "editor7", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1090 { "Editor8", NULL, "editor8", NULL, NULL, CB(layout_menu_edit_cb) },
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1091 { "Editor9", NULL, "editor9", NULL, NULL, CB(layout_menu_edit_cb) },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1092 { "RotateCW", NULL, N_("_Rotate clockwise"), "bracketright", NULL, CB(layout_menu_alter_90_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1093 { "RotateCCW", NULL, N_("Rotate _counterclockwise"), "bracketleft", NULL, CB(layout_menu_alter_90cc_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1094 { "Rotate180", NULL, N_("Rotate 1_80"), "<shift>R", NULL, CB(layout_menu_alter_180_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1095 { "Mirror", NULL, N_("_Mirror"), "<shift>M", NULL, CB(layout_menu_alter_mirror_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1096 { "Flip", NULL, N_("_Flip"), "<shift>F", NULL, CB(layout_menu_alter_flip_cb) },
82
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
1097 { "Grayscale", NULL, N_("_Grayscale"), "<shift>G", NULL, CB(layout_menu_alter_desaturate_cb) },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1098 { "Properties",GTK_STOCK_PROPERTIES, N_("_Properties"), "<control>P", NULL, CB(layout_menu_info_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1099 { "SelectAll", NULL, N_("Select _all"), "<control>A", NULL, CB(layout_menu_select_all_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1100 { "SelectNone", NULL, N_("Select _none"), "<control><shift>A",NULL, CB(layout_menu_unselect_all_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1101 { "Preferences",GTK_STOCK_PREFERENCES,N_("P_references..."), "<control>O", NULL, CB(layout_menu_config_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1102 { "Maintenance", NULL, N_("_Thumbnail maintenance..."),NULL, NULL, CB(layout_menu_remove_thumb_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1103 { "Wallpaper", NULL, N_("Set as _wallpaper"),NULL, NULL, CB(layout_menu_wallpaper_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1104
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1105 { "ZoomIn", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "equal", NULL, CB(layout_menu_zoom_in_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1106 { "ZoomOut", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "minus", NULL, CB(layout_menu_zoom_out_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1107 { "Zoom100", GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "Z", NULL, CB(layout_menu_zoom_1_1_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1108 { "ZoomFit", GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "X", NULL, CB(layout_menu_zoom_fit_cb) },
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1109 { "ZoomFillHor", NULL, N_("Fit _Horizontally"),"H", NULL, CB(layout_menu_zoom_fit_hor_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1110 { "ZoomFillVert", NULL, N_("Fit _Vorizontally"),"W", NULL, CB(layout_menu_zoom_fit_vert_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1111 { "Zoom200", NULL, N_("Zoom _2:1"), NULL, NULL, CB(layout_menu_zoom_2_1_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1112 { "Zoom300", NULL, N_("Zoom _3:1"), NULL, NULL, CB(layout_menu_zoom_3_1_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1113 { "Zoom400", NULL, N_("Zoom _4:1"), NULL, NULL, CB(layout_menu_zoom_4_1_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1114 { "Zoom50", NULL, N_("Zoom 1:2"), NULL, NULL, CB(layout_menu_zoom_1_2_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1115 { "Zoom33", NULL, N_("Zoom 1:3"), NULL, NULL, CB(layout_menu_zoom_1_3_cb) },
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1116 { "Zoom25", NULL, N_("Zoom 1:4"), NULL, NULL, CB(layout_menu_zoom_1_4_cb) },
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1117
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1118
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1119 { "ViewInNewWindow", NULL, N_("_View in new window"), "<control>V", NULL, CB(layout_menu_view_in_new_window_cb) },
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1120
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1121 { "FullScreen", NULL, N_("F_ull screen"), "F", NULL, CB(layout_menu_fullscreen_cb) },
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1122 { "ImageOverlay", NULL, N_("_Image Overlay"), "I", NULL, CB(layout_menu_overlay_cb) },
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
1123 { "HistogramChan", NULL, N_("Histogram _channels"), "K", NULL, CB(layout_menu_histogram_chan_cb) },
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
1124 { "HistogramLog", NULL, N_("Histogram _log mode"), "J", NULL, CB(layout_menu_histogram_log_cb) },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1125 { "HideTools", NULL, N_("_Hide file list"), "<control>H", NULL, CB(layout_menu_hide_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1126 { "SlideShow", NULL, N_("Toggle _slideshow"),"S", NULL, CB(layout_menu_slideshow_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1127 { "Refresh", GTK_STOCK_REFRESH, N_("_Refresh"), "R", NULL, CB(layout_menu_refresh_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1128
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1129 { "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1", NULL, CB(layout_menu_help_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1130 { "HelpShortcuts", NULL, N_("_Keyboard shortcuts"),NULL, NULL, CB(layout_menu_help_keys_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1131 { "HelpNotes", NULL, N_("_Release notes"), NULL, NULL, CB(layout_menu_notes_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1132 { "About", NULL, N_("_About"), NULL, NULL, CB(layout_menu_about_cb) }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1133 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1134
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1135 static GtkToggleActionEntry menu_toggle_entries[] = {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1136 { "Thumbnails", NULL, N_("_Thumbnails"), "T", NULL, CB(layout_menu_thumb_cb) },
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1137 { "ShowMarks", NULL, N_("Show _Marks"), "M", NULL, CB(layout_menu_marks_cb) },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1138 { "FloatTools", NULL, N_("_Float file list"), "L", NULL, CB(layout_menu_float_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1139 { "HideToolbar", NULL, N_("Hide tool_bar"), NULL, NULL, CB(layout_menu_toolbar_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1140 { "SBarKeywords", NULL, N_("_Keywords"), "<control>K", NULL, CB(layout_menu_bar_info_cb) },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1141 { "SBarExif", NULL, N_("E_xif data"), "<control>E", NULL, CB(layout_menu_bar_exif_cb) },
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1142 { "SBarSort", NULL, N_("Sort _manager"), "<control>S", NULL, CB(layout_menu_bar_sort_cb) },
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1143 { "ConnectScroll", NULL, N_("Connected scroll"), "<control>U", NULL, CB(layout_menu_connect_scroll_cb) },
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1144 { "ConnectZoom", NULL, N_("Connected zoom"), "<control>Y", NULL, CB(layout_menu_connect_zoom_cb) }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1145 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1146
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1147 static GtkRadioActionEntry menu_radio_entries[] = {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1148 { "ViewList", NULL, N_("_List"), "<control>L", NULL, 0 },
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1149 { "ViewIcons", NULL, N_("I_cons"), "<control>I", NULL, 1 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1150 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1151
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1152 static GtkRadioActionEntry menu_split_radio_entries[] = {
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1153 { "SplitHorizontal", NULL, N_("Horizontal"), "E", NULL, SPLIT_HOR },
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1154 { "SplitVertical", NULL, N_("Vertical"), "U", NULL, SPLIT_VERT },
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1155 { "SplitQuad", NULL, N_("Quad"), "Q", NULL, SPLIT_QUAD },
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1156 { "SplitSingle", NULL, N_("Single"), "Y", NULL, SPLIT_NONE }
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1157 };
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1158
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1159
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1160 #undef CB
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1161
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1162 static const char *menu_ui_description =
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1163 "<ui>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1164 " <menubar name='MainMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1165 " <menu action='FileMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1166 " <menuitem action='NewWindow'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1167 " <menuitem action='NewCollection'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1168 " <menuitem action='OpenCollection'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1169 " <menuitem action='OpenRecent'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1170 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1171 " <menuitem action='Search'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1172 " <menuitem action='FindDupes'/>"
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
1173 " <menuitem action='PanView'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1174 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1175 " <menuitem action='Print'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1176 " <menuitem action='NewFolder'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1177 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1178 " <menuitem action='Copy'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1179 " <menuitem action='Move'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1180 " <menuitem action='Rename'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1181 " <menuitem action='Delete'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1182 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1183 " <menuitem action='CloseWindow'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1184 " <menuitem action='Quit'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1185 " </menu>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1186 " <menu action='GoMenu'>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1187 " <menuitem action='FirstImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1188 " <menuitem action='PrevImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1189 " <menuitem action='NextImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1190 " <menuitem action='LastImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1191 " </menu>"
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1192 " <menu action='SelectMenu'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1193 " <menuitem action='SelectAll'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1194 " <menuitem action='SelectNone'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1195 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1196 " <menuitem action='ShowMarks'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1197 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1198 " </menu>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1199 " <menu action='EditMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1200 " <menuitem action='Editor0'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1201 " <menuitem action='Editor1'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1202 " <menuitem action='Editor2'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1203 " <menuitem action='Editor3'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1204 " <menuitem action='Editor4'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1205 " <menuitem action='Editor5'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1206 " <menuitem action='Editor6'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1207 " <menuitem action='Editor7'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1208 " <menuitem action='Editor8'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1209 " <menuitem action='Editor9'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1210 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1211 " <menu action='AdjustMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1212 " <menuitem action='RotateCW'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1213 " <menuitem action='RotateCCW'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1214 " <menuitem action='Rotate180'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1215 " <menuitem action='Mirror'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1216 " <menuitem action='Flip'/>"
82
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
1217 " <menuitem action='Grayscale'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1218 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1219 " <menuitem action='Properties'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1220 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1221 " <menuitem action='Preferences'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1222 " <menuitem action='Maintenance'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1223 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1224 " <menuitem action='Wallpaper'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1225 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1226 " <menu action='ViewMenu'>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1227 " <menuitem action='ViewInNewWindow'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1228 " <separator/>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1229 " <menu action='ZoomMenu'>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1230 " <menuitem action='ZoomIn'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1231 " <menuitem action='ZoomOut'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1232 " <menuitem action='ZoomFit'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1233 " <menuitem action='ZoomFillHor'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1234 " <menuitem action='ZoomFillVert'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1235 " <menuitem action='Zoom100'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1236 " <menuitem action='Zoom200'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1237 " <menuitem action='Zoom300'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1238 " <menuitem action='Zoom400'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1239 " <menuitem action='Zoom50'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1240 " <menuitem action='Zoom33'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1241 " <menuitem action='Zoom25'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1242 " </menu>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1243 " <separator/>"
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1244 " <menu action='SplitMenu'>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1245 " <menuitem action='SplitHorizontal'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1246 " <menuitem action='SplitVertical'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1247 " <menuitem action='SplitQuad'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1248 " <menuitem action='SplitSingle'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1249 " </menu>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1250 " <menuitem action='ConnectScroll'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1251 " <menuitem action='ConnectZoom'/>"
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1252 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1253 " <menuitem action='Thumbnails'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1254 " <menuitem action='ViewList'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1255 " <menuitem action='ViewIcons'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1256 " <separator/>"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1257 " <menu action='DirMenu'>"
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1258 " <menuitem action='FolderList'/>"
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1259 " <menuitem action='FolderTree'/>"
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1260 " </menu>"
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1261 " <separator/>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1262 " <menuitem action='ImageOverlay'/>"
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
1263 " <menuitem action='HistogramChan'/>"
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
1264 " <menuitem action='HistogramLog'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1265 " <menuitem action='FullScreen'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1266 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1267 " <menuitem action='FloatTools'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1268 " <menuitem action='HideTools'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1269 " <menuitem action='HideToolbar'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1270 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1271 " <menuitem action='SBarKeywords'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1272 " <menuitem action='SBarExif'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1273 " <menuitem action='SBarSort'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1274 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1275 " <menuitem action='SlideShow'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1276 " <menuitem action='Refresh'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1277 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1278 " <menu action='HelpMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1279 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1280 " <menuitem action='HelpContents'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1281 " <menuitem action='HelpShortcuts'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1282 " <menuitem action='HelpNotes'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1283 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1284 " <menuitem action='About'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1285 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1286 " </menubar>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1287 "</ui>";
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1288
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1289
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1290 static gchar *menu_translate(const gchar *path, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1291 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1292 return _(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1293 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1294
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1295 static void layout_actions_setup_mark(LayoutWindow *lw, gint mark, char *name_tmpl, char *label_tmpl, char *accel_tmpl, GCallback cb)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1296 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1297 char name[50];
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1298 char label[100];
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1299 char accel[50];
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1300 GtkActionEntry entry = { name, NULL, label, accel, NULL, cb };
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1301 GtkAction *action;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1302
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1303 g_snprintf(name, sizeof(name), name_tmpl, mark);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1304 g_snprintf(label, sizeof(label), label_tmpl, mark);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1305 if (accel_tmpl)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1306 g_snprintf(accel, sizeof(accel), accel_tmpl, mark % 10);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1307 else
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1308 accel[0] = 0;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1309 gtk_action_group_add_actions(lw->action_group, &entry, 1, lw);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1310 action = gtk_action_group_get_action(lw->action_group, name);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1311 g_object_set_data(G_OBJECT(action), "mark_num", GINT_TO_POINTER(mark));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1312 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1313
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1314 static void layout_actions_setup_marks(LayoutWindow *lw)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1315 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1316 int mark;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1317 GError *error;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1318 GString *desc = g_string_new(
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1319 "<ui>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1320 " <menubar name='MainMenu'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1321 " <menu action='SelectMenu'>");
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1322
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1323 for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1324 {
163
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1325 layout_actions_setup_mark(lw, mark, "Mark%d", _("Mark _%d"), NULL, NULL);
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1326 layout_actions_setup_mark(lw, mark, "SetMark%d", _("_Set mark %d"), NULL, G_CALLBACK(layout_menu_set_mark_sel_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1327 layout_actions_setup_mark(lw, mark, "ResetMark%d", _("_Reset mark %d"), NULL, G_CALLBACK(layout_menu_res_mark_sel_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1328 layout_actions_setup_mark(lw, mark, "ToggleMark%d", _("_Toggle mark %d"), "%d", G_CALLBACK(layout_menu_toggle_mark_sel_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1329 layout_actions_setup_mark(lw, mark, "SelectMark%d", _("_Select mark %d"), "<control>%d", G_CALLBACK(layout_menu_sel_mark_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1330 layout_actions_setup_mark(lw, mark, "AddMark%d", _("_Add mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_or_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1331 layout_actions_setup_mark(lw, mark, "IntMark%d", _("_Intersection with mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_and_cb));
e3f12d4abc04 <num> toggles mark num
nadvornik
parents: 162
diff changeset
1332 layout_actions_setup_mark(lw, mark, "UnselMark%d", _("_Unselect mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_minus_cb));
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1333
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1334 g_string_append_printf(desc,
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1335 " <menu action='Mark%d'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1336 " <menuitem action='ToggleMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1337 " <menuitem action='SetMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1338 " <menuitem action='ResetMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1339 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1340 " <menuitem action='SelectMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1341 " <menuitem action='AddMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1342 " <menuitem action='IntMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1343 " <menuitem action='UnselMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1344 " </menu>",
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1345 mark, mark, mark, mark, mark, mark, mark, mark);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1346 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1347
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1348 g_string_append(desc,
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1349 " </menu>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1350 " </menubar>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1351 "</ui>" );
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1352
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1353 error = NULL;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1354 if (!gtk_ui_manager_add_ui_from_string(lw->ui_manager, desc->str, -1, &error))
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1355 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1356 g_message ("building menus failed: %s", error->message);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1357 g_error_free (error);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1358 exit (EXIT_FAILURE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1359 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1360 g_string_free(desc, TRUE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1361 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1362
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1363 void layout_actions_setup(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1364 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1365 GError *error;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1366
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1367 if (lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1368
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1369 lw->action_group = gtk_action_group_new ("MenuActions");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1370 gtk_action_group_set_translate_func(lw->action_group, menu_translate, NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1371
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1372 gtk_action_group_add_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1373 menu_entries, G_N_ELEMENTS(menu_entries), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1374 gtk_action_group_add_toggle_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1375 menu_toggle_entries, G_N_ELEMENTS(menu_toggle_entries), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1376 gtk_action_group_add_radio_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1377 menu_radio_entries, G_N_ELEMENTS(menu_radio_entries),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1378 0, G_CALLBACK(layout_menu_list_cb), lw);
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1379 gtk_action_group_add_radio_actions(lw->action_group,
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1380 menu_split_radio_entries, G_N_ELEMENTS(menu_split_radio_entries),
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1381 0, G_CALLBACK(layout_menu_split_cb), lw);
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1382 gtk_action_group_add_radio_actions(lw->action_group,
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1383 menu_view_dir_radio_entries, G_N_ELEMENTS(menu_view_dir_radio_entries),
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1384 0, G_CALLBACK(layout_menu_view_dir_as_cb), lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1385
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1386 lw->ui_manager = gtk_ui_manager_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1387 gtk_ui_manager_set_add_tearoffs(lw->ui_manager, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1388 gtk_ui_manager_insert_action_group(lw->ui_manager, lw->action_group, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1389
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1390 error = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1391 if (!gtk_ui_manager_add_ui_from_string(lw->ui_manager, menu_ui_description, -1, &error))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1392 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1393 g_message ("building menus failed: %s", error->message);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1394 g_error_free (error);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1395 exit (EXIT_FAILURE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1396 }
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1397
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1398 layout_actions_setup_marks(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1399 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1400
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1401 void layout_actions_add_window(LayoutWindow *lw, GtkWidget *window)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1402 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1403 GtkAccelGroup *group;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1404
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1405 if (!lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1406
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1407 group = gtk_ui_manager_get_accel_group(lw->ui_manager);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1408 gtk_window_add_accel_group(GTK_WINDOW(window), group);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1409 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1410
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1411 GtkWidget *layout_actions_menu_bar(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1412 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1413 return gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1414 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1415
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1416
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1417 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1418 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1419 * toolbar
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1420 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1421 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1422
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1423 static void layout_button_thumb_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1424 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1425 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1426
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1427 layout_thumb_set(lw, gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(widget)));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1428 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1429
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1430 static void layout_button_home_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1431 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1432 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1433 const gchar *path = homedir();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1434
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1435 if (path) layout_set_path(lw, path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1436 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1437
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1438 static void layout_button_refresh_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1439 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1440 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1441
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1442 layout_refresh(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1443 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1444
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1445 static void layout_button_zoom_in_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1446 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1447 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1448
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1449 layout_image_zoom_adjust(lw, get_zoom_increment());
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1450 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1451
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1452 static void layout_button_zoom_out_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1453 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1454 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1455
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1456 layout_image_zoom_adjust(lw, -get_zoom_increment());
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1457 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1458
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1459 static void layout_button_zoom_fit_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1460 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1461 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1462
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1463 layout_image_zoom_set(lw, 0.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1464 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1465
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1466 static void layout_button_zoom_1_1_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1467 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1468 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1469
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1470 layout_image_zoom_set(lw, 1.0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1471 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1472
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1473 static void layout_button_config_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1474 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1475 show_config_window();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1476 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1477
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1478 static void layout_button_float_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1479 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1480 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1481
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1482 layout_tools_float_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1483 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1484
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1485 static void layout_button_custom_icon(GtkWidget *button, const gchar *key)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1486 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1487 GtkWidget *icon;
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1488 GdkPixbuf *pixbuf;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1489
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1490 pixbuf = pixbuf_inline(key);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1491 if (!pixbuf) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1492
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1493 icon = gtk_image_new_from_pixbuf(pixbuf);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1494 g_object_unref(pixbuf);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1495
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1496 pref_toolbar_button_set_icon(button, icon, NULL);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1497 gtk_widget_show(icon);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1498 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1499
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1500 GtkWidget *layout_button_bar(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1501 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1502 GtkWidget *box;
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1503 GtkWidget *button;
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1504
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1505 box = pref_toolbar_new(NULL, GTK_TOOLBAR_ICONS);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1506
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1507 button = pref_toolbar_button(box, NULL, _("_Thumbnails"), TRUE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1508 _("Show thumbnails"), G_CALLBACK(layout_button_thumb_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1509 layout_button_custom_icon(button, PIXBUF_INLINE_ICON_THUMB);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1510 lw->thumb_button = button;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1511
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1512 pref_toolbar_button(box, GTK_STOCK_HOME, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1513 _("Change to home folder"), G_CALLBACK(layout_button_home_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1514 pref_toolbar_button(box, GTK_STOCK_REFRESH, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1515 _("Refresh file list"), G_CALLBACK(layout_button_refresh_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1516 pref_toolbar_button(box, GTK_STOCK_ZOOM_IN, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1517 _("Zoom in"), G_CALLBACK(layout_button_zoom_in_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1518 pref_toolbar_button(box, GTK_STOCK_ZOOM_OUT, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1519 _("Zoom out"), G_CALLBACK(layout_button_zoom_out_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1520 pref_toolbar_button(box, GTK_STOCK_ZOOM_FIT, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1521 _("Fit image to window"), G_CALLBACK(layout_button_zoom_fit_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1522 pref_toolbar_button(box, GTK_STOCK_ZOOM_100, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1523 _("Set zoom 1:1"), G_CALLBACK(layout_button_zoom_1_1_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1524 pref_toolbar_button(box, GTK_STOCK_PREFERENCES, NULL, FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1525 _("Configure options"), G_CALLBACK(layout_button_config_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1526 button = pref_toolbar_button(box, NULL, _("_Float"), FALSE,
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1527 _("Float Controls"), G_CALLBACK(layout_button_float_cb), lw);
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1528 layout_button_custom_icon(button, PIXBUF_INLINE_ICON_FLOAT);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1529
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1530 return box;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1531 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1532
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1533 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1534 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1535 * misc
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1536 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1537 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1538
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1539 static void layout_util_sync_views(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1540 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1541 GtkAction *action;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1542
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1543 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1544
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1545 action = gtk_action_group_get_action(lw->action_group, "FolderTree");
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1546 gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->dir_view_type);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1547
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1548 action = gtk_action_group_get_action(lw->action_group, "ViewIcons");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1549 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->icon_view);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1550
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1551 action = gtk_action_group_get_action(lw->action_group, "FloatTools");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1552 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->tools_float);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1553
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1554 action = gtk_action_group_get_action(lw->action_group, "SBarKeywords");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1555 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->bar_info_enabled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1556
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1557 action = gtk_action_group_get_action(lw->action_group, "SBarExif");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1558 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->bar_exif_enabled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1559
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1560 action = gtk_action_group_get_action(lw->action_group, "SBarSort");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1561 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->bar_sort_enabled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1562
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1563 action = gtk_action_group_get_action(lw->action_group, "HideToolbar");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1564 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->toolbar_hidden);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1565 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1566
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1567 void layout_util_sync_thumb(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1568 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1569 GtkAction *action;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1570
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1571 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1572
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1573 action = gtk_action_group_get_action(lw->action_group, "Thumbnails");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1574 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->thumbs_enabled);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1575 g_object_set(action, "sensitive", !lw->icon_view, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1576
41
6281cc38e5ca Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents: 12
diff changeset
1577 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lw->thumb_button), lw->thumbs_enabled);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1578 gtk_widget_set_sensitive(lw->thumb_button, !lw->icon_view);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1579 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1580
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1581 void layout_util_sync(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1582 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1583 layout_util_sync_views(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1584 layout_util_sync_thumb(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1585 layout_menu_recent_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1586 layout_menu_edit_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1587 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1588
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1589 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1590 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1591 * icons (since all the toolbar icons are included here, best place as any)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1592 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1593 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1594
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1595 PixmapFolders *folder_icons_new(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1596 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1597 PixmapFolders *pf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1598
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1599 pf = g_new0(PixmapFolders, 1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1600
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1601 pf->close = pixbuf_inline(PIXBUF_INLINE_FOLDER_CLOSED);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1602 pf->open = pixbuf_inline(PIXBUF_INLINE_FOLDER_OPEN);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1603 pf->deny = pixbuf_inline(PIXBUF_INLINE_FOLDER_LOCKED);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1604 pf->parent = pixbuf_inline(PIXBUF_INLINE_FOLDER_UP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1605
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1606 return pf;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1607 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1608
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1609 void folder_icons_free(PixmapFolders *pf)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1610 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1611 if (!pf) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1612
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1613 g_object_unref(pf->close);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1614 g_object_unref(pf->open);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1615 g_object_unref(pf->deny);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1616 g_object_unref(pf->parent);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1617
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1618 g_free(pf);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1619 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1620
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1621 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1622 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1623 * sidebars
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1624 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1625 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1626
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1627 #define SIDEBAR_WIDTH 288
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1628
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1629 static void layout_bar_info_destroyed(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1630 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1631 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1632
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1633 lw->bar_info = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1634
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1635 if (lw->utility_box)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1636 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1637 /* destroyed from within itself */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1638 lw->bar_info_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1639 layout_util_sync_views(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1640 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1641 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1642
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1643 static GList *layout_bar_info_list_cb(gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1644 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1645 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1646
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1647 return layout_selection_list(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1648 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1649
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1650 static void layout_bar_info_new(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1651 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1652 if (!lw->utility_box) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1653
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
1654 lw->bar_info = bar_info_new(layout_image_get_fd(lw), FALSE, lw->utility_box);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1655 bar_info_set_selection_func(lw->bar_info, layout_bar_info_list_cb, lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1656 bar_info_selection(lw->bar_info, layout_selection_count(lw, NULL) - 1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1657 bar_info_size_request(lw->bar_info, SIDEBAR_WIDTH * 3 / 4);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1658 g_signal_connect(G_OBJECT(lw->bar_info), "destroy",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1659 G_CALLBACK(layout_bar_info_destroyed), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1660 lw->bar_info_enabled = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1661
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1662 gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->bar_info, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1663 gtk_widget_show(lw->bar_info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1664 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1665
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1666 static void layout_bar_info_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1667 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1668 if (lw->bar_info)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1669 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1670 bar_info_close(lw->bar_info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1671 lw->bar_info = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1672 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1673 lw->bar_info_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1674 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1675
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1676 void layout_bar_info_toggle(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1677 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1678 if (lw->bar_info_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1679 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1680 layout_bar_info_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1681 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1682 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1683 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1684 layout_bar_info_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1685 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1686 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1687
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1688 static void layout_bar_info_new_image(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1689 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1690 if (!lw->bar_info || !lw->bar_info_enabled) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1691
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
1692 bar_info_set(lw->bar_info, layout_image_get_fd(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1693 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1694
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1695 static void layout_bar_info_new_selection(LayoutWindow *lw, gint count)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1696 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1697 if (!lw->bar_info || !lw->bar_info_enabled) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1698
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1699 bar_info_selection(lw->bar_info, count - 1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1700 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1701
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1702 static void layout_bar_info_maint_renamed(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1703 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1704 if (!lw->bar_info || !lw->bar_info_enabled) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1705
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
1706 bar_info_maint_renamed(lw->bar_info, layout_image_get_fd(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1707 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1708
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1709 static void layout_bar_exif_destroyed(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1710 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1711 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1712
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1713 if (lw->bar_exif)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1714 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1715 lw->bar_exif_advanced = bar_exif_is_advanced(lw->bar_exif);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1716 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1717
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1718 lw->bar_exif = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1719 if (lw->utility_box)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1720 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1721 /* destroyed from within itself */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1722 lw->bar_exif_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1723 layout_util_sync_views(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1724 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1725 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1726
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1727 static void layout_bar_exif_sized(GtkWidget *widget, GtkAllocation *allocation, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1728 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1729 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1730
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1731 if (lw->bar_exif)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1732 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1733 lw->bar_exif_size = allocation->width;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1734 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1735 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1736
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1737 static void layout_bar_exif_new(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1738 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1739 if (!lw->utility_box) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1740
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
1741 lw->bar_exif = bar_exif_new(TRUE, layout_image_get_fd(lw),
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1742 lw->bar_exif_advanced, lw->utility_box);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1743 g_signal_connect(G_OBJECT(lw->bar_exif), "destroy",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1744 G_CALLBACK(layout_bar_exif_destroyed), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1745 g_signal_connect(G_OBJECT(lw->bar_exif), "size_allocate",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1746 G_CALLBACK(layout_bar_exif_sized), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1747 lw->bar_exif_enabled = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1748
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1749 if (lw->bar_exif_size < 1) lw->bar_exif_size = SIDEBAR_WIDTH;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1750 gtk_widget_set_size_request(lw->bar_exif, lw->bar_exif_size, -1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1751 gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->bar_exif, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1752 if (lw->bar_info) gtk_box_reorder_child(GTK_BOX(lw->utility_box), lw->bar_exif, 1);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1753 gtk_widget_show(lw->bar_exif);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1754 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1755
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1756 static void layout_bar_exif_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1757 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1758 if (lw->bar_exif)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1759 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1760 bar_exif_close(lw->bar_exif);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1761 lw->bar_exif = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1762 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1763 lw->bar_exif_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1764 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1765
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1766 void layout_bar_exif_toggle(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1767 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1768 if (lw->bar_exif_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1769 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1770 layout_bar_exif_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1771 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1772 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1773 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1774 layout_bar_exif_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1775 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1776 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1777
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1778 static void layout_bar_exif_new_image(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1779 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1780 if (!lw->bar_exif || !lw->bar_exif_enabled) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1781
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 132
diff changeset
1782 bar_exif_set(lw->bar_exif, layout_image_get_fd(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1783 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1784
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1785 static void layout_bar_sort_destroyed(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1786 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1787 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1788
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1789 lw->bar_sort = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1790
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1791 if (lw->utility_box)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1792 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1793 /* destroyed from within itself */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1794 lw->bar_sort_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1795
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1796 layout_util_sync_views(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1797 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1798 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1799
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1800 static void layout_bar_sort_new(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1801 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1802 if (!lw->utility_box) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1803
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1804 lw->bar_sort = bar_sort_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1805 g_signal_connect(G_OBJECT(lw->bar_sort), "destroy",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1806 G_CALLBACK(layout_bar_sort_destroyed), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1807 lw->bar_sort_enabled = TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1808
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1809 gtk_box_pack_end(GTK_BOX(lw->utility_box), lw->bar_sort, FALSE, FALSE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1810 gtk_widget_show(lw->bar_sort);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1811 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1812
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1813 static void layout_bar_sort_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1814 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1815 if (lw->bar_sort)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1816 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1817 bar_sort_close(lw->bar_sort);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1818 lw->bar_sort = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1819 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1820 lw->bar_sort_enabled = FALSE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1821 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1822
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1823 void layout_bar_sort_toggle(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1824 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1825 if (lw->bar_sort_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1826 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1827 layout_bar_sort_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1828 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1829 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1830 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1831 layout_bar_sort_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1832 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1833 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1834
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1835 void layout_bars_new_image(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1836 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1837 layout_bar_info_new_image(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1838 layout_bar_exif_new_image(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1839 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1840
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1841 void layout_bars_new_selection(LayoutWindow *lw, gint count)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1842 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1843 layout_bar_info_new_selection(lw, count);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1844 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1845
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1846 GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1847 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1848 lw->utility_box = gtk_hbox_new(FALSE, PREF_PAD_GAP);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1849 gtk_box_pack_start(GTK_BOX(lw->utility_box), image, TRUE, TRUE, 0);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1850 gtk_widget_show(image);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1851
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1852 if (lw->bar_sort_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1853 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1854 layout_bar_sort_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1855 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1856
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1857 if (lw->bar_info_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1858 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1859 layout_bar_info_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1860 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1861
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1862 if (lw->bar_exif_enabled)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1863 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1864 layout_bar_exif_new(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1865 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1866
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1867 return lw->utility_box;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1868 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1869
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1870 void layout_bars_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1871 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1872 layout_bar_sort_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1873 layout_bar_exif_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1874 layout_bar_info_close(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1875 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1876
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1877 void layout_bars_maint_renamed(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1878 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1879 layout_bar_info_maint_renamed(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1880 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1881