Commit graph

34 commits

Author SHA1 Message Date
Automeris naranja
2b1a66d7ce users: Rename "Add Enterprise User" to "Add Enterprise Login"
This button is labelled as "Add Enterprise Login" in
the mockups[1].

Also:
- Add missing mnemonic
- Add ellipsis to the button label, since it's required
when the button triggers further user interaction[2]

[1] a0e4f828ec
[2] https://developer.gnome.org/hig/guidelines/writing-style.html#ellipses
2024-03-25 15:08:29 +00:00
Philip Withnall
7bd8dd69cf users: Simplify parental controls keywords to remove spaces
Spaces aren’t supported in .desktop file keywords, as gnome-shell splits
the search term by spaces, and then prefix-matches each word separately
against the candidate keywords.

So a search term of ‘parental’ would match the ‘Parental Controls’
keyword, but a search term of ‘parental controls’ would not, as
‘controls’ doesn’t prefix-match anything.

Avoid that by removing spaces from the keywords.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/48
2024-03-25 14:17:45 +00:00
Automeris naranja
14f0a13162 add-user-dialog: Port to AdwToolbarView
Also, allow closing the dialog with ESC.
2024-03-14 10:57:18 +00:00
Automeris naranja
cb8819657b general: Rename "computer" strings to "device"
"Computer" isn't a suitable term for other device
form factors. Also, there are several strings in
Settings that already use "device", and cc-color-panel.ui
uses a mix of "computer" and "device" strings, which is
weird.
2024-03-11 15:19:55 +00:00
Matthijs Velsink
d26fb10c28 system, users: Remove leftover .desktop file
When the Users panel got moved to System, the original .desktop file was
also moved. However, that is now obsolute with
`panels/system/users/gnome-users-panel.desktop.in`. This old file is
also not referenced in any `meson.build` and contains an outdated `Exec`
line.

So, remove it.
2024-03-11 13:01:56 +00:00
Matthijs Velsink
672e911e09 users-page: Remove unused parameter
This parameter was accidentally left during changes to the original
commit in !2306, and was kept going into !2328.

Closes #2947
2024-03-06 18:31:25 +01:00
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
316cd92906 system, users: Handle hostname errors
Currently, the generic "Failed to log into domain" error is shown when
joining domain with invalid hostname. It is hard for user to guess what
is going on. Let's fail with "That hostname didn’t work" instead.

Related: https://gitlab.freedesktop.org/realmd/realmd/-/merge_requests/39
2024-02-29 07:51:42 +00:00
Ondrej Holy
c3e71abec0 system, users: Cancel previous cc_realm_manager_discover calls
Currently, the previous cc_realm_manager_discover calls are not cancelled
when validating domain field. This might lead to the situation when valid
domain might be mislabeled as invalid and vice versa. Let's simply cancel
the cancellable to avoid this situation.
2024-02-29 07:51:42 +00:00
Ondrej Holy
2a396add01 system, users: Fix parameter type for realm_join_as_owner callback
The `source_object` parameter for the callback functions called from
the `realm_join_as_user` and `real_join_as_admin` resp. `realm_join_as_owner`
functions is not `CC_REALM_OBJECT` type as one would expect, but
`CC_REALM_KERBEROS_MEMBERSHIP` type. Let's modify the code to ensure that
it is `CC_REALM_OBJECT` type.
2024-02-29 07:51:42 +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
Ondrej Holy
39171394db system, users: Fix coding style as per guidelines 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
4a9e63337d system, users: Add CcEntryFeedback
A simple widget to display feedback to user-accounts related entries.

This widget is to be used for when we need to show an icon next to
a feedback message such as the ones at
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-enterprise-login.png
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/users/add-user.png
2024-02-29 07:51:42 +00:00
Felipe Borges
91f016b0c7 system: Re-add the System subpage desktop files
Additionally we add the X-Settings-SystemSettings category and
adjust the Exec keys to be "system $panel_name"
2024-02-27 16:04:00 +00:00
Felipe Borges
9c94d55505 system: Rename subpage tags to their expected cmdline arguments 2024-02-22 09:57:01 +00:00
Philip Withnall
ff29f1c95e build: Fix use of deprecated libmalcontent symbols
These symbols were soft-renamed in libmalcontent 0.5.0 (released in
February 2020), and we already depend on 0.7.0.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-16 09:23:54 +00:00
Sam Hewitt
a5f6efaddb Update and clean up symbolic icon assets
- refresh the symbolic icons to sync some style changes and update the source sheet
- rename assets for the privacy subpanel's symbolic icons
- delete deprecated/unused symbolic icons
- add new icon for system panel
- add new icon for remote desktop so it isn't using displays icons
2024-02-10 16:17:35 +00:00
Automeris naranja
2d078ba147 users: Add tooltips to the buttons from the avatar widget
Also:

- Remove the a11y labels, because Orca also
reads tooltips
- Change "Edit Avatar" to "Change Avatar", since
the latter is more accurate: no image editing
happens when clicking in this button.
GNOME Contacts also use "Change Avatar"[1]

[1] https://gitlab.gnome.org/GNOME/gnome-contacts/-/blob/gnome-45/data/ui/contacts-editable-avatar.ui?ref_type=heads#L17
2024-02-08 12:19:23 +00:00
Matthijs Velsink
3a253bc4b1 general: Use g_clear_handle_id to remove GSources
Using `g_clear_handle_id()` in combination with `g_source_remove()` can
save a lot of boiler plate code.

This removes about 110 lines of code for free.
2024-02-06 09:22:07 +00:00
Monster
1b339a8d72 system: Remove periods from subtitles and labels 2024-02-05 10:55:18 +00:00
Automeris naranja
a5aca4704a add-user-dialog: Add missing mnemonics 2024-01-23 11:09:19 +00:00
Automeris naranja
36edfe89a0 users-page: Add mnemonic to the "Add User" button 2024-01-23 11:09:19 +00:00
Automeris naranja
8502577aa3 user-page: Add missing mnemonics 2024-01-23 11:09:19 +00:00
Automeris naranja
aaa726a662 users-page: Add arrow icon to other users rows
The other users rows open a subpage, but they
don't show an arrow icon to indicate that.
Fix such issue by adding an arrow icon.
2024-01-22 09:04:29 +00:00
Jeremy Bícha
21b5a64786 users: Close language dialog when Select is clicked
Closes: #2841
2024-01-13 10:19:17 +00:00
Automeris naranja
4062329119 users: Use AdwSwitchRow in the remove user dialog
Also, add a mnemonic.
2024-01-10 09:58:38 +00:00
Julian Sparber
d0062954fa user: Ensure that the user avatar is regenerated when needed
If a user uses a a generated avatar we need to regenerated it every time
the full name changes.
2024-01-09 15:47:17 +00:00
Julian Sparber
7b0df415c3 user: Add remove button to user avatar 2024-01-09 15:47:17 +00:00
Julian Sparber
ab7416020b user: Store source of user avatar inside PNG
We can store whether we generated the user avatar inside the PNG
itself. Unfortunately  this won't work for old installations but in future
we can use the metadata introduced by this commit.
2024-01-09 15:47:17 +00:00
Julian Sparber
a732b6a110 user: Use AdwAvatar to generate default user icon
This drops the old code used to generated the fallback and changes
`GdkPixbuf` to `GdkTexture` where it's possible or needed.

Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1663
2024-01-09 15:47:17 +00:00
Julian Sparber
d1542fd663 user: Remove recent used list of avatar
Recent used list of avatars form the popover wasn't populated with any avatars
other then the generated one, so it's only used to remove a set avatar.
In a future commit a remove button is added therefore this section will lose
all of it's purpose.
2024-01-09 15:47:17 +00:00
Julian Sparber
6f53522d90 user: Remove old craft work from CcAvatarChooser
The object had a lot of old code and was not following the typical
GObject boilerplate.
- This moves code to initialize CcAvatarChooser to *_init()
- Removes unused code
- This removes `transient_for` property since it's not needed, this
  is probably a remanence of the Chooser being a Dialog instead of a
  Popover
2024-01-09 15:47:17 +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