[gnome-control-center/T20818: 25/54] user-accounts: disable lock screen when autologin is enabled
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/T20818: 25/54] user-accounts: disable lock screen when autologin is enabled
- Date: Tue, 23 Jan 2018 21:32:08 +0000 (UTC)
commit 5f8ab151618823c0f367e4abcb812c830aea66a7
Author: Cosimo Cecchi <cosimo endlessm com>
Date: Tue May 6 14:15:40 2014 -0700
user-accounts: disable lock screen when autologin is enabled
configure.ac | 1 +
panels/privacy/cc-privacy-panel.c | 39 +++++++++++++++++++++++++++++-------
2 files changed, 32 insertions(+), 8 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index ff1ec1e..2f30640 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,6 +151,7 @@ PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
smbclient)
PKG_CHECK_MODULES(PRIVACY_PANEL, $COMMON_MODULES
+ accountsservice >= $ACCOUNTSSERVICE_REQUIRED_VERSION
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION
diff --git a/panels/privacy/cc-privacy-panel.c b/panels/privacy/cc-privacy-panel.c
index 4ab274a..112b318 100644
--- a/panels/privacy/cc-privacy-panel.c
+++ b/panels/privacy/cc-privacy-panel.c
@@ -23,6 +23,7 @@
#include "cc-privacy-resources.h"
#include "cc-util.h"
+#include <act/act.h>
#include <gio/gdesktopappinfo.h>
#include <glib/gi18n.h>
#include <polkit/polkit.h>
@@ -388,23 +389,45 @@ add_screen_lock (CcPrivacyPanel *self)
GtkWidget *w;
GtkWidget *dialog;
GtkWidget *label;
+ ActUserManager *um;
+ ActUser *user;
+ gboolean automatic_login;
- w = get_on_off_label (self->priv->lock_settings, "lock-enabled");
- add_row (self, _("Screen Lock"), "screen_lock_dialog", w);
+ um = act_user_manager_get_default ();
+ user = act_user_manager_get_user_by_id (um, getuid ());
+ automatic_login = act_user_get_automatic_login (user);
+
+ if (automatic_login) {
+ add_row (self, _("Screen Lock"), "screen_lock_dialog", gtk_label_new (_("Off")));
+ } else {
+ w = get_on_off_label (self->priv->lock_settings, "lock-enabled");
+ add_row (self, _("Screen Lock"), "screen_lock_dialog", w);
+ }
dialog = self->priv->screen_lock_dialog;
g_signal_connect (dialog, "delete-event",
G_CALLBACK (gtk_widget_hide_on_delete), NULL);
w = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, "automatic_screen_lock"));
- g_settings_bind (self->priv->lock_settings, "lock-enabled",
- w, "active",
- G_SETTINGS_BIND_DEFAULT);
+
+ if (automatic_login) {
+ gtk_switch_set_active (GTK_SWITCH (w), FALSE);
+ gtk_widget_set_sensitive (w, FALSE);
+ } else {
+ g_settings_bind (self->priv->lock_settings, "lock-enabled",
+ w, "active",
+ G_SETTINGS_BIND_DEFAULT);
+ }
w = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, "lock_after_combo"));
- g_settings_bind (self->priv->lock_settings, "lock-enabled",
- w, "sensitive",
- G_SETTINGS_BIND_GET);
+
+ if (automatic_login) {
+ gtk_widget_set_sensitive (w, FALSE);
+ } else {
+ g_settings_bind (self->priv->lock_settings, "lock-enabled",
+ w, "sensitive",
+ G_SETTINGS_BIND_GET);
+ }
label = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, "lock_after_label"));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]