[Xfce4-commits] [apps/xfce4-screensaver] 02/02: Reload theme previews as configuration changes
noreply at xfce.org
noreply at xfce.org
Sun Jul 14 00:01:57 CEST 2019
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.seandavis at 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.
More information about the Xfce4-commits
mailing list