|
|
|
|
@ -555,6 +555,92 @@ gnc_prefs_sort_pages (GtkNotebook *notebook)
|
|
|
|
|
/*******************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** The user changed a GtkFontButton. Update gconf. Font selection
|
|
|
|
|
* choices are stored as a string.
|
|
|
|
|
*
|
|
|
|
|
* @internal
|
|
|
|
|
*
|
|
|
|
|
* @param gde A pointer to the GtkFontButton that was changed.
|
|
|
|
|
*
|
|
|
|
|
* @param user_data Unused.
|
|
|
|
|
*/
|
|
|
|
|
static void
|
|
|
|
|
gnc_prefs_font_button_user_cb (GtkFontButton *fb,
|
|
|
|
|
gpointer user_data)
|
|
|
|
|
{
|
|
|
|
|
const gchar *key, *font;
|
|
|
|
|
time_t time;
|
|
|
|
|
|
|
|
|
|
g_return_if_fail(GTK_IS_FONT_BUTTON(fb));
|
|
|
|
|
key = gtk_widget_get_name(GTK_WIDGET(fb)) + PREFIX_LEN;
|
|
|
|
|
font = gtk_font_button_get_font_name(fb);
|
|
|
|
|
|
|
|
|
|
DEBUG("font_button %s set", key);
|
|
|
|
|
gnc_gconf_set_string(key, NULL, font, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** A GtkFontButton choice was updated in gconf. Update the user
|
|
|
|
|
* visible dialog.
|
|
|
|
|
*
|
|
|
|
|
* @internal
|
|
|
|
|
*
|
|
|
|
|
* @param gde A pointer to the GtkFontButton that changed.
|
|
|
|
|
*
|
|
|
|
|
* @param value The new value of the GtkFontButton.
|
|
|
|
|
*/
|
|
|
|
|
static void
|
|
|
|
|
gnc_prefs_font_button_gconf_cb (GtkFontButton *fb,
|
|
|
|
|
GConfEntry *entry)
|
|
|
|
|
{
|
|
|
|
|
const gchar *font;
|
|
|
|
|
|
|
|
|
|
g_return_if_fail(GTK_IS_FONT_BUTTON(fb));
|
|
|
|
|
ENTER("fb %p, entry %p", fb, entry);
|
|
|
|
|
|
|
|
|
|
font = gconf_value_get_string(entry->value);
|
|
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(fb),
|
|
|
|
|
G_CALLBACK(gnc_prefs_font_button_user_cb),
|
|
|
|
|
NULL);
|
|
|
|
|
gtk_font_button_set_font_name(fb, font);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(fb),
|
|
|
|
|
G_CALLBACK(gnc_prefs_font_button_user_cb), NULL);
|
|
|
|
|
LEAVE(" ");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Connect a GtkFontButton widget to the user callback function. Set
|
|
|
|
|
* the font from its value in gconf.
|
|
|
|
|
*
|
|
|
|
|
* @internal
|
|
|
|
|
*
|
|
|
|
|
* @param gde A pointer to the date_edit that should be connected.
|
|
|
|
|
*/
|
|
|
|
|
static void
|
|
|
|
|
gnc_prefs_connect_font_button (GtkFontButton *fb)
|
|
|
|
|
{
|
|
|
|
|
const gchar *name, *font;
|
|
|
|
|
|
|
|
|
|
g_return_if_fail(GTK_IS_FONT_BUTTON(fb));
|
|
|
|
|
|
|
|
|
|
/* Lookup font name based upon gconf setting */
|
|
|
|
|
name = gtk_widget_get_name(GTK_WIDGET(fb)) + PREFIX_LEN;
|
|
|
|
|
font = gnc_gconf_get_string(name, NULL, NULL);
|
|
|
|
|
|
|
|
|
|
gtk_font_button_set_font_name(fb, font);
|
|
|
|
|
DEBUG(" font_button %s set", name);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(fb), "font_set",
|
|
|
|
|
G_CALLBACK(gnc_prefs_font_button_user_cb), NULL);
|
|
|
|
|
|
|
|
|
|
gtk_widget_show_all(GTK_WIDGET(fb));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** The user clicked on a radio button. Update gconf. Radio button
|
|
|
|
|
* group choices are stored as a string. The last component of the
|
|
|
|
|
* widget name is the string that will be stored. I.E. The widget name
|
|
|
|
|
@ -1305,6 +1391,9 @@ gnc_prefs_connect_one (const gchar *name,
|
|
|
|
|
} else if (GNC_IS_DATE_EDIT(widget)) {
|
|
|
|
|
DEBUG(" %s - date_edit", name);
|
|
|
|
|
gnc_prefs_connect_date_edit(GNC_DATE_EDIT(widget));
|
|
|
|
|
} else if (GTK_IS_FONT_BUTTON(widget)) {
|
|
|
|
|
DEBUG(" %s - entry", name);
|
|
|
|
|
gnc_prefs_connect_font_button(GTK_FONT_BUTTON(widget));
|
|
|
|
|
} else if (GTK_IS_RADIO_BUTTON(widget)) {
|
|
|
|
|
DEBUG(" %s - radio button", name);
|
|
|
|
|
gnc_prefs_connect_radio_button(GTK_RADIO_BUTTON(widget));
|
|
|
|
|
@ -1518,6 +1607,9 @@ gnc_preferences_gconf_changed (GConfClient *client,
|
|
|
|
|
} else if (GNC_IS_DATE_EDIT(widget)) {
|
|
|
|
|
DEBUG("widget %p - date_edit", widget);
|
|
|
|
|
gnc_prefs_date_edit_gconf_cb(GNC_DATE_EDIT(widget), entry);
|
|
|
|
|
} else if (GTK_IS_FONT_BUTTON(widget)) {
|
|
|
|
|
DEBUG("widget %p - font button", widget);
|
|
|
|
|
gnc_prefs_font_button_gconf_cb(GTK_FONT_BUTTON(widget), entry);
|
|
|
|
|
} else if (GTK_IS_RADIO_BUTTON(widget)) {
|
|
|
|
|
DEBUG("widget %p - radio button", widget);
|
|
|
|
|
gnc_prefs_radio_button_gconf_cb(GTK_RADIO_BUTTON(widget));
|
|
|
|
|
|