Merge lp:~robert-ancell/unity-greeter/hidden-accounts into lp:unity-greeter

Proposed by Robert Ancell
Status: Merged
Merged at revision: 1181
Proposed branch: lp:~robert-ancell/unity-greeter/hidden-accounts
Merge into: lp:unity-greeter
Diff against target: 155 lines (+78/-3)
5 files modified
data/com.canonical.unity-greeter.gschema.xml (+4/-0)
src/greeter-list.vala (+1/-1)
src/main-window.vala (+19/-1)
src/settings.vala (+1/-0)
src/user-list.vala (+53/-1)
To merge this branch: bzr merge lp:~robert-ancell/unity-greeter/hidden-accounts
Reviewer Review Type Date Requested Status
David Barth (community) Approve
Robert Ancell Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+212765@code.launchpad.net

Commit message

Add option to hide certain users until alt+ctrl+shift is pressed

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Robert Ancell (robert-ancell) :
review: Approve
Revision history for this message
David Barth (dbarth) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'data/com.canonical.unity-greeter.gschema.xml'
--- data/com.canonical.unity-greeter.gschema.xml 2014-02-18 21:33:56 +0000
+++ data/com.canonical.unity-greeter.gschema.xml 2014-03-26 04:41:56 +0000
@@ -90,5 +90,9 @@
90 <default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>90 <default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
91 <summary>Which indicators to load</summary>91 <summary>Which indicators to load</summary>
92 </key>92 </key>
93 <key name="hidden-users" type="as">
94 <default>[]</default>
95 <summary>List of usernames that are hidden until a special key combination is hit</summary>
96 </key>
93 </schema>97 </schema>
94</schemalist>98</schemalist>
9599
=== modified file 'src/greeter-list.vala'
--- src/greeter-list.vala 2014-03-12 03:19:13 +0000
+++ src/greeter-list.vala 2014-03-26 04:41:56 +0000
@@ -374,7 +374,7 @@
374 {374 {
375 foreach (var e in entries)375 foreach (var e in entries)
376 {376 {
377 if (!e.id.has_prefix ("*"))377 if (e.id != "*other")
378 return true;378 return true;
379 }379 }
380 return false;380 return false;
381381
=== modified file 'src/main-window.vala'
--- src/main-window.vala 2014-02-27 04:53:21 +0000
+++ src/main-window.vala 2014-03-26 04:41:56 +0000
@@ -20,7 +20,6 @@
2020
21public class MainWindow : Gtk.Window21public class MainWindow : Gtk.Window
22{22{
23 public UserList user_list;
24 public MenuBar menubar;23 public MenuBar menubar;
2524
26 private List<Monitor> monitors;25 private List<Monitor> monitors;
@@ -283,6 +282,25 @@
283 {282 {
284 var top = stack.top ();283 var top = stack.top ();
285284
285 if (stack.top () is UserList)
286 {
287 var user_list = stack.top () as UserList;
288 if (!user_list.show_hidden_users)
289 {
290 var shift_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK;
291 var control_mask = Gdk.ModifierType.SHIFT_MASK | Gdk.ModifierType.MOD1_MASK;
292 var alt_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK;
293 if (((event.keyval == Gdk.Key.Shift_L || event.keyval == Gdk.Key.Shift_R) && (event.state & shift_mask) == shift_mask) ||
294 ((event.keyval == Gdk.Key.Control_L || event.keyval == Gdk.Key.Control_R) && (event.state & control_mask) == control_mask) ||
295 ((event.keyval == Gdk.Key.Alt_L || event.keyval == Gdk.Key.Alt_R) && (event.state & alt_mask) == alt_mask))
296 {
297 debug ("Hidden user key combination detected");
298 user_list.show_hidden_users = true;
299 return true;
300 }
301 }
302 }
303
286 switch (event.keyval)304 switch (event.keyval)
287 {305 {
288 case Gdk.KEY_Escape:306 case Gdk.KEY_Escape:
289307
=== modified file 'src/settings.vala'
--- src/settings.vala 2014-02-18 21:33:56 +0000
+++ src/settings.vala 2014-03-26 04:41:56 +0000
@@ -39,6 +39,7 @@
39 public static const string KEY_SCREEN_READER = "screen-reader";39 public static const string KEY_SCREEN_READER = "screen-reader";
40 public static const string KEY_PLAY_READY_SOUND = "play-ready-sound";40 public static const string KEY_PLAY_READY_SOUND = "play-ready-sound";
41 public static const string KEY_INDICATORS = "indicators";41 public static const string KEY_INDICATORS = "indicators";
42 public static const string KEY_HIDDEN_USERS = "hidden-users";
4243
43 public static bool get_boolean (string key)44 public static bool get_boolean (string key)
44 {45 {
4546
=== modified file 'src/user-list.vala'
--- src/user-list.vala 2014-03-12 03:19:13 +0000
+++ src/user-list.vala 2014-03-26 04:41:56 +0000
@@ -64,6 +64,50 @@
64 /* User to authenticate against */64 /* User to authenticate against */
65 private string ?authenticate_user = null;65 private string ?authenticate_user = null;
6666
67 private bool show_hidden_users_ = false;
68 public bool show_hidden_users
69 {
70 set
71 {
72 show_hidden_users_ = value;
73
74 if (UnityGreeter.singleton.test_mode)
75 {
76 if (value)
77 add_user ("hidden", "Hidden User", null, false, false, null);
78 else
79 remove_entry ("hidden");
80 return;
81 }
82
83 var hidden_users = UGSettings.get_strv (UGSettings.KEY_HIDDEN_USERS);
84 if (!value)
85 {
86 foreach (var username in hidden_users)
87 remove_entry (username);
88 return;
89 }
90
91 var users = LightDM.UserList.get_instance ();
92 foreach (var user in users.users)
93 {
94 foreach (var username in hidden_users)
95 {
96 if (user.name == username)
97 {
98 debug ("Showing hidden user %s", username);
99 user_added_cb (user);
100 }
101 }
102 }
103 }
104
105 get
106 {
107 return show_hidden_users_;
108 }
109 }
110
67 private string _default_session = "ubuntu";111 private string _default_session = "ubuntu";
68 public string default_session112 public string default_session
69 {113 {
@@ -968,7 +1012,7 @@
968 }1012 }
9691013
970 /* If we have no entries at all, we should show manual */1014 /* If we have no entries at all, we should show manual */
971 if (!have_entries () && !always_show_manual)1015 if (!have_entries ())
972 add_manual_entry ();1016 add_manual_entry ();
9731017
974 var last_user = UnityGreeter.singleton.get_state ("last-user");1018 var last_user = UnityGreeter.singleton.get_state ("last-user");
@@ -983,6 +1027,14 @@
983 {1027 {
984 debug ("Adding/updating user %s (%s)", user.name, user.real_name);1028 debug ("Adding/updating user %s (%s)", user.name, user.real_name);
9851029
1030 if (!show_hidden_users)
1031 {
1032 var hidden_users = UGSettings.get_strv (UGSettings.KEY_HIDDEN_USERS);
1033 foreach (var username in hidden_users)
1034 if (username == user.name)
1035 return;
1036 }
1037
986 var label = user.real_name;1038 var label = user.real_name;
987 if (user.real_name == "")1039 if (user.real_name == "")
988 label = user.name;1040 label = user.name;

Subscribers

People subscribed via source and target branches