diff options
author | Denis Washington <denisw@svn.gnome.org> | 2007-07-29 15:37:22 +0000 |
---|---|---|
committer | Denis Washington <denisw@src.gnome.org> | 2007-07-29 15:37:22 +0000 |
commit | ad496d45ae5f1269df9c4b5b3cc1f2f00a5a6542 (patch) | |
tree | c0f95800f189bd79954637ee22aa01a02b72d909 /capplets/appearance | |
parent | 2f8351bca7ca3af14c072b316e322f648e4f003f (diff) | |
download | gnome-control-center-ad496d45ae5f1269df9c4b5b3cc1f2f00a5a6542.tar.gz |
_Really_ only show background/font suggestions if they haven't already
2007-07-29 Denis Washington <denisw@svn.gnome.org>
* appearance-themes.c: (theme_message_area_response_cb),
(theme_message_area_update), (theme_selection_changed_cb),
(background_or_font_changed), (themes_init):
_Really_ only show background/font suggestions if they haven't
already been applied.
svn path=/trunk/; revision=7923
Diffstat (limited to 'capplets/appearance')
-rw-r--r-- | capplets/appearance/ChangeLog | 8 | ||||
-rw-r--r-- | capplets/appearance/appearance-themes.c | 36 |
2 files changed, 35 insertions, 9 deletions
diff --git a/capplets/appearance/ChangeLog b/capplets/appearance/ChangeLog index f34d516e5..f95cb86af 100644 --- a/capplets/appearance/ChangeLog +++ b/capplets/appearance/ChangeLog @@ -1,6 +1,14 @@ 2007-07-29 Denis Washington <denisw@svn.gnome.org> * appearance-themes.c: (theme_message_area_response_cb), + (theme_message_area_update), (theme_selection_changed_cb), + (background_or_font_changed), (themes_init): + _Really_ only show background/font suggestions if they haven't + already been applied. + +2007-07-29 Denis Washington <denisw@svn.gnome.org> + + * appearance-themes.c: (theme_message_area_response_cb), (theme_message_area_update), (theme_selection_changed_cb): Only show background/font suggestions if they haven't already been applied. diff --git a/capplets/appearance/appearance-themes.c b/capplets/appearance/appearance-themes.c index f4c5b4ca1..f95724717 100644 --- a/capplets/appearance/appearance-themes.c +++ b/capplets/appearance/appearance-themes.c @@ -52,9 +52,6 @@ static const GtkTargetEntry drop_types[] = {"_NETSCAPE_URL", 0, TARGET_NS_URL} }; -static void theme_message_area_update (AppearanceData *data); - - static void theme_thumbnail_done_cb (GdkPixbuf *pixbuf, gchar *theme_name, AppearanceData *data) { @@ -354,8 +351,6 @@ theme_message_area_response_cb (GtkWidget *w, theme->monospace_font, NULL); break; } - - theme_message_area_update (data); } static void @@ -410,7 +405,6 @@ theme_message_area_update (AppearanceData *data) return; data->theme_message_area = gedit_message_area_new (); - g_object_ref (data->theme_message_area); gtk_widget_set_no_show_all (data->theme_message_area, TRUE); g_signal_connect (G_OBJECT (data->theme_message_area), "response", (GCallback) theme_message_area_response_cb, data); @@ -492,7 +486,7 @@ theme_selection_changed_cb (GtkWidget *icon_view, AppearanceData *data) if (theme) { gnome_meta_theme_set (theme); - theme_message_area_update (data); + theme_message_area_update (data); } g_free (name); @@ -699,6 +693,15 @@ appearance_window_drag_data_received_cb (GtkWidget *widget, g_free (filename); } +static void +background_or_font_changed (GConfEngine *conf, + guint cnxn_id, + GConfEntry *entry, + AppearanceData *data) +{ + theme_message_area_update (data); +} + void themes_init (AppearanceData *data) { @@ -712,6 +715,23 @@ themes_init (AppearanceData *data) gnome_theme_init (NULL); gnome_wm_manager_init (); + gconf_client_notify_add (data->client, + BACKGROUND_KEY, + (GConfClientNotifyFunc) background_or_font_changed, + data, NULL, NULL); + gconf_client_notify_add (data->client, + APPLICATION_FONT_KEY, + (GConfClientNotifyFunc) background_or_font_changed, + data, NULL, NULL); + gconf_client_notify_add (data->client, + DESKTOP_FONT_KEY, + (GConfClientNotifyFunc) background_or_font_changed, + data, NULL, NULL); + gconf_client_notify_add (data->client, + MONOSPACE_FONT_KEY, + (GConfClientNotifyFunc) background_or_font_changed, + data, NULL, NULL); + data->theme_save_dialog = NULL; data->theme_message_area = NULL; data->theme_custom = gnome_theme_meta_info_new (); @@ -815,6 +835,4 @@ themes_shutdown (AppearanceData *data) g_object_unref (data->theme_icon); if (data->theme_save_dialog) gtk_widget_destroy (data->theme_save_dialog); - if (data->theme_message_area) - gtk_widget_destroy (data->theme_message_area); } |