[Xfce4-commits] [apps/xfce4-screensaver] 79/425: Use idle-delay key in org.mate.session schema

noreply at xfce.org noreply at xfce.org
Mon Oct 15 01:48:46 CEST 2018


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 311a5fd6c2f9396f4af3085a0a1ac5a5b21e25f5
Author: Stefano Karapetsas <stefano at karapetsas.com>
Date:   Mon May 6 17:12:21 2013 +0200

    Use idle-delay key in org.mate.session schema
    
    Remove it from screensaver schema
    Closes #17 (https://github.com/mate-desktop/mate-screensaver/issues/17)
---
 data/org.mate.screensaver.gschema.migrate |   1 -
 data/org.mate.screensaver.gschema.xml.in  |   5 -
 src/gs-prefs.c                            |  20 +++-
 src/mate-screensaver-preferences.c        | 183 ++++++++++++------------------
 4 files changed, 90 insertions(+), 119 deletions(-)

diff --git a/data/org.mate.screensaver.gschema.migrate b/data/org.mate.screensaver.gschema.migrate
index 27c7b2d..f73ecc5 100644
--- a/data/org.mate.screensaver.gschema.migrate
+++ b/data/org.mate.screensaver.gschema.migrate
@@ -3,7 +3,6 @@ idle-activation-enabled = /apps/mate-screensaver/idle_activation_enabled
 lock-enabled = /apps/mate-screensaver/lock_enabled
 mode = /apps/mate-screensaver/mode
 themes = /apps/mate-screensaver/themes
-idle-delay = /apps/mate-screensaver/idle_delay
 power-management-delay = /apps/mate-screensaver/power_management_delay
 cycle-delay = /apps/mate-screensaver/cycle_delay
 lock-delay = /apps/mate-screensaver/lock_delay
diff --git a/data/org.mate.screensaver.gschema.xml.in b/data/org.mate.screensaver.gschema.xml.in
index d3fd2a4..5cdb071 100644
--- a/data/org.mate.screensaver.gschema.xml.in
+++ b/data/org.mate.screensaver.gschema.xml.in
@@ -25,11 +25,6 @@
       <summary>Screensaver themes</summary>
       <description>This key specifies the list of themes to be used by the screensaver. It's ignored when "mode" key is "blank-only", should provide the theme name when "mode" is "single", and should provide a list of themes when "mode" is "random".</description>
     </key>
-    <key name="idle-delay" type="i">
-      <default>10</default>
-      <summary>Time before session is considered idle</summary>
-      <description>The number of minutes of inactivity before the session is considered idle.</description>
-    </key>
     <key name="power-management-delay" type="i">
       <default>30</default>
       <summary>Time before power management baseline</summary>
diff --git a/src/gs-prefs.c b/src/gs-prefs.c
index 6d7f562..df1267c 100644
--- a/src/gs-prefs.c
+++ b/src/gs-prefs.c
@@ -38,11 +38,13 @@ static void gs_prefs_finalize   (GObject      *object);
 #define KEY_LOCK_DISABLE "disable-lock-screen"
 #define KEY_USER_SWITCH_DISABLE "disable-user-switching"
 
+#define SESSION_SETTINGS_SCHEMA "org.mate.session"
+#define KEY_IDLE_DELAY "idle-delay"
+
 #define GSETTINGS_SCHEMA "org.mate.screensaver"
 #define KEY_IDLE_ACTIVATION_ENABLED "idle-activation-enabled"
 #define KEY_LOCK_ENABLED "lock-enabled"
 #define KEY_MODE "mode"
-#define KEY_ACTIVATE_DELAY "idle-delay"
 #define KEY_POWER_DELAY "power-management-delay"
 #define KEY_LOCK_DELAY "lock-delay"
 #define KEY_CYCLE_DELAY "cycle-delay"
@@ -61,6 +63,7 @@ struct GSPrefsPrivate
 {
 	GSettings *settings;
 	GSettings *lockdown_settings;
+	GSettings *session_settings;
 };
 
 enum
@@ -338,7 +341,7 @@ gs_prefs_load_from_settings (GSPrefs *prefs)
 	bvalue = g_settings_get_boolean (prefs->priv->lockdown_settings, KEY_USER_SWITCH_DISABLE);
 	_gs_prefs_set_user_switch_disabled (prefs, bvalue);
 
-	value = g_settings_get_int (prefs->priv->settings, KEY_ACTIVATE_DELAY);
+	value = g_settings_get_int (prefs->priv->session_settings, KEY_IDLE_DELAY);
 	_gs_prefs_set_timeout (prefs, value);
 
 	value = g_settings_get_int (prefs->priv->settings, KEY_POWER_DELAY);
@@ -409,7 +412,7 @@ key_changed_cb (GSettings *settings,
 		g_strfreev (strv);
 
 	}
-	else if (strcmp (key, KEY_ACTIVATE_DELAY) == 0)
+	else if (strcmp (key, KEY_IDLE_DELAY) == 0)
 	{
 		int delay;
 
@@ -551,6 +554,12 @@ gs_prefs_init (GSPrefs *prefs)
 			  "changed",
 			  G_CALLBACK (key_changed_cb),
 			  prefs);
+	prefs->priv->session_settings = g_settings_new (SESSION_SETTINGS_SCHEMA);
+	g_signal_connect (prefs->priv->session_settings,
+			  "changed::" KEY_IDLE_DELAY,
+			  G_CALLBACK (key_changed_cb),
+			  prefs);
+
 	prefs->idle_activation_enabled = TRUE;
 	prefs->lock_enabled            = TRUE;
 	prefs->lock_disabled           = FALSE;
@@ -591,6 +600,11 @@ gs_prefs_finalize (GObject *object)
 		prefs->priv->lockdown_settings = NULL;
 	}
 
+	if (prefs->priv->session_settings) {
+		g_object_unref (prefs->priv->session_settings);
+		prefs->priv->session_settings = NULL;
+	}
+
 	if (prefs->themes)
 	{
 		g_slist_foreach (prefs->themes, (GFunc)g_free, NULL);
diff --git a/src/mate-screensaver-preferences.c b/src/mate-screensaver-preferences.c
index 174aea8..8ccbaa0 100644
--- a/src/mate-screensaver-preferences.c
+++ b/src/mate-screensaver-preferences.c
@@ -47,11 +47,13 @@
 #define LOCKDOWN_SETTINGS_SCHEMA "org.mate.lockdown"
 #define KEY_LOCK_DISABLE "disable-lock-screen"
 
+#define SESSION_SETTINGS_SCHEMA "org.mate.session"
+#define KEY_IDLE_DELAY "idle-delay"
+
 #define GSETTINGS_SCHEMA "org.mate.screensaver"
 #define KEY_LOCK "lock-enabled"
 #define KEY_IDLE_ACTIVATION_ENABLED "idle-activation-enabled"
 #define KEY_MODE "mode"
-#define KEY_ACTIVATE_DELAY "idle-delay"
 #define KEY_LOCK_DELAY "lock-delay"
 #define KEY_CYCLE_DELAY "cycle-delay"
 #define KEY_THEMES "themes"
@@ -78,65 +80,52 @@ static GtkTargetEntry drop_types [] =
 	{ "_NETSCAPE_URL", 0, TARGET_NS_URL }
 };
 
-static GtkBuilder       *builder = NULL;
+static GtkBuilder     *builder = NULL;
 static GSThemeManager *theme_manager = NULL;
 static GSJob          *job = NULL;
+static GSettings      *screensaver_settings = NULL;
+static GSettings      *session_settings = NULL;
+static GSettings      *lockdown_settings = NULL;
 
 static gint32
 config_get_activate_delay (gboolean *is_writable)
 {
-	GSettings *settings;
-	gint32       delay;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	gint32 delay;
 
 	if (is_writable)
 	{
-		*is_writable = g_settings_is_writable (settings,
-		               KEY_ACTIVATE_DELAY);
+		*is_writable = g_settings_is_writable (session_settings,
+		               KEY_IDLE_DELAY);
 	}
 
-	delay = g_settings_get_int (settings, KEY_ACTIVATE_DELAY);
+	delay = g_settings_get_int (session_settings, KEY_IDLE_DELAY);
 
 	if (delay < 1)
 	{
 		delay = 1;
 	}
 
-	g_object_unref (settings);
-
 	return delay;
 }
 
 static void
 config_set_activate_delay (gint32 timeout)
 {
-	GSettings *settings;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
-
-	g_settings_set_int (settings, KEY_ACTIVATE_DELAY, timeout);
-
-	g_object_unref (settings);
+	g_settings_set_int (session_settings, KEY_IDLE_DELAY, timeout);
 }
 
 static int
 config_get_mode (gboolean *is_writable)
 {
-	GSettings *settings;
-	int          mode;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	int mode;
 
 	if (is_writable)
 	{
-		*is_writable = g_settings_is_writable (settings,
+		*is_writable = g_settings_is_writable (screensaver_settings,
 		               KEY_MODE);
 	}
 
-	mode = g_settings_get_enum (settings, KEY_MODE);
-
-	g_object_unref (settings);
+	mode = g_settings_get_enum (screensaver_settings, KEY_MODE);
 
 	return mode;
 }
@@ -144,32 +133,23 @@ config_get_mode (gboolean *is_writable)
 static void
 config_set_mode (int mode)
 {
-	GSettings *settings;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
-
-	g_settings_set_enum (settings, KEY_MODE, mode);
-
-	g_object_unref (settings);
+	g_settings_set_enum (screensaver_settings, KEY_MODE, mode);
 }
 
 static char *
 config_get_theme (gboolean *is_writable)
 {
-	GSettings *settings;
-	char        *name;
-	int          mode;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	char *name;
+	int   mode;
 
 	if (is_writable)
 	{
 		gboolean can_write_theme;
 		gboolean can_write_mode;
 
-		can_write_theme = g_settings_is_writable (settings,
+		can_write_theme = g_settings_is_writable (screensaver_settings,
 		                                          KEY_THEMES);
-		can_write_mode = g_settings_is_writable (settings,
+		can_write_mode = g_settings_is_writable (screensaver_settings,
 		                                         KEY_MODE);
 		*is_writable = can_write_theme && can_write_mode;
 	}
@@ -187,11 +167,11 @@ config_get_theme (gboolean *is_writable)
 	}
 	else
 	{
-		 gchar **strv;
-                 strv = g_settings_get_strv (settings,
-                                             KEY_THEMES);
-                 if (strv != NULL) {
-                          name = g_strdup (strv[0]);
+		gchar **strv;
+		strv = g_settings_get_strv (screensaver_settings,
+	                                KEY_THEMES);
+		if (strv != NULL) {
+			name = g_strdup (strv[0]);
 		}
 		else
 		{
@@ -203,8 +183,6 @@ config_get_theme (gboolean *is_writable)
 		g_strfreev (strv);
 	}
 
-	g_object_unref (settings);
-
 	return name;
 }
 
@@ -233,11 +211,8 @@ get_all_theme_ids (GSThemeManager *theme_manager)
 static void
 config_set_theme (const char *theme_id)
 {
-	GSettings *settings;
 	gchar **strv = NULL;
-	int          mode;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	int     mode;
 
 	if (theme_id && strcmp (theme_id, "__blank-only") == 0)
 	{
@@ -258,32 +233,26 @@ config_set_theme (const char *theme_id)
 
 	config_set_mode (mode);
 
-	g_settings_set_strv (settings,
+	g_settings_set_strv (screensaver_settings,
 	                     KEY_THEMES,
 	                     (const gchar * const*) strv);
 
 	g_strfreev (strv);
 
-	g_object_unref (settings);
 }
 
 static gboolean
 config_get_enabled (gboolean *is_writable)
 {
-	int          enabled;
-	GSettings *settings;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	int enabled;
 
 	if (is_writable)
 	{
-		*is_writable = g_settings_is_writable (settings,
+		*is_writable = g_settings_is_writable (screensaver_settings,
 		               KEY_LOCK);
 	}
 
-	enabled = g_settings_get_boolean (settings, KEY_IDLE_ACTIVATION_ENABLED);
-
-	g_object_unref (settings);
+	enabled = g_settings_get_boolean (screensaver_settings, KEY_IDLE_ACTIVATION_ENABLED);
 
 	return enabled;
 }
@@ -291,32 +260,21 @@ config_get_enabled (gboolean *is_writable)
 static void
 config_set_enabled (gboolean enabled)
 {
-	GSettings *settings;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
-
-	g_settings_set_boolean (settings, KEY_IDLE_ACTIVATION_ENABLED, enabled);
-
-	g_object_unref (settings);
+	g_settings_set_boolean (screensaver_settings, KEY_IDLE_ACTIVATION_ENABLED, enabled);
 }
 
 static gboolean
 config_get_lock (gboolean *is_writable)
 {
-	GSettings *settings;
-	gboolean     lock;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
+	gboolean lock;
 
 	if (is_writable)
 	{
-		*is_writable = g_settings_is_writable (settings,
+		*is_writable = g_settings_is_writable (screensaver_settings,
 		               KEY_LOCK);
 	}
 
-	lock = g_settings_get_boolean (settings, KEY_LOCK);
-
-	g_object_unref (settings);
+	lock = g_settings_get_boolean (screensaver_settings, KEY_LOCK);
 
 	return lock;
 }
@@ -324,27 +282,13 @@ config_get_lock (gboolean *is_writable)
 static gboolean
 config_get_lock_disabled ()
 {
-	GSettings *settings;
-	gboolean     lock;
-
-	settings = g_settings_new (LOCKDOWN_SETTINGS_SCHEMA);
-
-	lock = g_settings_get_boolean (settings, KEY_LOCK_DISABLE);
-
-	g_object_unref (settings);
-	return lock;
+	return g_settings_get_boolean (lockdown_settings, KEY_LOCK_DISABLE);
 }
 
 static void
 config_set_lock (gboolean lock)
 {
-	GSettings *settings;
-
-	settings = g_settings_new (GSETTINGS_SCHEMA);
-
-	g_settings_set_boolean (settings, KEY_LOCK, lock);
-
-	g_object_unref (settings);
+	g_settings_set_boolean (screensaver_settings, KEY_LOCK, lock);
 }
 
 static void
@@ -1195,7 +1139,7 @@ key_changed_cb (GSettings *settings, const gchar *key, gpointer data)
 			treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview"));
 			setup_treeview_selection (treeview);
 	}
-	else if (strcmp (key, KEY_ACTIVATE_DELAY) == 0)
+	else if (strcmp (key, KEY_IDLE_DELAY) == 0)
 	{
 			int delay;
 
@@ -1486,9 +1430,8 @@ init_capplet (void)
 	gdouble    activate_delay;
 	gboolean   enabled;
 	gboolean   is_writable;
-	GSettings *settings;
 	GError    *error=NULL;
-        gint       mode;
+	gint       mode;
 
 	gtk_builder_file = g_build_filename (GTKBUILDERDIR, GTK_BUILDER_FILE, NULL);
 	builder = gtk_builder_new();
@@ -1547,6 +1490,24 @@ init_capplet (void)
 		gtk_widget_hide (gpm_button);
 	}
 
+	screensaver_settings = g_settings_new (GSETTINGS_SCHEMA);
+	g_signal_connect (screensaver_settings,
+	                  "changed",
+	                  G_CALLBACK (key_changed_cb),
+	                  NULL);
+
+	session_settings = g_settings_new (SESSION_SETTINGS_SCHEMA);
+	g_signal_connect (session_settings,
+	                  "changed::" KEY_IDLE_DELAY,
+	                  G_CALLBACK (key_changed_cb),
+	                  NULL);
+
+	lockdown_settings = g_settings_new (LOCKDOWN_SETTINGS_SCHEMA);
+	g_signal_connect (lockdown_settings,
+	                  "changed::" KEY_LOCK_DISABLE,
+	                  G_CALLBACK (key_changed_cb),
+	                  NULL);
+
 	activate_delay = config_get_activate_delay (&is_writable);
 	ui_set_delay (activate_delay);
 	if (! is_writable)
@@ -1592,21 +1553,13 @@ init_capplet (void)
 	gtk_widget_show_all (dialog);
 
 	/* Update list of themes if using random screensaver */
-         settings = g_settings_new (GSETTINGS_SCHEMA);
-         mode = g_settings_get_enum (settings, KEY_MODE);
-        if (mode == GS_MODE_RANDOM) {
-                gchar **list;
-                list = get_all_theme_ids (theme_manager);
-                g_settings_set_strv (settings, KEY_THEMES, (const gchar * const*) list);
-                g_strfreev (list);
-        }
-
-        g_signal_connect (settings,
-                          "changed",
-                          G_CALLBACK (key_changed_cb),
-                          NULL);
-
-	g_object_unref (settings);
+	mode = g_settings_get_enum (screensaver_settings, KEY_MODE);
+	if (mode == GS_MODE_RANDOM) {
+		gchar **list;
+		list = get_all_theme_ids (theme_manager);
+		g_settings_set_strv (screensaver_settings, KEY_THEMES, (const gchar * const*) list);
+		g_strfreev (list);
+	}
 
 	preview_clear (preview);
 	gs_job_set_widget (job, preview);
@@ -1636,6 +1589,14 @@ init_capplet (void)
 	g_idle_add ((GSourceFunc)setup_treeview_idle, NULL);
 }
 
+static void
+finalize_capplet (void)
+{
+	g_object_unref (screensaver_settings);
+	g_object_unref (session_settings);
+	g_object_unref (lockdown_settings);
+}
+
 int
 main (int    argc,
       char **argv)
@@ -1658,6 +1619,8 @@ main (int    argc,
 
 	gtk_main ();
 
+	finalize_capplet ();
+
 	g_object_unref (theme_manager);
 	g_object_unref (job);
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list