r20690 - gnucash/trunk/src/gnome-utils - Separate window menu to separate ui file, separate function load function called only when not using MAC_INTEGRATION.
John Ralls
jralls at code.gnucash.org
Thu May 26 19:13:45 EDT 2011
Author: jralls
Date: 2011-05-26 19:13:45 -0400 (Thu, 26 May 2011)
New Revision: 20690
Trac: http://svn.gnucash.org/trac/changeset/20690
Modified:
gnucash/trunk/src/gnome-utils/gnc-main-window.c
gnucash/trunk/src/gnome-utils/ui/Makefile.am
gnucash/trunk/src/gnome-utils/ui/gnc-main-window-ui.xml
Log:
Separate window menu to separate ui file, separate function load function called only when not using MAC_INTEGRATION.
Quartz takes care of this on its own, and having Gnucash do it too creates two lists. The old approach, of just ifdeffing away the actions, worked but caused the trace log to fill up with "action missing" errors.
Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c 2011-05-24 20:35:37 UTC (rev 20689)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c 2011-05-26 23:13:45 UTC (rev 20690)
@@ -3221,6 +3221,32 @@
/* CS: end copied code from gtk+/test/testmerge.c */
static void
+gnc_main_window_window_menu (GncMainWindow *window)
+{
+ GncMainWindowPrivate *priv;
+ guint merge_id;
+#ifdef MAC_INTEGRATION
+ gchar *filename = gnc_gnome_locate_ui_file("gnc-window-menu-ui-quartz.xml");
+#else
+ gchar *filename = gnc_gnome_locate_ui_file("gnc-window-menu-ui.xml");
+#endif
+ GError *error = NULL;
+ g_assert(filename);
+ merge_id = gtk_ui_manager_add_ui_from_file(window->ui_merge, filename,
+ &error);
+ g_free(filename);
+ g_assert(merge_id);
+#ifndef MAC_INTEGRATION
+ priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
+ gtk_action_group_add_radio_actions (priv->action_group,
+ radio_entries, n_radio_entries,
+ 0,
+ G_CALLBACK(gnc_main_window_cmd_window_raise),
+ window);
+#endif
+};
+
+static void
gnc_main_window_setup_window (GncMainWindow *window)
{
GncMainWindowPrivate *priv;
@@ -3334,7 +3360,7 @@
g_assert(merge_id != 0);
}
g_free(filename);
-
+ gnc_main_window_window_menu(window);
gnc_gconf_add_notification(G_OBJECT(window), GCONF_GENERAL,
gnc_main_window_gconf_changed,
GNC_MAIN_WINDOW_NAME);
Modified: gnucash/trunk/src/gnome-utils/ui/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/ui/Makefile.am 2011-05-24 20:35:37 UTC (rev 20689)
+++ gnucash/trunk/src/gnome-utils/ui/Makefile.am 2011-05-26 23:13:45 UTC (rev 20690)
@@ -1,6 +1,8 @@
uidir = $(GNC_UI_DIR)
ui_DATA = \
gnc-main-window-ui.xml \
+ gnc-windows-menu-ui.xml \
+ gnc-windows-menu-ui-quartz.xml \
osx_accel_map
EXTRA_DIST = $(ui_DATA)
Modified: gnucash/trunk/src/gnome-utils/ui/gnc-main-window-ui.xml
===================================================================
--- gnucash/trunk/src/gnome-utils/ui/gnc-main-window-ui.xml 2011-05-24 20:35:37 UTC (rev 20689)
+++ gnucash/trunk/src/gnome-utils/ui/gnc-main-window-ui.xml 2011-05-26 23:13:45 UTC (rev 20690)
@@ -107,21 +107,8 @@
<placeholder name="ExtensionsPlaceholder"/>
</menu>
- <menu name="Windows" action="WindowsAction">
- <menuitem name="WindowNew" action="WindowNewAction"/>
- <menuitem name="WindowMovePage" action="WindowMovePageAction"/>
- <separator name="ViewSep4"/>
- <menuitem name="Window0" action="Window0Action"/>
- <menuitem name="Window1" action="Window1Action"/>
- <menuitem name="Window2" action="Window2Action"/>
- <menuitem name="Window3" action="Window3Action"/>
- <menuitem name="Window4" action="Window4Action"/>
- <menuitem name="Window5" action="Window5Action"/>
- <menuitem name="Window6" action="Window6Action"/>
- <menuitem name="Window7" action="Window7Action"/>
- <menuitem name="Window8" action="Window8Action"/>
- <menuitem name="Window9" action="Window9Action"/>
- <placeholder name="WindowsPlaceholder"/>
+ <menu name="Windows" action="WindowsAction" >
+ <placeholder name= "WindowPlaceholder"/>
</menu>
<menu name="Help" action="HelpAction">
More information about the gnucash-changes
mailing list