[gnome-system-tools] Encrypted home folder support when creating new users
- From: Milan Bouchet-Valat <milanbv src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-system-tools] Encrypted home folder support when creating new users
- Date: Mon, 25 Jan 2010 22:37:57 +0000 (UTC)
commit 98e5d16b60bd6191f0f4974455f8edce728e4ff1
Author: Milan Bouchet-Valat <nalimilan club fr>
Date: Mon Jan 25 12:42:38 2010 +0100
Encrypted home folder support when creating new users
Add a checkbox in the new user dialog to enable encrypted home, only shown when the backends report the platform supports it.
interfaces/users.ui | 18 +++++++++++++++++-
src/users/user-settings.c | 13 +++++++++++--
2 files changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/interfaces/users.ui b/interfaces/users.ui
index b773a5c..e202553 100644
--- a/interfaces/users.ui
+++ b/interfaces/users.ui
@@ -2329,7 +2329,7 @@
<child>
<object class="GtkTable" id="table2">
<property name="visible">True</property>
- <property name="n_rows">4</property>
+ <property name="n_rows">5</property>
<property name="n_columns">2</property>
<property name="column_spacing">12</property>
<property name="row_spacing">12</property>
@@ -2469,6 +2469,22 @@
<property name="bottom_attach">4</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="user_new_encrypted_home">
+ <property name="label" translatable="yes">_Encrypt home folder to protect sensitive data</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Encrypt all your files with your login password to strongly protect them from people with physical access to your computer, at the expense of a slightly reduced performance.</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="position">1</property>
diff --git a/src/users/user-settings.c b/src/users/user-settings.c
index 2d78ea9..e7557ea 100644
--- a/src/users/user-settings.c
+++ b/src/users/user-settings.c
@@ -827,6 +827,7 @@ on_user_new (GtkButton *button, gpointer user_data)
GtkWidget *user_login;
GtkWidget *login_entry;
GtkWidget *notice_image;
+ GtkWidget *encrypted_home;
GtkTreeModel *model;
GtkTreePath *user_path;
OobsUser *user;
@@ -834,6 +835,7 @@ on_user_new (GtkButton *button, gpointer user_data)
GstUserProfile *profile;
OobsUsersConfig *users_config;
OobsResult result;
+ gboolean encrypt;
/* Before going further, check for authorizations, authenticating if needed */
if (!gst_tool_authenticate (tool, GST_USERS_TOOL (tool)->users_config))
@@ -844,6 +846,9 @@ on_user_new (GtkButton *button, gpointer user_data)
user_login = gst_dialog_get_widget (tool->main_dialog, "user_new_login");
login_entry = gtk_bin_get_child (GTK_BIN (user_login));
notice_image = gst_dialog_get_widget (tool->main_dialog, "user_new_notice_image");
+ encrypted_home = gst_dialog_get_widget (tool->main_dialog, "user_new_encrypted_home");
+
+ users_config = OOBS_USERS_CONFIG (GST_USERS_TOOL (tool)->users_config);
/* clear any text, colors or icon left */
gtk_entry_set_text (GTK_ENTRY (user_name), "");
@@ -852,6 +857,10 @@ on_user_new (GtkButton *button, gpointer user_data)
gtk_combo_box_set_active (GTK_COMBO_BOX (user_login), -1);
on_user_new_login_changed (GTK_COMBO_BOX (user_login), NULL);
+ /* Show the encrypt home check box if supported */
+ if (oobs_users_config_get_encrypted_home_support (users_config))
+ gtk_widget_show (encrypted_home);
+
gtk_window_set_focus (GTK_WINDOW (user_new_dialog), user_name);
set_login_length (login_entry);
@@ -872,8 +881,10 @@ on_user_new (GtkButton *button, gpointer user_data)
following the system configuration. */
login = gtk_combo_box_get_active_text (GTK_COMBO_BOX (user_login));
fullname = gtk_entry_get_text (GTK_ENTRY (user_name));
+ encrypt = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (encrypted_home));
user = oobs_user_new (login);
oobs_user_set_full_name (user, fullname);
+ oobs_user_set_encrypted_home (user, encrypt);
g_return_if_fail (user != NULL);
@@ -881,8 +892,6 @@ on_user_new (GtkButton *button, gpointer user_data)
profile = gst_user_profiles_get_default_profile (GST_USERS_TOOL (tool)->profiles);
gst_user_profiles_apply (GST_USERS_TOOL (tool)->profiles, profile, user, TRUE);
- users_config = OOBS_USERS_CONFIG (GST_USERS_TOOL (tool)->users_config);
-
/* Commit both user and groups config because of possible memberships
* added by the profile. Avoid showing the new user or trying to commit
* group changes if the user has not been created. */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]