[gnome-session] gsm, capplet: move from gconf to gsettings



commit 93c66fece3ee439e9d4bf55ab7455c0321dbe8e2
Author: Ray Strode <rstrode redhat com>
Date:   Mon Jan 17 19:13:07 2011 -0500

    gsm, capplet: move from gconf to gsettings
    
    This gets us more GNOME 3 compliant.
    
    Note we still use gconf for autostart files that require it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=639801

 capplet/gsm-properties-dialog.c                |   53 +++----
 capplet/main.c                                 |    2 -
 configure.ac                                   |    3 +
 data/Makefile.am                               |   27 +---
 data/gnome-session.schemas.in                  |   43 -----
 data/org.gnome.SessionManager.gschema.migrate  |    3 +
 data/org.gnome.SessionManager.gschema.xml.in   |   14 ++
 data/org.gnome.desktop.session.gschema.migrate |    2 +
 data/org.gnome.desktop.session.gschema.xml.in  |    9 +
 gnome-session/gsm-inhibit-dialog.c             |    2 -
 gnome-session/gsm-manager.c                    |  198 ++++++------------------
 11 files changed, 112 insertions(+), 244 deletions(-)
---
diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index 81a340c..74eb7d8 100644
--- a/capplet/gsm-properties-dialog.c
+++ b/capplet/gsm-properties-dialog.c
@@ -27,8 +27,6 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include <gconf/gconf-client.h>
-
 #include "gsm-properties-dialog.h"
 #include "gsm-app-dialog.h"
 #include "eggdesktopfile.h"
@@ -49,8 +47,8 @@
 
 #define STARTUP_APP_ICON     "system-run"
 
-#define SPC_GCONF_CONFIG_PREFIX   "/apps/gnome-session/options"
-#define SPC_GCONF_AUTOSAVE_KEY    SPC_GCONF_CONFIG_PREFIX "/auto_save_session"
+#define SPC_SETTINGS_SCHEMA          "org.gnome.SessionManager"
+#define SPC_SETTINGS_AUTOSAVE_KEY    "auto-save-session"
 
 struct GsmPropertiesDialogPrivate
 {
@@ -65,6 +63,8 @@ struct GsmPropertiesDialogPrivate
 
         GtkWidget         *remember_toggle;
 
+        GSettings         *settings;
+
         GspAppManager     *manager;
 };
 
@@ -457,19 +457,19 @@ on_row_activated (GtkTreeView         *tree_view,
 }
 
 static void
-on_autosave_value_notify (GConfClient         *client,
-                          guint                id,
-                          GConfEntry          *entry,
-                          GsmPropertiesDialog *dialog)
+on_autosave_value_setting_changed (GSettings           *settings,
+                                   const gchar         *key,
+                                   GsmPropertiesDialog *dialog)
 {
         gboolean   gval;
         gboolean   bval;
 
-        gval = gconf_value_get_bool (entry->value);
+        gval = g_settings_get_boolean (dialog->priv->settings, key);
         bval = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->priv->remember_toggle));
 
         if (bval != gval) {
-                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->remember_toggle), gval);
+                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->remember_toggle),
+                                              gval);
         }
 }
 
@@ -477,18 +477,18 @@ static void
 on_autosave_value_toggled (GtkToggleButton     *button,
                            GsmPropertiesDialog *dialog)
 {
-        GConfClient *client;
         gboolean     gval;
         gboolean     bval;
 
-        client = gconf_client_get_default ();
-        gval = gconf_client_get_bool (client, SPC_GCONF_AUTOSAVE_KEY, NULL);
+        gval = g_settings_get_boolean (dialog->priv->settings,
+                                       SPC_SETTINGS_AUTOSAVE_KEY);
         bval = gtk_toggle_button_get_active (button);
 
         if (gval != bval) {
-                gconf_client_set_bool (client, SPC_GCONF_AUTOSAVE_KEY, bval, NULL);
+                g_settings_set_boolean (dialog->priv->settings,
+                                        SPC_SETTINGS_AUTOSAVE_KEY,
+                                        bval);
         }
-        g_object_unref (client);
 }
 
 static void
@@ -507,7 +507,6 @@ setup_dialog (GsmPropertiesDialog *dialog)
         GtkTreeViewColumn *column;
         GtkCellRenderer   *renderer;
         GtkTreeSelection  *selection;
-        GConfClient       *client;
         GtkTargetList     *targetlist;
 
         gtk_dialog_add_buttons (GTK_DIALOG (dialog),
@@ -660,19 +659,16 @@ setup_dialog (GsmPropertiesDialog *dialog)
                           G_CALLBACK (on_edit_app_clicked),
                           dialog);
 
-        client = gconf_client_get_default ();
         button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
                                                      CAPPLET_REMEMBER_WIDGET_NAME));
         dialog->priv->remember_toggle = button;
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
-                                      gconf_client_get_bool (client, SPC_GCONF_AUTOSAVE_KEY, NULL));
-        gconf_client_notify_add (client,
-                                 SPC_GCONF_AUTOSAVE_KEY,
-                                 (GConfClientNotifyFunc)on_autosave_value_notify,
-                                 dialog,
-                                 NULL,
-                                 NULL);
-        g_object_unref (client);
+                                      g_settings_get_boolean (dialog->priv->settings,
+                                                              SPC_SETTINGS_AUTOSAVE_KEY));
+        g_signal_connect (dialog->priv->settings,
+                          "changed::" SPC_SETTINGS_AUTOSAVE_KEY,
+                          G_CALLBACK (on_autosave_value_setting_changed),
+                          dialog);
 
         g_signal_connect (button,
                           "toggled",
@@ -757,16 +753,11 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog)
 {
         GtkWidget   *content_area;
         GtkWidget   *widget;
-        GConfClient *client;
         GError      *error;
 
         dialog->priv = GSM_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
 
-        client = gconf_client_get_default ();
-        gconf_client_add_dir (client,
-                              SPC_GCONF_CONFIG_PREFIX,
-                              GCONF_CLIENT_PRELOAD_ONELEVEL,
-                              NULL);
+        dialog->priv->settings = g_settings_new (SPC_SETTINGS_SCHEMA);
 
         dialog->priv->xml = gtk_builder_new ();
         gtk_builder_set_translation_domain (dialog->priv->xml, GETTEXT_PACKAGE);
diff --git a/capplet/main.c b/capplet/main.c
index 861e36a..3c7177b 100644
--- a/capplet/main.c
+++ b/capplet/main.c
@@ -27,8 +27,6 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include <gconf/gconf-client.h>
-
 #include "gsm-properties-dialog.h"
 
 static gboolean    show_version     = FALSE;
diff --git a/configure.ac b/configure.ac
index 8083e46..8bb76fe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -235,6 +235,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
 AC_SUBST(GETTEXT_PACKAGE)
 
 AM_GLIB_GNU_GETTEXT
+GLIB_GSETTINGS
 
 dnl ====================================================================
 dnl Headers
@@ -336,6 +337,8 @@ doc/dbus/gnome-session.xml
 doc/man/Makefile
 data/Makefile
 data/session-properties.desktop.in
+data/org.gnome.SessionManager.gschema.xml
+data/org.gnome.desktop.session.gschema.xml
 data/icons/Makefile
 data/icons/16x16/Makefile
 data/icons/22x22/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index eb3b23d..02933b0 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -27,40 +27,29 @@ session_DATA = $(session_in_files:.session.desktop.in=.session)
 %.session: %.session.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
 
 @INTLTOOL_DESKTOP_RULE@
+ INTLTOOL_XML_NOMERGE_RULE@
 
-schemas_in_files = gnome-session.schemas.in
-schemasdir = $(GCONF_SCHEMA_FILE_DIR)
-schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
+gsettings_SCHEMAS = org.gnome.SessionManager.gschema.xml org.gnome.desktop.session.gschema.xml
+ GSETTINGS_RULES@
 
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-install-data-local:
-	if test -z "$(DESTDIR)" ; then \
-		for p in $(schemas_DATA) ; do \
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/data/$$p ; \
-		done \
-	fi
-uninstall-local:
-	for p in $(schema_DATA) ; do \
-		GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-uninstall-rule $(top_builddir)/data/$$p ; \
-	done
-endif
+migrationdir = $(datadir)/GConf/gsettings
+dist_migration_DATA = org.gnome.SessionManager.gschema.migrate org.gnome.desktop.session.gschema.migrate
 
 EXTRA_DIST =					\
 	$(xsession_in_files)			\
 	$(session_in_in_files)			\
-	$(schemas_in_files)			\
+	$(gsettings_SCHEMAS:.xml=.xml.in)	\
 	$(ui_DATA)				\
 	$(pixmap_DATA_dist)
 
 CLEANFILES =					\
-	$(schemas_DATA)				\
+	$(gsettings_SCHEMAS:.xml=.xml.in)	\
 	$(xsession_DATA)			\
 	$(desktop_DATA)				\
 	$(session_DATA)
 
 DISTCLEANFILES =				\
+	$(gsettings_SCHEMAS:.xml=.xml.in)	\
 	$(desktop_in_files)
 
 -include $(top_srcdir)/git.mk
diff --git a/data/org.gnome.SessionManager.gschema.migrate b/data/org.gnome.SessionManager.gschema.migrate
new file mode 100644
index 0000000..fd4dfab
--- /dev/null
+++ b/data/org.gnome.SessionManager.gschema.migrate
@@ -0,0 +1,3 @@
+[org.gnome.SessionManager]
+auto-save-session = /apps/gnome-session/options/auto_save_session
+logout-prompt = /apps/gnome-session/options/logout_prompt
diff --git a/data/org.gnome.SessionManager.gschema.xml.in b/data/org.gnome.SessionManager.gschema.xml.in
new file mode 100644
index 0000000..05eb9f1
--- /dev/null
+++ b/data/org.gnome.SessionManager.gschema.xml.in
@@ -0,0 +1,14 @@
+<schemalist gettext-domain="gnome-session-3.0">
+  <schema id="org.gnome.SessionManager" path="/org/gnome/GnomeSession/">
+    <key name="auto-save-session" type="b">
+      <default>false</default>
+      <summary>Save sessions</summary>
+      <description>If enabled, gnome-session will save the session automatically.</description>
+    </key>
+    <key name="logout-prompt" type="b">
+      <default>true</default>
+      <summary>Logout prompt</summary>
+      <description>If enabled, gnome-session will prompt the user before ending a session.</description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/data/org.gnome.desktop.session.gschema.migrate b/data/org.gnome.desktop.session.gschema.migrate
new file mode 100644
index 0000000..7367763
--- /dev/null
+++ b/data/org.gnome.desktop.session.gschema.migrate
@@ -0,0 +1,2 @@
+[org.gnome.desktop.session]
+idle-delay = /desktop/gnome/session/idle-delay
diff --git a/data/org.gnome.desktop.session.gschema.xml.in b/data/org.gnome.desktop.session.gschema.xml.in
new file mode 100644
index 0000000..ba7f6c7
--- /dev/null
+++ b/data/org.gnome.desktop.session.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist gettext-domain="gnome-session-3.0">
+  <schema id="org.gnome.desktop.session" path="/desktop/gnome/session/">
+    <key name="idle-delay" type="i">
+      <default>5</default>
+      <summary>Time before session is considered idle</summary>
+      <description>The number of minutes of inactivity before the session is considered idle.</description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/gnome-session/gsm-inhibit-dialog.c b/gnome-session/gsm-inhibit-dialog.c
index 7621a5b..a22dbde 100644
--- a/gnome-session/gsm-inhibit-dialog.c
+++ b/gnome-session/gsm-inhibit-dialog.c
@@ -32,8 +32,6 @@
 #include <gdk/gdkx.h>
 #include <cairo-xlib.h>
 
-#include <gconf/gconf-client.h>
-
 #include "gsm-inhibit-dialog.h"
 #include "gsm-store.h"
 #include "gsm-client.h"
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 012a9d6..326d859 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -41,7 +41,6 @@
 #include <upower.h>
 
 #include <gtk/gtk.h> /* for logout dialog */
-#include <gconf/gconf-client.h>
 
 #include "gsm-manager.h"
 #include "gsm-manager-glue.h"
@@ -72,18 +71,15 @@
 #define GDM_FLEXISERVER_COMMAND "gdmflexiserver"
 #define GDM_FLEXISERVER_ARGS    "--startnew Standard"
 
+#define SESSION_SCHEMA            "org.gnome.desktop.session"
+#define KEY_IDLE_DELAY            "idle-delay"
 
-#define KEY_LOCKDOWN_DIR          "/desktop/gnome/lockdown"
-#define KEY_LOCK_DISABLE          KEY_LOCKDOWN_DIR "/disable_lock_screen"
-#define KEY_USER_SWITCH_DISABLE   KEY_LOCKDOWN_DIR "/disable_user_switching"
+#define GSM_MANAGER_SCHEMA        "org.gnome.SessionManager"
+#define KEY_AUTOSAVE              "auto-save-session"
+#define KEY_LOGOUT_PROMPT         "logout-prompt"
 
-#define KEY_DESKTOP_DIR           "/desktop/gnome/session"
-#define KEY_IDLE_DELAY            KEY_DESKTOP_DIR "/idle_delay"
-
-#define KEY_GNOME_SESSION_DIR     "/apps/gnome-session/options"
-#define KEY_AUTOSAVE              KEY_GNOME_SESSION_DIR "/auto_save_session"
-
-#define KEY_SLEEP_LOCK            "/apps/gnome-screensaver/lock_enabled"
+#define SCREENSAVER_SCHEMA        "org.gnome.screensaver"
+#define KEY_SLEEP_LOCK            "lock-enabled"
 
 typedef enum
 {
@@ -125,9 +121,9 @@ struct GsmManagerPrivate
          * and shouldn't be automatically restarted */
         GSList                 *condition_clients;
 
-        GConfClient            *gconf_client;
-        guint                   desktop_notify_id;
-        guint                   lockdown_notify_id;
+        GSettings              *settings;
+        GSettings              *session_settings;
+        GSettings              *screensaver_settings;
 
         DBusGProxy             *bus_proxy;
         DBusGConnection        *connection;
@@ -956,20 +952,17 @@ manager_switch_user (GsmManager *manager)
 static gboolean
 sleep_lock_is_enabled (GsmManager *manager)
 {
-        GError   *error;
         gboolean  enable_lock;
 
-        error = NULL;
-        enable_lock = gconf_client_get_bool (manager->priv->gconf_client,
-                                             KEY_SLEEP_LOCK, &error);
-
-        if (error) {
-                g_warning ("Error retrieving configuration key '%s': %s",
-                           KEY_SLEEP_LOCK, error->message);
-                g_error_free (error);
+        if (manager->priv->screensaver_settings == NULL) {
+                g_warning ("Unable to read screen lock configuration, "
+                           "unconditionally enabling screen locking");
 
-                /* If we fail to query gconf key, just enable locking */
+                /* If we fail to query the setting, just enable locking */
                 enable_lock = TRUE;
+        } else {
+                enable_lock = g_settings_get_boolean (manager->priv->screensaver_settings,
+                                                      KEY_SLEEP_LOCK);
         }
 
         return enable_lock;
@@ -1853,19 +1846,8 @@ auto_save_is_enabled (GsmManager *manager)
         gboolean  auto_save;
 
         error = NULL;
-        auto_save = gconf_client_get_bool (manager->priv->gconf_client,
-                                           KEY_AUTOSAVE,
-                                           &error);
-
-        if (error) {
-                g_warning ("Error retrieving configuration key '%s': %s",
-                           KEY_AUTOSAVE,
-                           error->message);
-                g_error_free (error);
-
-                /* If we fail to query gconf key, disable auto save */
-                auto_save = FALSE;
-        }
+        auto_save = g_settings_get_boolean (manager->priv->settings,
+                                            KEY_AUTOSAVE);
 
         return auto_save;
 }
@@ -2239,26 +2221,19 @@ gsm_manager_dispose (GObject *object)
                 manager->priv->presence = NULL;
         }
 
-        if (manager->priv->gconf_client) {
-                if (manager->priv->desktop_notify_id != 0) {
-                        gconf_client_remove_dir (manager->priv->gconf_client,
-                                                 KEY_DESKTOP_DIR,
-                                                 NULL);
-                        gconf_client_notify_remove (manager->priv->gconf_client,
-                                                    manager->priv->desktop_notify_id);
-                        manager->priv->desktop_notify_id = 0;
-                }
-                if (manager->priv->lockdown_notify_id != 0) {
-                        gconf_client_remove_dir (manager->priv->gconf_client,
-                                                 KEY_LOCKDOWN_DIR,
-                                                 NULL);
-                        gconf_client_notify_remove (manager->priv->gconf_client,
-                                                    manager->priv->lockdown_notify_id);
-                        manager->priv->lockdown_notify_id = 0;
-                }
+        if (manager->priv->settings) {
+                g_object_unref (manager->priv->settings);
+                manager->priv->settings = NULL;
+        }
+
+        if (manager->priv->session_settings) {
+                g_object_unref (manager->priv->session_settings);
+                manager->priv->session_settings = NULL;
+        }
 
-                g_object_unref (manager->priv->gconf_client);
-                manager->priv->gconf_client = NULL;
+        if (manager->priv->screensaver_settings) {
+                g_object_unref (manager->priv->screensaver_settings);
+                manager->priv->screensaver_settings = NULL;
         }
 
         if (manager->priv->up_client != NULL) {
@@ -2374,83 +2349,26 @@ gsm_manager_class_init (GsmManagerClass *klass)
 }
 
 static void
-invalid_type_warning (const char *type)
+fetch_idle_delay_setting (GsmManager *manager)
 {
-        g_warning ("Error retrieving configuration key '%s': Invalid type",
-                   type);
-}
-
-static void
-load_idle_delay_from_gconf (GsmManager *manager)
-{
-        GError *error;
         glong   value;
 
-        error = NULL;
-        value = gconf_client_get_int (manager->priv->gconf_client,
-                                      KEY_IDLE_DELAY,
-                                      &error);
-        if (error == NULL) {
-                gsm_presence_set_idle_timeout (manager->priv->presence, value * 60000);
-        } else {
-                g_warning ("Error retrieving configuration key '%s': %s",
-                           KEY_IDLE_DELAY,
-                           error->message);
-                g_error_free (error);
-        }
-
+        value = g_settings_get_int (manager->priv->session_settings,
+                                    KEY_IDLE_DELAY);
+        gsm_presence_set_idle_timeout (manager->priv->presence, value * 60000);
 }
 
 static void
-on_gconf_key_changed (GConfClient *client,
-                      guint        cnxn_id,
-                      GConfEntry  *entry,
-                      GsmManager  *manager)
+on_setting_changed (GSettings  *settings,
+                    const char *key,
+                    GsmManager *manager)
 {
-        const char *key;
-        GConfValue *value;
-
-        key = gconf_entry_get_key (entry);
-
-        if (! g_str_has_prefix (key, KEY_DESKTOP_DIR)
-            && ! g_str_has_prefix (key, KEY_LOCKDOWN_DIR)) {
-                return;
-        }
-
-        value = gconf_entry_get_value (entry);
-
         if (strcmp (key, KEY_IDLE_DELAY) == 0) {
-                if (value->type == GCONF_VALUE_INT) {
-                        int delay;
-
-                        delay = gconf_value_get_int (value);
-
-                        gsm_presence_set_idle_timeout (manager->priv->presence, delay * 60000);
-                } else {
-                        invalid_type_warning (key);
-                }
-        } else if (strcmp (key, KEY_LOCK_DISABLE) == 0) {
-                if (value->type == GCONF_VALUE_BOOL) {
-                        gboolean disabled;
-
-                        disabled = gconf_value_get_bool (value);
-
-                        /* FIXME: handle this */
-                } else {
-                        invalid_type_warning (key);
-                }
-        } else if (strcmp (key, KEY_USER_SWITCH_DISABLE) == 0) {
+                int delay;
 
-                if (value->type == GCONF_VALUE_BOOL) {
-                        gboolean disabled;
-
-                        disabled = gconf_value_get_bool (value);
-
-                        /* FIXME: handle this */
-                } else {
-                        invalid_type_warning (key);
-                }
+                delay = g_settings_get_int (settings, key);
 
+                gsm_presence_set_idle_timeout (manager->priv->presence, delay * 60000);
         } else {
                 g_debug ("Config key not handled: %s", key);
         }
@@ -2474,7 +2392,9 @@ gsm_manager_init (GsmManager *manager)
 
         manager->priv = GSM_MANAGER_GET_PRIVATE (manager);
 
-        manager->priv->gconf_client = gconf_client_get_default ();
+        manager->priv->settings = g_settings_new (GSM_MANAGER_SCHEMA);
+        manager->priv->session_settings = g_settings_new (SESSION_SCHEMA);
+        manager->priv->screensaver_settings = g_settings_new (SCREENSAVER_SCHEMA);
 
         manager->priv->inhibitors = gsm_store_new ();
         g_signal_connect (manager->priv->inhibitors,
@@ -2496,26 +2416,12 @@ gsm_manager_init (GsmManager *manager)
 
         manager->priv->up_client = up_client_new ();
 
-        /* GConf setup */
-        gconf_client_add_dir (manager->priv->gconf_client,
-                              KEY_DESKTOP_DIR,
-                              GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
-        gconf_client_add_dir (manager->priv->gconf_client,
-                              KEY_LOCKDOWN_DIR,
-                              GCONF_CLIENT_PRELOAD_NONE, NULL);
-
-        manager->priv->desktop_notify_id = gconf_client_notify_add (manager->priv->gconf_client,
-                                                                    KEY_DESKTOP_DIR,
-                                                                    (GConfClientNotifyFunc)on_gconf_key_changed,
-                                                                    manager,
-                                                                    NULL, NULL);
-        manager->priv->lockdown_notify_id = gconf_client_notify_add (manager->priv->gconf_client,
-                                                                     KEY_LOCKDOWN_DIR,
-                                                                     (GConfClientNotifyFunc)on_gconf_key_changed,
-                                                                     manager,
-                                                                     NULL, NULL);
+        g_signal_connect (manager->priv->session_settings,
+                          "changed",
+                          G_CALLBACK (on_setting_changed),
+                          manager);
 
-        load_idle_delay_from_gconf (manager);
+        fetch_idle_delay_setting (manager);
 }
 
 static void
@@ -2955,10 +2861,8 @@ user_logout (GsmManager *manager,
                 return;
         }
 
-        logout_prompt =
-               gconf_client_get_bool (manager->priv->gconf_client,
-                                      "/apps/gnome-session/options/logout_prompt",
-                                      NULL);
+        logout_prompt = g_settings_get_boolean (manager->priv->settings,
+                                                KEY_LOGOUT_PROMPT);
 
         /* Global settings overides input parameter in order to disable confirmation
          * dialog accordingly. If we're shutting down, we always show the confirmation



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]