diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.am | 2 | ||||
| -rw-r--r-- | src/animate-timer.vala | 4 | ||||
| -rw-r--r-- | src/settings.vala | 1 | ||||
| -rw-r--r-- | src/user-list.vala | 30 |
4 files changed, 34 insertions, 3 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index bb91f59..7ddcf57 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -91,7 +91,5 @@ arctica_greeter_LDADD = \ logo_generator_LDADD = $(arctica_greeter_LDADD) -arctica_greeter_vala.stamp: $(top_srcdir)/config.h - DISTCLEANFILES = \ Makefile.in diff --git a/src/animate-timer.vala b/src/animate-timer.vala index 9f92448..4879cb0 100644 --- a/src/animate-timer.vala +++ b/src/animate-timer.vala @@ -2,6 +2,7 @@ * * Copyright (C) 2011,2012 Canonical Ltd * Copyright (C) 2015 Mike Gabriel <mike.gabriel@das-netzwerkteam.de> + * Copyright (C) 2025 Robert Tari * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as @@ -18,6 +19,7 @@ * Authors: Robert Ancell <robert.ancell@canonical.com> * Michael Terry <michael.terry@canonical.com> * Mike Gabriel <mike.gabriel@das-netzwerkteam.de> + * Robert Tari <robert@tari.in> */ private class AnimateTimer : Object @@ -32,7 +34,7 @@ private class AnimateTimer : Object public const int SLOW = 1000; /* Good for animations that convey information that is only presented in the animation */ /* speed is in milliseconds */ - public unowned EasingFunc easing_func { get; private set; } + public unowned EasingFunc easing_func; public int speed { get; set; } public bool is_running { get { return timeout != 0; } } public double progress { get; private set; } diff --git a/src/settings.vala b/src/settings.vala index 12c1265..865fe4a 100644 --- a/src/settings.vala +++ b/src/settings.vala @@ -57,6 +57,7 @@ public class AGSettings : Object public const string KEY_PLAY_READY_SOUND = "play-ready-sound"; public const string KEY_INDICATORS = "indicators"; public const string KEY_HIDDEN_USERS = "hidden-users"; + public const string KEY_HIDDEN_GROUPS = "hidden-groups"; public const string KEY_USER_FILTER= "user-filter"; public const string KEY_USER_FILTER_ALWAYS = "user-filter-always"; public const string KEY_GROUP_FILTER = "group-filter"; diff --git a/src/user-list.vala b/src/user-list.vala index 3936768..3abfb06 100644 --- a/src/user-list.vala +++ b/src/user-list.vala @@ -87,10 +87,28 @@ public class UserList : GreeterList } var hidden_users = AGSettings.get_strv (AGSettings.KEY_HIDDEN_USERS); + string[] lHiddenGroups = AGSettings.get_strv (AGSettings.KEY_HIDDEN_GROUPS); + if (!value) { foreach (var username in hidden_users) remove_entry (username); + + foreach (string sGroup in lHiddenGroups) + { + LightDM.UserList lUsers = LightDM.UserList.get_instance (); + + foreach (LightDM.User pUser in lUsers.users) + { + bool bInGroup = in_group (sGroup, pUser.name); + + if (bInGroup) + { + remove_entry (pUser.name); + } + } + } + return; } @@ -1126,6 +1144,18 @@ public class UserList : GreeterList foreach (var username in hidden_users) if (username == user.name) return; + + string[] lHiddenGroups = AGSettings.get_strv (AGSettings.KEY_HIDDEN_GROUPS); + + foreach (string sGroup in lHiddenGroups) + { + bool bInGroup = in_group (sGroup, user.name); + + if (bInGroup) + { + return; + } + } } var user_filter = AGSettings.get_strv (AGSettings.KEY_USER_FILTER); |
