This is an automated email from the git hooks/post-receive script. b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository apps/xfce4-screensaver.
commit d56e4a4d6e2e10808cae3f68e9c4fce0be590e9c Author: Sean Davis <smd.seanda...@gmail.com> Date: Sat Jul 13 18:01:50 2019 -0400 Reload theme previews as configuration changes --- src/xfce4-screensaver-preferences.c | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/xfce4-screensaver-preferences.c b/src/xfce4-screensaver-preferences.c index af3a8a5..a2ff4a7 100644 --- a/src/xfce4-screensaver-preferences.c +++ b/src/xfce4-screensaver-preferences.c @@ -996,6 +996,44 @@ setup_treeview (GtkWidget *tree, } static void +reload_theme (GtkWidget *treeview) { + GtkWidget *preview; + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreeSelection *selection; + char *theme; + char *name; + + if (active_theme == NULL) { + return; + } + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); + if (model == NULL) { + return; + } + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return; + } + + gtk_tree_model_get (model, &iter, ID_COLUMN, &theme, NAME_COLUMN, &name, -1); + + if (theme == NULL) { + g_free (name); + return; + } + + preview = GTK_WIDGET (gtk_builder_get_object (builder, "saver_themes_preview_area")); + preview_set_theme (preview, theme, name); + + g_free (theme); + g_free (name); +} + +static void setup_treeview_selection (GtkWidget *tree) { char *theme; GtkTreeModel *model; @@ -1443,6 +1481,10 @@ key_changed_cb (XfconfChannel *channel, const gchar *key, gpointer data) { GtkWidget *treeview; treeview = GTK_WIDGET (gtk_builder_get_object (builder, "saver_themes_treeview")); setup_treeview_selection (treeview); + } else if (g_str_has_suffix (key, "arguments")) { + GtkWidget *treeview; + treeview = GTK_WIDGET (gtk_builder_get_object (builder, "saver_themes_treeview")); + reload_theme (treeview); } } -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits