[gnome-control-center/wip/feborges/user-accounts-ui-improvements: 2/4] user-accounts: UI style improvements
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/feborges/user-accounts-ui-improvements: 2/4] user-accounts: UI style improvements
- Date: Wed, 29 Jan 2020 14:11:47 +0000 (UTC)
commit 127bf308bfdf599f64adffc35a572cb692364fb8
Author: Felipe Borges <felipeborges gnome org>
Date: Mon Jan 13 15:35:09 2020 +0100
user-accounts: UI style improvements
According to the mockups at
https://gitlab.gnome.org/Teams/Design/settings-mockups/raw/master/users/users.png
Fixes #771
panels/user-accounts/cc-user-panel.c | 169 +++---
panels/user-accounts/cc-user-panel.ui | 770 ++++++++++++++-------------
panels/user-accounts/um-fingerprint-dialog.c | 27 +-
panels/user-accounts/um-fingerprint-dialog.h | 4 +-
4 files changed, 512 insertions(+), 458 deletions(-)
---
diff --git a/panels/user-accounts/cc-user-panel.c b/panels/user-accounts/cc-user-panel.c
index 248920e96..49eea54bf 100644
--- a/panels/user-accounts/cc-user-panel.c
+++ b/panels/user-accounts/cc-user-panel.c
@@ -54,6 +54,7 @@
#include "cc-common-language.h"
#include "cc-permission-infobar.h"
#include "cc-util.h"
+#include "list-box-helper.h"
#define USER_ACCOUNTS_PERMISSION "org.gnome.controlcenter.user-accounts.administration"
@@ -65,31 +66,29 @@ struct _CcUserPanel {
GSettings *login_screen_settings;
GtkBox *accounts_box;
- GtkRadioButton *account_type_admin_button;
- GtkBox *account_type_box;
- GtkLabel *account_type_label;
- GtkRadioButton *account_type_standard_button;
+ GtkBox *account_settings_box;
+ GtkListBox *account_settings_listbox;
+ GtkListBox *authentication_and_login_listbox;
+ GtkListBoxRow *account_type_row;
+ GtkSwitch *account_type_switch;
GtkButton *add_user_button;
- GtkBox *autologin_box;
- GtkLabel *autologin_label;
+ GtkListBoxRow *autologin_row;
GtkSwitch *autologin_switch;
CcCarousel *carousel;
- GtkButton *fingerprint_button;
- GtkLabel *fingerprint_label;
+ GtkLabel *fingerprint_state_label;
+ GtkListBoxRow *fingerprint_row;
GtkStack *full_name_stack;
GtkLabel *full_name_label;
GtkToggleButton *full_name_edit_button;
GtkEntry *full_name_entry;
- GtkButton *language_button;
GtkLabel *language_button_label;
- GtkLabel *language_label;
- GtkButton *last_login_button;
+ GtkListBoxRow *language_row;
GtkLabel *last_login_button_label;
- GtkLabel *last_login_label;
+ GtkListBoxRow *last_login_row;
GtkBox *no_users_box;
GtkRevealer *notification_revealer;
- GtkButton *password_button;
GtkLabel *password_button_label;
+ GtkListBoxRow *password_row;
CcPermissionInfobar *permission_infobar;
GtkButton *remove_user_button;
GtkStack *stack;
@@ -820,15 +819,12 @@ show_user (ActUser *user, CcUserPanel *self)
gtk_toggle_button_set_active (self->full_name_edit_button, FALSE);
g_signal_handlers_unblock_by_func (self->full_name_edit_button, full_name_edit_button_toggled, self);
- if (act_user_get_account_type (user) == ACT_USER_ACCOUNT_TYPE_ADMINISTRATOR)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->account_type_admin_button), TRUE);
- else
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->account_type_standard_button), TRUE);
+ enable = (act_user_get_account_type (user) == ACT_USER_ACCOUNT_TYPE_ADMINISTRATOR);
+ gtk_switch_set_active (self->account_type_switch, enable);
/* Do not show the "Account Type" option when there's a single user account. */
show = (self->other_accounts != 0);
- gtk_widget_set_visible (GTK_WIDGET (self->account_type_label), show);
- gtk_widget_set_visible (GTK_WIDGET (self->account_type_box), show);
+ gtk_widget_set_visible (GTK_WIDGET (self->account_settings_box), show);
gtk_label_set_label (self->password_button_label, get_password_mode_text (user));
enable = act_user_is_local_account (user);
@@ -857,19 +853,16 @@ show_user (ActUser *user, CcUserPanel *self)
act_user_is_local_account (user) &&
(self->login_screen_settings &&
g_settings_get_boolean (self->login_screen_settings, "enable-fingerprint-authentication"))
&&
- set_fingerprint_label (self->fingerprint_button));
- gtk_widget_set_visible (GTK_WIDGET (self->fingerprint_label), show);
- gtk_widget_set_visible (GTK_WIDGET (self->fingerprint_button), show);
+ set_fingerprint_label (self->fingerprint_state_label));
+ gtk_widget_set_visible (GTK_WIDGET (self->fingerprint_row), show);
/* Autologin: show when local account */
show = act_user_is_local_account (user);
- gtk_widget_set_visible (GTK_WIDGET (self->autologin_box), show);
- gtk_widget_set_visible (GTK_WIDGET (self->autologin_label), show);
+ gtk_widget_set_visible (GTK_WIDGET (self->autologin_row), show);
/* Language: do not show for current user */
show = act_user_get_uid (user) != getuid();
- gtk_widget_set_visible (GTK_WIDGET (self->language_button), show);
- gtk_widget_set_visible (GTK_WIDGET (self->language_label), show);
+ gtk_widget_set_visible (GTK_WIDGET (self->language_row), show);
/* Last login: show when administrator or current user */
current = act_user_manager_get_user_by_id (self->um, getuid ());
@@ -880,11 +873,10 @@ show_user (ActUser *user, CcUserPanel *self)
gtk_label_set_label (self->last_login_button_label, text);
g_free (text);
}
- gtk_widget_set_visible (GTK_WIDGET (self->last_login_button), show);
- gtk_widget_set_visible (GTK_WIDGET (self->last_login_label), show);
+ gtk_widget_set_visible (GTK_WIDGET (self->last_login_row), show);
enable = act_user_get_login_history (user) != NULL;
- gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_button), enable);
+ gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_row), enable);
if (self->permission != NULL)
on_permission_changed (self);
@@ -941,14 +933,15 @@ static void
account_type_changed (CcUserPanel *self)
{
ActUser *user;
- gint account_type;
gboolean self_selected;
+ gboolean is_admin;
+ ActUserAccountType account_type;
user = get_selected_user (self);
self_selected = act_user_get_uid (user) == geteuid ();
+ is_admin = gtk_switch_get_active (self->account_type_switch);
- account_type = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->account_type_standard_button))
? ACT_USER_ACCOUNT_TYPE_STANDARD : ACT_USER_ACCOUNT_TYPE_ADMINISTRATOR;
-
+ account_type = is_admin ? ACT_USER_ACCOUNT_TYPE_ADMINISTRATOR : ACT_USER_ACCOUNT_TYPE_STANDARD;
if (account_type != act_user_get_account_type (user)) {
act_user_set_account_type (user, account_type);
@@ -1091,7 +1084,7 @@ change_fingerprint (CcUserPanel *self)
g_assert (g_strcmp0 (g_get_user_name (), act_user_get_user_name (user)) == 0);
- fingerprint_button_clicked (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))),
self->fingerprint_button, user);
+ fingerprint_button_clicked (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))),
self->fingerprint_state_label, user);
}
static void
@@ -1115,6 +1108,23 @@ show_history (CcUserPanel *self)
gtk_widget_destroy (GTK_WIDGET (dialog));
}
+static void
+activate_row (GtkListBox *box, GtkListBoxRow *row, CcUserPanel *self)
+{
+ if (!gtk_widget_get_sensitive (GTK_WIDGET (row)))
+ return;
+
+ if (row == self->language_row) {
+ change_language (self);
+ } else if (row == self->password_row) {
+ change_password (self);
+ } else if (row == self->fingerprint_row) {
+ change_fingerprint (self);
+ } else if (row == self->last_login_row) {
+ show_history (self);
+ }
+}
+
static void
users_loaded (CcUserPanel *self)
{
@@ -1271,31 +1281,31 @@ on_permission_changed (CcUserPanel *self)
}
if (!act_user_is_local_account (user)) {
- gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_box), FALSE);
- remove_unlock_tooltip (GTK_WIDGET (self->account_type_box));
- gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_switch), FALSE);
- remove_unlock_tooltip (GTK_WIDGET (self->autologin_switch));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_row), FALSE);
+ remove_unlock_tooltip (GTK_WIDGET (self->account_type_row));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_row), FALSE);
+ remove_unlock_tooltip (GTK_WIDGET (self->autologin_row));
} else if (is_authorized && act_user_is_local_account (user)) {
if (would_demote_only_admin (user)) {
- gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_box), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_row), FALSE);
} else {
- gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_box), TRUE);
+ gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_row), TRUE);
}
- remove_unlock_tooltip (GTK_WIDGET (self->account_type_box));
+ remove_unlock_tooltip (GTK_WIDGET (self->account_type_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_switch), get_autologin_possible
(user));
- remove_unlock_tooltip (GTK_WIDGET (self->autologin_switch));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_row), get_autologin_possible (user));
+ remove_unlock_tooltip (GTK_WIDGET (self->autologin_row));
}
else {
- gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_box), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (self->account_type_row), FALSE);
if (would_demote_only_admin (user)) {
- remove_unlock_tooltip (GTK_WIDGET (self->account_type_box));
+ remove_unlock_tooltip (GTK_WIDGET (self->account_type_row));
} else {
- add_unlock_tooltip (GTK_WIDGET (self->account_type_box));
+ add_unlock_tooltip (GTK_WIDGET (self->account_type_row));
}
- gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_switch), FALSE);
- add_unlock_tooltip (GTK_WIDGET (self->autologin_switch));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->autologin_row), FALSE);
+ add_unlock_tooltip (GTK_WIDGET (self->autologin_row));
}
/* The full name entry: insensitive if remote or not authorized and not self */
@@ -1315,32 +1325,32 @@ on_permission_changed (CcUserPanel *self)
if (is_authorized || self_selected) {
gtk_stack_set_visible_child (self->user_icon_stack, GTK_WIDGET (self->user_icon_button));
- gtk_widget_set_sensitive (GTK_WIDGET (self->language_button), TRUE);
- remove_unlock_tooltip (GTK_WIDGET (self->language_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->language_row), TRUE);
+ remove_unlock_tooltip (GTK_WIDGET (self->language_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->password_button), TRUE);
- remove_unlock_tooltip (GTK_WIDGET (self->password_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->password_row), TRUE);
+ remove_unlock_tooltip (GTK_WIDGET (self->password_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->fingerprint_button), TRUE);
- remove_unlock_tooltip (GTK_WIDGET (self->fingerprint_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->fingerprint_row), TRUE);
+ remove_unlock_tooltip (GTK_WIDGET (self->fingerprint_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_button), TRUE);
- remove_unlock_tooltip (GTK_WIDGET (self->last_login_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_row), TRUE);
+ remove_unlock_tooltip (GTK_WIDGET (self->last_login_row));
}
else {
gtk_stack_set_visible_child (self->user_icon_stack, GTK_WIDGET (self->user_icon_image));
- gtk_widget_set_sensitive (GTK_WIDGET (self->language_button), FALSE);
- add_unlock_tooltip (GTK_WIDGET (self->language_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->language_row), FALSE);
+ add_unlock_tooltip (GTK_WIDGET (self->language_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->password_button), FALSE);
- add_unlock_tooltip (GTK_WIDGET (self->password_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->password_row), FALSE);
+ add_unlock_tooltip (GTK_WIDGET (self->password_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->fingerprint_button), FALSE);
- add_unlock_tooltip (GTK_WIDGET (self->fingerprint_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->fingerprint_row), FALSE);
+ add_unlock_tooltip (GTK_WIDGET (self->fingerprint_row));
- gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_button), FALSE);
- add_unlock_tooltip (GTK_WIDGET (self->last_login_button));
+ gtk_widget_set_sensitive (GTK_WIDGET (self->last_login_row), FALSE);
+ add_unlock_tooltip (GTK_WIDGET (self->last_login_row));
}
}
@@ -1385,6 +1395,13 @@ setup_main_window (CcUserPanel *self)
users_loaded (self);
else
g_signal_connect_object (self->um, "notify::is-loaded", G_CALLBACK (users_loaded), self,
G_CONNECT_SWAPPED);
+
+ gtk_list_box_set_header_func (self->account_settings_listbox,
+ cc_list_box_update_header_func,
+ NULL, NULL);
+ gtk_list_box_set_header_func (self->authentication_and_login_listbox,
+ cc_list_box_update_header_func,
+ NULL, NULL);
}
static GSettings *
@@ -1491,31 +1508,29 @@ cc_user_panel_class_init (CcUserPanelClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/control-center/user-accounts/cc-user-panel.ui");
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, accounts_box);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_admin_button);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_box);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_label);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_standard_button);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_settings_box);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_settings_listbox);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, authentication_and_login_listbox);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_row);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, account_type_switch);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, add_user_button);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, autologin_box);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, autologin_label);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, autologin_row);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, autologin_switch);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, carousel);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, fingerprint_button);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, fingerprint_label);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, fingerprint_state_label);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, fingerprint_row);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, full_name_stack);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, full_name_label);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, full_name_edit_button);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, full_name_entry);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, language_button);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, language_button_label);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, language_label);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, last_login_button);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, language_row);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, last_login_button_label);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, last_login_label);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, last_login_row);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, no_users_box);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, notification_revealer);
- gtk_widget_class_bind_template_child (widget_class, CcUserPanel, password_button);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, password_button_label);
+ gtk_widget_class_bind_template_child (widget_class, CcUserPanel, password_row);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, permission_infobar);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, remove_user_button);
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, stack);
@@ -1526,6 +1541,7 @@ cc_user_panel_class_init (CcUserPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcUserPanel, users_overlay);
gtk_widget_class_bind_template_callback (widget_class, account_type_changed);
+ gtk_widget_class_bind_template_callback (widget_class, activate_row);
gtk_widget_class_bind_template_callback (widget_class, add_user);
gtk_widget_class_bind_template_callback (widget_class, autologin_changed);
gtk_widget_class_bind_template_callback (widget_class, change_fingerprint);
@@ -1538,5 +1554,4 @@ cc_user_panel_class_init (CcUserPanelClass *klass)
gtk_widget_class_bind_template_callback (widget_class, dismiss_notification);
gtk_widget_class_bind_template_callback (widget_class, restart_now);
gtk_widget_class_bind_template_callback (widget_class, set_selected_user);
- gtk_widget_class_bind_template_callback (widget_class, show_history);
}
diff --git a/panels/user-accounts/cc-user-panel.ui b/panels/user-accounts/cc-user-panel.ui
index e9fa0ccf8..4fa5fe0eb 100644
--- a/panels/user-accounts/cc-user-panel.ui
+++ b/panels/user-accounts/cc-user-panel.ui
@@ -102,393 +102,452 @@
<property name="expand">False</property>
</packing>
</child>
+
<child>
- <object class="GtkGrid">
+ <object class="GtkScrolledWindow">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="column_spacing">10</property>
- <property name="row_spacing">10</property>
- <property name="margin_top">40</property>
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="height_request">300</property>
- <child>
- <object class="GtkButton" id="fingerprint_button">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <signal name="clicked" handler="change_fingerprint" object="CcUserPanel"
swapped="yes"/>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">5</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="account_type_box">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="sensitive">False</property>
- <style>
- <class name="linked"/>
- </style>
- <child>
- <object class="GtkRadioButton" id="account_type_standard_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Standard</property>
- <property name="draw_indicator">False</property>
- <property name="hexpand">True</property>
- <signal name="toggled" handler="account_type_changed" object="CcUserPanel"
swapped="yes"/>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="account_type_admin_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Administrator</property>
- <property name="draw_indicator">False</property>
- <property name="group">account_type_standard_button</property>
- <property name="hexpand">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="account_type_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Account _Type</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">account_type_box</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
+ <property name="expand">True</property>
+ <property name="hscrollbar-policy">GTK_POLICY_NEVER</property>
+
<child>
<object class="GtkBox">
<property name="visible">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- <property name="spacing">10</property>
+ <property name="halign">GTK_ALIGN_CENTER</property>
+ <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+ <property name="spacing">20</property>
+ <property name="margin-top">30</property>
+ <property name="margin-bottom">30</property>
+
<child>
- <object class="GtkStack" id="full_name_stack">
+ <object class="GtkBox">
<property name="visible">True</property>
+ <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="spacing">10</property>
+ <property name="margin-top">10</property>
+ <property name="margin-bottom">10</property>
<child>
- <object class="GtkLabel" id="full_name_label">
+ <object class="GtkStack" id="user_icon_stack">
<property name="visible">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
- <property name="width-chars">18</property>
- <property name="max-width-chars">30</property>
- <attributes>
- <attribute name="scale" value="1.2"/>
- <attribute name="weight" value="bold"/>
- </attributes>
+ <property name="halign">GTK_ALIGN_END</property>
+ <child>
+ <object class="CcUserImage" id="user_icon_image">
+ <property name="visible">True</property>
+ <property name="icon_name">avatar-default</property>
+ <property name="pixel_size">96</property>
+ <property name="halign">GTK_ALIGN_END</property>
+ <child internal-child="accessible">
+ <object class="AtkObject">
+ <property name="accessible-name" translatable="yes">User
Icon</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="user_icon_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <style>
+ <class name="user-icon-button"/>
+ </style>
+ <child internal-child="accessible">
+ <object class="AtkObject">
+ <property name="accessible-name" translatable="yes">User
Icon</property>
+ </object>
+ </child>
+ <child>
+ <object class="CcUserImage" id="user_icon_image2">
+ <property name="visible">True</property>
+ <property name="icon_name">avatar-default</property>
+ <property name="pixel_size">96</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+
+ <child>
+ <object class="GtkStack" id="full_name_stack">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="full_name_label">
+ <property name="visible">True</property>
+ <property name="halign">GTK_ALIGN_START</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+ <property name="width-chars">18</property>
+ <property name="max-width-chars">30</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="scale" value="1.2"/>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkEntry" id="full_name_entry">
+ <property name="visible">True</property>
+ <property name="max-length">255</property>
+ <property name="width-chars">18</property>
+ <property name="max-width-chars">30</property>
+ <property name="valign">GTK_ALIGN_CENTER</property>
+ <signal name="activate" handler="full_name_entry_activate"
object="CcUserPanel" swapped="yes"/>
+ <signal name="key-press-event" handler="full_name_entry_key_press_cb"
object="CcUserPanel" swapped="yes"/>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="GtkEntry" id="full_name_entry">
+ <object class="GtkToggleButton" id="full_name_edit_button">
<property name="visible">True</property>
- <property name="max-length">255</property>
- <property name="width-chars">18</property>
- <property name="max-width-chars">30</property>
+ <signal name="toggled" handler="full_name_edit_button_toggled"
object="CcUserPanel" swapped="yes"/>
<property name="valign">GTK_ALIGN_CENTER</property>
- <signal name="activate" handler="full_name_entry_activate"
object="CcUserPanel" swapped="yes"/>
- <signal name="key-press-event" handler="full_name_entry_key_press_cb"
object="CcUserPanel" swapped="yes"/>
+ <style>
+ <class name="circular"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="margin">5</property>
+ <property name="icon-name">document-edit-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
</child>
</object>
</child>
+
<child>
- <object class="GtkToggleButton" id="full_name_edit_button">
+ <object class="GtkBox" id="account_settings_box">
<property name="visible">True</property>
- <signal name="toggled" handler="full_name_edit_button_toggled"
object="CcUserPanel" swapped="yes"/>
- <style>
- <class name="circular"/>
- </style>
+ <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+ <property name="spacing">10</property>
<child>
- <object class="GtkImage">
+ <object class="GtkLabel">
<property name="visible">True</property>
- <property name="margin">5</property>
- <property name="icon-name">document-edit-symbolic</property>
+ <property name="label" translatable="yes">Account Settings</property>
+ <property name="halign">GTK_ALIGN_START</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
</child>
- </object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="password_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">_Password</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">password_button</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="password_button">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <signal name="clicked" handler="change_password" object="CcUserPanel" swapped="yes"/>
- <style>
- <class name="text-button"/>
- </style>
- <child>
- <object class="GtkLabel" id="password_button_label">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="autologin_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">A_utomatic Login</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">autologin_switch</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="autologin_box">
- <property name="visible">True</property>
- <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
- <child>
- <object class="GtkSwitch" id="autologin_switch">
- <property name="visible">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- <signal name="notify::active" handler="autologin_changed" object="CcUserPanel"
swapped="yes"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="fingerprint_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">_Fingerprint Login</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">fingerprint_button</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">5</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkStack" id="user_icon_stack">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_END</property>
- <child>
- <object class="CcUserImage" id="user_icon_image">
- <property name="visible">True</property>
- <property name="icon_name">avatar-default</property>
- <property name="pixel_size">96</property>
- <property name="halign">GTK_ALIGN_END</property>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="accessible-name" translatable="yes">User Icon</property>
+ <child>
+ <object class="GtkListBox" id="account_settings_listbox">
+ <property name="visible">True</property>
+ <property name="selection-mode">GTK_SELECTION_NONE</property>
+ <signal name="row-activated" handler="activate_row"/>
+ <style>
+ <class name="frame"/>
+ </style>
+ <child>
+ <object class="GtkListBoxRow" id="account_type_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border-width">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="halign">GTK_ALIGN_START</property>
+ <property name="label"
translatable="yes">_Administrator</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">account_type_switch</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="account_type_switch">
+ <property name="visible">True</property>
+ <signal name="notify::active" handler="account_type_changed"
object="CcUserPanel" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ <property name="max-width-chars">48</property>
+ <property name="label" translatable="yes">Administrators can add
and remove other users, and can change settings for all users.</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <attributes>
+ <attribute name="scale" value="0.9"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkListBoxRow" id="language_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="border-width">10</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Language</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">language_button_label</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-next-symbolic</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="language_button_label">
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
+
<child>
- <object class="GtkToggleButton" id="user_icon_button">
+ <object class="GtkBox" id="authentication_and_login_box">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <style>
- <class name="user-icon-button"/>
- </style>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="accessible-name" translatable="yes">User Icon</property>
+ <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+ <property name="spacing">10</property>
+ <property name="margin-top">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Authentication &
Login</property>
+ <property name="halign">GTK_ALIGN_START</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
</child>
<child>
- <object class="CcUserImage" id="user_icon_image2">
+ <object class="GtkListBox" id="authentication_and_login_listbox">
<property name="visible">True</property>
- <property name="icon_name">avatar-default</property>
- <property name="pixel_size">96</property>
+ <property name="selection-mode">GTK_SELECTION_NONE</property>
+ <signal name="row-activated" handler="activate_row"/>
+ <style>
+ <class name="frame"/>
+ </style>
+ <child>
+ <object class="GtkListBoxRow" id="password_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="border-width">10</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Password</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">password_button_label</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-next-symbolic</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="password_button_label">
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkListBoxRow" id="fingerprint_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="border-width">10</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Fingerprint
Login</property>
+ <property name="use_underline">True</property>
+ <property
name="mnemonic_widget">fingerprint_state_label</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-next-symbolic</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="fingerprint_state_label">
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkListBoxRow" id="autologin_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="border-width">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">A_utomatic
Login</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">autologin_switch</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="autologin_switch">
+ <property name="visible">True</property>
+ <signal name="notify::active" handler="autologin_changed"
object="CcUserPanel" swapped="yes"/>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkListBoxRow" id="last_login_row">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="border-width">10</property>
+ <property name="spacing">10</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Last Login</property>
+ <property name="use_underline">True</property>
+ <property
name="mnemonic_widget">last_login_button_label</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-next-symbolic</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="last_login_button_label">
+ <property name="visible">True</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
</child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="language_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">_Language</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">language_button</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="language_button">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <signal name="clicked" handler="change_language" object="CcUserPanel" swapped="yes"/>
- <style>
- <class name="text-button"/>
- </style>
<child>
- <object class="GtkLabel" id="language_button_label">
+ <object class="GtkButton" id="remove_user_button">
<property name="visible">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="last_login_label">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Last Login</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">last_login_button</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">6</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="last_login_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <signal name="clicked" handler="show_history" object="CcUserPanel" swapped="yes"/>
- <style>
- <class name="text-button"/>
- </style>
- <child>
- <object class="GtkLabel" id="last_login_button_label">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="can_focus">True</property>
+ <property name="halign">GTK_ALIGN_END</property>
+ <property name="label" translatable="yes">Remove User…</property>
+ <property name="margin-top">10</property>
+ <property name="margin-bottom">10</property>
+ <signal name="clicked" handler="delete_user" object="CcUserPanel" swapped="yes"/>
+ <style>
+ <class name="destructive-action"/>
+ </style>
</object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">6</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
</child>
</object>
</child>
- <child>
- <object class="GtkButton" id="remove_user_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="vexpand">True</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="valign">GTK_ALIGN_END</property>
- <property name="margin_bottom">20</property>
- <property name="margin_top">20</property>
- <property name="margin_end">20</property>
- <property name="label" translatable="yes">Remove User…</property>
- <signal name="clicked" handler="delete_user" object="CcUserPanel" swapped="yes"/>
- <style>
- <class name="destructive-action"/>
- </style>
- </object>
- </child>
</object>
</child>
</object>
@@ -540,30 +599,11 @@
<object class="GtkSizeGroup">
<property name="mode">both</property>
<widgets>
- <widget name="fingerprint_label"/>
- <widget name="language_label"/>
- <widget name="password_label"/>
- <widget name="account_type_label"/>
- <widget name="autologin_label"/>
- <widget name="last_login_label"/>
- </widgets>
- </object>
- <object class="GtkSizeGroup">
- <property name="mode">both</property>
- <widgets>
- <widget name="fingerprint_button"/>
- <widget name="language_button"/>
- <widget name="password_button"/>
- <widget name="account_type_box"/>
- <widget name="autologin_box"/>
- <widget name="last_login_button"/>
- </widgets>
- </object>
- <object class="GtkSizeGroup">
- <property name="mode">both</property>
- <widgets>
- <widget name="account_type_standard_button"/>
- <widget name="account_type_admin_button"/>
+ <widget name="language_row"/>
+ <widget name="password_row"/>
+ <widget name="fingerprint_row"/>
+ <widget name="autologin_row"/>
+ <widget name="last_login_row"/>
</widgets>
</object>
</interface>
diff --git a/panels/user-accounts/um-fingerprint-dialog.c b/panels/user-accounts/um-fingerprint-dialog.c
index f3903cb9d..ccbec54b4 100644
--- a/panels/user-accounts/um-fingerprint-dialog.c
+++ b/panels/user-accounts/um-fingerprint-dialog.c
@@ -45,7 +45,7 @@ enum {
};
typedef struct {
- GtkButton *editable_button;
+ GtkLabel *state_label;
GtkWidget *ass;
GtkBuilder *dialog;
@@ -177,7 +177,7 @@ get_error_dialog (const char *title,
}
gboolean
-set_fingerprint_label (GtkButton *editable_button)
+set_fingerprint_label (GtkLabel *state_label)
{
GDBusProxy *device;
GVariant *result;
@@ -208,12 +208,11 @@ set_fingerprint_label (GtkButton *editable_button)
if (fingers == NULL || g_variant_iter_n_children (fingers) == 0) {
is_disable = FALSE;
- gtk_button_set_label (editable_button, _("Disabled"));
+ gtk_label_set_text (state_label, _("Disabled"));
} else {
is_disable = TRUE;
- gtk_button_set_label (editable_button, _("Enabled"));
+ gtk_label_set_text (state_label, _("Enabled"));
}
- gtk_widget_set_halign (gtk_bin_get_child (GTK_BIN (editable_button)), GTK_ALIGN_START);
if (result != NULL)
g_variant_unref (result);
@@ -247,7 +246,7 @@ delete_fingerprints (void)
static void
delete_fingerprints_question (GtkWindow *parent,
- GtkButton *editable_button,
+ GtkLabel *state_label,
ActUser *user)
{
GtkWidget *question;
@@ -272,7 +271,7 @@ delete_fingerprints_question (GtkWindow *parent,
if (gtk_dialog_run (GTK_DIALOG (question)) == GTK_RESPONSE_OK) {
delete_fingerprints ();
- set_fingerprint_label (editable_button);
+ set_fingerprint_label (state_label);
}
gtk_widget_destroy (question);
@@ -414,10 +413,10 @@ finger_combobox_changed (GtkComboBox *combobox, EnrollData *data)
static void
assistant_cancelled (GtkAssistant *ass, EnrollData *data)
{
- GtkButton *editable_button = data->editable_button;
+ GtkLabel *state_label = data->state_label;
enroll_data_destroy (data);
- set_fingerprint_label (editable_button);
+ set_fingerprint_label (state_label);
}
static void
@@ -607,7 +606,7 @@ assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data)
static void
enroll_fingerprints (GtkWindow *parent,
- GtkButton *editable_button,
+ GtkLabel *state_label,
ActUser *user)
{
GDBusProxy *device = NULL;
@@ -635,7 +634,7 @@ enroll_fingerprints (GtkWindow *parent,
data = g_new0 (EnrollData, 1);
data->device = device;
- data->editable_button = editable_button;
+ data->state_label = state_label;
/* Get some details about the device */
result = g_dbus_connection_call_sync (connection,
@@ -735,16 +734,16 @@ enroll_fingerprints (GtkWindow *parent,
void
fingerprint_button_clicked (GtkWindow *parent,
- GtkButton *editable_button,
+ GtkLabel *state_label,
ActUser *user)
{
bindtextdomain ("fprintd", GNOMELOCALEDIR);
bind_textdomain_codeset ("fprintd", "UTF-8");
if (is_disable != FALSE) {
- delete_fingerprints_question (parent, editable_button, user);
+ delete_fingerprints_question (parent, state_label, user);
} else {
- enroll_fingerprints (parent, editable_button, user);
+ enroll_fingerprints (parent, state_label, user);
}
}
diff --git a/panels/user-accounts/um-fingerprint-dialog.h b/panels/user-accounts/um-fingerprint-dialog.h
index 83015c331..a1f6afc8b 100644
--- a/panels/user-accounts/um-fingerprint-dialog.h
+++ b/panels/user-accounts/um-fingerprint-dialog.h
@@ -20,7 +20,7 @@
#include <gtk/gtk.h>
#include <act/act.h>
-gboolean set_fingerprint_label (GtkButton *editable_button);
+gboolean set_fingerprint_label (GtkLabel *state_label);
void fingerprint_button_clicked (GtkWindow *parent,
- GtkButton *editable_button,
+ GtkLabel *state_label,
ActUser *user);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]