Skip to content

Commit ad4c3f6

Browse files
committed
Merge Simon Arlott 'jump-multiple-splits' into stable
2 parents 6f722be + c23d8cd commit ad4c3f6

16 files changed

+422
-57
lines changed

gnucash/gnome-utils/dialog-preferences.c

+30-24
Original file line numberDiff line numberDiff line change
@@ -781,14 +781,18 @@ gnc_prefs_sort_pages (GtkNotebook *notebook)
781781
/*******************************/
782782

783783
static void
784-
gnc_prefs_split_widget_name (const gchar *name, gchar **group, gchar **pref)
784+
gnc_prefs_split_widget_name (const gchar *name, gchar **group, gchar **pref, gchar **value)
785785
{
786786
const gchar *group_with_pref = name + PREF_PREFIX_LEN;
787787
gchar **splits = g_strsplit (group_with_pref, "/", 0);
788+
gchar **value_splits = g_strsplit (splits[1], "=", 0);
788789

789790
*group = g_strdup (splits[0]);
790-
*pref = g_strdup (splits[1]);
791+
*pref = g_strdup (value_splits[0]);
792+
if (value)
793+
*value = g_strdup (value_splits[1]); /* may be NULL */
791794
g_strfreev (splits);
795+
g_strfreev (value_splits);
792796
}
793797

794798
/****************************************************************************/
@@ -806,8 +810,8 @@ gnc_prefs_connect_font_button (GtkFontButton *fb)
806810

807811
g_return_if_fail (GTK_IS_FONT_BUTTON(fb));
808812

809-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(fb)), &group, &pref);
810-
gnc_prefs_bind (group, pref, G_OBJECT (fb), "font-name");
813+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(fb)), &group, &pref, NULL);
814+
gnc_prefs_bind (group, pref, NULL, G_OBJECT (fb), "font-name");
811815

812816
g_free (group);
813817
g_free (pref);
@@ -873,9 +877,9 @@ gnc_prefs_connect_file_chooser_button (GtkFileChooserButton *fcb, const gchar *b
873877
g_return_if_fail (GTK_FILE_CHOOSER_BUTTON(fcb));
874878

875879
if (boxname == NULL)
876-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(fcb)), &group, &pref);
880+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(fcb)), &group, &pref, NULL);
877881
else
878-
gnc_prefs_split_widget_name (boxname, &group, &pref);
882+
gnc_prefs_split_widget_name (boxname, &group, &pref, NULL);
879883

880884
uri = gnc_prefs_get_string (group, pref);
881885

@@ -990,16 +994,17 @@ file_chooser_clear_cb (GtkButton *button, gpointer user_data)
990994
static void
991995
gnc_prefs_connect_radio_button (GtkRadioButton *button)
992996
{
993-
gchar *group, *pref;
997+
gchar *group, *pref, *value;
994998

995999
g_return_if_fail (GTK_IS_RADIO_BUTTON(button));
9961000

997-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(button)), &group, &pref);
1001+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(button)), &group, &pref, &value);
9981002

999-
gnc_prefs_bind (group, pref, G_OBJECT(button), "active");
1003+
gnc_prefs_bind (group, pref, value, G_OBJECT(button), "active");
10001004

10011005
g_free (group);
10021006
g_free (pref);
1007+
g_free (value);
10031008
}
10041009

10051010
/****************************************************************************/
@@ -1014,16 +1019,17 @@ gnc_prefs_connect_radio_button (GtkRadioButton *button)
10141019
static void
10151020
gnc_prefs_connect_check_button (GtkCheckButton *button)
10161021
{
1017-
gchar *group, *pref;
1022+
gchar *group, *pref, *value;
10181023

10191024
g_return_if_fail (GTK_IS_CHECK_BUTTON(button));
10201025

1021-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(button)), &group, &pref);
1026+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(button)), &group, &pref, &value);
10221027

1023-
gnc_prefs_bind (group, pref, G_OBJECT(button), "active");
1028+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(button), "active");
10241029

10251030
g_free (group);
10261031
g_free (pref);
1032+
g_free (value);
10271033
}
10281034

10291035
/****************************************************************************/
@@ -1042,9 +1048,9 @@ gnc_prefs_connect_spin_button (GtkSpinButton *spin)
10421048

10431049
g_return_if_fail (GTK_IS_SPIN_BUTTON(spin));
10441050

1045-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(spin)), &group, &pref);
1051+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(spin)), &group, &pref, NULL);
10461052

1047-
gnc_prefs_bind (group, pref, G_OBJECT(spin), "value");
1053+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(spin), "value");
10481054

10491055
g_free (group);
10501056
g_free (pref);
@@ -1065,9 +1071,9 @@ gnc_prefs_connect_combo_box (GtkComboBox *box)
10651071

10661072
g_return_if_fail (GTK_IS_COMBO_BOX(box));
10671073

1068-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(box)), &group, &pref);
1074+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(box)), &group, &pref, NULL);
10691075

1070-
gnc_prefs_bind (group, pref, G_OBJECT(box), "active");
1076+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(box), "active");
10711077

10721078
g_free (group);
10731079
g_free (pref);
@@ -1088,9 +1094,9 @@ gnc_prefs_connect_currency_edit (GNCCurrencyEdit *gce, const gchar *boxname )
10881094

10891095
g_return_if_fail (GNC_IS_CURRENCY_EDIT(gce));
10901096

1091-
gnc_prefs_split_widget_name (boxname, &group, &pref);
1097+
gnc_prefs_split_widget_name (boxname, &group, &pref, NULL);
10921098

1093-
gnc_prefs_bind (group, pref, G_OBJECT(gce), "mnemonic");
1099+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(gce), "mnemonic");
10941100

10951101
g_free (group);
10961102
g_free (pref);
@@ -1113,9 +1119,9 @@ gnc_prefs_connect_entry (GtkEntry *entry)
11131119

11141120
g_return_if_fail (GTK_IS_ENTRY(entry));
11151121

1116-
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(entry)), &group, &pref);
1122+
gnc_prefs_split_widget_name (gtk_buildable_get_name (GTK_BUILDABLE(entry)), &group, &pref, NULL);
11171123

1118-
gnc_prefs_bind (group, pref, G_OBJECT(entry), "text");
1124+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(entry), "text");
11191125

11201126
g_free (group);
11211127
g_free (pref);
@@ -1136,9 +1142,9 @@ gnc_prefs_connect_period_select (GncPeriodSelect *period, const gchar *boxname )
11361142

11371143
g_return_if_fail (GNC_IS_PERIOD_SELECT(period));
11381144

1139-
gnc_prefs_split_widget_name (boxname, &group, &pref);
1145+
gnc_prefs_split_widget_name (boxname, &group, &pref, NULL);
11401146

1141-
gnc_prefs_bind (group, pref, G_OBJECT(period), "active");
1147+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(period), "active");
11421148

11431149
g_free (group);
11441150
g_free (pref);
@@ -1159,9 +1165,9 @@ gnc_prefs_connect_date_edit (GNCDateEdit *gde , const gchar *boxname )
11591165

11601166
g_return_if_fail (GNC_IS_DATE_EDIT(gde));
11611167

1162-
gnc_prefs_split_widget_name (boxname, &group, &pref);
1168+
gnc_prefs_split_widget_name (boxname, &group, &pref, NULL);
11631169

1164-
gnc_prefs_bind (group, pref, G_OBJECT(gde), "time");
1170+
gnc_prefs_bind (group, pref, NULL, G_OBJECT(gde), "time");
11651171

11661172
g_free (group);
11671173
g_free (pref);

gnucash/gnome-utils/dialog-utils.c

+1-7
Original file line numberDiff line numberDiff line change
@@ -749,18 +749,12 @@ gnc_dialog_run (GtkDialog *dialog, const gchar *pref_name)
749749
return response;
750750

751751
/* Add in the checkboxes to find out if the answer should be remembered. */
752-
#if 0
753752
if (GTK_IS_MESSAGE_DIALOG(dialog))
754753
{
755754
GtkMessageType type;
756755
g_object_get(dialog, "message-type", &type, (gchar*)NULL);
757-
ask = (type == GTK_MESSAGE_QUESTION);
756+
ask = (type == GTK_MESSAGE_QUESTION || type == GTK_MESSAGE_WARNING);
758757
}
759-
else
760-
{
761-
ask = FALSE;
762-
}
763-
#endif
764758
perm = gtk_check_button_new_with_mnemonic
765759
(ask
766760
? _("Remember and don't _ask me again.")

gnucash/gnome/dialog-lot-viewer.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -1129,10 +1129,10 @@ lv_create (GNCLotViewer *lv, GtkWindow *parent)
11291129
{
11301130
GObject *object;
11311131
object = gtk_builder_get_object (builder, "lot_vpaned");
1132-
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_VPOS, object, "position");
1132+
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_VPOS, NULL, object, "position");
11331133

11341134
object = gtk_builder_get_object (builder, "lot_hpaned");
1135-
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_HPOS, object, "position");
1135+
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_HPOS, NULL, object, "position");
11361136
}
11371137

11381138
lv->selected_lot = NULL;

gnucash/gnome/dialog-tax-info.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1509,7 +1509,7 @@ gnc_tax_info_dialog_create (GtkWidget * parent, TaxInfoDialog *ti_dialog)
15091509
if (gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, GNC_PREF_SAVE_GEOMETRY))
15101510
{
15111511
GObject *object = gtk_builder_get_object (builder, "paned");
1512-
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_PANED_POS, object, "position");
1512+
gnc_prefs_bind (GNC_PREFS_GROUP, GNC_PREF_PANED_POS, NULL, object, "position");
15131513
}
15141514
g_object_unref (builder);
15151515
}

gnucash/gnome/gnc-plugin-business.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,7 @@ bind_extra_toolbuttons_visibility (GncMainWindow *mainwindow)
968968
{
969969
gnc_prefs_bind (GNC_PREFS_GROUP_INVOICE,
970970
GNC_PREF_EXTRA_TOOLBUTTONS,
971-
G_OBJECT(tool_item), "visible");
971+
NULL, G_OBJECT(tool_item), "visible");
972972
}
973973
}
974974

@@ -984,7 +984,7 @@ bind_extra_toolbuttons_visibility (GncMainWindow *mainwindow)
984984
{
985985
gnc_prefs_bind (GNC_PREFS_GROUP_INVOICE,
986986
GNC_PREF_EXTRA_TOOLBUTTONS,
987-
G_OBJECT(tool_item), "visible");
987+
NULL, G_OBJECT(tool_item), "visible");
988988
}
989989
}
990990
}

0 commit comments

Comments
 (0)