mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
src/gnome-utils/gnc-main-window.c: Add gnc workaround function for
errorneous gtk_action_group_set_translation_domain. Fixes the statusbar-tooltip error mentioned on 2006-01-07. Filed in gtk as bug#326200. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12295 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
e5a2e3b155
commit
8b2ba203b1
@ -1,3 +1,10 @@
|
|||||||
|
2006-01-08 Christian Stimming <stimming@tuhh.de>
|
||||||
|
|
||||||
|
* src/gnome-utils/gnc-main-window.c: Add gnc workaround function
|
||||||
|
for errorneous gtk_action_group_set_translation_domain. Fixes the
|
||||||
|
statusbar-tooltip error mentioned on 2006-01-07. Filed in gtk as
|
||||||
|
bug#326200.
|
||||||
|
|
||||||
2006-01-07 David Hampton <hampton@employees.org>
|
2006-01-07 David Hampton <hampton@employees.org>
|
||||||
|
|
||||||
* src/report/standard-reports/account-summary.scm: Copy the table
|
* src/report/standard-reports/account-summary.scm: Copy the table
|
||||||
|
@ -369,7 +369,7 @@ gnc_embedded_window_new (const gchar *action_group_name,
|
|||||||
|
|
||||||
/* Create menu and toolbar information */
|
/* Create menu and toolbar information */
|
||||||
priv->action_group = gtk_action_group_new (action_group_name);
|
priv->action_group = gtk_action_group_new (action_group_name);
|
||||||
gtk_action_group_set_translation_domain(priv->action_group, GETTEXT_PACKAGE);
|
gnc_gtk_action_group_set_translation_domain(priv->action_group, GETTEXT_PACKAGE);
|
||||||
gtk_action_group_add_actions (priv->action_group, action_entries,
|
gtk_action_group_add_actions (priv->action_group, action_entries,
|
||||||
n_action_entries, user_data);
|
n_action_entries, user_data);
|
||||||
gtk_ui_manager_insert_action_group (window->ui_merge, priv->action_group, 0);
|
gtk_ui_manager_insert_action_group (window->ui_merge, priv->action_group, 0);
|
||||||
|
@ -2158,7 +2158,7 @@ gnc_main_window_merge_actions (GncMainWindow *window,
|
|||||||
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
|
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
|
||||||
entry = g_new0 (MergedActionEntry, 1);
|
entry = g_new0 (MergedActionEntry, 1);
|
||||||
entry->action_group = gtk_action_group_new (group_name);
|
entry->action_group = gtk_action_group_new (group_name);
|
||||||
gtk_action_group_set_translation_domain (entry->action_group, GETTEXT_PACKAGE);
|
gnc_gtk_action_group_set_translation_domain (entry->action_group, GETTEXT_PACKAGE);
|
||||||
gtk_action_group_add_actions (entry->action_group, actions, n_actions, data);
|
gtk_action_group_add_actions (entry->action_group, actions, n_actions, data);
|
||||||
gtk_ui_manager_insert_action_group (window->ui_merge, entry->action_group, 0);
|
gtk_ui_manager_insert_action_group (window->ui_merge, entry->action_group, 0);
|
||||||
entry->merge_id = gtk_ui_manager_add_ui_from_file (window->ui_merge, pathname, &error);
|
entry->merge_id = gtk_ui_manager_add_ui_from_file (window->ui_merge, pathname, &error);
|
||||||
@ -2466,7 +2466,7 @@ gnc_main_window_setup_window (GncMainWindow *window)
|
|||||||
|
|
||||||
/* Create menu and toolbar information */
|
/* Create menu and toolbar information */
|
||||||
priv->action_group = gtk_action_group_new ("MainWindowActions");
|
priv->action_group = gtk_action_group_new ("MainWindowActions");
|
||||||
gtk_action_group_set_translation_domain (priv->action_group, GETTEXT_PACKAGE);
|
gnc_gtk_action_group_set_translation_domain (priv->action_group, GETTEXT_PACKAGE);
|
||||||
gtk_action_group_add_actions (priv->action_group, gnc_menu_actions,
|
gtk_action_group_add_actions (priv->action_group, gnc_menu_actions,
|
||||||
gnc_menu_n_actions, window);
|
gnc_menu_n_actions, window);
|
||||||
gtk_action_group_add_toggle_actions (priv->action_group,
|
gtk_action_group_add_toggle_actions (priv->action_group,
|
||||||
@ -3270,5 +3270,37 @@ gnc_main_window_button_press_cb (GtkWidget *whatever,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* CS: Code copied from gtk/gtkactiongroup.c */
|
||||||
|
static gchar *
|
||||||
|
dgettext_swapped (const gchar *msgid,
|
||||||
|
const gchar *domainname)
|
||||||
|
{
|
||||||
|
/* CS: Pass this through dgettext if and only if msgid is
|
||||||
|
nonempty. */
|
||||||
|
return (msgid && *msgid) ? dgettext (domainname, msgid) : (gchar*) msgid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is copied into GnuCash from Gtk in order to fix problems when
|
||||||
|
* empty msgids were passed through gettext().
|
||||||
|
*
|
||||||
|
* See http://bugzilla.gnome.org/show_bug.cgi?id=326200 . If that bug
|
||||||
|
* is fixed in the gtk that we can rely open, then
|
||||||
|
* gnc_gtk_action_group_set_translation_domain can be replaced by
|
||||||
|
* gtk_action_group_set_translation_domain again.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gnc_gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
|
||||||
|
const gchar *domain)
|
||||||
|
{
|
||||||
|
g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
|
||||||
|
|
||||||
|
gtk_action_group_set_translate_func (action_group,
|
||||||
|
(GtkTranslateFunc)dgettext_swapped,
|
||||||
|
g_strdup (domain),
|
||||||
|
g_free);
|
||||||
|
}
|
||||||
|
/* CS: End of code copied from gtk/gtkactiongroup.c */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
/** @} */
|
/** @} */
|
||||||
|
@ -273,6 +273,28 @@ void gnc_main_window_set_progressbar_window( GncMainWindow *window );
|
|||||||
gboolean gnc_main_window_button_press_cb (GtkWidget *whatever,
|
gboolean gnc_main_window_button_press_cb (GtkWidget *whatever,
|
||||||
GdkEventButton *event,
|
GdkEventButton *event,
|
||||||
GncPluginPage *page);
|
GncPluginPage *page);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gnc_gtk_action_group_set_translation_domain:
|
||||||
|
* @action_group: a #GtkActionGroup
|
||||||
|
* @domain: the translation domain to use for dgettext() calls
|
||||||
|
*
|
||||||
|
* Sets the translation domain and uses dgettext() for translating the
|
||||||
|
* @label and @tooltip of #GtkActionEntry<!-- -->s added by
|
||||||
|
* gtk_action_group_add_actions().
|
||||||
|
*
|
||||||
|
* This is copied from gtk's gtk_action_group_set_translation_domain()
|
||||||
|
* into GnuCash in order to fix problems when empty msgids were passed
|
||||||
|
* through gettext().
|
||||||
|
*
|
||||||
|
* See http://bugzilla.gnome.org/show_bug.cgi?id=326200 . If that bug
|
||||||
|
* is fixed in the gtk that we can rely open, then
|
||||||
|
* gnc_gtk_action_group_set_translation_domain can be replaced by
|
||||||
|
* gtk_action_group_set_translation_domain again.
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
gnc_gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
|
||||||
|
const gchar *domain);
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GNC_MAIN_WINDOW_H */
|
#endif /* __GNC_MAIN_WINDOW_H */
|
||||||
|
@ -438,7 +438,7 @@ gnc_plugin_menu_additions_add_to_window (GncPlugin *plugin,
|
|||||||
per_window.window = window;
|
per_window.window = window;
|
||||||
per_window.ui_manager = window->ui_merge;
|
per_window.ui_manager = window->ui_merge;
|
||||||
per_window.group = gtk_action_group_new ("MenuAdditions" );
|
per_window.group = gtk_action_group_new ("MenuAdditions" );
|
||||||
gtk_action_group_set_translation_domain (per_window.group, GETTEXT_PACKAGE);
|
gnc_gtk_action_group_set_translation_domain (per_window.group, GETTEXT_PACKAGE);
|
||||||
per_window.merge_id = gtk_ui_manager_new_merge_id(window->ui_merge);
|
per_window.merge_id = gtk_ui_manager_new_merge_id(window->ui_merge);
|
||||||
gtk_ui_manager_insert_action_group(window->ui_merge, per_window.group, 0);
|
gtk_ui_manager_insert_action_group(window->ui_merge, per_window.group, 0);
|
||||||
|
|
||||||
|
@ -913,7 +913,7 @@ gnc_plugin_page_create_action_group (GncPluginPage *page, const gchar *group_nam
|
|||||||
|
|
||||||
priv = GNC_PLUGIN_PAGE_GET_PRIVATE(page);
|
priv = GNC_PLUGIN_PAGE_GET_PRIVATE(page);
|
||||||
group = gtk_action_group_new(group_name);
|
group = gtk_action_group_new(group_name);
|
||||||
gtk_action_group_set_translation_domain(group, GETTEXT_PACKAGE);
|
gnc_gtk_action_group_set_translation_domain(group, GETTEXT_PACKAGE);
|
||||||
priv->action_group = group;
|
priv->action_group = group;
|
||||||
return group;
|
return group;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user