Merging upstream version 0.6.2.
[debian/lxappearance.git] / src / widget-theme.c
index f891e99..3331ae4 100644 (file)
@@ -30,7 +30,7 @@ static GSList* load_themes_in_dir(const char* theme_dir, GSList* themes)
     if(dir)
     {
         const char* name;
-        while(name = g_dir_read_name(dir))
+        while ((name = g_dir_read_name(dir)))
         {
             /* test if we already have this in list */
             if(!g_slist_find_custom(themes, name, (GCompareFunc)strcmp))
@@ -70,7 +70,12 @@ static void load_themes()
     GtkTreeIter sel_it = {0};
     GtkTreeSelection* tree_sel;
 
-    /* load user dir */
+    /* load from userdata theme dir first */
+    dir = g_build_filename(g_get_user_data_dir(), "themes", NULL);
+    themes = load_themes_in_dir(dir, themes);
+    g_free(dir);
+
+    /* load from ~/.themes dir as old style */
     dir = g_build_filename(g_get_home_dir(), ".themes", NULL);
     themes = load_themes_in_dir(dir, themes);
     g_free(dir);
@@ -129,12 +134,17 @@ static void on_font_set(GtkFontButton* btn, gpointer user_data)
 void widget_theme_init(GtkBuilder* b)
 {
     GtkWidget* demo;
+    GtkWidget* demo_vbox;
     GdkColor black = {0, 0, 0, 0};
 
     demo = GTK_WIDGET(gtk_builder_get_object(b, "demo"));
+    demo_vbox = GTK_WIDGET(gtk_builder_get_object(b, "demo_vbox"));
     app.widget_theme_view = GTK_WIDGET(gtk_builder_get_object(b, "widget_theme_view"));
 
     gtk_widget_modify_bg(demo, GTK_STATE_NORMAL, &black);
+#if GTK_CHECK_VERSION(3, 0, 0)
+    gtk_style_context_add_class (gtk_widget_get_style_context (demo_vbox), GTK_STYLE_CLASS_BACKGROUND);
+#endif
 
     app.widget_theme_store = gtk_list_store_new(1, G_TYPE_STRING);