diff options
author | Ramiro Estrugo <ramiro@src.gnome.org> | 2001-03-31 06:23:12 +0000 |
---|---|---|
committer | Ramiro Estrugo <ramiro@src.gnome.org> | 2001-03-31 06:23:12 +0000 |
commit | e073afed03d085692fed247ee173a7ee20407a73 (patch) | |
tree | da4ad6ecf444bfc32371d9061fea5ae943631821 | |
parent | 02581d8cb9cadc51714433c60bcd4d3869696597 (diff) | |
download | nautilus-e073afed03d085692fed247ee173a7ee20407a73.tar.gz |
reviewed by: John Harper <jsh@eazel.com>
* libnautilus-extensions/nautilus-preferences-item.c:
(preferences_item_value_changed_callback),
(preferences_item_create_enum),
(preferences_item_create_short_enum),
(preferences_item_create_boolean),
(preferences_item_create_editable_string),
(preferences_item_create_editable_integer),
(preferences_item_create_constrained_integer),
(preferences_item_create_font),
(preferences_item_create_smooth_font):
Add value changed callbacks for the preference associated with
each item. In this callback, we update the diplay value of the
item. This way, regardless of when and where the preference
values change, the preferences dialog will always be up to date.
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | libnautilus-extensions/nautilus-preferences-item.c | 53 | ||||
-rw-r--r-- | libnautilus-private/nautilus-preferences-item.c | 53 |
3 files changed, 123 insertions, 2 deletions
@@ -1,5 +1,24 @@ 2001-03-30 Ramiro Estrugo <ramiro@eazel.com> + reviewed by: John Harper <jsh@eazel.com> + + * libnautilus-extensions/nautilus-preferences-item.c: + (preferences_item_value_changed_callback), + (preferences_item_create_enum), + (preferences_item_create_short_enum), + (preferences_item_create_boolean), + (preferences_item_create_editable_string), + (preferences_item_create_editable_integer), + (preferences_item_create_constrained_integer), + (preferences_item_create_font), + (preferences_item_create_smooth_font): + Add value changed callbacks for the preference associated with + each item. In this callback, we update the diplay value of the + item. This way, regardless of when and where the preference + values change, the preferences dialog will always be up to date. + +2001-03-30 Ramiro Estrugo <ramiro@eazel.com> + * libnautilus-extensions/nautilus-preferences-item.c: (preferences_item_update_constrained_integer): Remove a rogue printf I left in by accident. diff --git a/libnautilus-extensions/nautilus-preferences-item.c b/libnautilus-extensions/nautilus-preferences-item.c index 1dcd17f4f..4fe711eac 100644 --- a/libnautilus-extensions/nautilus-preferences-item.c +++ b/libnautilus-extensions/nautilus-preferences-item.c @@ -239,6 +239,17 @@ preferences_item_update_enum (NautilusPreferencesItem *item) } } +/* This callback is called whenever the preference value changes, so that we can + * update the item widgets accordingly. + */ +static void +preferences_item_value_changed_callback (gpointer callback_data) +{ + g_return_if_fail (NAUTILUS_IS_PREFERENCES_ITEM (callback_data)); + + nautilus_preferences_item_update_displayed_value (NAUTILUS_PREFERENCES_ITEM (callback_data)); +} + static void preferences_item_create_enum (NautilusPreferencesItem *item, const char *preference_name) @@ -270,6 +281,11 @@ preferences_item_create_enum (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (enum_radio_group_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -327,6 +343,11 @@ preferences_item_create_short_enum (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (enum_radio_group_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -345,7 +366,7 @@ static void preferences_item_create_boolean (NautilusPreferencesItem *item, const char *preference_name) { - char *description; + char *description; g_return_if_fail (NAUTILUS_IS_PREFERENCES_ITEM (item)); g_return_if_fail (nautilus_strlen (preference_name) > 0); @@ -365,6 +386,11 @@ preferences_item_create_boolean (NautilusPreferencesItem *item, "toggled", GTK_SIGNAL_FUNC (boolean_button_toggled_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -412,6 +438,11 @@ preferences_item_create_editable_string (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (editable_string_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -453,6 +484,11 @@ preferences_item_create_editable_integer (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (editable_integer_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -511,6 +547,11 @@ preferences_item_create_constrained_integer (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (constrained_integer_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -586,6 +627,11 @@ preferences_item_create_font (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (font_item_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -643,6 +689,11 @@ preferences_item_create_smooth_font (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (preferences_smooth_font_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } /* NautilusPreferencesItem public methods */ diff --git a/libnautilus-private/nautilus-preferences-item.c b/libnautilus-private/nautilus-preferences-item.c index 1dcd17f4f..4fe711eac 100644 --- a/libnautilus-private/nautilus-preferences-item.c +++ b/libnautilus-private/nautilus-preferences-item.c @@ -239,6 +239,17 @@ preferences_item_update_enum (NautilusPreferencesItem *item) } } +/* This callback is called whenever the preference value changes, so that we can + * update the item widgets accordingly. + */ +static void +preferences_item_value_changed_callback (gpointer callback_data) +{ + g_return_if_fail (NAUTILUS_IS_PREFERENCES_ITEM (callback_data)); + + nautilus_preferences_item_update_displayed_value (NAUTILUS_PREFERENCES_ITEM (callback_data)); +} + static void preferences_item_create_enum (NautilusPreferencesItem *item, const char *preference_name) @@ -270,6 +281,11 @@ preferences_item_create_enum (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (enum_radio_group_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -327,6 +343,11 @@ preferences_item_create_short_enum (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (enum_radio_group_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -345,7 +366,7 @@ static void preferences_item_create_boolean (NautilusPreferencesItem *item, const char *preference_name) { - char *description; + char *description; g_return_if_fail (NAUTILUS_IS_PREFERENCES_ITEM (item)); g_return_if_fail (nautilus_strlen (preference_name) > 0); @@ -365,6 +386,11 @@ preferences_item_create_boolean (NautilusPreferencesItem *item, "toggled", GTK_SIGNAL_FUNC (boolean_button_toggled_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -412,6 +438,11 @@ preferences_item_create_editable_string (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (editable_string_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -453,6 +484,11 @@ preferences_item_create_editable_integer (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (editable_integer_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -511,6 +547,11 @@ preferences_item_create_constrained_integer (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (constrained_integer_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -586,6 +627,11 @@ preferences_item_create_font (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (font_item_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } static void @@ -643,6 +689,11 @@ preferences_item_create_smooth_font (NautilusPreferencesItem *item, "changed", GTK_SIGNAL_FUNC (preferences_smooth_font_changed_callback), item); + + nautilus_preferences_add_callback_while_alive (preference_name, + preferences_item_value_changed_callback, + item, + GTK_OBJECT (item)); } /* NautilusPreferencesItem public methods */ |