In a specific cases, current user doesn't have to be returned from
accountsservice, or can be skipped by act_user_is_system_account check.
System users should not be shown. This is expected for root account,
but should not happen with regular user accounts. It needs to be fixed
in accountsservice if you see this happening with regular user accounts.
We have to be just sure that Users panel doesn't crash in such cases
and show all non-system user accounts returned from accountsservice.
Empty page is shown currently only if act_user_manager_list_users
returns nothing, but it has to be also shown if only system accounts
are returned. To fix this issue, do not try to show current user, but
show first user account in carousel instead if there is any. First user
account is current user in normal case.
The patch also fixes problems that current user account is sometimes
selected instead of currently selected user account. This is because
of preselection of first item in um_carousel_add, which causes unwanted
signal emissions...
https://bugzilla.gnome.org/show_bug.cgi?id=773673
There are eventually corner cases where there's no user other than
root in the system and control-center can be launched by the root
user (not recommended). In this cases, the panel crashes without
any user to show (since accountsservice would just list normal
users).
This patch introduces an empty state[0] "No Users Page".
[0] https://wiki.gnome.org/Design/OS/EmptyStateshttps://bugzilla.gnome.org/show_bug.cgi?id=773673
The label indicating which photo in the Carousel belongs to the
current user had the <small> markup within the translatable string,
causing unnecessary work for translators. See
https://wiki.gnome.org/TranslationProject/DevGuidelines/Avoid%20markup%20wherever%20possible
This patch formats the string with g_strdup_printf, leaving the
markup tags out of the translatable message.
Set a margin for the username label instead of using the container
spacing property. In doing so the labels are not so far apart from
each other, but still distant from the profile icon/image.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
UmCarousel is an horizontal container that contains UmCarouselItem
children. These items are paginated 3 at 3 at the time.
UmCarousel intents to act as controller for content containers. It
emitis the "item-activated" signal whenever an UmCarouselItem gets
activated (clicked).
It automatically activates the first UmCarouselItem of the current
vsible page.
The visibility of the go-back and go-next button is automatically
set based on the number of children.
These changes are according to the new User Accounts panel mockups
at https://wiki.gnome.org/Design/SystemSettings/UserAccountshttps://bugzilla.gnome.org/show_bug.cgi?id=767065
Since commit 5e2ed8e, the user-accounts panel does not present an
option to change the Language for the current user. This should be
done in the "Region & Language" panel instead.
In doing so, the code for launching the restart notification is
never reached in the language_response callback method.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
Instead of changing from "Account Type" buttons to label, set the
sensitivity of the buttons according to the current users' permission.
Now we hide the "Account Type" for a single user account.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
Commit eb9c110 removed add-remove-toolbar, however, some leftovers are
in the code which causes the following errors:
Gtk-CRITICAL **: gtk_widget_get_style_context: assertion 'GTK_IS_WIDGET (widget)' failed
Gtk-CRITICAL **: gtk_style_context_set_junction_sides: assertion 'GTK_IS_STYLE_CONTEXT (context)' failed
https://bugzilla.gnome.org/show_bug.cgi?id=767065
This also introduces a change to the Lock/Unlock logic. From now
on, Unlocking the panel causes the "Lock" button to turn into the
"Add User" button.
https://bugzilla.gnome.org/show_bug.cgi?id=767065
Padding is updated for some widgets once, when creating the widgets.
But it seems style may not be loaded yet. Therefore the padding has
to be updated on "style-updated" signal to reflect style changes.
https://bugzilla.gnome.org/show_bug.cgi?id=743180
Restart notification is shown if there is different language in
accountsservice. However restart isn't needed if user selects original
language (after several changes), which is already used in the system.
https://bugzilla.gnome.org/show_bug.cgi?id=703392
Deleting enterprise accounts using act_user_manager_delete_user fails
with error: userdel failed, because enterprise accounts are added
using act_user_manager_cache_user and don't have entries in passwd
file. Thus enterprise accounts should be removed by
act_user_manager_uncache_user.
https://bugzilla.gnome.org/show_bug.cgi?id=727871
This lines are dead code, because act_user_get_language() returns empty
string if language isn't set. We don't want to fix the condition, because
cc_common_language_get_current_language is wrong for other users.
https://bugzilla.gnome.org/show_bug.cgi?id=737216
If language is unknown and language chooser is cancelled, panel crash
with the following error:
(gnome-control-center:24952): Gtk-CRITICAL **: gtk_list_store_get_path:
assertion 'iter->stamp == priv->stamp' failed
(gnome-control-center:24952): Gtk-CRITICAL **: gtk_list_store_get_value:
assertion 'iter_is_valid (iter, list_store)' failed
(gnome-control-center:24952): GLib-GObject-WARNING **: gtype.c:4221:
type id '0' is invalid
(gnome-control-center:24952): GLib-GObject-WARNING **:
can't peek value table for type '<invalid>' which is not currently referenced
Segmentation fault (core dumped)
https://bugzilla.gnome.org/show_bug.cgi?id=738002
If the language chooser is confirmed and no language is selected,
"Other..." is shown as user's language and the following error is printed:
(gnome-control-center:14608): AccountsService-CRITICAL **:
act_user_set_language: assertion 'language != NULL' failed