Commit graph

6 commits

Author SHA1 Message Date
Adrian Vovk
87a62a7c4a users: Fixup buggy AdwNavigation behavior
Previously, events from accountsservice would be used to change the
state of the AdwNavigation in ways that don't correspond to the event
that happened. For example, deleting an account would pop the top page
off the stack, even if that page didn't belong to that account.

Especially buggy is the behavior of replacing the currently visible page
with the contents of an account that just changed. systemd-homed changes
the user record whenever authentication happens successfully. So, user
Foo might be trying to edit user Bar, type in their password at the
polkit prompt, and end up looking at a broken version of their own
settings page again: the title would be "Bar", there'd be no list of
users, and hitting the back button would take Foo back to the same
settings page they're currently looking at.

This commits refactors the handling of the accountsservice signals to
fix all the bugs

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2911
2024-03-03 09:19:13 +00:00
Ondrej Holy
a372061f8a system, users: Finish the Enterprise Login dialog implementation
The implementation is based on the cc-add-user-dialog.c codes, but it is
not a pure copy&paste. It has to be changed to fit the skeleton and reflect
changes from the mockup. I've also tried to simplify the code where possible.
It also fixes some memory leaks.
2024-02-29 07:51:42 +00:00
Felipe Borges
4f482d9693 system, users: Add skeleton for the Enterprise Login dialog
Following the mockups at
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-enterprise-login.png
2024-02-29 07:51:42 +00:00
Felipe Borges
9c94d55505 system: Rename subpage tags to their expected cmdline arguments 2024-02-22 09:57:01 +00:00
Automeris naranja
36edfe89a0 users-page: Add mnemonic to the "Add User" button 2024-01-23 11:09:19 +00:00
Felipe Borges
d52ec68f8d system: Add "Users" panel
This moves the UserAccounts panel to a page in the System panel.

This simplifies a lot of the existing code in the UserAccounts panel.

I did minimal changes to the sub dialogs so that those can be touched
in following changes, making it easier to review this one alone.

The main panel widget is now CcUsersPage, and is an AdwNavigationView
widget that has a default "current_user_page" page. Each page is a
CcUserPage (careful with the one-character difference between these
two classes).

Each CcUserPage has an associated ActUser object.
2024-01-08 13:59:26 +01:00