summaryrefslogtreecommitdiff
path: root/capplets/theme-switcher
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@gnu.org>2002-01-21 21:46:55 +0000
committerAnders Carlsson <andersca@src.gnome.org>2002-01-21 21:46:55 +0000
commita080e40edcc3786e416ba0245364b55d2fb129ad (patch)
treec724f16818ce030acb6eedd28f7dd0ff4adba34b /capplets/theme-switcher
parent95e2f514bd0666a38b54d9b153f7a7e482d38b7f (diff)
downloadgnome-control-center-a080e40edcc3786e416ba0245364b55d2fb129ad.tar.gz
Get the theme name right.
2002-01-21 Anders Carlsson <andersca@gnu.org> * main.c: Get the theme name right.
Diffstat (limited to 'capplets/theme-switcher')
-rw-r--r--capplets/theme-switcher/ChangeLog2
-rw-r--r--capplets/theme-switcher/main.c22
2 files changed, 20 insertions, 4 deletions
diff --git a/capplets/theme-switcher/ChangeLog b/capplets/theme-switcher/ChangeLog
index a3c4c5e50..f6fe91ee4 100644
--- a/capplets/theme-switcher/ChangeLog
+++ b/capplets/theme-switcher/ChangeLog
@@ -1,5 +1,7 @@
2002-01-21 Anders Carlsson <andersca@gnu.org>
+ * main.c: Get the theme name right.
+
* control/control.c (create_form): Use a GtkTreeView instead of a
clist.
diff --git a/capplets/theme-switcher/main.c b/capplets/theme-switcher/main.c
index 211a24b4a..8b8a48064 100644
--- a/capplets/theme-switcher/main.c
+++ b/capplets/theme-switcher/main.c
@@ -109,14 +109,28 @@ static gchar* get_selected_theme (void)
return theme;
}
+
+static gchar* get_selected_theme_name (void)
+{
+ int index = -1;
+ gchar *theme;
+ GtkTreeView *view = GTK_TREE_VIEW (glade_xml_get_widget (xml, "tree1"));
+
+ gtk_tree_selection_selected_foreach (gtk_tree_view_get_selection (view), (GtkTreeSelectionForeachFunc) select_foreach_cb, &index);
+
+ if (index == -1)
+ return NULL;
+
+ return g_basename (themes[index]);
+}
+
static void
apply_cb (void)
{
- gchar *filename = get_selected_theme ();
- if (filename)
+ gchar *name = get_selected_theme_name ();
+ if (name)
{
- gconf_client_set_string (gconf_client_get_default (), "/desktop/gnome/interface/gtk_theme", filename);
- g_free (filename);
+ gconf_client_set_string (gconf_client_get_default (), "/desktop/gnome/interface/gtk_theme", name);
}
}