mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add the toolbar preference changes to window-reconcile.
Fixes Bug 796739 - Toolbar buttons have no labels, part 3 of 3.
This commit is contained in:
committed by
John Ralls
parent
a75eb4c8ec
commit
0199fef584
@@ -81,6 +81,8 @@ struct _RecnWindow
|
|||||||
|
|
||||||
GtkUIManager *ui_merge;
|
GtkUIManager *ui_merge;
|
||||||
GtkActionGroup *action_group;
|
GtkActionGroup *action_group;
|
||||||
|
GtkWidget *dock;
|
||||||
|
GtkWidget *toolbar;
|
||||||
|
|
||||||
GtkWidget *starting; /* The starting balance */
|
GtkWidget *starting; /* The starting balance */
|
||||||
GtkWidget *ending; /* The ending balance */
|
GtkWidget *ending; /* The ending balance */
|
||||||
@@ -1670,13 +1672,44 @@ recnWindow (GtkWidget *parent, Account *account)
|
|||||||
static void
|
static void
|
||||||
recnWindow_add_widget (GtkUIManager *merge,
|
recnWindow_add_widget (GtkUIManager *merge,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
GtkBox *dock)
|
RecnWindow *recnData)
|
||||||
{
|
{
|
||||||
gtk_box_pack_start (GTK_BOX (dock), widget, FALSE, FALSE, 0);
|
|
||||||
|
if (GTK_IS_TOOLBAR (widget))
|
||||||
|
{
|
||||||
|
recnData->toolbar = widget;
|
||||||
|
|
||||||
|
gtk_toolbar_set_style (GTK_TOOLBAR(widget),
|
||||||
|
gnc_prefs_get_int (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_STYLE));
|
||||||
|
|
||||||
|
// prefs has only small and large icons so add 2 to get right enum
|
||||||
|
gtk_toolbar_set_icon_size (GTK_TOOLBAR(widget),
|
||||||
|
(gnc_prefs_get_int (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_ICON_SIZE)) + 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_box_pack_start (GTK_BOX (recnData->dock), widget, FALSE, FALSE, 0);
|
||||||
gtk_widget_show (widget);
|
gtk_widget_show (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
recn_window_update_toolbar (gpointer prefs, gchar *pref, RecnWindow *recnData)
|
||||||
|
{
|
||||||
|
GtkToolbar *tb;
|
||||||
|
gint selection;
|
||||||
|
|
||||||
|
tb = GTK_TOOLBAR(recnData->toolbar);
|
||||||
|
|
||||||
|
selection = gnc_prefs_get_int (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_STYLE);
|
||||||
|
if (gtk_toolbar_get_style (tb) != selection)
|
||||||
|
gtk_toolbar_set_style (tb, selection);
|
||||||
|
|
||||||
|
selection = gnc_prefs_get_int (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_ICON_SIZE);
|
||||||
|
// prefs has only small and large icons so add 2 to get right enum
|
||||||
|
if (gtk_toolbar_get_icon_size (tb) != selection + 2)
|
||||||
|
gtk_toolbar_set_icon_size (tb, selection + 2);
|
||||||
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* recnWindowWithBalance
|
* recnWindowWithBalance
|
||||||
*
|
*
|
||||||
@@ -1743,8 +1776,9 @@ recnWindowWithBalance (Account *account, gnc_numeric new_ending,
|
|||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
recnData->ui_merge = gtk_ui_manager_new ();
|
recnData->ui_merge = gtk_ui_manager_new ();
|
||||||
|
recnData->dock = dock;
|
||||||
g_signal_connect (recnData->ui_merge, "add_widget",
|
g_signal_connect (recnData->ui_merge, "add_widget",
|
||||||
G_CALLBACK (recnWindow_add_widget), dock);
|
G_CALLBACK (recnWindow_add_widget), recnData);
|
||||||
|
|
||||||
action_group = gtk_action_group_new ("ReconcileWindowActions");
|
action_group = gtk_action_group_new ("ReconcileWindowActions");
|
||||||
recnData->action_group = action_group;
|
recnData->action_group = action_group;
|
||||||
@@ -1922,6 +1956,13 @@ recnWindowWithBalance (Account *account, gnc_numeric new_ending,
|
|||||||
recnRefresh (recnData);
|
recnRefresh (recnData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* track toolbar preference changes */
|
||||||
|
gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_STYLE,
|
||||||
|
recn_window_update_toolbar, recnData);
|
||||||
|
|
||||||
|
gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_ICON_SIZE,
|
||||||
|
recn_window_update_toolbar, recnData);
|
||||||
|
|
||||||
/* Allow resize */
|
/* Allow resize */
|
||||||
gtk_window_set_resizable(GTK_WINDOW(recnData->window), TRUE);
|
gtk_window_set_resizable(GTK_WINDOW(recnData->window), TRUE);
|
||||||
gtk_widget_show_all(recnData->window);
|
gtk_widget_show_all(recnData->window);
|
||||||
@@ -1993,6 +2034,12 @@ recn_destroy_cb (GtkWidget *w, gpointer data)
|
|||||||
if (recnData->delete_refresh)
|
if (recnData->delete_refresh)
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
|
||||||
|
gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_STYLE,
|
||||||
|
recn_window_update_toolbar, recnData);
|
||||||
|
|
||||||
|
gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL, GNC_PREF_TOOLBAR_ICON_SIZE,
|
||||||
|
recn_window_update_toolbar, recnData);
|
||||||
|
|
||||||
g_free (recnData);
|
g_free (recnData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user