gdm r6225 - in trunk: . gui/simple-greeter
- From: matthiasc svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6225 - in trunk: . gui/simple-greeter
- Date: Thu, 8 May 2008 19:54:07 +0100 (BST)
Author: matthiasc
Date: Thu May 8 18:54:07 2008
New Revision: 6225
URL: http://svn.gnome.org/viewvc/gdm?rev=6225&view=rev
Log:
Add a GConf key for not showing normal users in the user list.
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-simple-greeter.schemas.in
trunk/gui/simple-greeter/gdm-user-chooser-widget.c
Modified: trunk/gui/simple-greeter/gdm-simple-greeter.schemas.in
==============================================================================
--- trunk/gui/simple-greeter/gdm-simple-greeter.schemas.in (original)
+++ trunk/gui/simple-greeter/gdm-simple-greeter.schemas.in Thu May 8 18:54:07 2008
@@ -68,6 +68,17 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/gdm/simple-greeter/disable_user_list</key>
+ <applyto>/apps/gdm/simple-greeter/disable_user_list</applyto>
+ <owner>gdm-simple-greeter</owner>
+ <type>bool</type>
+ <default>FALSE</default>
+ <locale name="C">
+ <short>Do not show known users in the login window</short>
+ <long>Set to TRUE to disable showing known users in the login window.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/gdm/simple-greeter/wm_use_compiz</key>
<applyto>/apps/gdm/simple-greeter/wm_use_compiz</applyto>
<owner>gdm-simple-greeter</owner>
Modified: trunk/gui/simple-greeter/gdm-user-chooser-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-user-chooser-widget.c (original)
+++ trunk/gui/simple-greeter/gdm-user-chooser-widget.c Thu May 8 18:54:07 2008
@@ -34,9 +34,14 @@
#include <glib/gstdio.h>
#include <gtk/gtk.h>
+#include <gconf/gconf-client.h>
+
#include "gdm-user-manager.h"
#include "gdm-user-chooser-widget.h"
+
+#define KEY_DISABLE_USER_LIST "/apps/gdm/simple-greeter/disable_user_list"
+
enum {
USER_NO_DISPLAY = 1 << 0,
USER_ACCOUNT_DISABLED = 1 << 1,
@@ -59,6 +64,7 @@
guint show_other_user : 1;
guint show_guest_user : 1;
guint show_auto_user : 1;
+ guint show_normal_users : 1;
};
enum {
@@ -231,6 +237,25 @@
}
}
+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);
+
+ return result;
+}
+
static GObject *
gdm_user_chooser_widget_constructor (GType type,
guint n_construct_properties,
@@ -247,6 +272,8 @@
gdm_user_chooser_widget_set_show_auto_user (user_chooser_widget, FALSE);
gdm_user_chooser_widget_set_show_other_user (user_chooser_widget, TRUE);
+ user_chooser_widget->priv->show_normal_users = !is_user_list_disabled (user_chooser_widget);
+
return G_OBJECT (user_chooser_widget);
}
@@ -403,6 +430,9 @@
char *tooltip;
gboolean is_logged_in;
+ if (!widget->priv->show_normal_users)
+ return;
+
pixbuf = gdm_user_render_icon (user, ICON_SIZE);
if (pixbuf == NULL && widget->priv->stock_person_pixbuf != NULL) {
pixbuf = g_object_ref (widget->priv->stock_person_pixbuf);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]