[gdm] Migrate GDM off GConf to GSettings.
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] Migrate GDM off GConf to GSettings.
- Date: Thu, 15 Mar 2012 22:58:12 +0000 (UTC)
commit 2d0069984082b9528bc38c58ab8beeafade58467
Author: Marek Kasik <mkasik redhat com>
Date: Wed Feb 15 13:03:27 2012 +0100
Migrate GDM off GConf to GSettings.
This commit moves the fallback greeter and daemon away from gconf.
Some changes from Ray Strode.
https://bugzilla.gnome.org/show_bug.cgi?id=635375
configure.ac | 20 +-
daemon/gdm-welcome-session.c | 25 -
data/Makefile.am | 13 +-
data/gconf.path | 12 -
data/org.gnome.login-screen.gschema.xml.in | 38 +
data/session-setup.entries | 785 ----------------------
gui/simple-chooser/chooser-main.c | 22 +-
gui/simple-chooser/gdm-host-chooser.c | 22 +-
gui/simple-greeter/Makefile.am | 32 +-
gui/simple-greeter/gdm-greeter-login-window.c | 135 ++---
gui/simple-greeter/gdm-greeter-panel.c | 22 +-
gui/simple-greeter/gdm-greeter-session.c | 1 -
gui/simple-greeter/gdm-simple-greeter.schemas.in | 252 -------
gui/simple-greeter/gdm-user-chooser-widget.c | 25 +-
gui/simple-greeter/greeter-main.c | 1 -
15 files changed, 117 insertions(+), 1288 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3c94f94..2c03e1e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,7 +60,6 @@ GLIB_REQUIRED_VERSION=2.29.3
GTK_REQUIRED_VERSION=2.91.1
PANGO_REQUIRED_VERSION=1.3.0
SCROLLKEEPER_REQUIRED_VERSION=0.1.4
-GCONF_REQUIRED_VERSION=2.31.3
GNOME_PANEL_REQUIRED_VERSION=2.0.0
LIBXKLAVIER_REQUIRED_VERSION=4.0
LIBCANBERRA_GTK_REQUIRED_VERSION=0.4
@@ -121,17 +120,8 @@ AC_SUBST(GTK_LIBS)
PKG_CHECK_MODULES(CANBERRA_GTK,
libcanberra-gtk3 >= $LIBCANBERRA_GTK_REQUIRED_VERSION
)
-AC_SUBST(GCONF_CFLAGS)
-AC_SUBST(GCONF_LIBS)
-
-PKG_CHECK_MODULES(GCONF,
- gconf-2.0 >= $GCONF_REQUIRED_VERSION
-)
-AC_SUBST(GCONF_CFLAGS)
-AC_SUBST(GCONF_LIBS)
-
-gconf_defaultpath=`pkg-config gconf-2.0 --variable=gconf_defaultpath`
-AC_DEFINE_UNQUOTED([GCONF_DEFAULTPATH], "$gconf_defaultpath", [GConf Default Path])
+AC_SUBST(CANBERRA_GTK_CFLAGS)
+AC_SUBST(CANBERRA_GTK_LIBS)
PKG_CHECK_MODULES(UPOWER,
upower-glib >= $UPOWER_REQUIRED_VERSION,
@@ -148,7 +138,6 @@ AC_SUBST(UPOWER_LIBS)
PKG_CHECK_MODULES(SIMPLE_GREETER,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gtk+-3.0 >= $GTK_REQUIRED_VERSION
- gconf-2.0 >= $GCONF_REQUIRED_VERSION
fontconfig >= $FONTCONFIG_REQUIRED_VERSION
accountsservice >= $ACCOUNTS_SERVICE_REQUIRED_VERSION
x11
@@ -172,7 +161,6 @@ AC_SUBST(LIBXKLAVIER_LIBS)
PKG_CHECK_MODULES(SIMPLE_CHOOSER,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gtk+-3.0 >= $GTK_REQUIRED_VERSION
- gconf-2.0 >= $GCONF_REQUIRED_VERSION
)
AC_SUBST(SIMPLE_CHOOSER_CFLAGS)
AC_SUBST(SIMPLE_CHOOSER_LIBS)
@@ -190,10 +178,6 @@ PKG_CHECK_MODULES(CHECK,
have_check=no)
AM_CONDITIONAL([HAVE_CHECK],[test "x$CHECK_CFLAGS" != "x"])
-AC_PATH_PROG(GCONFTOOL, gconftool-2)
-
-AM_GCONF_SOURCE_2
-
LIBGDMGREETER_LIBS="$SIMPLE_GREETER_LIBS"
AC_SUBST(LIBGDMGREETER_LIBS)
LIBGDMGREETER_CFLAGS="$SIMPLE_GREETER_CFLAGS"
diff --git a/daemon/gdm-welcome-session.c b/daemon/gdm-welcome-session.c
index 2e81cb7..d0f88a2 100644
--- a/daemon/gdm-welcome-session.c
+++ b/daemon/gdm-welcome-session.c
@@ -315,7 +315,6 @@ build_welcome_environment (GdmWelcomeSession *welcome_session,
seat_id = welcome_session->priv->x11_display_seat_id +
strlen ("/org/freedesktop/ConsoleKit/");
- g_hash_table_insert (hash, g_strdup ("GCONF_DEFAULT_SOURCE_PATH"), g_strdup (GCONF_DEFAULTPATH));
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
}
@@ -423,30 +422,6 @@ spawn_child_setup (SpawnChildData *data)
_exit (1);
}
- if (pwent->pw_dir != NULL) {
- struct stat statbuf;
- const char *seat_id;
- char *gconf_dir;
- int r;
-
- seat_id = data->seat_id + strlen ("/org/freedesktop/ConsoleKit/");
- gconf_dir = g_strdup_printf ("%s/%s", pwent->pw_dir, seat_id);
-
- /* Verify per-seat gconf directory exists, create if needed */
- r = g_stat (gconf_dir, &statbuf);
- if (r < 0) {
- g_debug ("Making per-seat gconf directory %s", gconf_dir);
- g_mkdir (gconf_dir, S_IRWXU | S_IXGRP | S_IRGRP);
- g_chmod (gconf_dir, S_IRWXU | S_IXGRP | S_IRGRP);
- res = chown (gconf_dir, pwent->pw_uid, grent->gr_gid);
- if (res == -1) {
- g_warning ("GdmWelcomeSession: Error setting owner of per-seat gconf directory: %s",
- g_strerror (errno));
- }
- }
- g_free (gconf_dir);
- }
-
g_debug ("GdmWelcomeSession: Setting up run time dir %s", data->runtime_dir);
g_mkdir (data->runtime_dir, 0755);
res = chown (data->runtime_dir, pwent->pw_uid, pwent->pw_gid);
diff --git a/data/Makefile.am b/data/Makefile.am
index a209fb3..f0d00bf 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -115,8 +115,6 @@ EXTRA_DIST = \
PreSession.in \
PostSession.in \
PostLogin \
- gconf.path \
- session-setup.entries \
gdm-shell.session.in \
dconf-profile \
00-upstream-settings \
@@ -158,12 +156,10 @@ uninstall-hook:
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm \
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm-autologin \
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm-welcome \
- $(DESTDIR)$(workingdir)/.gconf.path \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm \
$(DESTDIR)$(sysconfdir)/dconf/profile/gdm \
-rf \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm.d \
- $(DESTDIR)$(workingdir)/.gconf.mandatory \
$(DESTDIR)$(workingdir)/.config/dconf \
$(DESTDIR)$(screenshotdir) \
$(DESTDIR)$(xauthdir)
@@ -174,7 +170,7 @@ uninstall-hook:
$(DESTDIR)$(sysconfdir)/dconf/db \
$(DESTDIR)$(sysconfdir)/dconf
-install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.path 00-upstream-settings 00-upstream-settings-locks
+install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession 00-upstream-settings 00-upstream-settings-locks
if test '!' -d $(DESTDIR)$(gdmconfdir); then \
$(mkinstalldirs) $(DESTDIR)$(gdmconfdir); \
chmod 755 $(DESTDIR)$(gdmconfdir); \
@@ -311,13 +307,6 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa
chown root:gdm $(DESTDIR)$(cachedir) || : ; \
fi
- $(INSTALL_DATA) $(srcdir)/gconf.path $(DESTDIR)$(workingdir)/.gconf.path
- gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --recursive-unset /
- gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --load $(srcdir)/session-setup.entries
- chown -R root:gdm $(DESTDIR)$(workingdir)/.gconf.mandatory || :
- chmod 1750 $(DESTDIR)$(workingdir)/.gconf.mandatory
- chmod 1640 $(DESTDIR)$(workingdir)/.gconf.mandatory/*.xml
-
$(INSTALL_DATA) $(srcdir)/dconf-profile $(DESTDIR)$(sysconfdir)/dconf/profile/gdm
$(INSTALL_DATA) $(srcdir)/00-upstream-settings $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d
$(INSTALL_DATA) $(srcdir)/00-upstream-settings-locks $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks
diff --git a/data/org.gnome.login-screen.gschema.xml.in b/data/org.gnome.login-screen.gschema.xml.in
index f0c9dfe..657d0b0 100644
--- a/data/org.gnome.login-screen.gschema.xml.in
+++ b/data/org.gnome.login-screen.gschema.xml.in
@@ -31,6 +31,17 @@
provide branding.
</_description>
</key>
+ <key name="fallback-logo" type="s">
+ <default>''</default>
+ <_summary>
+ Path to small image at top of user list
+ </_summary>
+ <_description>
+ The fallback login screen can optionally show a small image at the top of its
+ user list to provide site administrators and distributions a way to
+ provide branding.
+ </_description>
+ </key>
<key name="disable-user-list" type="b">
<default>false</default>
<_summary>
@@ -41,5 +52,32 @@
as. This setting can be toggled to disable showing the user list.
</_description>
</key>
+ <key name="banner-message-enable" type="b">
+ <default>false</default>
+ <_summary>
+ Enable showing the banner message
+ </_summary>
+ <_description>
+ Set to true to show the banner message text.
+ </_description>
+ </key>
+ <key name="banner-message-text" type="s">
+ <default>''</default>
+ <_summary>
+ Banner message text
+ </_summary>
+ <_description>
+ Text banner message to show in the login window.
+ </_description>
+ </key>
+ <key name="disable-restart-buttons" type="b">
+ <default>false</default>
+ <_summary>
+ Disable showing the restart buttons
+ </_summary>
+ <_description>
+ Set to true to disable showing the restart buttons in the login window.
+ </_description>
+ </key>
</schema>
</schemalist>
diff --git a/gui/simple-chooser/chooser-main.c b/gui/simple-chooser/chooser-main.c
index 2978a23..2b42031 100644
--- a/gui/simple-chooser/chooser-main.c
+++ b/gui/simple-chooser/chooser-main.c
@@ -30,7 +30,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
#include "gdm-common.h"
#include "gdm-log.h"
@@ -199,25 +198,8 @@ at_set_gtk_modules (void)
static void
load_a11y (void)
{
- const char *env_a_t_support;
- gboolean a_t_support;
- GConfClient *gconf_client;
-
- gconf_client = gconf_client_get_default ();
-
- env_a_t_support = g_getenv ("GNOME_ACCESSIBILITY");
- if (env_a_t_support) {
- a_t_support = atoi (env_a_t_support);
- } else {
- a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
- }
-
- if (a_t_support) {
- assistive_registry_start ();
- at_set_gtk_modules ();
- }
-
- g_object_unref (gconf_client);
+ assistive_registry_start ();
+ at_set_gtk_modules ();
}
int
diff --git a/gui/simple-chooser/gdm-host-chooser.c b/gui/simple-chooser/gdm-host-chooser.c
index 1f5f9c6..7ed5b79 100644
--- a/gui/simple-chooser/gdm-host-chooser.c
+++ b/gui/simple-chooser/gdm-host-chooser.c
@@ -30,7 +30,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
#include "gdm-common.h"
#include "gdm-log.h"
@@ -200,25 +199,8 @@ at_set_gtk_modules (void)
static void
load_a11y (void)
{
- const char *env_a_t_support;
- gboolean a_t_support;
- GConfClient *gconf_client;
-
- gconf_client = gconf_client_get_default ();
-
- env_a_t_support = g_getenv ("GNOME_ACCESSIBILITY");
- if (env_a_t_support) {
- a_t_support = atoi (env_a_t_support);
- } else {
- a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL);
- }
-
- if (a_t_support) {
- assistive_registry_start ();
- at_set_gtk_modules ();
- }
-
- g_object_unref (gconf_client);
+ assistive_registry_start ();
+ at_set_gtk_modules ();
}
int
diff --git a/gui/simple-greeter/Makefile.am b/gui/simple-greeter/Makefile.am
index ed4fd0a..f11e6cf 100644
--- a/gui/simple-greeter/Makefile.am
+++ b/gui/simple-greeter/Makefile.am
@@ -26,12 +26,6 @@ AM_CPPFLAGS = \
$(SIMPLE_GREETER_CFLAGS) \
$(NULL)
- INTLTOOL_SCHEMAS_RULE@
-
-schemasdir = @GCONF_SCHEMA_FILE_DIR@
-schemas_in_files = gdm-simple-greeter.schemas.in
-schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
-
noinst_PROGRAMS = \
test-filesystem-type \
test-greeter-login-window \
@@ -85,8 +79,6 @@ test_greeter_panel_SOURCES = \
gdm-clock-widget.c \
gdm-option-widget.h \
gdm-option-widget.c \
- gdm-recent-option-widget.h \
- gdm-recent-option-widget.c \
gdm-cell-renderer-timer.h \
gdm-cell-renderer-timer.c \
gdm-timer.h \
@@ -106,7 +98,6 @@ test_greeter_panel_LDADD = \
$(top_builddir)/gui/simple-greeter/libgdmsimplegreeter/libgdmsimplegreeter.la \
$(SIMPLE_GREETER_LIBS) \
$(GTK_LIBS) \
- $(GCONF_LIBS) \
$(LIBXKLAVIER_LIBS) \
$(UPOWER_LIBS) \
$(NULL)
@@ -199,8 +190,6 @@ gdm_simple_greeter_SOURCES = \
gdm-clock-widget.c \
gdm-option-widget.h \
gdm-option-widget.c \
- gdm-recent-option-widget.h \
- gdm-recent-option-widget.c \
gdm-sessions.h \
gdm-sessions.c \
gdm-session-option-widget.h \
@@ -228,27 +217,10 @@ ui_DATA = \
gdm-greeter-login-window.ui \
$(NULL)
-EXTRA_DIST = \
- $(schemas_in_files) \
- $(ui_DATA) \
+EXTRA_DIST = \
+ $(ui_DATA) \
$(NULL)
-DISTCLEANFILES = \
- $(schemas_DATA) \
- $(NULL)
-
MAINTAINERCLEANFILES = \
*~ \
Makefile.in
-
-if GCONF_SCHEMAS_INSTALL
-# don't do this if we are building in eg. rpm
-install-data-local: $(schemas_DATA)
- if test -z "$(DESTDIR)" ; then \
- for p in $(schemas_DATA) ; do \
- GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/gui/simple-greeter/$$p ; \
- done \
- fi
-else
-install-data-local:
-endif
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
index 7bd6660..70192fc 100644
--- a/gui/simple-greeter/gdm-greeter-login-window.c
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
@@ -41,6 +41,7 @@
#include <glib/gi18n.h>
#include <glib/gstdio.h>
#include <glib-object.h>
+#include <gio/gio.h>
#include <gdk/gdkkeysyms.h>
#include <gdk/gdkx.h>
@@ -48,8 +49,6 @@
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
-
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
@@ -83,11 +82,11 @@
#define UI_XML_FILE "gdm-greeter-login-window.ui"
-#define KEY_GREETER_DIR "/apps/gdm/simple-greeter"
-#define KEY_BANNER_MESSAGE_ENABLED KEY_GREETER_DIR "/banner_message_enable"
-#define KEY_BANNER_MESSAGE_TEXT KEY_GREETER_DIR "/banner_message_text"
-#define KEY_LOGO KEY_GREETER_DIR "/logo_icon_name"
-#define KEY_DISABLE_USER_LIST "/apps/gdm/simple-greeter/disable_user_list"
+#define LOGIN_SCREEN_SCHEMA "org.gnome.login-screen"
+#define KEY_BANNER_MESSAGE_ENABLED "banner-message-enable"
+#define KEY_BANNER_MESSAGE_TEXT "banner-message-text"
+#define KEY_LOGO "fallback-logo"
+#define KEY_DISABLE_USER_LIST "disable-user-list"
#define LSB_RELEASE_COMMAND "lsb_release -d"
@@ -122,14 +121,14 @@ struct GdmGreeterLoginWindowPrivate
GtkWidget *auth_page_box;
guint display_is_local : 1;
guint user_chooser_loaded : 1;
- GConfClient *client;
+ GSettings *settings;
GList *extensions;
GdmLoginExtension *active_extension;
GList *extensions_to_enable;
GList *extensions_to_stop;
gboolean banner_message_enabled;
- guint gconf_cnxn;
+ gulong gsettings_cnxn;
guint last_mode;
guint dialog_mode;
@@ -1870,23 +1869,18 @@ load_theme (GdmGreeterLoginWindow *login_window)
image = GTK_WIDGET (gtk_builder_get_object (login_window->priv->builder, "logo-image"));
if (image != NULL) {
- char *icon_name;
- GError *error;
-
- error = NULL;
- icon_name = gconf_client_get_string (login_window->priv->client, KEY_LOGO, &error);
- if (error != NULL) {
- g_debug ("GdmGreeterLoginWindow: unable to get logo icon name: %s", error->message);
- g_error_free (error);
- }
+ GdkPixbuf *pixbuf;
+ char *path;
+
+ path = g_settings_get_string (login_window->priv->settings, KEY_LOGO);
+ g_debug ("GdmGreeterLoginWindow: Got greeter logo '%s'", path);
- g_debug ("GdmGreeterLoginWindow: Got greeter logo '%s'",
- icon_name ? icon_name : "(null)");
- if (icon_name != NULL) {
- gtk_image_set_from_icon_name (GTK_IMAGE (image),
- icon_name,
- GTK_ICON_SIZE_DIALOG);
- g_free (icon_name);
+ pixbuf = gdk_pixbuf_new_from_file_at_scale (path, -1, 48, TRUE, NULL);
+ g_free (path);
+
+ if (pixbuf != NULL) {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
+ g_object_unref (pixbuf);
}
}
@@ -2045,7 +2039,6 @@ gdm_greeter_login_window_get_preferred_height (GtkWidget *widget,
static void
update_banner_message (GdmGreeterLoginWindow *login_window)
{
- GError *error;
gboolean enabled;
if (login_window->priv->auth_banner_label == NULL) {
@@ -2054,12 +2047,7 @@ update_banner_message (GdmGreeterLoginWindow *login_window)
return;
}
- error = NULL;
- enabled = gconf_client_get_bool (login_window->priv->client, KEY_BANNER_MESSAGE_ENABLED, &error);
- if (error != NULL) {
- g_debug ("GdmGreeterLoginWindow: unable to get configuration: %s", error->message);
- g_error_free (error);
- }
+ enabled = g_settings_get_boolean (login_window->priv->settings, KEY_BANNER_MESSAGE_ENABLED);
login_window->priv->banner_message_enabled = enabled;
@@ -2067,15 +2055,11 @@ update_banner_message (GdmGreeterLoginWindow *login_window)
g_debug ("GdmGreeterLoginWindow: banner message disabled");
gtk_widget_hide (login_window->priv->auth_banner_label);
} else {
- char *message = NULL;
- error = NULL;
- if (message == NULL) {
- message = gconf_client_get_string (login_window->priv->client, KEY_BANNER_MESSAGE_TEXT, &error);
- if (error != NULL) {
- g_debug("GdmGreeterLoginWindow: unable to get banner text: %s", error->message);
- g_error_free(error);
- }
- }
+ char *message;
+
+ message = g_settings_get_string (login_window->priv->settings,
+ KEY_BANNER_MESSAGE_TEXT);
+
if (message != NULL) {
char *markup;
markup = g_markup_printf_escaped ("<small><i>%s</i></small>", message);
@@ -2229,29 +2213,24 @@ gdm_greeter_login_window_class_init (GdmGreeterLoginWindowClass *klass)
}
static void
-on_gconf_key_changed (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- GdmGreeterLoginWindow *login_window)
+on_gsettings_key_changed (GSettings *settings,
+ gchar *key,
+ gpointer user_data)
{
- const char *key;
- GConfValue *value;
+ GdmGreeterLoginWindow *login_window;
- key = gconf_entry_get_key (entry);
- value = gconf_entry_get_value (entry);
+ login_window = GDM_GREETER_LOGIN_WINDOW (user_data);
if (strcmp (key, KEY_BANNER_MESSAGE_ENABLED) == 0) {
- if (value->type == GCONF_VALUE_BOOL) {
- gboolean enabled;
+ gboolean enabled;
+
+ enabled = g_settings_get_boolean (settings, key);
+
+ g_debug ("setting key %s = %d", key, enabled);
+
+ login_window->priv->banner_message_enabled = enabled;
+ update_banner_message (login_window);
- enabled = gconf_value_get_bool (value);
- g_debug ("setting key %s = %d", key, enabled);
- login_window->priv->banner_message_enabled = enabled;
- update_banner_message (login_window);
- } else {
- g_warning ("Error retrieving configuration key '%s': Invalid type",
- key);
- }
} else if (strcmp (key, KEY_BANNER_MESSAGE_TEXT) == 0) {
if (login_window->priv->banner_message_enabled) {
update_banner_message (login_window);
@@ -2566,9 +2545,8 @@ load_login_extensions (GdmGreeterLoginWindow *login_window)
static void
gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
{
- GConfClient *client;
- GError *error;
- gboolean user_list_disable;
+ GSettings *settings;
+ gboolean user_list_disable;
gdm_profile_start (NULL);
@@ -2577,19 +2555,12 @@ gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
login_window->priv->dialog_mode = MODE_UNDEFINED;
login_window->priv->next_mode = MODE_UNDEFINED;
- client = gconf_client_get_default ();
- error = NULL;
+ settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
/* The user list is not shown only if the user list is disabled and
* timed login is also not being used.
*/
- user_list_disable = gconf_client_get_bool (client,
- KEY_DISABLE_USER_LIST,
- &error);
- if (error != NULL) {
- g_debug ("GdmUserChooserWidget: unable to get disable-user-list configuration: %s", error->message);
- g_error_free (error);
- }
+ user_list_disable = g_settings_get_boolean (settings, KEY_DISABLE_USER_LIST);
login_window->priv->user_list_disabled = user_list_disable;
@@ -2609,17 +2580,13 @@ gdm_greeter_login_window_init (GdmGreeterLoginWindow *login_window)
G_CALLBACK (on_window_state_event),
NULL);
- login_window->priv->client = gconf_client_get_default ();
- gconf_client_add_dir (login_window->priv->client,
- KEY_GREETER_DIR,
- GCONF_CLIENT_PRELOAD_ONELEVEL,
- NULL);
- login_window->priv->gconf_cnxn = gconf_client_notify_add (login_window->priv->client,
- KEY_GREETER_DIR,
- (GConfClientNotifyFunc)on_gconf_key_changed,
- login_window,
- NULL,
- NULL);
+ login_window->priv->settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
+
+ login_window->priv->gsettings_cnxn = g_signal_connect (login_window->priv->settings,
+ "changed",
+ G_CALLBACK (on_gsettings_key_changed),
+ login_window);
+
g_idle_add ((GSourceFunc) load_login_extensions, login_window);
gdm_profile_end (NULL);
}
@@ -2636,8 +2603,8 @@ gdm_greeter_login_window_finalize (GObject *object)
g_return_if_fail (login_window->priv != NULL);
- if (login_window->priv->client != NULL) {
- g_object_unref (login_window->priv->client);
+ if (login_window->priv->settings != NULL) {
+ g_object_unref (login_window->priv->settings);
}
G_OBJECT_CLASS (gdm_greeter_login_window_parent_class)->finalize (object);
diff --git a/gui/simple-greeter/gdm-greeter-panel.c b/gui/simple-greeter/gdm-greeter-panel.c
index 598aadf..552e6fa 100644
--- a/gui/simple-greeter/gdm-greeter-panel.c
+++ b/gui/simple-greeter/gdm-greeter-panel.c
@@ -40,7 +40,6 @@
#include <gdk/gdk.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
#include <dbus/dbus-glib.h>
#ifdef HAVE_UPOWER
@@ -61,7 +60,10 @@
#define GPM_DBUS_PATH "/org/gnome/SettingsDaemon/Power"
#define GPM_DBUS_INTERFACE "org.gnome.SettingsDaemon.Power"
-#define KEY_DISABLE_RESTART_BUTTONS "/apps/gdm/simple-greeter/disable_restart_buttons"
+#define LOGIN_SCREEN_SCHEMA "org.gnome.login-screen"
+
+#define KEY_DISABLE_RESTART_BUTTONS "disable-restart-buttons"
+
#define KEY_NOTIFICATION_AREA_PADDING "/apps/notification_area_applet/prefs/padding"
#define GDM_GREETER_PANEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_GREETER_PANEL, GdmGreeterPanelPrivate))
@@ -762,18 +764,12 @@ do_disconnect (GtkWidget *widget,
static gboolean
get_show_restart_buttons (GdmGreeterPanel *panel)
{
- gboolean show;
- GError *error;
- GConfClient *client;
+ gboolean show;
+ GSettings *settings;
- client = gconf_client_get_default ();
+ settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
- error = NULL;
- show = ! gconf_client_get_bool (client, KEY_DISABLE_RESTART_BUTTONS, &error);
- if (error != NULL) {
- g_debug ("GdmGreeterPanel: unable to get disable-restart-buttons configuration: %s", error->message);
- g_error_free (error);
- }
+ show = ! g_settings_get_boolean (settings, KEY_DISABLE_RESTART_BUTTONS);
#ifdef ENABLE_RBAC_SHUTDOWN
{
@@ -790,7 +786,7 @@ get_show_restart_buttons (GdmGreeterPanel *panel)
}
}
#endif
- g_object_unref (client);
+ g_object_unref (settings);
return show;
}
diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c
index 60acc45..d0ce274 100644
--- a/gui/simple-greeter/gdm-greeter-session.c
+++ b/gui/simple-greeter/gdm-greeter-session.c
@@ -31,7 +31,6 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <glib-object.h>
-#include <gconf/gconf-client.h>
#include "gdm-greeter-session.h"
#include "gdm-greeter-client.h"
diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c
index 60ed160..e469ef6 100644
--- a/gui/simple-greeter/gdm-user-chooser-widget.c
+++ b/gui/simple-greeter/gdm-user-chooser-widget.c
@@ -33,10 +33,9 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
+#include <gio/gio.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
-
#include <act/act-user-manager.h>
#include <act/act-user.h>
@@ -44,7 +43,9 @@
#include "gdm-settings-keys.h"
#include "gdm-settings-client.h"
-#define KEY_DISABLE_USER_LIST "/apps/gdm/simple-greeter/disable_user_list"
+#define LOGIN_SCREEN_SCHEMA "org.gnome.login-screen"
+
+#define KEY_DISABLE_USER_LIST "disable-user-list"
enum {
USER_NO_DISPLAY = 1 << 0,
@@ -753,18 +754,12 @@ gdm_user_chooser_widget_get_property (GObject *object,
static gboolean
is_user_list_disabled (GdmUserChooserWidget *widget)
{
- GConfClient *client;
- GError *error;
- gboolean result;
-
- client = gconf_client_get_default ();
- error = NULL;
- result = gconf_client_get_bool (client, KEY_DISABLE_USER_LIST, &error);
- if (error != NULL) {
- g_debug ("GdmUserChooserWidget: unable to get disable-user-list configuration: %s", error->message);
- g_error_free (error);
- }
- g_object_unref (client);
+ GSettings *settings;
+ gboolean result;
+
+ settings = g_settings_new (LOGIN_SCREEN_SCHEMA);
+ result = g_settings_get_boolean (settings, KEY_DISABLE_USER_LIST);
+ g_object_unref (settings);
return result;
}
diff --git a/gui/simple-greeter/greeter-main.c b/gui/simple-greeter/greeter-main.c
index a2c533e..ef54a7b 100644
--- a/gui/simple-greeter/greeter-main.c
+++ b/gui/simple-greeter/greeter-main.c
@@ -29,7 +29,6 @@
#include <glib/gi18n.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
#include <dbus/dbus-glib.h>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]