annotate src/layout_util.c @ 1672:994169573393

Complete commit @1747 (intltool usage) With using intltool the localisation will fail cause of missing desktop.in file. Also the old desktop files are obsoleted by this commit. Also it is not necessary any more to have a './' in front of the files in POTFILES.in.
author mow
date Sat, 27 Jun 2009 22:57:56 +0000
parents daab013a0dcf
children 0035002fad26
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
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1279
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 * 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
11 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
13
281
9995c5fb202a gqview.h -> main.h
zas_
parents: 278
diff changeset
14 #include "main.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15 #include "layout_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16
1293
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
17 #include "advanced_exif.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 #include "bar_sort.h"
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
19 #include "bar.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 #include "cache_maint.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 #include "collect.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 #include "collect-dlg.h"
457
5e9c24d3b3a8 Add a replacement for gtk_radio_action_set_current_value() which
zas_
parents: 454
diff changeset
23 #include "compat.h"
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
24 #include "color-man.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25 #include "dupe.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26 #include "editors.h"
586
905688aa2317 split filelist.c to filefilter.c and filedata.c
nadvornik
parents: 571
diff changeset
27 #include "filedata.h"
902
c414002a1f27 Move history_list_*() functions to separate files:
zas_
parents: 894
diff changeset
28 #include "history_list.h"
284
84c4618cd1cb Fix missing header files inclusions.
zas_
parents: 281
diff changeset
29 #include "image-overlay.h"
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
30 #include "histogram.h"
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
31 #include "img-view.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
32 #include "layout_image.h"
678
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
33 #include "logwindow.h"
1022
9962b24b6b43 Move miscellaneous functions to their own files (new misc.[ch]).
zas_
parents: 1004
diff changeset
34 #include "misc.h"
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
35 #include "pan-view.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36 #include "pixbuf_util.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37 #include "preferences.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38 #include "print.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39 #include "search.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40 #include "ui_fileops.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41 #include "ui_menu.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42 #include "ui_misc.h"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43 #include "ui_tabcomp.h"
1022
9962b24b6b43 Move miscellaneous functions to their own files (new misc.[ch]).
zas_
parents: 1004
diff changeset
44 #include "utilops.h"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
45 #include "view_dir.h"
648
e34c1002e553 Move some functions from main.[ch] to new window.[ch].
zas_
parents: 601
diff changeset
46 #include "window.h"
1214
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1176
diff changeset
47 #include "metadata.h"
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
48 #include "rcfile.h"
1479
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
49 #include "desktop_file.h"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51 #include <gdk/gdkkeysyms.h> /* for keyboard values */
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 #define MENU_EDIT_ACTION_OFFSET 16
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
56 static gboolean layout_bar_enabled(LayoutWindow *lw);
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
57 static gboolean layout_bar_sort_enabled(LayoutWindow *lw);
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
58 static void layout_util_sync_views(LayoutWindow *lw);
9
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 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 * keyboard handler
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63 *-----------------------------------------------------------------------------
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
66 static guint tree_key_overrides[] = {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
67 GDK_Page_Up, GDK_KP_Page_Up,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
68 GDK_Page_Down, GDK_KP_Page_Down,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
69 GDK_Home, GDK_KP_Home,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70 GDK_End, GDK_KP_End
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
736
a7289f9e8d29 Fix signed vs unsigned warnings.
zas_
parents: 731
diff changeset
73 static gboolean layout_key_match(guint keyval)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74 {
736
a7289f9e8d29 Fix signed vs unsigned warnings.
zas_
parents: 731
diff changeset
75 guint i;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77 for (i = 0; i < sizeof(tree_key_overrides) / sizeof(guint); i++)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
79 if (keyval == tree_key_overrides[i]) return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80 }
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 return FALSE;
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
1433
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
85 gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
9
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 LayoutWindow *lw = data;
1433
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
88 gboolean stop_signal = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
89 gint x = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
90 gint y = 0;
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 if (lw->path_entry && GTK_WIDGET_HAS_FOCUS(lw->path_entry))
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
93 {
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 753
diff changeset
94 if (event->keyval == GDK_Escape && lw->dir_fd)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
95 {
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 753
diff changeset
96 gtk_entry_set_text(GTK_ENTRY(lw->path_entry), lw->dir_fd->path);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
97 }
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 /* 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
100 * so when the some widgets have focus, give them priority (HACK)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
101 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
102 if (gtk_widget_event(lw->path_entry, (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 }
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
107 if (lw->vd && lw->options.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
108 !layout_key_match(event->keyval) &&
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
109 gtk_widget_event(lw->vd->view, (GdkEvent *)event))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
110 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
111 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
112 }
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
113 if (lw->bar &&
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
114 bar_event(lw->bar, (GdkEvent *)event))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
115 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
116 return TRUE;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
117 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
118
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
119 /*
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
120 if (event->type == GDK_KEY_PRESS && lw->full_screen &&
995
6ca2c5fd7b13 Whitespaces cleanup.
zas_
parents: 980
diff changeset
121 gtk_accel_groups_activate(G_OBJECT(lw->window), event->keyval, event->state))
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
122 return TRUE;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
123 */
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
124
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
125 if (lw->image &&
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
126 (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
127 {
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
128 stop_signal = TRUE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
129 switch (event->keyval)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
130 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
131 case GDK_Left: case GDK_KP_Left:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
132 x -= 1;
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 case GDK_Right: case GDK_KP_Right:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
135 x += 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
136 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
137 case GDK_Up: case GDK_KP_Up:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
138 y -= 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
139 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
140 case GDK_Down: case GDK_KP_Down:
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
141 y += 1;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
142 break;
84
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
143 default:
ba3c39002a24 Fri Oct 20 08:00:08 2006 John Ellis <johne@verizon.net>
gqview
parents: 82
diff changeset
144 stop_signal = FALSE;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
145 break;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
146 }
94
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
147
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
148 if (!stop_signal &&
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
149 !(event->state & GDK_CONTROL_MASK))
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
150 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
151 stop_signal = TRUE;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
152 switch (event->keyval)
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
153 {
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
154 case GDK_Menu:
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
155 layout_image_menu_popup(lw);
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
156 break;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
157 default:
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
158 stop_signal = FALSE;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
159 break;
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
160 }
50dc5a14d37b Thu Nov 2 17:51:31 2006 John Ellis <johne@verizon.net>
gqview
parents: 86
diff changeset
161 }
9
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
164 if (x != 0 || y!= 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
165 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
166 keyboard_scroll_calc(&x, &y, event);
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
167 layout_image_scroll(lw, x, y, (event->state & GDK_SHIFT_MASK));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
168 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
169
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
170 return stop_signal;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
171 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
172
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
173 void layout_keyboard_init(LayoutWindow *lw, GtkWidget *window)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
174 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
175 g_signal_connect(G_OBJECT(window), "key_press_event",
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
176 G_CALLBACK(layout_key_press_cb), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
177 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
178
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
179 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
180 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
181 * menu callbacks
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
182 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
183 */
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
184
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
185
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
186 static GtkWidget *layout_window(LayoutWindow *lw)
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
187 {
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
188 return lw->full_screen ? lw->full_screen->window : lw->window;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
189 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
190
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
191 static void layout_exit_fullscreen(LayoutWindow *lw)
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
192 {
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
193 if (!lw->full_screen) return;
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
194 layout_image_full_screen_stop(lw);
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
195 }
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
196
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
197 static void layout_menu_new_window_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
198 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
199 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
200 LayoutWindow *nw;
1472
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
201 LayoutOptions lop;
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
202 gboolean tmp = options->save_window_positions;
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
203 options->save_window_positions = FALSE; /* let the windowmanager decide for the first time */
1472
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
204
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
205 layout_exit_fullscreen(lw);
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
206
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
207 layout_sync_options_with_current_state(lw);
1472
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
208 lop = lw->options; /* we can copy it directly, no strings are modified */
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
209
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
210 lop.id = NULL; /* get a new id */
b4001cb9fbc4 do not copy existing layout id to new window
nadvornik
parents: 1470
diff changeset
211 nw = layout_new(NULL, &lop);
329
a51242c032ea Rename file sorting options.
zas_
parents: 318
diff changeset
212 layout_sort_set(nw, options->file_sort.method, options->file_sort.ascending);
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 753
diff changeset
213 layout_set_fd(nw, lw->dir_fd);
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
214 options->save_window_positions = tmp;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
215 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
216
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
217 static void layout_menu_new_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
218 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
219 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
220
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
221 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
222 collection_window_new(NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
223 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
224
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
225 static void layout_menu_open_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
226 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
227 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
228
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
229 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
230 collection_dialog_load(NULL);
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
233 static void layout_menu_search_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
234 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
235 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
236
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
237 layout_exit_fullscreen(lw);
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 753
diff changeset
238 search_new(lw->dir_fd, layout_image_get_fd(lw));
9
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
241 static void layout_menu_dupes_cb(GtkAction *action, gpointer data)
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 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
244
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
245 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
246 dupe_window_new(DUPE_MATCH_NAME);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
247 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
248
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
249 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
250 {
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
251 LayoutWindow *lw = data;
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
252
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
253 layout_exit_fullscreen(lw);
783
d6a7fb4b8e7c replaced directory path with FileData* dir_fd
nadvornik
parents: 753
diff changeset
254 pan_window_new(lw->dir_fd);
12
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
255 }
147f4c4b9025 ##### Note: GQview CVS on sourceforge is not always up to date, please use #####
gqview
parents: 9
diff changeset
256
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
257 static void layout_menu_print_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
258 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
259 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
260
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
261 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
262 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
263
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
264 static void layout_menu_dir_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
265 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
266 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
267
1637
cc3ccf3c7c27 unify code paths for New directory
nadvornik
parents: 1635
diff changeset
268 if (lw->vd) vd_new_folder(lw->vd, lw->dir_fd);
9
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_copy_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
272 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
273 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
274
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
275 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
276 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
277
497
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
278 static void layout_menu_copy_path_cb(GtkAction *action, gpointer data)
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
279 {
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
280 LayoutWindow *lw = data;
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
281
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
282 file_util_copy_path_list_to_clipboard(layout_selection_list(lw));
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
283 }
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
284
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
285 static void layout_menu_move_cb(GtkAction *action, gpointer data)
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 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
288
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
289 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
290 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
291
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
292 static void layout_menu_rename_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
293 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
294 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
295
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
296 file_util_rename(NULL, layout_selection_list(lw), layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
297 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
298
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
299 static void layout_menu_delete_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
300 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
301 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
302
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
303 file_util_delete(NULL, layout_selection_list(lw), layout_window(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
304 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
305
1598
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
306 static void layout_menu_disable_grouping_cb(GtkAction *action, gpointer data)
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
307 {
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
308 LayoutWindow *lw = data;
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
309
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
310 file_data_disable_grouping_list(layout_selection_list(lw), TRUE);
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
311 }
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
312
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
313 static void layout_menu_enable_grouping_cb(GtkAction *action, gpointer data)
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
314 {
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
315 LayoutWindow *lw = data;
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
316
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
317 file_data_disable_grouping_list(layout_selection_list(lw), FALSE);
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
318 }
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
319
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
320 static void layout_menu_close_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
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
324 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
325 layout_close(lw);
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
328 static void layout_menu_exit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
329 {
278
04abf5b160eb exit_gqview() renamed to exit_program().
zas_
parents: 273
diff changeset
330 exit_program();
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
331 }
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 static void layout_menu_alter_90_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
334 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
335 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
336
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
337 layout_image_alter_orientation(lw, ALTER_ROTATE_90);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
338 }
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 static void layout_menu_alter_90cc_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
341 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
342 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
343
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
344 layout_image_alter_orientation(lw, ALTER_ROTATE_90_CC);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
345 }
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 static void layout_menu_alter_180_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
348 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
349 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
350
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
351 layout_image_alter_orientation(lw, ALTER_ROTATE_180);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
352 }
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 static void layout_menu_alter_mirror_cb(GtkAction *action, gpointer data)
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 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
357
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
358 layout_image_alter_orientation(lw, ALTER_MIRROR);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
359 }
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 static void layout_menu_alter_flip_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
362 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
363 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
364
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
365 layout_image_alter_orientation(lw, ALTER_FLIP);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
366 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
367
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
368 static void layout_menu_alter_desaturate_cb(GtkToggleAction *action, gpointer data)
82
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
369 {
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
370 LayoutWindow *lw = data;
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
371
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
372 layout_image_set_desaturate(lw, gtk_toggle_action_get_active(action));
82
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
373 }
a4c1b7014e6e Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents: 41
diff changeset
374
439
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
375 static void layout_menu_alter_none_cb(GtkAction *action, gpointer data)
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
376 {
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
377 LayoutWindow *lw = data;
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
378
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
379 layout_image_alter_orientation(lw, ALTER_NONE);
439
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
380 }
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
381
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
382 static void layout_menu_config_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
383 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
384 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
385
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
386 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
387 show_config_window();
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
1479
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
390 static void layout_menu_editors_cb(GtkAction *action, gpointer data)
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
391 {
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
392 LayoutWindow *lw = data;
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
393
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
394 layout_exit_fullscreen(lw);
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
395 show_editor_list_window();
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
396 }
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
397
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
398 static void layout_menu_layout_config_cb(GtkAction *action, gpointer data)
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
399 {
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
400 LayoutWindow *lw = data;
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
401
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
402 layout_exit_fullscreen(lw);
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
403 layout_show_config_window(lw);
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
404 }
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
405
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
406 static void layout_menu_remove_thumb_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
407 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
408 LayoutWindow *lw = data;
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
409
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
410 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
411 cache_manager_show();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
412 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
413
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
414 static void layout_menu_wallpaper_cb(GtkAction *action, gpointer data)
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 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
417
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
418 layout_image_to_root(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
419 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
420
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
421 /* single window zoom */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
422 static void layout_menu_zoom_in_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
423 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
424 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
425
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
426 layout_image_zoom_adjust(lw, get_zoom_increment(), FALSE);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
427 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
428
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
429 static void layout_menu_zoom_out_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
430 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
431 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
432
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
433 layout_image_zoom_adjust(lw, -get_zoom_increment(), FALSE);
9
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
436 static void layout_menu_zoom_1_1_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
437 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
438 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
439
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
440 layout_image_zoom_set(lw, 1.0, FALSE);
9
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
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
443 static void layout_menu_zoom_fit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
444 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
445 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
446
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
447 layout_image_zoom_set(lw, 0.0, FALSE);
9
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
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
450 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
451 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
452 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
453
1268
8c39e0bd7e08 Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
zas_
parents: 1231
diff changeset
454 layout_image_zoom_set_fill_geometry(lw, FALSE, FALSE);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
455 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
456
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
457 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
458 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
459 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
460
1268
8c39e0bd7e08 Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
zas_
parents: 1231
diff changeset
461 layout_image_zoom_set_fill_geometry(lw, TRUE, FALSE);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
462 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
463
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
464 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
465 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
466 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
467
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
468 layout_image_zoom_set(lw, 2.0, FALSE);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
469 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
470
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
471 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
472 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
473 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
474
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
475 layout_image_zoom_set(lw, 3.0, FALSE);
159
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_4_1_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
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
481 layout_image_zoom_set(lw, 4.0, FALSE);
159
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_1_2_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
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
488 layout_image_zoom_set(lw, -2.0, FALSE);
159
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_1_3_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
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
495 layout_image_zoom_set(lw, -3.0, FALSE);
159
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
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
498 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
499 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
500 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
501
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
502 layout_image_zoom_set(lw, -4.0, FALSE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
503 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
504
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
505 /* connected zoom */
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
506 static void layout_menu_connect_zoom_in_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
507 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
508 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
509
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
510 layout_image_zoom_adjust(lw, get_zoom_increment(), TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
511 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
512
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
513 static void layout_menu_connect_zoom_out_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
514 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
515 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
516
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
517 layout_image_zoom_adjust(lw, -get_zoom_increment(), TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
518 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
519
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
520 static void layout_menu_connect_zoom_1_1_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
521 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
522 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
523
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
524 layout_image_zoom_set(lw, 1.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
525 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
526
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
527 static void layout_menu_connect_zoom_fit_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
528 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
529 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
530
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
531 layout_image_zoom_set(lw, 0.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
532 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
533
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
534 static void layout_menu_connect_zoom_fit_hor_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
535 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
536 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
537
1268
8c39e0bd7e08 Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
zas_
parents: 1231
diff changeset
538 layout_image_zoom_set_fill_geometry(lw, FALSE, TRUE);
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
539 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
540
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
541 static void layout_menu_connect_zoom_fit_vert_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
542 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
543 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
544
1268
8c39e0bd7e08 Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
zas_
parents: 1231
diff changeset
545 layout_image_zoom_set_fill_geometry(lw, TRUE, TRUE);
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
546 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
547
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
548 static void layout_menu_connect_zoom_2_1_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
549 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
550 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
551
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
552 layout_image_zoom_set(lw, 2.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
553 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
554
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
555 static void layout_menu_connect_zoom_3_1_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
556 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
557 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
558
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
559 layout_image_zoom_set(lw, 3.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
560 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
561 static void layout_menu_connect_zoom_4_1_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
562 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
563 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
564
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
565 layout_image_zoom_set(lw, 4.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
566 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
567
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
568 static void layout_menu_connect_zoom_1_2_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
569 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
570 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
571
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
572 layout_image_zoom_set(lw, -2.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
573 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
574
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
575 static void layout_menu_connect_zoom_1_3_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
576 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
577 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
578
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
579 layout_image_zoom_set(lw, -3.0, TRUE);
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
580 }
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
581
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
582 static void layout_menu_connect_zoom_1_4_cb(GtkAction *action, gpointer data)
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
583 {
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
584 LayoutWindow *lw = data;
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
585
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
586 layout_image_zoom_set(lw, -4.0, TRUE);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
587 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
588
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
589
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
590 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
591 {
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
592 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
593 ImageSplitMode mode;
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
594
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
595 layout_exit_fullscreen(lw);
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
596 mode = gtk_radio_action_get_current_value(action);
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
597 layout_split_change(lw, mode);
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
598 }
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
599
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
600
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
601 static void layout_menu_thumb_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
602 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
603 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
604
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
605 layout_thumb_set(lw, gtk_toggle_action_get_active(action));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
606 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
607
132
661cd91e5a7e First implementation of marks for all photos.
bruclik
parents: 122
diff changeset
608
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
609 static void layout_menu_list_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
610 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
611 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
612
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
613 layout_exit_fullscreen(lw);
1668
8ebc26a4383f use radio buttons for file and dir mode in popup menu
nadvornik
parents: 1667
diff changeset
614 layout_views_set(lw, lw->options.dir_view_type, (FileViewType) gtk_radio_action_get_current_value(action));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
615 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
616
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
617 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
618 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
619 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
620
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
621 layout_exit_fullscreen(lw);
1412
5a534e1501e1 fixed saving of file_view_type
nadvornik
parents: 1411
diff changeset
622 layout_views_set(lw, (DirViewType) gtk_radio_action_get_current_value(action), lw->options.file_view_type);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
623 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
624
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
625 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
626 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
627 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
628
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
629 layout_exit_fullscreen(lw);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
630 view_window_new(layout_image_get_fd(lw));
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
631 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
632
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
633 static void layout_menu_fullscreen_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
634 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
635 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
636
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
637 layout_image_full_screen_toggle(lw);
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
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
640 static void layout_menu_escape_cb(GtkAction *action, gpointer data)
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
641 {
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
642 LayoutWindow *lw = data;
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
643
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
644 layout_exit_fullscreen(lw);
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
645
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
646 /* FIXME:interrupting thumbs no longer allowed */
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
647 #if 0
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
648 interrupt_thumbs();
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
649 #endif
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
650 }
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
651
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
652 static void layout_menu_overlay_toggle_cb(GtkAction *action, gpointer data)
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
653 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
654 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
655
482
75b7154e6435 Use image_osd_toggle() in layout_menu_overlay_cb().
zas_
parents: 479
diff changeset
656 image_osd_toggle(lw->image);
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
657 layout_util_sync_views(lw);
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
658 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
659
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
660
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
661 static void layout_menu_overlay_cb(GtkToggleAction *action, gpointer data)
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
662 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
663 LayoutWindow *lw = data;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
664 GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
666 if (gtk_toggle_action_get_active(action))
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
667 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
668 OsdShowFlags flags = image_osd_get(lw->image);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
669
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
670 if ((flags | OSD_SHOW_INFO | OSD_SHOW_STATUS) != flags)
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
671 image_osd_set(lw->image, flags | OSD_SHOW_INFO | OSD_SHOW_STATUS);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
672 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
673 else
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
674 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
675 image_osd_set(lw->image, OSD_SHOW_NOTHING);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
676 gtk_toggle_action_set_active(histogram_action, FALSE); /* this calls layout_menu_histogram_cb */
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
677 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
678 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
679
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
680 static void layout_menu_histogram_cb(GtkToggleAction *action, gpointer data)
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
681 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
682 LayoutWindow *lw = data;
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
683 GtkToggleAction *overlay_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageOverlay"));
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
684
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
685 if (gtk_toggle_action_get_active(action))
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
686 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
687 image_osd_set(lw->image, OSD_SHOW_INFO | OSD_SHOW_STATUS | OSD_SHOW_HISTOGRAM);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
688 gtk_toggle_action_set_active(overlay_action, TRUE); /* this calls layout_menu_overlay_cb */
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
689 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
690 else
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
691 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
692 OsdShowFlags flags = image_osd_get(lw->image);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
693 if (flags & OSD_SHOW_HISTOGRAM)
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
694 image_osd_set(lw->image, flags & ~OSD_SHOW_HISTOGRAM);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
695 }
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
696 }
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
697
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
698 static void layout_menu_histogram_toggle_channel_cb(GtkAction *action, gpointer data)
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
699 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
700 LayoutWindow *lw = data;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
701
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
702 image_osd_histogram_toggle_channel(lw->image);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
703 layout_util_sync_views(lw);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
704 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
705
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
706 static void layout_menu_histogram_toggle_mode_cb(GtkAction *action, gpointer data)
273
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
707 {
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
708 LayoutWindow *lw = data;
e0e2c2b72c5a reworked the histogram patch by Uwe Ohse, most of the code is in
nadvornik
parents: 249
diff changeset
709
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
710 image_osd_histogram_toggle_mode(lw->image);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
711 layout_util_sync_views(lw);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
712 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
713
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
714 static void layout_menu_histogram_channel_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
715 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
716 LayoutWindow *lw = data;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
717 gint channel = gtk_radio_action_get_current_value(action);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
718 GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
719
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
720 if (channel < 0 || channel >= HCHAN_COUNT) return;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
721
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
722 gtk_toggle_action_set_active(histogram_action, TRUE); /* this calls layout_menu_histogram_cb */
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
723 image_osd_histogram_set_channel(lw->image, channel);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
724 }
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
725
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
726 static void layout_menu_histogram_mode_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
727 {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
728 LayoutWindow *lw = data;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
729 gint mode = gtk_radio_action_get_current_value(action);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
730 GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
731
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
732 if (mode < 0 || mode > 1) return;
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
733
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
734 gtk_toggle_action_set_active(histogram_action, TRUE); /* this calls layout_menu_histogram_cb */
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
735 image_osd_histogram_set_mode(lw->image, mode);
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
736 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
737
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
738 static void layout_menu_refresh_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
739 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
740 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
741
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
742 layout_refresh(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
743 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
744
1410
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
745 static void layout_menu_bar_exif_cb(GtkAction *action, gpointer data)
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
746 {
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
747 LayoutWindow *lw = data;
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
748
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
749 layout_exit_fullscreen(lw);
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
750 layout_exif_window_new(lw);
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
751 }
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
752
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
753 static void layout_menu_float_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
754 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
755 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
756
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
757 if (lw->options.tools_float == gtk_toggle_action_get_active(action)) return;
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
758
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
759 layout_exit_fullscreen(lw);
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
760 layout_tools_float_toggle(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
761 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
762
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
763 static void layout_menu_hide_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
764 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
765 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
766
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
767 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
768 layout_tools_hide_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
769 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
770
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
771 static void layout_menu_toolbar_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
772 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
773 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
774
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
775 if (lw->options.toolbar_hidden == gtk_toggle_action_get_active(action)) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
776
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
777 layout_exit_fullscreen(lw);
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
778 layout_toolbar_toggle(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
779 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
780
1375
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
781 static void layout_menu_info_pixel_cb(GtkToggleAction *action, gpointer data)
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
782 {
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
783 LayoutWindow *lw = data;
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
784
1584
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
785 if (lw->options.show_info_pixel == gtk_toggle_action_get_active(action)) return;
1375
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
786
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
787 layout_exit_fullscreen(lw);
1584
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
788 layout_info_pixel_set(lw, !lw->options.show_info_pixel);
1375
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
789 }
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
790
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
791 /* NOTE: these callbacks are called also from layout_util_sync_views */
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
792 static void layout_menu_bar_cb(GtkToggleAction *action, gpointer data)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
793 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
794 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
795
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
796 if (layout_bar_enabled(lw) == gtk_toggle_action_get_active(action)) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
797
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
798 layout_exit_fullscreen(lw);
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
799 layout_bar_toggle(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
800 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
801
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
802 static void layout_menu_bar_sort_cb(GtkToggleAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
803 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
804 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
805
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
806 if (layout_bar_sort_enabled(lw) == gtk_toggle_action_get_active(action)) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
807
1318
fb76c291b00f fixed --fullscreen option together with enabled bar
nadvornik
parents: 1317
diff changeset
808 layout_exit_fullscreen(lw);
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
809 layout_bar_sort_toggle(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
810 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
811
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
812 static void layout_menu_slideshow_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
813 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
814 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
815
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
816 layout_image_slideshow_toggle(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
817 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
818
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
819 static void layout_menu_slideshow_pause_cb(GtkAction *action, gpointer data)
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
820 {
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
821 LayoutWindow *lw = data;
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
822
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
823 layout_image_slideshow_pause_toggle(lw);
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
824 }
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
825
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
826 static void layout_menu_help_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
827 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
828 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
829
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
830 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
831 help_window_show("html_contents");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
832 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
833
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
834 static void layout_menu_help_keys_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
835 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
836 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
837
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
838 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
839 help_window_show("documentation");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
840 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
841
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
842 static void layout_menu_notes_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
843 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
844 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
845
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
846 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
847 help_window_show("release_notes");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
848 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
849
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
850 static void layout_menu_about_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
851 {
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
852 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
853
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
854 layout_exit_fullscreen(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
855 show_about_window();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
856 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
857
678
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
858 static void layout_menu_log_window_cb(GtkAction *action, gpointer data)
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
859 {
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
860 LayoutWindow *lw = data;
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
861
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
862 layout_exit_fullscreen(lw);
678
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
863 log_window_new();
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
864 }
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
865
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
866
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
867 /*
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
868 *-----------------------------------------------------------------------------
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
869 * select menu
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
870 *-----------------------------------------------------------------------------
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
871 */
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
872
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
873 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
874 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
875 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
876
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
877 layout_select_all(lw);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
878 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
879
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
880 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
881 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
882 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
883
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
884 layout_select_none(lw);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
885 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
886
601
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
887 static void layout_menu_invert_selection_cb(GtkAction *action, gpointer data)
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
888 {
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
889 LayoutWindow *lw = data;
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
890
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
891 layout_select_invert(lw);
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
892 }
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
893
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
894 static void layout_menu_marks_cb(GtkToggleAction *action, gpointer data)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
895 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
896 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
897
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
898 layout_marks_set(lw, gtk_toggle_action_get_active(action));
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
899 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
900
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
901
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
902 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
903 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
904 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
905 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
906 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
907
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
908 layout_selection_to_mark(lw, mark, STM_MODE_SET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
909 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
910
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
911 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
912 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
913 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
914 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
915 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
916
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
917 layout_selection_to_mark(lw, mark, STM_MODE_RESET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
918 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
919
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
920 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
921 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
922 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
923 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
924 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
925
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
926 layout_selection_to_mark(lw, mark, STM_MODE_TOGGLE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
927 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
928
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
929 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
930 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
931 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
932 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
933 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
934
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
935 layout_mark_to_selection(lw, mark, MTS_MODE_SET);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
936 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
937
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
938 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
939 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
940 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
941 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
942 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
943
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
944 layout_mark_to_selection(lw, mark, MTS_MODE_OR);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
945 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
946
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
947 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
948 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
949 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
950 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
951 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
952
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
953 layout_mark_to_selection(lw, mark, MTS_MODE_AND);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
954 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
955
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
956 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
957 {
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
958 LayoutWindow *lw = data;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
959 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
960 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
961
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
962 layout_mark_to_selection(lw, mark, MTS_MODE_MINUS);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
963 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
964
1635
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
965 static void layout_menu_mark_filter_toggle_cb(GtkAction *action, gpointer data)
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
966 {
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
967 LayoutWindow *lw = data;
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
968 gint mark = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(action), "mark_num"));
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
969 g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
970
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
971 layout_marks_set(lw, TRUE);
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
972 layout_mark_filter_toggle(lw, mark);
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
973 }
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
974
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
975
9
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 *-----------------------------------------------------------------------------
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
978 * go menu
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
979 *-----------------------------------------------------------------------------
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
980 */
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
981
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
982 static void layout_menu_image_first_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
983 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
984 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
985 layout_image_first(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
986 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
987
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
988 static void layout_menu_image_prev_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
989 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
990 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
991 layout_image_prev(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
992 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
993
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
994 static void layout_menu_image_next_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
995 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
996 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
997 layout_image_next(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
998 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
999
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1000 static void layout_menu_image_last_cb(GtkAction *action, gpointer data)
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1001 {
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1002 LayoutWindow *lw = data;
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1003 layout_image_last(lw);
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1004 }
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1005
1334
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1006 static void layout_menu_back_cb(GtkAction *action, gpointer data)
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1007 {
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1008 LayoutWindow *lw = data;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1009 FileData *dir_fd;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1010 gchar *path = NULL;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1011 GList *list = history_list_get_by_key("path_list");
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1012 gint n = 0;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1013
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1014 while (list)
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1015 {
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1016 if (n == 1) {
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1017 /* Previous path from history */
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1018 path = (gchar *)list->data;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1019 break;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1020 }
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1021 list = list->next;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1022 n++;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1023 }
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1024
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1025 if (!path) return;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1026
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1027 /* Open previous path */
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1028 dir_fd = file_data_new_simple(path);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1029 layout_set_fd(lw, dir_fd);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1030 file_data_unref(dir_fd);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1031 }
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1032
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1033 static void layout_menu_home_cb(GtkAction *action, gpointer data)
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1034 {
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
1035 LayoutWindow *lw = data;
1334
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1036 const gchar *path;
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1037
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
1038 if (lw->options.home_path && *lw->options.home_path)
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
1039 path = lw->options.home_path;
1334
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1040 else
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1041 path = homedir();
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1042
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1043 if (path)
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1044 {
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1045 FileData *dir_fd = file_data_new_simple(path);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1046 layout_set_fd(lw, dir_fd);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1047 file_data_unref(dir_fd);
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1048 }
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1049 }
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1050
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1051
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1052 /*
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1053 *-----------------------------------------------------------------------------
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1054 * edit menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1055 *-----------------------------------------------------------------------------
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
1056 */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1057
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1058 static void layout_menu_edit_cb(GtkAction *action, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1059 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1060 LayoutWindow *lw = data;
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1061 const gchar *key = gtk_action_get_name(action);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1062
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1063 if (!editor_window_flag_set(key))
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
1064 layout_exit_fullscreen(lw);
160
85657b4766c9 use accels also in fullscreen mode
nadvornik
parents: 159
diff changeset
1065
1656
349ebc02b8e2 fixed leak in file_util_* functions
nadvornik
parents: 1652
diff changeset
1066 file_util_start_editor_from_filelist(key, layout_selection_list(lw), layout_get_path(lw), lw->window);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1067 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1068
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1069 #if 0
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1070 static void layout_menu_edit_update(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1071 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1072 gint i;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1073
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1074 /* main edit menu */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1075
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1076 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1077
569
fd51eac09ead Use GQ_EDITOR_GENERIC_SLOTS instead of hardcoded value.
zas_
parents: 556
diff changeset
1078 for (i = 0; i < GQ_EDITOR_GENERIC_SLOTS; i++)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1079 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1080 gchar *key;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1081 GtkAction *action;
731
fa8f7d7396cf Introduce an helper function that returns the name of an editor.
zas_
parents: 730
diff changeset
1082 const gchar *name;
fa8f7d7396cf Introduce an helper function that returns the name of an editor.
zas_
parents: 730
diff changeset
1083
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1084 key = g_strdup_printf("Editor%d", i);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1085
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1086 action = gtk_action_group_get_action(lw->action_group, key);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1087 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
1088
731
fa8f7d7396cf Introduce an helper function that returns the name of an editor.
zas_
parents: 730
diff changeset
1089 name = editor_get_name(i);
fa8f7d7396cf Introduce an helper function that returns the name of an editor.
zas_
parents: 730
diff changeset
1090 if (name)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1091 {
731
fa8f7d7396cf Introduce an helper function that returns the name of an editor.
zas_
parents: 730
diff changeset
1092 gchar *text = g_strdup_printf(_("_%d %s..."), i, name);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1093
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1094 g_object_set(action, "label", text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1095 "sensitive", TRUE, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1096 g_free(text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1097 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1098 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1099 {
454
57459cf0952c Prefix editor entries in the main menu with numbers.
zas_
parents: 453
diff changeset
1100 gchar *text;
57459cf0952c Prefix editor entries in the main menu with numbers.
zas_
parents: 453
diff changeset
1101
57459cf0952c Prefix editor entries in the main menu with numbers.
zas_
parents: 453
diff changeset
1102 text = g_strdup_printf(_("_%d empty"), i);
57459cf0952c Prefix editor entries in the main menu with numbers.
zas_
parents: 453
diff changeset
1103 g_object_set(action, "label", text, "sensitive", FALSE, NULL);
57459cf0952c Prefix editor entries in the main menu with numbers.
zas_
parents: 453
diff changeset
1104 g_free(text);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1105 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1106
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1107 g_free(key);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1108 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1109 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1110
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1111 void layout_edit_update_all(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1112 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1113 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1114
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1115 work = layout_window_list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1116 while (work)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1117 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1118 LayoutWindow *lw = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1119 work = work->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1120
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1121 layout_menu_edit_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1122 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1123 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1124
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1125 #endif
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1126
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1127 static void layout_menu_metadata_write_cb(GtkAction *action, gpointer data)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1128 {
1586
249b539cc952 force the metadata dialog if it was triggered by the menu or the button
nadvornik
parents: 1585
diff changeset
1129 metadata_write_queue_confirm(TRUE, NULL, NULL);
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1130 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1131
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1132
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1133 /*
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1134 *-----------------------------------------------------------------------------
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1135 * color profile button (and menu)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1136 *-----------------------------------------------------------------------------
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1137 */
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1138
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1139 static void layout_color_menu_enable_cb(GtkToggleAction *action, gpointer data)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1140 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1141 #ifdef HAVE_LCMS
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1142 LayoutWindow *lw = data;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1143
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1144 layout_image_color_profile_set_use(lw, gtk_toggle_action_get_active(action));
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1145 layout_util_sync_color(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1146 layout_image_refresh(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1147 #endif
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1148 }
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1149
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1150 static void layout_color_menu_use_image_cb(GtkToggleAction *action, gpointer data)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1151 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1152 #ifdef HAVE_LCMS
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1153 LayoutWindow *lw = data;
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1154 gint input;
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1155 gboolean use_image;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1156
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1157 if (!layout_image_color_profile_get(lw, &input, &use_image)) return;
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1158 layout_image_color_profile_set(lw, input, gtk_toggle_action_get_active(action));
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1159 layout_util_sync_color(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1160 layout_image_refresh(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1161 #endif
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1162 }
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1163
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1164 static void layout_color_menu_input_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1165 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1166 #ifdef HAVE_LCMS
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1167 LayoutWindow *lw = data;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1168 gint type;
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1169 gint input;
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1170 gboolean use_image;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1171
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1172 type = gtk_radio_action_get_current_value(action);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1173 if (type < 0 || type >= COLOR_PROFILE_FILE + COLOR_PROFILE_INPUTS) return;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1174
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1175 if (!layout_image_color_profile_get(lw, &input, &use_image)) return;
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1176 if (type == input) return;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1177
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
1178 layout_image_color_profile_set(lw, type, use_image);
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1179 layout_image_refresh(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1180 #endif
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1181 }
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1182
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1183
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1184 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1185 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1186 * recent menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1187 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1188 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1189
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1190 static void layout_menu_recent_cb(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1191 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1192 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1193 gchar *path;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1194
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1195 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
1196
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1197 path = g_list_nth_data(history_list_get_by_key("recent"), n);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1198
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1199 if (!path) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1200
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1201 /* make a copy of it */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1202 path = g_strdup(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1203 collection_window_new(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1204 g_free(path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1205 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1206
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1207 static void layout_menu_recent_update(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1208 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1209 GtkWidget *menu;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1210 GtkWidget *recent;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1211 GtkWidget *item;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1212 GList *list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1213 gint n;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1214
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1215 if (!lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1216
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1217 list = history_list_get_by_key("recent");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1218 n = 0;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1219
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1220 menu = gtk_menu_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1221
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1222 while (list)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1223 {
1176
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1224 const gchar *filename = filename_from_path((gchar *)list->data);
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1225 gchar *name;
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1226 gboolean free_name = FALSE;
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1227
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1228 if (file_extension_match(filename, GQ_COLLECTION_EXT))
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1229 {
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1230 name = remove_extension_from_path(filename);
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1231 free_name = TRUE;
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1232 }
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1233 else
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1234 {
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1235 name = (gchar *) filename;
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1236 }
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1237
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1238 item = menu_item_add_simple(menu, name, G_CALLBACK(layout_menu_recent_cb), lw);
d3e51e1a02f8 Hide .gqv extension from collection name in collection window title and recent menu list.
zas_
parents: 1167
diff changeset
1239 if (free_name) g_free(name);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1240 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
1241 list = list->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1242 n++;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1243 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1244
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1245 if (n == 0)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1246 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1247 menu_item_add(menu, _("Empty"), NULL, NULL);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1248 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1249
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1250 recent = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu/FileMenu/OpenRecent");
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1251 gtk_menu_item_set_submenu(GTK_MENU_ITEM(recent), menu);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1252 gtk_widget_set_sensitive(recent, (n != 0));
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1253 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1254
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1255 void layout_recent_update_all(void)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1256 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1257 GList *work;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1258
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1259 work = layout_window_list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1260 while (work)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1261 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1262 LayoutWindow *lw = work->data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1263 work = work->next;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1264
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1265 layout_menu_recent_update(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1266 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1267 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1268
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1269 void layout_recent_add_path(const gchar *path)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1270 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1271 if (!path) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1272
343
63380ea3e65d Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
zas_
parents: 341
diff changeset
1273 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
1274
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1275 layout_recent_update_all();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1276 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1277
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1278 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1279 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1280 * menu
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1281 *-----------------------------------------------------------------------------
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
1282 */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1283
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1284 #define CB G_CALLBACK
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1285
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1286 static GtkActionEntry menu_entries[] = {
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1287 { "FileMenu", NULL, N_("_File"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1288 { "GoMenu", NULL, N_("_Go"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1289 { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1290 { "SelectMenu", NULL, N_("_Select"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1291 { "OrientationMenu", NULL, N_("_Orientation"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1292 { "ExternalMenu", NULL, N_("E_xternal Editors"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1293 { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL },
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1294 { "FileDirMenu", NULL, N_("_Files and Folders"), NULL, NULL, NULL },
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1295 { "ZoomMenu", NULL, N_("_Zoom"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1296 { "ColorMenu", NULL, N_("Color _Management"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1297 { "ConnectZoomMenu", NULL, N_("_Connected Zoom"), NULL, NULL, NULL },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1298 { "SplitMenu", NULL, N_("_Split"), NULL, NULL, NULL },
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1299 { "OverlayMenu", NULL, N_("_Image Overlay"), NULL, NULL, NULL },
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1300 { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1301
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1302 { "FirstImage", GTK_STOCK_GOTO_TOP, N_("_First Image"), "Home", N_("First Image"), CB(layout_menu_image_first_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1303 { "PrevImage", GTK_STOCK_GO_UP, N_("_Previous Image"), "BackSpace", N_("Previous Image"), CB(layout_menu_image_prev_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1304 { "PrevImageAlt1", GTK_STOCK_GO_UP, N_("_Previous Image"), "Page_Up", N_("Previous Image"), CB(layout_menu_image_prev_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1305 { "PrevImageAlt2", GTK_STOCK_GO_UP, N_("_Previous Image"), "KP_Page_Up", N_("Previous Image"), CB(layout_menu_image_prev_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1306 { "NextImage", GTK_STOCK_GO_DOWN, N_("_Next Image"), "space", N_("Next Image"), CB(layout_menu_image_next_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1307 { "NextImageAlt1", GTK_STOCK_GO_DOWN, N_("_Next Image"), "Page_Down", N_("Next Image"), CB(layout_menu_image_next_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1308 { "NextImageAlt2", GTK_STOCK_GO_DOWN, N_("_Next Image"), "KP_Page_Down", N_("Next Image"), CB(layout_menu_image_next_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1309 { "LastImage", GTK_STOCK_GOTO_BOTTOM, N_("_Last Image"), "End", N_("Last Image"), CB(layout_menu_image_last_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1310 { "Back", GTK_STOCK_GO_BACK, N_("_Back"), NULL, N_("Back"), CB(layout_menu_back_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1311 { "Home", GTK_STOCK_HOME, N_("_Home"), NULL, N_("Home"), CB(layout_menu_home_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1312
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1313 { "NewWindow", GTK_STOCK_NEW, N_("New _window"), "<control>N", N_("New window"), CB(layout_menu_new_window_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1314 { "NewCollection", GTK_STOCK_INDEX, N_("_New collection"), "C", N_("New collection"), CB(layout_menu_new_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1315 { "OpenCollection", GTK_STOCK_OPEN, N_("_Open collection..."), "O", N_("Open collection..."), CB(layout_menu_open_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1316 { "OpenRecent", NULL, N_("Open _recent"), NULL, N_("Open recent"), NULL },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1317 { "Search", GTK_STOCK_FIND, N_("_Search..."), "F3", N_("Search..."), CB(layout_menu_search_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1318 { "FindDupes", GTK_STOCK_FIND, N_("_Find duplicates..."), "D", N_("Find duplicates..."), CB(layout_menu_dupes_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1319 { "PanView", NULL, N_("Pan _view"), "<control>J", N_("Pan view"), CB(layout_menu_pan_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1320 { "Print", GTK_STOCK_PRINT, N_("_Print..."), "<shift>P", N_("Print..."), CB(layout_menu_print_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1321 { "NewFolder", GTK_STOCK_DIRECTORY, N_("N_ew folder..."), "<control>F", N_("New folder..."), CB(layout_menu_dir_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1322 { "Copy", GTK_STOCK_COPY, N_("_Copy..."), "<control>C", N_("Copy..."), CB(layout_menu_copy_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1323 { "Move", NULL, N_("_Move..."), "<control>M", N_("Move..."), CB(layout_menu_move_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1324 { "Rename", NULL, N_("_Rename..."), "<control>R", N_("Rename..."), CB(layout_menu_rename_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1325 { "Delete", GTK_STOCK_DELETE, N_("_Delete..."), "<control>D", N_("Delete..."), CB(layout_menu_delete_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1326 { "DeleteAlt1", GTK_STOCK_DELETE, N_("_Delete..."), "Delete", N_("Delete..."), CB(layout_menu_delete_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1327 { "DeleteAlt2", GTK_STOCK_DELETE, N_("_Delete..."), "KP_Delete", N_("Delete..."), CB(layout_menu_delete_cb) },
1598
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
1328 { "EnableGrouping", NULL, N_("Enable file _grouping"), NULL, N_("Enable file grouping"), CB(layout_menu_enable_grouping_cb) },
c03a8e19a43a expose the file grouping flag to the user
nadvornik
parents: 1595
diff changeset
1329 { "DisableGrouping", NULL, N_("Disable file groupi_ng"), NULL, N_("Disable file grouping"), CB(layout_menu_disable_grouping_cb) },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1330 { "CopyPath", NULL, N_("_Copy path to clipboard"), NULL, N_("Copy path to clipboard"), CB(layout_menu_copy_path_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1331 { "CloseWindow", GTK_STOCK_CLOSE, N_("C_lose window"), "<control>W", N_("Close window"), CB(layout_menu_close_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1332 { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", N_("Quit"), CB(layout_menu_exit_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1333 { "RotateCW", NULL, N_("_Rotate clockwise"), "bracketright", N_("Rotate clockwise"), CB(layout_menu_alter_90_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1334 { "RotateCCW", NULL, N_("Rotate _counterclockwise"), "bracketleft", N_("Rotate counterclockwise"), CB(layout_menu_alter_90cc_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1335 { "Rotate180", NULL, N_("Rotate 1_80"), "<shift>R", N_("Rotate 180"), CB(layout_menu_alter_180_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1336 { "Mirror", NULL, N_("_Mirror"), "<shift>M", N_("Mirror"), CB(layout_menu_alter_mirror_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1337 { "Flip", NULL, N_("_Flip"), "<shift>F", N_("Flip"), CB(layout_menu_alter_flip_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1338 { "AlterNone", NULL, N_("_Original state"), "<shift>O", N_("Original state"), CB(layout_menu_alter_none_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1339 { "SelectAll", NULL, N_("Select _all"), "<control>A", N_("Select all"), CB(layout_menu_select_all_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1340 { "SelectNone", NULL, N_("Select _none"), "<control><shift>A", N_("Select none"), CB(layout_menu_unselect_all_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1341 { "SelectInvert", NULL, N_("_Invert Selection"), "<control><shift>I", N_("Invert Selection"), CB(layout_menu_invert_selection_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1342 { "Preferences", GTK_STOCK_PREFERENCES, N_("P_references..."), "<control>O", N_("Preferences..."), CB(layout_menu_config_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1343 { "Editors", GTK_STOCK_PREFERENCES, N_("Configure _Editors..."), NULL, N_("Configure Editors..."), CB(layout_menu_editors_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1344 { "LayoutConfig", GTK_STOCK_PREFERENCES, N_("_Configure this window..."), NULL, N_("Configure this window..."), CB(layout_menu_layout_config_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1345 { "Maintenance", NULL, N_("_Thumbnail maintenance..."), NULL, N_("Thumbnail maintenance..."), CB(layout_menu_remove_thumb_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1346 { "Wallpaper", NULL, N_("Set as _wallpaper"), NULL, N_("Set as wallpaper"), CB(layout_menu_wallpaper_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1347 { "SaveMetadata", GTK_STOCK_SAVE, N_("_Save metadata"), "<control>S", N_("Save metadata"), CB(layout_menu_metadata_write_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1348 { "ZoomIn", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "equal", N_("Zoom in"), CB(layout_menu_zoom_in_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1349 { "ZoomInAlt1", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "KP_Add", N_("Zoom in"), CB(layout_menu_zoom_in_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1350 { "ZoomOut", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "minus", N_("Zoom out"), CB(layout_menu_zoom_out_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1351 { "ZoomOutAlt1", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "KP_Subtract", N_("Zoom out"), CB(layout_menu_zoom_out_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1352 { "Zoom100", GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "Z", N_("Zoom 1:1"), CB(layout_menu_zoom_1_1_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1353 { "Zoom100Alt1", GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "KP_Divide", N_("Zoom 1:1"), CB(layout_menu_zoom_1_1_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1354 { "ZoomFit", GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "X", N_("Zoom to fit"), CB(layout_menu_zoom_fit_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1355 { "ZoomFitAlt1", GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "KP_Multiply", N_("Zoom to fit"), CB(layout_menu_zoom_fit_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1356 { "ZoomFillHor", NULL, N_("Fit _Horizontally"), "H", N_("Fit Horizontally"), CB(layout_menu_zoom_fit_hor_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1357 { "ZoomFillVert", NULL, N_("Fit _Vertically"), "W", N_("Fit Vertically"), CB(layout_menu_zoom_fit_vert_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1358 { "Zoom200", NULL, N_("Zoom _2:1"), NULL, N_("Zoom 2:1"), CB(layout_menu_zoom_2_1_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1359 { "Zoom300", NULL, N_("Zoom _3:1"), NULL, N_("Zoom 3:1"), CB(layout_menu_zoom_3_1_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1360 { "Zoom400", NULL, N_("Zoom _4:1"), NULL, N_("Zoom 4:1"), CB(layout_menu_zoom_4_1_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1361 { "Zoom50", NULL, N_("Zoom 1:2"), NULL, N_("Zoom 1:2"), CB(layout_menu_zoom_1_2_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1362 { "Zoom33", NULL, N_("Zoom 1:3"), NULL, N_("Zoom 1:3"), CB(layout_menu_zoom_1_3_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1363 { "Zoom25", NULL, N_("Zoom 1:4"), NULL, N_("Zoom 1:4"), CB(layout_menu_zoom_1_4_cb) },
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1364 { "ConnectZoomIn", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "plus", N_("Connected Zoom in"), CB(layout_menu_connect_zoom_in_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1365 { "ConnectZoomInAlt1",GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "<shift>KP_Add", N_("Connected Zoom in"), CB(layout_menu_connect_zoom_in_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1366 { "ConnectZoomOut", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "underscore", N_("Connected Zoom out"), CB(layout_menu_connect_zoom_out_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1367 { "ConnectZoomOutAlt1",GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "<shift>KP_Subtract", N_("Connected Zoom out"), CB(layout_menu_connect_zoom_out_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1368 { "ConnectZoom100", GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "<shift>Z", N_("Connected Zoom 1:1"), CB(layout_menu_connect_zoom_1_1_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1369 { "ConnectZoom100Alt1",GTK_STOCK_ZOOM_100, N_("Zoom _1:1"), "<shift>KP_Divide", N_("Connected Zoom 1:1"), CB(layout_menu_connect_zoom_1_1_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1370 { "ConnectZoomFit", GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "<shift>X", N_("Connected Zoom to fit"), CB(layout_menu_connect_zoom_fit_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1371 { "ConnectZoomFitAlt1",GTK_STOCK_ZOOM_FIT, N_("_Zoom to fit"), "<shift>KP_Multiply", N_("Connected Zoom to fit"), CB(layout_menu_connect_zoom_fit_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1372 { "ConnectZoomFillHor",NULL, N_("Fit _Horizontally"), "<shift>H", N_("Connected Fit Horizontally"), CB(layout_menu_connect_zoom_fit_hor_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1373 { "ConnectZoomFillVert",NULL, N_("Fit _Vertically"), "<shift>W", N_("Connected Fit Vertically"), CB(layout_menu_connect_zoom_fit_vert_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1374 { "ConnectZoom200", NULL, N_("Zoom _2:1"), NULL, N_("Connected Zoom 2:1"), CB(layout_menu_connect_zoom_2_1_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1375 { "ConnectZoom300", NULL, N_("Zoom _3:1"), NULL, N_("Connected Zoom 3:1"), CB(layout_menu_connect_zoom_3_1_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1376 { "ConnectZoom400", NULL, N_("Zoom _4:1"), NULL, N_("Connected Zoom 4:1"), CB(layout_menu_connect_zoom_4_1_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1377 { "ConnectZoom50", NULL, N_("Zoom 1:2"), NULL, N_("Connected Zoom 1:2"), CB(layout_menu_connect_zoom_1_2_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1378 { "ConnectZoom33", NULL, N_("Zoom 1:3"), NULL, N_("Connected Zoom 1:3"), CB(layout_menu_connect_zoom_1_3_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1379 { "ConnectZoom25", NULL, N_("Zoom 1:4"), NULL, N_("Connected Zoom 1:4"), CB(layout_menu_connect_zoom_1_4_cb) },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1380 { "ViewInNewWindow", NULL, N_("_View in new window"), "<control>V", N_("View in new window"), CB(layout_menu_view_in_new_window_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1381 { "FullScreen", GTK_STOCK_FULLSCREEN, N_("F_ull screen"), "F", N_("Full screen"), CB(layout_menu_fullscreen_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1382 { "FullScreenAlt1", GTK_STOCK_FULLSCREEN, N_("F_ull screen"), "V", N_("Full screen"), CB(layout_menu_fullscreen_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1383 { "FullScreenAlt2", GTK_STOCK_FULLSCREEN, N_("F_ull screen"), "F11", N_("Full screen"), CB(layout_menu_fullscreen_cb) },
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1384 { "Escape", GTK_STOCK_LEAVE_FULLSCREEN,N_("_Leave full screen"), "Escape", N_("Leave full screen"), CB(layout_menu_escape_cb) },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1385 { "EscapeAlt1", GTK_STOCK_LEAVE_FULLSCREEN,N_("_Leave full screen"), "Q", N_("Leave full screen"), CB(layout_menu_escape_cb) },
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1386 { "ImageOverlayCycle",NULL, N_("_Cycle through overlay modes"), "I", N_("Cycle through Overlay modes"), CB(layout_menu_overlay_toggle_cb) },
1667
0806ccdfe06b simplified menu_item_add_radio usage
nadvornik
parents: 1666
diff changeset
1387 { "HistogramChanCycle",NULL, N_("Cycle through histogram ch_annels"),"K", N_("Cycle through histogram channels"), CB(layout_menu_histogram_toggle_channel_cb) },
0806ccdfe06b simplified menu_item_add_radio usage
nadvornik
parents: 1666
diff changeset
1388 { "HistogramModeCycle",NULL, N_("Cycle through histogram mo_des"), "J", N_("Cycle through histogram modes"), CB(layout_menu_histogram_toggle_mode_cb) },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1389 { "HideTools", NULL, N_("_Hide file list"), "<control>H", N_("Hide file list"), CB(layout_menu_hide_cb) },
1588
c2f12b63fd5c added stock icons for slideshow
nadvornik
parents: 1586
diff changeset
1390 { "SlideShowPause", GTK_STOCK_MEDIA_PAUSE, N_("_Pause slideshow"), "P", N_("Pause slideshow"), CB(layout_menu_slideshow_pause_cb) },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1391 { "Refresh", GTK_STOCK_REFRESH, N_("_Refresh"), "R", N_("Refresh"), CB(layout_menu_refresh_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1392 { "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1", N_("Contents"), CB(layout_menu_help_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1393 { "HelpShortcuts", NULL, N_("_Keyboard shortcuts"), NULL, N_("Keyboard shortcuts"), CB(layout_menu_help_keys_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1394 { "HelpNotes", NULL, N_("_Release notes"), NULL, N_("Release notes"), CB(layout_menu_notes_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1395 { "About", GTK_STOCK_ABOUT, N_("_About"), NULL, N_("About"), CB(layout_menu_about_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1396 { "LogWindow", NULL, N_("_Log Window"), NULL, N_("Log Window"), CB(layout_menu_log_window_cb) },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1397 { "ExifWin", NULL, N_("E_xif window"), "<control>E", N_("Exif window"), CB(layout_menu_bar_exif_cb) },
1410
8a531b40fe9f Remove the toggle on advanced exif window menu item.
zas_
parents: 1387
diff changeset
1398
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 static GtkToggleActionEntry menu_toggle_entries[] = {
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1402 { "Thumbnails", PIXBUF_INLINE_ICON_THUMB,N_("Show _Thumbnails"), "T", N_("Show Thumbnails"), CB(layout_menu_thumb_cb), FALSE },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1403 { "ShowMarks", NULL, N_("Show _Marks"), "M", N_("Show Marks"), CB(layout_menu_marks_cb), FALSE },
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1404 { "ShowInfoPixel", GTK_STOCK_COLOR_PICKER, N_("Pi_xel Info"), NULL, N_("Show Pixel Info"), CB(layout_menu_info_pixel_cb), FALSE },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1405 { "FloatTools", PIXBUF_INLINE_ICON_FLOAT,N_("_Float file list"), "L", N_("Float file list"), CB(layout_menu_float_cb), FALSE },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1406 { "HideToolbar", NULL, N_("Hide tool_bar"), NULL, N_("Hide toolbar"), CB(layout_menu_toolbar_cb), FALSE },
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1407 { "SBar", NULL, N_("_Info sidebar"), "<control>K", N_("Info sidebar"), CB(layout_menu_bar_cb), FALSE },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1408 { "SBarSort", NULL, N_("Sort _manager"), "<shift>S", N_("Sort manager"), CB(layout_menu_bar_sort_cb), FALSE },
1588
c2f12b63fd5c added stock icons for slideshow
nadvornik
parents: 1586
diff changeset
1409 { "SlideShow", GTK_STOCK_MEDIA_PLAY, N_("Toggle _slideshow"), "S", N_("Toggle slideshow"), CB(layout_menu_slideshow_cb), FALSE },
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1410 { "UseColorProfiles", GTK_STOCK_SELECT_COLOR, N_("Use _color profiles"), NULL, N_("Use color profiles"), CB(layout_color_menu_enable_cb), FALSE},
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1411 { "UseImageProfile", NULL, N_("Use profile from _image"), NULL, N_("Use profile from image"), CB(layout_color_menu_use_image_cb), FALSE},
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1412 { "Grayscale", NULL, N_("Toggle _grayscale"), "<shift>G", N_("Toggle grayscale"), CB(layout_menu_alter_desaturate_cb), FALSE},
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1413 { "ImageOverlay", NULL, N_("_Image Overlay"), NULL, N_("Image Overlay"), CB(layout_menu_overlay_cb), FALSE },
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1414 { "ImageHistogram", NULL, N_("_Show Histogram"), NULL, N_("Show Histogram"), CB(layout_menu_histogram_cb), FALSE },
9
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 static GtkRadioActionEntry menu_radio_entries[] = {
1668
8ebc26a4383f use radio buttons for file and dir mode in popup menu
nadvornik
parents: 1667
diff changeset
1418 { "ViewList", NULL, N_("Image _List"), "<control>L", N_("View Images as List"), FILEVIEW_LIST },
8ebc26a4383f use radio buttons for file and dir mode in popup menu
nadvornik
parents: 1667
diff changeset
1419 { "ViewIcons", NULL, N_("I_cons"), "<control>I", N_("View Images as Icons"), FILEVIEW_ICON }
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1420 };
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1421
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1422 static GtkRadioActionEntry menu_view_dir_radio_entries[] = {
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1423 { "FolderList", NULL, N_("Folder _List"), "<meta>L", N_("View Folders as List"), DIRVIEW_LIST },
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1424 { "FolderTree", NULL, N_("Folder _Tree"), "<control>T", N_("View Folders as Tree"), DIRVIEW_TREE },
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1425 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1426
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1427 static GtkRadioActionEntry menu_split_radio_entries[] = {
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1428 { "SplitHorizontal", NULL, N_("_Horizontal"), "E", N_("Split Horizontal"), SPLIT_HOR },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1429 { "SplitVertical", NULL, N_("_Vertical"), "U", N_("Split Vertical"), SPLIT_VERT },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1430 { "SplitQuad", NULL, N_("_Quad"), NULL, N_("Split Quad"), SPLIT_QUAD },
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1431 { "SplitSingle", NULL, N_("_Single"), "Y", N_("Split Single"), SPLIT_NONE }
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1432 };
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1433
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1434 static GtkRadioActionEntry menu_color_radio_entries[] = {
1585
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1435 { "ColorProfile0", NULL, N_("Input _0: sRGB"), NULL, N_("Input 0: sRGB"), COLOR_PROFILE_SRGB },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1436 { "ColorProfile1", NULL, N_("Input _1: AdobeRGB compatible"), NULL, N_("Input 1: AdobeRGB compatible"), COLOR_PROFILE_ADOBERGB },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1437 { "ColorProfile2", NULL, N_("Input _2"), NULL, N_("Input 2"), COLOR_PROFILE_FILE },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1438 { "ColorProfile3", NULL, N_("Input _3"), NULL, N_("Input 3"), COLOR_PROFILE_FILE + 1 },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1439 { "ColorProfile4", NULL, N_("Input _4"), NULL, N_("Input 4"), COLOR_PROFILE_FILE + 2 },
15de7b420b69 action table clean up
nadvornik
parents: 1584
diff changeset
1440 { "ColorProfile5", NULL, N_("Input _5"), NULL, N_("Input 5"), COLOR_PROFILE_FILE + 3 }
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1441 };
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1442
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1443 static GtkRadioActionEntry menu_histogram_channel[] = {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1444 { "HistogramChanR", NULL, N_("Histogram on _Red"), NULL, N_("Histogram on Red"), HCHAN_R },
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1445 { "HistogramChanG", NULL, N_("Histogram on _Green"), NULL, N_("Histogram on Green"), HCHAN_G },
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1446 { "HistogramChanB", NULL, N_("Histogram on _Blue"), NULL, N_("Histogram on Blue"), HCHAN_B },
1667
0806ccdfe06b simplified menu_item_add_radio usage
nadvornik
parents: 1666
diff changeset
1447 { "HistogramChanRGB", NULL, N_("_Histogram on RGB"), NULL, N_("Histogram on RGB"), HCHAN_RGB },
0806ccdfe06b simplified menu_item_add_radio usage
nadvornik
parents: 1666
diff changeset
1448 { "HistogramChanV", NULL, N_("Histogram on _Value"), NULL, N_("Histogram on Value"), HCHAN_MAX }
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1449 };
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1450
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1451 static GtkRadioActionEntry menu_histogram_mode[] = {
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1452 { "HistogramModeLin", NULL, N_("Li_near Histogram"), NULL, N_("Linear Histogram"), 0 },
1667
0806ccdfe06b simplified menu_item_add_radio usage
nadvornik
parents: 1666
diff changeset
1453 { "HistogramModeLog", NULL, N_("L_og Histogram"), NULL, N_("Log Histogram"), 1 },
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1454 };
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1455
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1456
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1457 #undef CB
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1458
1000
4fe8f9656107 For the sake of consistency, use glib basic types everywhere.
zas_
parents: 995
diff changeset
1459 static const gchar *menu_ui_description =
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1460 "<ui>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1461 " <menubar name='MainMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1462 " <menu action='FileMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1463 " <menuitem action='NewWindow'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1464 " <menuitem action='NewCollection'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1465 " <menuitem action='OpenCollection'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1466 " <menuitem action='OpenRecent'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1467 " <placeholder name='OpenSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1468 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1469 " <menuitem action='Search'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1470 " <menuitem action='FindDupes'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1471 " <placeholder name='SearchSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1472 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1473 " <menuitem action='Print'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1474 " <placeholder name='PrintSection'/>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1475 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1476 " <menuitem action='NewFolder'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1477 " <menuitem action='Copy'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1478 " <menuitem action='Move'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1479 " <menuitem action='Rename'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1480 " <menuitem action='Delete'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1481 " <placeholder name='FileOpsSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1482 " <separator/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1483 " <placeholder name='QuitSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1484 " <menuitem action='CloseWindow'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1485 " <menuitem action='Quit'/>"
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1486 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1487 " </menu>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1488 " <menu action='GoMenu'>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1489 " <menuitem action='FirstImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1490 " <menuitem action='PrevImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1491 " <menuitem action='NextImage'/>"
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1492 " <menuitem action='LastImage'/>"
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1493 " <separator/>"
1334
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1494 " <menuitem action='Back'/>"
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1495 " <menuitem action='Home'/>"
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1496 " <separator/>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1497 " </menu>"
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1498 " <menu action='SelectMenu'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1499 " <menuitem action='SelectAll'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1500 " <menuitem action='SelectNone'/>"
601
93c6dc4c537b Add a way to invert the current selection.
zas_
parents: 586
diff changeset
1501 " <menuitem action='SelectInvert'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1502 " <placeholder name='SelectSection'/>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1503 " <separator/>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1504 " <menuitem action='CopyPath'/>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1505 " <placeholder name='ClipboardSection'/>"
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1506 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1507 " <menuitem action='ShowMarks'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1508 " <placeholder name='MarksSection'/>"
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1509 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1510 " </menu>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1511 " <menu action='EditMenu'>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1512 " <menu action='ExternalMenu'>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1513 " </menu>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1514 " <placeholder name='EditSection'/>"
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1515 " <separator/>"
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
1516 " <menu action='OrientationMenu'>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1517 " <menuitem action='RotateCW'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1518 " <menuitem action='RotateCCW'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1519 " <menuitem action='Rotate180'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1520 " <menuitem action='Mirror'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1521 " <menuitem action='Flip'/>"
439
1cca0b614cba Add a way to restore original state in Adjust menu.
zas_
parents: 433
diff changeset
1522 " <menuitem action='AlterNone'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1523 " </menu>"
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1524 " <menuitem action='SaveMetadata'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1525 " <placeholder name='PropertiesSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1526 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1527 " <menuitem action='Preferences'/>"
1479
d062522699dc added simple desktop file editor
nadvornik
parents: 1472
diff changeset
1528 " <menuitem action='Editors'/>"
1436
d7a6fb7a90dd completely separated global and layout window options
nadvornik
parents: 1433
diff changeset
1529 " <menuitem action='LayoutConfig'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1530 " <menuitem action='Maintenance'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1531 " <placeholder name='PreferencesSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1532 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1533 " <menuitem action='Wallpaper'/>"
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1534 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1535 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1536 " <menu action='ViewMenu'>"
159
436376b60867 moved some actions to menu and accels
nadvornik
parents: 156
diff changeset
1537 " <menuitem action='ViewInNewWindow'/>"
1285
ecfa35c79436 improved labels of some menu items
nadvornik
parents: 1284
diff changeset
1538 " <menuitem action='PanView'/>"
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1539 " <menuitem action='ExifWin'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1540 " <placeholder name='WindowSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1541 " <separator/>"
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1542 " <menu action='FileDirMenu'>"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1543 " <menuitem action='FolderList'/>"
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1544 " <menuitem action='FolderTree'/>"
1666
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1545 " <placeholder name='FolderSection'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1546 " <separator/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1547 " <menuitem action='ViewList'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1548 " <menuitem action='ViewIcons'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1549 " <menuitem action='Thumbnails'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1550 " <placeholder name='ListSection'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1551 " <separator/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1552 " <menuitem action='FloatTools'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1553 " <menuitem action='HideTools'/>"
fa942b3f0ef5 created Files and Folders submenu
nadvornik
parents: 1665
diff changeset
1554 " <menuitem action='HideToolbar'/>"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1555 " </menu>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1556 " <placeholder name='DirSection'/>"
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1557 " <separator/>"
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1558 " <menu action='ZoomMenu'>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1559 " <menu action='ConnectZoomMenu'>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1560 " <menuitem action='ConnectZoomIn'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1561 " <menuitem action='ConnectZoomOut'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1562 " <menuitem action='ConnectZoomFit'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1563 " <menuitem action='ConnectZoomFillHor'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1564 " <menuitem action='ConnectZoomFillVert'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1565 " <menuitem action='ConnectZoom100'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1566 " <menuitem action='ConnectZoom200'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1567 " <menuitem action='ConnectZoom300'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1568 " <menuitem action='ConnectZoom400'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1569 " <menuitem action='ConnectZoom50'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1570 " <menuitem action='ConnectZoom33'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1571 " <menuitem action='ConnectZoom25'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1572 " </menu>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1573 " <menuitem action='ZoomIn'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1574 " <menuitem action='ZoomOut'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1575 " <menuitem action='ZoomFit'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1576 " <menuitem action='ZoomFillHor'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1577 " <menuitem action='ZoomFillVert'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1578 " <menuitem action='Zoom100'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1579 " <menuitem action='Zoom200'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1580 " <menuitem action='Zoom300'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1581 " <menuitem action='Zoom400'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1582 " <menuitem action='Zoom50'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1583 " <menuitem action='Zoom33'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1584 " <menuitem action='Zoom25'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1585 " </menu>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1586 " <menu action='SplitMenu'>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1587 " <menuitem action='SplitHorizontal'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1588 " <menuitem action='SplitVertical'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1589 " <menuitem action='SplitQuad'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1590 " <menuitem action='SplitSingle'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1591 " </menu>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1592 " <menu action='ColorMenu'>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1593 " <menuitem action='UseColorProfiles'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1594 " <menuitem action='UseImageProfile'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1595 " <menuitem action='ColorProfile0'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1596 " <menuitem action='ColorProfile1'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1597 " <menuitem action='ColorProfile2'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1598 " <menuitem action='ColorProfile3'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1599 " <menuitem action='ColorProfile4'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1600 " <menuitem action='ColorProfile5'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1601 " <separator/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1602 " <menuitem action='Grayscale'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1603 " </menu>"
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1604 " <menu action='OverlayMenu'>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1605 " <menuitem action='ImageOverlay'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1606 " <menuitem action='ImageHistogram'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1607 " <menuitem action='ImageOverlayCycle'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1608 " <separator/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1609 " <menuitem action='HistogramChanR'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1610 " <menuitem action='HistogramChanG'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1611 " <menuitem action='HistogramChanB'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1612 " <menuitem action='HistogramChanRGB'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1613 " <menuitem action='HistogramChanV'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1614 " <menuitem action='HistogramChanCycle'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1615 " <separator/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1616 " <menuitem action='HistogramModeLin'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1617 " <menuitem action='HistogramModeLog'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1618 " <menuitem action='HistogramModeCycle'/>"
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1619 " </menu>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1620 " <menuitem action='FullScreen'/>"
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1621 " <placeholder name='ViewSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1622 " <separator/>"
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1623 " <menuitem action='SBar'/>"
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
1624 " <menuitem action='SBarSort'/>"
1584
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
1625 " <menuitem action='ShowInfoPixel'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1626 " <placeholder name='ToolsSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1627 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1628 " <menuitem action='SlideShow'/>"
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1629 " <menuitem action='SlideShowPause'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1630 " <menuitem action='Refresh'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1631 " <placeholder name='SlideShowSection'/>"
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1632 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1633 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1634 " <menu action='HelpMenu'>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1635 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1636 " <menuitem action='HelpContents'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1637 " <menuitem action='HelpShortcuts'/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1638 " <menuitem action='HelpNotes'/>"
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1639 " <placeholder name='HelpSection'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1640 " <separator/>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1641 " <menuitem action='About'/>"
678
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
1642 " <separator/>"
6d6f042b8ca5 Add a log window that shows normal and debug messages. For now, it was added to Help menu.
zas_
parents: 654
diff changeset
1643 " <menuitem action='LogWindow'/>"
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1644 " <separator/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1645 " </menu>"
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1646 " </menubar>"
1334
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1647 " <toolbar name='ToolBar'>"
f97450e632a1 create toolbar from ui_manager
nadvornik
parents: 1320
diff changeset
1648 " </toolbar>"
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1649 " <toolbar name='StatusBar'>"
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1650 " </toolbar>"
428
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1651 "<accelerator action='PrevImageAlt1'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1652 "<accelerator action='PrevImageAlt2'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1653 "<accelerator action='NextImageAlt1'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1654 "<accelerator action='NextImageAlt2'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1655 "<accelerator action='DeleteAlt1'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1656 "<accelerator action='DeleteAlt2'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1657 "<accelerator action='FullScreenAlt1'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1658 "<accelerator action='FullScreenAlt2'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1659 "<accelerator action='Escape'/>"
af843364b3ea I have finally found how to add alternative hotkeys
nadvornik
parents: 398
diff changeset
1660 "<accelerator action='EscapeAlt1'/>"
1047
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1661
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1662 "<accelerator action='ZoomInAlt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1663 "<accelerator action='ZoomOutAlt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1664 "<accelerator action='Zoom100Alt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1665 "<accelerator action='ZoomFitAlt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1666
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1667 "<accelerator action='ConnectZoomInAlt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1668 "<accelerator action='ConnectZoomOutAlt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1669 "<accelerator action='ConnectZoom100Alt1'/>"
81ec7d977d5f use SHIFT for connected scroll and zoom
nadvornik
parents: 1022
diff changeset
1670 "<accelerator action='ConnectZoomFitAlt1'/>"
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1671 "</ui>";
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 static gchar *menu_translate(const gchar *path, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1674 {
1004
c1cd51926204 Silent a compiler warning.
zas_
parents: 1000
diff changeset
1675 return (gchar *)(_(path));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1676 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1677
1433
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
1678 static void layout_actions_setup_mark(LayoutWindow *lw, gint mark, gchar *name_tmpl,
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1679 gchar *label_tmpl, gchar *accel_tmpl, gchar *tooltip_tmpl, GCallback cb)
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1680 {
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
1681 gchar name[50];
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
1682 gchar label[100];
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
1683 gchar accel[50];
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1684 gchar tooltip[100];
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1685 GtkActionEntry entry = { name, NULL, label, accel, tooltip, cb };
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1686 GtkAction *action;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1687
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1688 g_snprintf(name, sizeof(name), name_tmpl, mark);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1689 g_snprintf(label, sizeof(label), label_tmpl, mark);
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1690
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1691 if (accel_tmpl)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1692 g_snprintf(accel, sizeof(accel), accel_tmpl, mark % 10);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1693 else
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1694 entry.accelerator = NULL;
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1695
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1696 if (tooltip_tmpl)
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1697 g_snprintf(tooltip, sizeof(tooltip), tooltip_tmpl, mark);
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1698 else
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1699 entry.tooltip = NULL;
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1700
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1701 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
1702 action = gtk_action_group_get_action(lw->action_group, name);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1703 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
1704 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1705
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1706 static void layout_actions_setup_marks(LayoutWindow *lw)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1707 {
894
e394184cb0f1 Tidy up.
zas_
parents: 783
diff changeset
1708 gint mark;
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1709 GError *error;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1710 GString *desc = g_string_new(
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1711 "<ui>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1712 " <menubar name='MainMenu'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1713 " <menu action='SelectMenu'>");
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
1714
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1715 for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1716 {
1619
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1717 layout_actions_setup_mark(lw, mark, "Mark%d", _("Mark _%d"), NULL, NULL, NULL);
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1718 layout_actions_setup_mark(lw, mark, "SetMark%d", _("_Set mark %d"), NULL, _("Set mark %d"), G_CALLBACK(layout_menu_set_mark_sel_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1719 layout_actions_setup_mark(lw, mark, "ResetMark%d", _("_Reset mark %d"), NULL, _("Reset mark %d"), G_CALLBACK(layout_menu_res_mark_sel_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1720 layout_actions_setup_mark(lw, mark, "ToggleMark%d", _("_Toggle mark %d"), "%d", _("Toggle mark %d"), G_CALLBACK(layout_menu_toggle_mark_sel_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1721 layout_actions_setup_mark(lw, mark, "ToggleMark%dAlt1", _("_Toggle mark %d"), "KP_%d", _("Toggle mark %d"), G_CALLBACK(layout_menu_toggle_mark_sel_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1722 layout_actions_setup_mark(lw, mark, "SelectMark%d", _("_Select mark %d"), "<control>%d", _("Select mark %d"), G_CALLBACK(layout_menu_sel_mark_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1723 layout_actions_setup_mark(lw, mark, "SelectMark%dAlt1", _("_Select mark %d"), "<control>KP_%d", _("Select mark %d"), G_CALLBACK(layout_menu_sel_mark_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1724 layout_actions_setup_mark(lw, mark, "AddMark%d", _("_Add mark %d"), NULL, _("Add mark %d"), G_CALLBACK(layout_menu_sel_mark_or_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1725 layout_actions_setup_mark(lw, mark, "IntMark%d", _("_Intersection with mark %d"), NULL, _("Intersection with mark %d"), G_CALLBACK(layout_menu_sel_mark_and_cb));
d35a0836c6b5 do not display menus ("FileMenu" etc.) in accelerator configuration
nadvornik
parents: 1612
diff changeset
1726 layout_actions_setup_mark(lw, mark, "UnselMark%d", _("_Unselect mark %d"), NULL, _("Unselect mark %d"), G_CALLBACK(layout_menu_sel_mark_minus_cb));
1635
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
1727 layout_actions_setup_mark(lw, mark, "FilterMark%d", _("_Filter mark %d"), NULL, _("Filter mark %d"), G_CALLBACK(layout_menu_mark_filter_toggle_cb));
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1728
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1729 g_string_append_printf(desc,
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1730 " <menu action='Mark%d'>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1731 " <menuitem action='ToggleMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1732 " <menuitem action='SetMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1733 " <menuitem action='ResetMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1734 " <separator/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1735 " <menuitem action='SelectMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1736 " <menuitem action='AddMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1737 " <menuitem action='IntMark%d'/>"
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1738 " <menuitem action='UnselMark%d'/>"
1635
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
1739 " <separator/>"
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
1740 " <menuitem action='FilterMark%d'/>"
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1741 " </menu>",
1635
5ad450d67878 added mark filter to menu - now it is possible to assign hotkeys
nadvornik
parents: 1619
diff changeset
1742 mark, mark, mark, mark, mark, mark, mark, mark, mark);
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1743 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1744
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1745 g_string_append(desc,
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1746 " </menu>"
429
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1747 " </menubar>");
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1748 for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1749 {
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1750 g_string_append_printf(desc,
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1751 "<accelerator action='ToggleMark%dAlt1'/>"
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1752 "<accelerator action='SelectMark%dAlt1'/>",
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1753 mark, mark);
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1754 }
831035240885 Let toggle marks with numeric keypad.
zas_
parents: 428
diff changeset
1755 g_string_append(desc, "</ui>" );
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1756
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1757 error = NULL;
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1758 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
1759 {
512
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1760 g_message("building menus failed: %s", error->message);
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1761 g_error_free(error);
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1762 exit(EXIT_FAILURE);
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1763 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1764 g_string_free(desc, TRUE);
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1765 }
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1766
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1767 static GList *layout_actions_editor_menu_path(EditorDescription *editor)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1768 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1769 gchar **split = g_strsplit(editor->menu_path, "/", 0);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1770 gint i = 0;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1771 GList *ret = NULL;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1772
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1773 if (split[0] == NULL)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1774 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1775 g_strfreev(split);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1776 return NULL;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1777 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1778
1348
acf1797b74c7 Add missing space between while and first parenthesis.
zas_
parents: 1345
diff changeset
1779 while (split[i])
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1780 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1781 ret = g_list_prepend(ret, g_strdup(split[i]));
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1782 i++;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1783 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1784
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1785 g_strfreev(split);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1786
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1787 ret = g_list_prepend(ret, g_strdup(editor->key));
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1788
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1789 return g_list_reverse(ret);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1790 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1791
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1792 static void layout_actions_editor_add(GString *desc, GList *path, GList *old_path)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1793 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1794 gint to_open, to_close, i;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1795 while (path && old_path && strcmp((gchar *)path->data, (gchar *)old_path->data) == 0)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1796 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1797 path = path->next;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1798 old_path = old_path->next;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1799 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1800 to_open = g_list_length(path) - 1;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1801 to_close = g_list_length(old_path) - 1;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1802
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1803 if (to_close > 0)
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1804 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1805 old_path = g_list_last(old_path);
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1806 old_path = old_path->prev;
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1807 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1808
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1809 for (i = 0; i < to_close; i++)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1810 {
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1811 gchar *name = old_path->data;
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1812 if (g_str_has_suffix(name, "Section"))
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1813 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1814 g_string_append(desc, " </placeholder>");
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1815 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1816 else if (g_str_has_suffix(name, "Menu"))
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1817 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1818 g_string_append(desc, " </menu>");
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1819 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1820 else
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1821 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1822 g_warning("invalid menu path item %s", name);
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1823 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1824 old_path = old_path->prev;
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1825 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1826
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1827 for (i = 0; i < to_open; i++)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1828 {
1275
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1829 gchar *name = path->data;
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1830 if (g_str_has_suffix(name, "Section"))
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1831 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1832 g_string_append_printf(desc, " <placeholder name='%s'>", name);
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1833 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1834 else if (g_str_has_suffix(name, "Menu"))
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1835 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1836 g_string_append_printf(desc, " <menu action='%s'>", name);
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1837 }
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1838 else
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1839 {
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1840 g_warning("invalid menu path item %s", name);
fa0e7b8e785e improved placing of external commands in menu
nadvornik
parents: 1272
diff changeset
1841 }
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1842 path = path->next;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1843 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1844
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1845 if (path)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1846 g_string_append_printf(desc, " <menuitem action='%s'/>", (gchar *)path->data);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1847 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1848
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1849 static void layout_actions_setup_editors(LayoutWindow *lw)
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1850 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1851 GError *error;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1852 GList *editors_list;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1853 GList *work;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1854 GList *old_path;
1463
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1855 GString *desc;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1856
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1857 lw->action_group_editors = gtk_action_group_new("MenuActionsExternal");
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1858 gtk_ui_manager_insert_action_group(lw->ui_manager, lw->action_group_editors, 1);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1859
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1860 /* lw->action_group_editors contains translated entries, no translate func is required */
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1861 desc = g_string_new(
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1862 "<ui>"
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1863 " <menubar name='MainMenu'>");
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1864
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1865 editors_list = editor_list_get();
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1866
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1867 old_path = NULL;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1868 work = editors_list;
1348
acf1797b74c7 Add missing space between while and first parenthesis.
zas_
parents: 1345
diff changeset
1869 while (work)
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1870 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1871 GList *path;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1872 EditorDescription *editor = work->data;
1468
e9f9d3da3f43 added tooltips to external editors on toolbar
nadvornik
parents: 1464
diff changeset
1873 GtkActionEntry entry = { editor->key, NULL, editor->name, editor->hotkey, editor->comment, G_CALLBACK(layout_menu_edit_cb) };
1341
63eb48237608 load icons for external editors
nadvornik
parents: 1335
diff changeset
1874
1345
6fb0c1829b76 Prevent Gtk assertion failures when no icon is set.
zas_
parents: 1341
diff changeset
1875 if (editor->icon && register_theme_icon_as_stock(editor->key, editor->icon))
1341
63eb48237608 load icons for external editors
nadvornik
parents: 1335
diff changeset
1876 {
63eb48237608 load icons for external editors
nadvornik
parents: 1335
diff changeset
1877 entry.stock_id = editor->key;
63eb48237608 load icons for external editors
nadvornik
parents: 1335
diff changeset
1878 }
1463
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1879 gtk_action_group_add_actions(lw->action_group_editors, &entry, 1, lw);
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1880
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1881 path = layout_actions_editor_menu_path(editor);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1882 layout_actions_editor_add(desc, path, old_path);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1883
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1884 string_list_free(old_path);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1885 old_path = path;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1886 work = work->next;
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1887 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1888
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1889 layout_actions_editor_add(desc, NULL, old_path);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1890 string_list_free(old_path);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1891
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1892 g_string_append(desc, " </menubar>"
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1893 "</ui>" );
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1894
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1895 error = NULL;
1463
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1896
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1897 lw->ui_editors_id = gtk_ui_manager_add_ui_from_string(lw->ui_manager, desc->str, -1, &error);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1898 if (!lw->ui_editors_id)
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1899 {
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1900 g_message("building menus failed: %s", error->message);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1901 g_error_free(error);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1902 exit(EXIT_FAILURE);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1903 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1904 g_string_free(desc, TRUE);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1905 g_list_free(editors_list);
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1906 }
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1907
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1908 void layout_actions_setup(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1909 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1910 GError *error;
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1911 gint i;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1912
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1913 if (lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1914
513
985fdfebd89e Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
zas_
parents: 512
diff changeset
1915 lw->action_group = gtk_action_group_new("MenuActions");
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1916 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
1917
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1918 gtk_action_group_add_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1919 menu_entries, G_N_ELEMENTS(menu_entries), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1920 gtk_action_group_add_toggle_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1921 menu_toggle_entries, G_N_ELEMENTS(menu_toggle_entries), lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1922 gtk_action_group_add_radio_actions(lw->action_group,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1923 menu_radio_entries, G_N_ELEMENTS(menu_radio_entries),
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1924 0, G_CALLBACK(layout_menu_list_cb), lw);
156
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1925 gtk_action_group_add_radio_actions(lw->action_group,
dd6dc0a55d3d better integration of split image functions into menu
nadvornik
parents: 138
diff changeset
1926 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
1927 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
1928 gtk_action_group_add_radio_actions(lw->action_group,
523
0717bcc4f2b7 Handle the case of reduction of the number of view directory types.
zas_
parents: 513
diff changeset
1929 menu_view_dir_radio_entries, VIEW_DIR_TYPES_COUNT,
380
5afe77bb563a Introduce a new struct ViewDir to handle directory views common
zas_
parents: 343
diff changeset
1930 0, G_CALLBACK(layout_menu_view_dir_as_cb), lw);
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1931 gtk_action_group_add_radio_actions(lw->action_group,
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1932 menu_color_radio_entries, COLOR_PROFILE_FILE + COLOR_PROFILE_INPUTS,
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1933 0, G_CALLBACK(layout_color_menu_input_cb), lw);
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1934 gtk_action_group_add_radio_actions(lw->action_group,
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1935 menu_histogram_channel, G_N_ELEMENTS(menu_histogram_channel),
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1936 0, G_CALLBACK(layout_menu_histogram_channel_cb), lw);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1937 gtk_action_group_add_radio_actions(lw->action_group,
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1938 menu_histogram_mode, G_N_ELEMENTS(menu_histogram_mode),
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
1939 0, G_CALLBACK(layout_menu_histogram_mode_cb), lw);
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
1940
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1941
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1942 lw->ui_manager = gtk_ui_manager_new();
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1943 gtk_ui_manager_set_add_tearoffs(lw->ui_manager, TRUE);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1944 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
1945
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1946 error = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1947 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
1948 {
512
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1949 g_message("building menus failed: %s", error->message);
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1950 g_error_free(error);
f9bf33be53ff Remove whitespace between function name and first parenthesis for the sake of consistency.
zas_
parents: 497
diff changeset
1951 exit(EXIT_FAILURE);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1952 }
497
a33badd85f16 Allow the copy of file paths to clipboard.
zas_
parents: 489
diff changeset
1953
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1954 for (i = 0; i < TOOLBAR_COUNT; i++)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1955 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1956 layout_toolbar_clear(lw, i);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1957 layout_toolbar_add_default(lw, i);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1958 }
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
1959
162
1a42a2451575 created menu "Select" with selection and marks operations
nadvornik
parents: 160
diff changeset
1960 layout_actions_setup_marks(lw);
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
1961 layout_actions_setup_editors(lw);
1470
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
1962
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1963 layout_util_status_update_write(lw);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
1964
1470
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
1965 layout_actions_add_window(lw, lw->window);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1966 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1967
1463
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1968 void layout_editors_reload_all(void)
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1969 {
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1970 GList *work;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1971
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1972 work = layout_window_list;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1973 while (work)
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1974 {
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1975 LayoutWindow *lw = work->data;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1976 work = work->next;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1977
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1978 gtk_ui_manager_remove_ui(lw->ui_manager, lw->ui_editors_id);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1979 gtk_ui_manager_remove_action_group(lw->ui_manager, lw->action_group_editors);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1980 g_object_unref(lw->action_group_editors);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1981 }
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1982
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1983 editor_load_descriptions();
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1984
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1985 work = layout_window_list;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1986 while (work)
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1987 {
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1988 LayoutWindow *lw = work->data;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1989 work = work->next;
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1990 layout_actions_setup_editors(lw);
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1991 }
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1992 }
25168240a247 added function to reload external editors at any time
nadvornik
parents: 1461
diff changeset
1993
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1994 void layout_actions_add_window(LayoutWindow *lw, GtkWidget *window)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1995 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1996 GtkAccelGroup *group;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1997
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1998 if (!lw->ui_manager) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1999
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2000 group = gtk_ui_manager_get_accel_group(lw->ui_manager);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2001 gtk_window_add_accel_group(GTK_WINDOW(window), group);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2002 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2003
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2004 GtkWidget *layout_actions_menu_bar(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2005 {
1470
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2006 if (lw->menu_bar) return lw->menu_bar;
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2007 lw->menu_bar = gtk_ui_manager_get_widget(lw->ui_manager, "/MainMenu");
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2008 g_object_ref(lw->menu_bar);
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2009 return lw->menu_bar;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2010 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2011
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2012 GtkWidget *layout_actions_toolbar(LayoutWindow *lw, ToolbarType type)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2013 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2014 if (lw->toolbar[type]) return lw->toolbar[type];
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2015 switch (type)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2016 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2017 case TOOLBAR_MAIN:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2018 lw->toolbar[type] = gtk_ui_manager_get_widget(lw->ui_manager, "/ToolBar");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2019 gtk_toolbar_set_icon_size(GTK_TOOLBAR(lw->toolbar[type]), GTK_ICON_SIZE_SMALL_TOOLBAR);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2020 gtk_toolbar_set_style(GTK_TOOLBAR(lw->toolbar[type]), GTK_TOOLBAR_ICONS);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2021 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2022 case TOOLBAR_STATUS:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2023 lw->toolbar[type] = gtk_ui_manager_get_widget(lw->ui_manager, "/StatusBar");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2024 gtk_toolbar_set_icon_size(GTK_TOOLBAR(lw->toolbar[type]), GTK_ICON_SIZE_MENU);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2025 gtk_toolbar_set_style(GTK_TOOLBAR(lw->toolbar[type]), GTK_TOOLBAR_ICONS);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2026 gtk_toolbar_set_show_arrow(GTK_TOOLBAR(lw->toolbar[type]), FALSE);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2027 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2028 default:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2029 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2030 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2031 g_object_ref(lw->toolbar[type]);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2032 return lw->toolbar[type];
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2033 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2034
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2035 void layout_toolbar_clear(LayoutWindow *lw, ToolbarType type)
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2036 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2037 if (lw->toolbar_merge_id[type])
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2038 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2039 gtk_ui_manager_remove_ui(lw->ui_manager, lw->toolbar_merge_id[type]);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2040 gtk_ui_manager_ensure_update(lw->ui_manager);
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2041 }
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2042 string_list_free(lw->toolbar_actions[type]);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2043 lw->toolbar_actions[type] = NULL;
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2044
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2045 lw->toolbar_merge_id[type] = gtk_ui_manager_new_merge_id(lw->ui_manager);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2046 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2047
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2048
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2049 void layout_toolbar_add(LayoutWindow *lw, ToolbarType type, const gchar *action)
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2050 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2051 const gchar *path = NULL;
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2052 if (!action || !lw->ui_manager) return;
1469
607c60506863 added a possibility to update existing bars from config
nadvornik
parents: 1468
diff changeset
2053
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2054 if (g_list_find_custom(lw->toolbar_actions[type], action, (GCompareFunc)strcmp)) return;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2055
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2056 switch (type)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2057 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2058 case TOOLBAR_MAIN:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2059 path = "/ToolBar";
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2060 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2061 case TOOLBAR_STATUS:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2062 path = "/StatusBar";
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2063 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2064 default:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2065 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2066 }
1469
607c60506863 added a possibility to update existing bars from config
nadvornik
parents: 1468
diff changeset
2067
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2068 gtk_ui_manager_add_ui(lw->ui_manager, lw->toolbar_merge_id[type], path, action, action, GTK_UI_MANAGER_TOOLITEM, FALSE);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2069 lw->toolbar_actions[type] = g_list_append(lw->toolbar_actions[type], g_strdup(action));
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2070 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2071
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2072
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2073 void layout_toolbar_add_default(LayoutWindow *lw, ToolbarType type)
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2074 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2075 switch (type)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2076 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2077 case TOOLBAR_MAIN:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2078 layout_toolbar_add(lw, type, "Thumbnails");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2079 layout_toolbar_add(lw, type, "Back");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2080 layout_toolbar_add(lw, type, "Home");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2081 layout_toolbar_add(lw, type, "Refresh");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2082 layout_toolbar_add(lw, type, "ZoomIn");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2083 layout_toolbar_add(lw, type, "ZoomOut");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2084 layout_toolbar_add(lw, type, "ZoomFit");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2085 layout_toolbar_add(lw, type, "Zoom100");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2086 layout_toolbar_add(lw, type, "Preferences");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2087 layout_toolbar_add(lw, type, "FloatTools");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2088 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2089 case TOOLBAR_STATUS:
1584
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
2090 layout_toolbar_add(lw, type, "ShowInfoPixel");
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2091 layout_toolbar_add(lw, type, "UseColorProfiles");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2092 layout_toolbar_add(lw, type, "SaveMetadata");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2093 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2094 default:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2095 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2096 }
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2097 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2098
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2099 void layout_toolbar_write_config(LayoutWindow *lw, ToolbarType type, GString *outstr, gint indent)
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2100 {
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2101 const gchar *name = NULL;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2102 GList *work = lw->toolbar_actions[type];
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2103
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2104 switch (type)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2105 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2106 case TOOLBAR_MAIN:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2107 name = "toolbar";
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2108 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2109 case TOOLBAR_STATUS:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2110 name = "statusbar";
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2111 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2112 default:
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2113 break;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2114 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2115
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2116 WRITE_NL(); WRITE_STRING("<%s>", name);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2117 indent++;
1469
607c60506863 added a possibility to update existing bars from config
nadvornik
parents: 1468
diff changeset
2118 WRITE_NL(); WRITE_STRING("<clear/>");
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2119 while (work)
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2120 {
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2121 gchar *action = work->data;
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2122 work = work->next;
1461
e015b6573d36 improved config file formatting
nadvornik
parents: 1436
diff changeset
2123 WRITE_NL(); WRITE_STRING("<toolitem ");
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2124 write_char_option(outstr, indent + 1, "action", action);
1461
e015b6573d36 improved config file formatting
nadvornik
parents: 1436
diff changeset
2125 WRITE_STRING("/>");
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2126 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2127 indent--;
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2128 WRITE_NL(); WRITE_STRING("</%s>", name);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2129 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2130
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2131 void layout_toolbar_add_from_config(LayoutWindow *lw, ToolbarType type, const gchar **attribute_names, const gchar **attribute_values)
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2132 {
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2133 gchar *action = NULL;
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2134
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2135 while (*attribute_names)
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2136 {
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2137 const gchar *option = *attribute_names++;
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2138 const gchar *value = *attribute_values++;
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2139
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2140 if (READ_CHAR_FULL("action", action)) continue;
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2141
1464
1b3751ac4743 be more verbose on parse errors
nadvornik
parents: 1463
diff changeset
2142 log_printf("unknown attribute %s = %s\n", option, value);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2143 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2144
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2145 layout_toolbar_add(lw, type, action);
1335
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2146 g_free(action);
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2147 }
588d96cda850 save and restore toolbar configuration
nadvornik
parents: 1334
diff changeset
2148
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2149 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2150 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2151 * misc
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2152 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2153 */
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2154
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2155 void layout_util_status_update_write(LayoutWindow *lw)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2156 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2157 GtkAction *action;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2158 gint n = metadata_queue_length();
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2159 action = gtk_action_group_get_action(lw->action_group, "SaveMetadata");
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2160 gtk_action_set_sensitive(action, n > 0);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2161 if (n > 0)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2162 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2163 gchar *buf = g_strdup_printf(_("Number of files with unsaved metadata: %d"), n);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2164 g_object_set(G_OBJECT(action), "tooltip", buf, NULL);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2165 g_free(buf);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2166 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2167 else
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2168 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2169 g_object_set(G_OBJECT(action), "tooltip", _("No unsaved metadata"), NULL);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2170 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2171 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2172
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2173 void layout_util_status_update_write_all(void)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2174 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2175 GList *work;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2176
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2177 work = layout_window_list;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2178 while (work)
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2179 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2180 LayoutWindow *lw = work->data;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2181 work = work->next;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2182
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2183 layout_util_status_update_write(lw);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2184 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2185 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2186
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2187 static gchar *layout_color_name_parse(const gchar *name)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2188 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2189 if (!name || !*name) return g_strdup(_("Empty"));
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2190 return g_strdelimit(g_strdup(name), "_", '-');
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2191 }
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2192
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2193 void layout_util_sync_color(LayoutWindow *lw)
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2194 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2195 GtkAction *action;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2196 gint input = 0;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2197 gboolean use_color;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2198 gboolean use_image = FALSE;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2199 gint i;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2200 gchar action_name[15];
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2201 gchar *image_profile;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2202 gchar *screen_profile;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2203
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2204
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2205 if (!lw->action_group) return;
1548
b5608391f479 support X11 screen profile
nadvornik
parents: 1547
diff changeset
2206 if (!layout_image_color_profile_get(lw, &input, &use_image)) return;
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2207
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2208 use_color = layout_image_color_profile_get_use(lw);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2209
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2210 action = gtk_action_group_get_action(lw->action_group, "UseColorProfiles");
1595
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2211 #ifdef HAVE_LCMS
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2212 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), use_color);
1582
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2213 if (layout_image_color_profile_get_status(lw, &image_profile, &screen_profile))
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2214 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2215 gchar *buf;
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2216 buf = g_strdup_printf(_("Image profile: %s\nScreen profile: %s"), image_profile, screen_profile);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2217 g_object_set(G_OBJECT(action), "tooltip", buf, NULL);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2218 g_free(image_profile);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2219 g_free(screen_profile);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2220 g_free(buf);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2221 }
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2222 else
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2223 {
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2224 g_object_set(G_OBJECT(action), "tooltip", _("Click to enable color management"), NULL);
2ca277a9845b - handle color profile and write metadata buttons on statusbar by ui_manager
nadvornik
parents: 1566
diff changeset
2225 }
1595
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2226 #else
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2227 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), FALSE);
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2228 gtk_action_set_sensitive(action, FALSE);
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2229 g_object_set(G_OBJECT(action), "tooltip", _("Color profiles not supported"), NULL);
de111f20d4ae better tooltip for disabled lcms
nadvornik
parents: 1588
diff changeset
2230 #endif
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2231
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2232 action = gtk_action_group_get_action(lw->action_group, "UseImageProfile");
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2233 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), use_image);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2234 gtk_action_set_sensitive(action, use_color);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2235
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2236 for (i = 0; i < COLOR_PROFILE_FILE + COLOR_PROFILE_INPUTS; i++)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2237 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2238 sprintf(action_name, "ColorProfile%d", i);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2239 action = gtk_action_group_get_action(lw->action_group, action_name);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2240
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2241 if (i >= COLOR_PROFILE_FILE)
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2242 {
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2243 const gchar *name = options->color_profile.input_name[i - COLOR_PROFILE_FILE];
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2244 const gchar *file = options->color_profile.input_file[i - COLOR_PROFILE_FILE];
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2245 gchar *end;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2246 gchar *buf;
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2247
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2248 if (!name || !name[0]) name = filename_from_path(file);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2249
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2250 end = layout_color_name_parse(name);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2251 buf = g_strdup_printf(_("Input _%d: %s"), i, end);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2252 g_free(end);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2253
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2254 g_object_set(G_OBJECT(action), "label", buf, NULL);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2255 g_free(buf);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2256
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2257 gtk_action_set_visible(action, file && file[0]);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2258 }
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2259
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2260 gtk_action_set_sensitive(action, !use_image);
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2261 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), (i == input));
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2262 }
1566
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
2263
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
2264 action = gtk_action_group_get_action(lw->action_group, "Grayscale");
3d9f5c078521 separated Orientation and Grayscale functions
nadvornik
parents: 1548
diff changeset
2265 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_image_get_desaturate(lw));
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2266 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2267
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2268 static void layout_util_sync_views(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2269 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2270 GtkAction *action;
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2271 OsdShowFlags osd_flags = image_osd_get(lw->image);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2272
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2273 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2274
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2275 action = gtk_action_group_get_action(lw->action_group, "FolderTree");
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2276 radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.dir_view_type);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2277
1480
077924265c28 split-mode cleanup and improvements
nadvornik
parents: 1479
diff changeset
2278 action = gtk_action_group_get_action(lw->action_group, "SplitSingle");
077924265c28 split-mode cleanup and improvements
nadvornik
parents: 1479
diff changeset
2279 radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->split_mode);
077924265c28 split-mode cleanup and improvements
nadvornik
parents: 1479
diff changeset
2280
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2281 action = gtk_action_group_get_action(lw->action_group, "ViewIcons");
1668
8ebc26a4383f use radio buttons for file and dir mode in popup menu
nadvornik
parents: 1667
diff changeset
2282 radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.file_view_type);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2283
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2284 action = gtk_action_group_get_action(lw->action_group, "FloatTools");
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2285 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.tools_float);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2286
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2287 action = gtk_action_group_get_action(lw->action_group, "SBar");
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2288 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_bar_enabled(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2289
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2290 action = gtk_action_group_get_action(lw->action_group, "SBarSort");
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2291 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_bar_sort_enabled(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2292
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2293 action = gtk_action_group_get_action(lw->action_group, "HideToolbar");
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2294 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.toolbar_hidden);
1375
df58e511d90e Display pixel coordinates and rgb - patch by Ruben Stein
nadvornik
parents: 1348
diff changeset
2295
1584
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
2296 action = gtk_action_group_get_action(lw->action_group, "ShowInfoPixel");
0cd2268f500b improved pixel info, changed the menu entry from "Hide" to "Show",
nadvornik
parents: 1583
diff changeset
2297 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_info_pixel);
433
5ddcf93278c7 Save Show Marks state to rc file and display current state in menu.
zas_
parents: 429
diff changeset
2298
5ddcf93278c7 Save Show Marks state to rc file and display current state in menu.
zas_
parents: 429
diff changeset
2299 action = gtk_action_group_get_action(lw->action_group, "ShowMarks");
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2300 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_marks);
451
1755b6c14d2b Mark slideshow toggle state in the menu.
zas_
parents: 450
diff changeset
2301
1755b6c14d2b Mark slideshow toggle state in the menu.
zas_
parents: 450
diff changeset
2302 action = gtk_action_group_get_action(lw->action_group, "SlideShow");
1755b6c14d2b Mark slideshow toggle state in the menu.
zas_
parents: 450
diff changeset
2303 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_image_slideshow_active(lw));
1293
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2304
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2305 action = gtk_action_group_get_action(lw->action_group, "ImageOverlay");
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2306 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), osd_flags != OSD_SHOW_NOTHING);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2307
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2308 action = gtk_action_group_get_action(lw->action_group, "ImageHistogram");
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2309 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), osd_flags & OSD_SHOW_HISTOGRAM);
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2310
1669
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2311 if (osd_flags & OSD_SHOW_HISTOGRAM)
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2312 {
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2313 action = gtk_action_group_get_action(lw->action_group, "HistogramChanR");
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2314 radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_channel(lw->image));
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2315
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2316 action = gtk_action_group_get_action(lw->action_group, "HistogramModeLin");
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2317 radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_mode(lw->image));
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2318 }
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2319
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2320 action = gtk_action_group_get_action(lw->action_group, "ConnectZoomMenu");
daab013a0dcf reordered View menu
nadvornik
parents: 1668
diff changeset
2321 gtk_action_set_sensitive(action, lw->split_mode != SPLIT_NONE);
1665
9a081164e6e3 improved overlay menu
nadvornik
parents: 1656
diff changeset
2322
1547
2a3efbdf73b0 moved color profiles from statusbar to View menu
nadvornik
parents: 1520
diff changeset
2323 layout_util_sync_color(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2324 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2325
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2326 void layout_util_sync_thumb(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2327 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2328 GtkAction *action;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2329
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2330 if (!lw->action_group) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2331
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2332 action = gtk_action_group_get_action(lw->action_group, "Thumbnails");
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2333 gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_thumbnails);
1412
5a534e1501e1 fixed saving of file_view_type
nadvornik
parents: 1411
diff changeset
2334 g_object_set(action, "sensitive", (lw->options.file_view_type == FILEVIEW_LIST), NULL);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2335 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2336
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2337 void layout_util_sync(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2338 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2339 layout_util_sync_views(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2340 layout_util_sync_thumb(lw);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2341 layout_menu_recent_update(lw);
1272
e0e12512cde2 read external editors from .desktop files
nadvornik
parents: 1268
diff changeset
2342 // layout_menu_edit_update(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2343 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2344
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2345
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2346 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2347 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2348 * sidebars
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2349 *-----------------------------------------------------------------------------
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2350 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2351
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2352 static gboolean layout_bar_enabled(LayoutWindow *lw)
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2353 {
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2354 return lw->bar && GTK_WIDGET_VISIBLE(lw->bar);
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2355 }
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2356
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2357 static void layout_bar_destroyed(GtkWidget *widget, gpointer data)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2358 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2359 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2360
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2361 lw->bar = NULL;
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2362 /*
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2363 do not call layout_util_sync_views(lw) here
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2364 this is called either when whole layout is destroyed - no need for update
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2365 or when the bar is replaced - sync is called by upper function at the end of whole operation
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2366
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2367 */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2368 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2369
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2370 static void layout_bar_set_default(LayoutWindow *lw)
489
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 482
diff changeset
2371 {
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2372 GtkWidget *bar;
489
3809ffa3567b Save state and width of exif, info and sort panels to rc file.
zas_
parents: 482
diff changeset
2373
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2374 if (!lw->utility_box) return;
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
2375
1484
9c16a93a0fdf improved sidebar configuration
nadvornik
parents: 1480
diff changeset
2376 bar = bar_new(lw);
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2377
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2378 layout_bar_set(lw, bar);
1484
9c16a93a0fdf improved sidebar configuration
nadvornik
parents: 1480
diff changeset
2379
9c16a93a0fdf improved sidebar configuration
nadvornik
parents: 1480
diff changeset
2380 bar_populate_default(bar);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2381 }
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 439
diff changeset
2382
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2383 static void layout_bar_close(LayoutWindow *lw)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2384 {
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2385 if (lw->bar)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2386 {
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2387 bar_close(lw->bar);
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2388 lw->bar = NULL;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2389 }
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2390 }
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2391
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2392
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2393 void layout_bar_set(LayoutWindow *lw, GtkWidget *bar)
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2394 {
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2395 if (!lw->utility_box) return;
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2396
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2397 layout_bar_close(lw); /* if any */
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2398
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2399 if (!bar) return;
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2400 lw->bar = bar;
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2401
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2402 g_signal_connect(G_OBJECT(lw->bar), "destroy",
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2403 G_CALLBACK(layout_bar_destroyed), lw);
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2404
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2405
1383
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2406 // gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->bar, FALSE, FALSE, 0);
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2407 gtk_paned_pack2(GTK_PANED(lw->utility_paned), lw->bar, FALSE, TRUE);
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2408
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2409 bar_set_fd(lw->bar, layout_image_get_fd(lw));
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2410 }
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2411
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2412
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2413 void layout_bar_toggle(LayoutWindow *lw)
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2414 {
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2415 if (layout_bar_enabled(lw))
1309
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2416 {
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2417 gtk_widget_hide(lw->bar);
55ea4962887a config file format changed to XML
nadvornik
parents: 1293
diff changeset
2418 }
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2419 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2420 {
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2421 if (!lw->bar)
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2422 {
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2423 layout_bar_set_default(lw);
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2424 }
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2425 gtk_widget_show(lw->bar);
1508
23d24af93ab0 set current fd when the bar is shown again
nadvornik
parents: 1484
diff changeset
2426 bar_set_fd(lw->bar, layout_image_get_fd(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2427 }
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2428 layout_util_sync_views(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2429 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2430
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2431 static void layout_bar_new_image(LayoutWindow *lw)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2432 {
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2433 if (!layout_bar_enabled(lw)) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2434
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2435 bar_set_fd(lw->bar, layout_image_get_fd(lw));
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2436 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2437
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2438 static void layout_bar_new_selection(LayoutWindow *lw, gint count)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2439 {
1317
cd7204a18f14 simplified and improved bar configuration
nadvornik
parents: 1309
diff changeset
2440 if (!layout_bar_enabled(lw)) return;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2441
1520
7216f4a45698 added pane_notify_selection to pane API
nadvornik
parents: 1513
diff changeset
2442 bar_notify_selection(lw->bar, count);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2443 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2444
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2445 static gboolean layout_bar_sort_enabled(LayoutWindow *lw)
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2446 {
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2447 return lw->bar_sort && GTK_WIDGET_VISIBLE(lw->bar_sort);
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2448 }
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2449
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2450
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2451 static void layout_bar_sort_destroyed(GtkWidget *widget, gpointer data)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2452 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2453 LayoutWindow *lw = data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2454
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2455 lw->bar_sort = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2456
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2457 /*
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2458 do not call layout_util_sync_views(lw) here
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2459 this is called either when whole layout is destroyed - no need for update
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2460 or when the bar is replaced - sync is called by upper function at the end of whole operation
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2461
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2462 */
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2463 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2464
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2465 static void layout_bar_sort_set_default(LayoutWindow *lw)
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2466 {
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2467 GtkWidget *bar;
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2468
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2469 if (!lw->utility_box) return;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2470
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2471 bar = bar_sort_new_default(lw);
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2472
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2473 layout_bar_sort_set(lw, bar);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2474 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2475
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2476 static void layout_bar_sort_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2477 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2478 if (lw->bar_sort)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2479 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2480 bar_sort_close(lw->bar_sort);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2481 lw->bar_sort = NULL;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2482 }
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2483 }
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2484
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2485 void layout_bar_sort_set(LayoutWindow *lw, GtkWidget *bar)
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2486 {
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2487 if (!lw->utility_box) return;
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2488
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2489 layout_bar_sort_close(lw); /* if any */
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2490
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2491 if (!bar) return;
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2492 lw->bar_sort = bar;
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2493
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2494 g_signal_connect(G_OBJECT(lw->bar_sort), "destroy",
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2495 G_CALLBACK(layout_bar_sort_destroyed), lw);
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2496
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2497 gtk_box_pack_end(GTK_BOX(lw->utility_box), lw->bar_sort, FALSE, FALSE, 0);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2498 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2499
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2500 void layout_bar_sort_toggle(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2501 {
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2502 if (layout_bar_sort_enabled(lw))
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2503 {
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2504 gtk_widget_hide(lw->bar_sort);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2505 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2506 else
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2507 {
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2508 if (!lw->bar_sort)
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2509 {
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2510 layout_bar_sort_set_default(lw);
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2511 }
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2512 gtk_widget_show(lw->bar_sort);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2513 }
1320
055ed09d5a03 improved bar_sort configuration
nadvornik
parents: 1318
diff changeset
2514 layout_util_sync_views(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2515 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2516
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2517 void layout_bars_new_image(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2518 {
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2519 layout_bar_new_image(lw);
1293
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2520
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2521 if (lw->exif_window) advanced_exif_set_fd(lw->exif_window, layout_image_get_fd(lw));
1214
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1176
diff changeset
2522
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1176
diff changeset
2523 /* this should be called here to handle the metadata edited in bars */
31402ecb2aed write metadata after timeout, image change or dir change
nadvornik
parents: 1176
diff changeset
2524 if (options->metadata.confirm_on_image_change)
1586
249b539cc952 force the metadata dialog if it was triggered by the menu or the button
nadvornik
parents: 1585
diff changeset
2525 metadata_write_queue_confirm(FALSE, NULL, NULL);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2526 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2527
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2528 void layout_bars_new_selection(LayoutWindow *lw, gint count)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2529 {
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2530 layout_bar_new_selection(lw, count);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2531 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2532
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2533 GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2534 {
1470
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2535 if (lw->utility_box) return lw->utility_box;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2536 lw->utility_box = gtk_hbox_new(FALSE, PREF_PAD_GAP);
1383
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2537 lw->utility_paned = gtk_hpaned_new();
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2538 gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0);
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2539
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2540 gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE);
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2541 gtk_widget_show(lw->utility_paned);
3c9abbc05792 use standard GtkHPaned for sidebar width
nadvornik
parents: 1375
diff changeset
2542
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2543 gtk_widget_show(image);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2544
1470
38925ff71a46 do not re-create ui_manager at layout change
nadvornik
parents: 1469
diff changeset
2545 g_object_ref(lw->utility_box);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2546 return lw->utility_box;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2547 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2548
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2549 void layout_bars_close(LayoutWindow *lw)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2550 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2551 layout_bar_sort_close(lw);
1291
50ae02a4a675 replaced bar_info with an universal bar, restored the original
nadvornik
parents: 1285
diff changeset
2552 layout_bar_close(lw);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2553 }
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2554
1293
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2555 static void layout_exif_window_destroy(GtkWidget *widget, gpointer data)
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2556 {
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2557 LayoutWindow *lw = data;
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2558 lw->exif_window = NULL;
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2559 }
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2560
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2561 void layout_exif_window_new(LayoutWindow *lw)
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2562 {
1433
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2563 if (lw->exif_window) return;
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2564
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2565 lw->exif_window = advanced_exif_new();
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2566 if (!lw->exif_window) return;
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2567 g_signal_connect(G_OBJECT(lw->exif_window), "destroy",
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2568 G_CALLBACK(layout_exif_window_destroy), lw);
b4ad1d201279 Use gboolean where applicable, minor cleanup and indentations fixes.
zas_
parents: 1412
diff changeset
2569 advanced_exif_set_fd(lw->exif_window, layout_image_get_fd(lw));
1293
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2570 }
48e064b37ba6 separated "normal" and advanced exif, "Normal" exif is now in the
nadvornik
parents: 1292
diff changeset
2571
1055
1646720364cf Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents: 1047
diff changeset
2572 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */