[gnome-control-center] user-accounts: Change behavior/display of panel for remote accounts
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] user-accounts: Change behavior/display of panel for remote accounts
- Date: Sat, 18 Aug 2012 18:15:55 +0000 (UTC)
commit f217fa286af37fbd040a3d9a98922d02929bc2de
Author: Stef Walter <stefw gnome org>
Date: Tue Aug 14 18:34:22 2012 +0200
user-accounts: Change behavior/display of panel for remote accounts
* Hide the automatic-login and fingerprint widgets
* Insensitive account type and real name widgets
https://bugzilla.gnome.org/show_bug.cgi?id=681770
panels/user-accounts/um-user-panel.c | 51 ++++++++++++++++++++++++----------
1 files changed, 36 insertions(+), 15 deletions(-)
---
diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c
index 1370938..aca5b3c 100644
--- a/panels/user-accounts/um-user-panel.c
+++ b/panels/user-accounts/um-user-panel.c
@@ -573,6 +573,7 @@ show_user (UmUser *user, UmUserPanelPrivate *d)
GtkWidget *widget;
GtkTreeModel *model;
GtkTreeIter iter;
+ gboolean show;
pixbuf = um_user_render_icon (user, FALSE, 48);
image = get_widget (d, "user-icon-image");
@@ -611,18 +612,23 @@ show_user (UmUser *user, UmUserPanelPrivate *d)
um_editable_combo_set_active_iter (UM_EDITABLE_COMBO (widget), &iter);
g_free (lang);
+ /* Fingerprint: show when self, possible, and local account */
widget = get_widget (d, "account-fingerprint-notebook");
label = get_widget (d, "account-fingerprint-label");
label2 = get_widget (d, "account-fingerprint-value-label");
label3 = get_widget (d, "account-fingerprint-button-label");
- if (um_user_get_uid (user) != getuid() ||
- !set_fingerprint_label (label2, label3)) {
- gtk_widget_hide (label);
- gtk_widget_hide (widget);
- } else {
- gtk_widget_show (label);
- gtk_widget_show (widget);
- }
+ show = (um_user_get_uid (user) == getuid() &&
+ um_user_is_local_account (user) &&
+ set_fingerprint_label (label2, label3));
+ gtk_widget_set_visible (label, show);
+ gtk_widget_set_visible (widget, show);
+
+ /* Autologin: show when local account */
+ widget = get_widget (d, "autologin-switch");
+ label = get_widget (d, "autologin-label");
+ show = um_user_is_local_account (user);
+ gtk_widget_set_visible (widget, show);
+ gtk_widget_set_visible (label, show);
}
static void on_permission_changed (GPermission *permission, GParamSpec *pspec, gpointer data);
@@ -978,7 +984,13 @@ on_permission_changed (GPermission *permission,
g_object_unref (icon);
}
- if (is_authorized) {
+ if (!um_user_is_local_account (user)) {
+ um_editable_combo_set_editable (UM_EDITABLE_COMBO (get_widget (d, "account-type-combo")), FALSE);
+ remove_unlock_tooltip (get_widget (d, "account-type-combo"));
+ gtk_widget_set_sensitive (GTK_WIDGET (get_widget (d, "autologin-switch")), FALSE);
+ remove_unlock_tooltip (get_widget (d, "autologin-switch"));
+
+ } else if (is_authorized && um_user_is_local_account (user)) {
um_editable_combo_set_editable (UM_EDITABLE_COMBO (get_widget (d, "account-type-combo")), TRUE);
remove_unlock_tooltip (get_widget (d, "account-type-combo"));
gtk_widget_set_sensitive (GTK_WIDGET (get_widget (d, "autologin-switch")), TRUE);
@@ -991,13 +1003,25 @@ on_permission_changed (GPermission *permission,
add_unlock_tooltip (get_widget (d, "autologin-switch"));
}
+ /* The full name entry: insensitive if remote or not authorized and not self */
+ widget = get_widget (d, "full-name-entry");
+ if (!um_user_is_local_account (user)) {
+ cc_editable_entry_set_editable (CC_EDITABLE_ENTRY (widget), FALSE);
+ remove_unlock_tooltip (widget);
+
+ } else if (is_authorized || self_selected) {
+ cc_editable_entry_set_editable (CC_EDITABLE_ENTRY (widget), TRUE);
+ remove_unlock_tooltip (widget);
+
+ } else {
+ cc_editable_entry_set_editable (CC_EDITABLE_ENTRY (widget), FALSE);
+ add_unlock_tooltip (widget);
+ }
+
if (is_authorized || self_selected) {
gtk_widget_show (get_widget (d, "user-icon-button"));
gtk_widget_hide (get_widget (d, "user-icon-nonbutton"));
- cc_editable_entry_set_editable (CC_EDITABLE_ENTRY (get_widget (d, "full-name-entry")), TRUE);
- remove_unlock_tooltip (get_widget (d, "full-name-entry"));
-
um_editable_combo_set_editable (UM_EDITABLE_COMBO (get_widget (d, "account-language-combo")), TRUE);
remove_unlock_tooltip (get_widget (d, "account-language-combo"));
@@ -1010,9 +1034,6 @@ on_permission_changed (GPermission *permission,
gtk_widget_hide (get_widget (d, "user-icon-button"));
gtk_widget_show (get_widget (d, "user-icon-nonbutton"));
- cc_editable_entry_set_editable (CC_EDITABLE_ENTRY (get_widget (d, "full-name-entry")), FALSE);
- add_unlock_tooltip (get_widget (d, "full-name-entry"));
-
um_editable_combo_set_editable (UM_EDITABLE_COMBO (get_widget (d, "account-language-combo")), FALSE);
add_unlock_tooltip (get_widget (d, "account-language-combo"));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]