rpms/control-center/devel control-center-2.17.90-color-theme.patch, NONE, 1.1 control-center.spec, 1.220, 1.221

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Feb 7 02:40:29 UTC 2007


Author: mclasen

Update of /cvs/dist/rpms/control-center/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv3836

Modified Files:
	control-center.spec 
Added Files:
	control-center-2.17.90-color-theme.patch 
Log Message:
Fix some problems with the theme switcher


control-center-2.17.90-color-theme.patch:
 gnome-theme-details.c |   57 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 12 deletions(-)

--- NEW FILE control-center-2.17.90-color-theme.patch ---
--- control-center-2.17.90/capplets/theme-switcher/gnome-theme-details.c	2007-01-22 04:51:57.000000000 -0500
+++ hacked/capplets/theme-switcher/gnome-theme-details.c	2007-02-06 21:27:54.000000000 -0500
@@ -48,6 +48,9 @@
 					     const gchar        *default_theme);
 static char *path_to_theme_id               (const char *path);
 static void update_color_buttons_from_string (gchar *color_scheme);
+static void color_scheme_changed            (GObject           *settings,
+                                             GParamSpec        *pspec,
+                                             gpointer           data);
 
 void revert_color_scheme_key (GtkWidget *checkbutton, gpointer *data);
 
@@ -203,20 +206,24 @@
 }
 
 static void
-update_color_scheme_tab ()
+update_color_scheme_tab (const gchar *theme)
 {
 	GSList *symbolic_colors = NULL;
 	GSList *engines = NULL;
 	gboolean fg, bg, base, text, fg_s, bg_s, enable_colors;
-	gchar *filename, *theme_name;
+	gchar *filename;
+	gchar *theme_name = NULL;
 	GtkSettings *settings;
 	GladeXML *dialog;
 
 	dialog = gnome_theme_manager_get_theme_dialog ();
 
-	settings = gtk_settings_get_default ();
-	g_object_get (G_OBJECT (settings), "gtk-theme-name", &theme_name, NULL);
-	filename = gtkrc_find_named (theme_name);
+        if (theme == NULL) {
+		settings = gtk_settings_get_default ();
+		g_object_get (G_OBJECT (settings), "gtk-theme-name", &theme_name, NULL);
+		theme = theme_name;
+	}
+	filename = gtkrc_find_named (theme);
 
 	gtkrc_get_details (filename, &engines, &symbolic_colors);
 	fg = (g_slist_find_custom (symbolic_colors, "fg_color", g_str_equal) != NULL);
@@ -245,13 +252,24 @@
 			     gpointer          data)
 {
   GladeXML *dialog;
+  GtkTreeModel *model;
+  GtkTreeIter iter;
 
   dialog = gnome_theme_manager_get_theme_dialog ();
 
   update_gconf_key_from_selection (selection, GTK_THEME_KEY);
   gtk_theme_update_remove_button(selection, WID("control_remove_button"), THEME_GTK);
 
-  update_color_scheme_tab ();
+  if (gtk_tree_selection_get_selected (selection, &model, &iter))
+    {
+      gchar *theme;
+
+      gtk_tree_model_get (model, &iter,
+                          THEME_ID_COLUMN, &theme,
+                          -1);
+      update_color_scheme_tab (theme);
+      g_free (theme);
+    }
 }
 
 static void
@@ -555,8 +573,6 @@
   client = gconf_client_get_default ();
   gconf_client_set_string (client, COLOR_SCHEME_KEY, "", NULL);
   g_object_unref (G_OBJECT (client));
-
-  gnome_theme_details_update_from_gconf ();
 }
 
 void
@@ -621,6 +637,9 @@
   g_object_get (G_OBJECT (gtk_settings_get_default()), "gtk-color-scheme", &theme, NULL);
   update_color_buttons_from_string (theme);
 
+  g_signal_connect (gtk_settings_get_default(), "notify::gtk-color-scheme", 
+                    G_CALLBACK (color_scheme_changed),  NULL);
+
   /* general signals */
   g_signal_connect (G_OBJECT (parent), "response", G_CALLBACK (cb_dialog_response), NULL);
   g_signal_connect (G_OBJECT (parent), "delete-event", G_CALLBACK (gtk_true), NULL);
@@ -938,6 +957,7 @@
   tree_view = WID ("control_theme_treeview");
   theme = gconf_client_get_string (client, GTK_THEME_KEY, NULL);
   update_list_something (tree_view, theme);
+  update_color_scheme_tab (theme);
   g_free (theme);
 
   tree_view = WID ("window_theme_treeview");
@@ -954,13 +974,26 @@
 
   /* update colour scheme tab */
   theme = gconf_client_get_string (client, COLOR_SCHEME_KEY, NULL);
-  /* if gconf string is not present, we need to look in gtk settings for a value */
-  if (theme == NULL || strcmp (theme, ""))
-    g_object_get (G_OBJECT (gtk_settings_get_default()), "gtk-color-scheme", &theme, NULL);
   update_color_buttons_from_string (theme);
   g_free (theme);
 
-  update_color_scheme_tab ();
+  g_object_unref (client);
+}
+
+static void
+color_scheme_changed (GObject    *settings,
+                      GParamSpec *pspec,
+                      gpointer    data)
+{
+  GConfClient *client;
+  gchar *theme;
 
+  client = gconf_client_get_default ();
+  theme = gconf_client_get_string (client, COLOR_SCHEME_KEY, NULL);
+  if (theme == NULL || strcmp (theme, "") == 0)
+    g_object_get (settings, "gtk-color-scheme", &theme, NULL);
+
+  update_color_buttons_from_string (theme);
+  g_free (theme);
   g_object_unref (client);
 }


Index: control-center.spec
===================================================================
RCS file: /cvs/dist/rpms/control-center/devel/control-center.spec,v
retrieving revision 1.220
retrieving revision 1.221
diff -u -r1.220 -r1.221
--- control-center.spec	5 Feb 2007 21:53:38 -0000	1.220
+++ control-center.spec	7 Feb 2007 02:40:26 -0000	1.221
@@ -21,7 +21,7 @@
 Summary: GNOME Control Center
 Name: control-center
 Version: 2.17.90
-Release: 4%{?dist}
+Release: 5%{?dist}
 Epoch: 1
 License: GPL/LGPL
 Group: User Interface/Desktops
@@ -50,6 +50,8 @@
 # hunt through the 6.1MB (!!) patch file against
 # control-center
 Patch12: control-center-2.16.0-start-at-helper.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=405210
+Patch13: control-center-2.17.90-color-theme.patch
 
 # call the Fedora/RHEL graphical passwd changing apps
 Patch95: control-center-2.12.1-passwd.patch
@@ -164,6 +166,7 @@
 %patch5 -p1 -b .compiz-support
 
 %patch12 -p1 -b .start-at-helper
+%patch13 -p1 -b .color-theme
 
 # vendor configuration patches
 %patch95 -p1 -b .passwd
@@ -313,6 +316,9 @@
 %{_libdir}/pkgconfig/*
 
 %changelog
+* Tue Feb  6 2007 Matthias Clasen <mclasen at redhat.com> - 2.17.90-5
+- Fix some problems with the color theme support
+
 * Mon Feb  5 2007 Ray Strode <rstrode at redhat.com> - 2.17.90-4
 - remove crufty sed replace line
 - use find -name '*.la' instead of removing each one




More information about the fedora-cvs-commits mailing list