Commit graph

143 commits

Author SHA1 Message Date
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
e5568573d3 system, remote-desktop: Use "rdp" instead of "ms-rd" for hostname url
According to
https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri
"The ms-rd URI scheme is currently only supported with the Windows
Desktop client (MSRDC)."

Apps such as GNOME Connections and Remmina expect server hostname
addresses using the "rdp" url scheme prefix.

See also
https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2827#note_1963502

Fixes #1922
2024-01-09 13:45:06 +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
Automeris naranja
dcb0231baf cc-info-entry: Use the .caption style class
Scaling the text isn't necessary here, because
the .caption style class already makes the text
small.
2024-01-08 09:42:46 +00:00
Felipe Borges
8da25aaef5 system: Replace dynamic System row subtitles with static text
Row subtitles in Settings are typically a description of the main label or setting.
You can see this in Mouse & Touchpad, Privacy, Sharing, and Wi-Fi.
For the System panel we did something a bit different and used the subtitle to show
the status of each panel.

Given the standard use of subtitles elsewhere, this feels a bit surprising which,
as a result, makes the panel harder to read. I think that a standard description
would probably also be more useful than the current labels.

Mockups https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/system/system-panel.png?ref_type=heads

This also removes the thin CcSystemPage abstract class because it was
only introduced to add the support for dynamic System row subtitle. Now
this abstraction is no longer necessary.

Fixes #2776
2024-01-04 11:38:47 +00:00
Bart Gravendeel
cacc2b5bef Remove use-underline property from all CCListRows 2024-01-04 10:11:35 +00:00
Alynx Zhou
cbfd3b1ad9 system/region: Prevent preview crash from accessing invalid pointer
In !2051, we switch back to real locale before setting the label text,
however, according to nl_langinfo's manpage, the returned pointer could
be invalid after switching locale or creating new locale, so the program
may crash.

To fix this, we save the result before switching locale, so we won't
access the invalid pointer after switching locale.
2024-01-04 11:23:54 +08:00
Automeris naranja
21d93d19df remote-desktop-page: Use an en dash in the page description 2024-01-02 08:44:15 +00:00
Automeris naranja
4d6c32c187 remote-desktop-page: Add period to the page description phrase
I forgot this in !2095.

Mockups:
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/remote-desktop/remote-desktop.png
2023-12-21 09:25:57 +00:00
Automeris naranja
163791a08a remote-desktop-page: Tweak the page description
Move the page description to AdwPreferencesPage, since
it's the correct place to put the page description.
Also, set up the page description in the C code to
help translators.
2023-12-15 10:51:35 +00:00
Jakub Steiner
758f87b783 data: use outline symbolics
- Use the up-to-date style for symbolics (2px outline). Notifications, Printers and Info/About
  work fine as outlines.
- filled silouehette symbolic are only to be used where a 2px outline is impossible
  to cram to 16x16px canvas.
2023-12-14 13:07:39 +00:00
Felipe Borges
affa60edcf Revert "system: Replace dynamic System row subtitles with static text"
This reverts commit ea224c4045.

This was accidentally included in another MR.
2023-12-05 15:17:11 +01:00
Felipe Borges
ea224c4045 system: Replace dynamic System row subtitles with static text
Row subtitles in Settings are typically a description of the main label or setting.
You can see this in Mouse & Touchpad, Privacy, Sharing, and Wi-Fi.
For the System panel we did something a bit different and used the subtitle to show
the status of each panel.

Given the standard use of subtitles elsewhere, this feels a bit surprising which,
as a result, makes the panel harder to read. I think that a standard description
would probably also be more useful than the current labels.

Mockups https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/system/system-panel.png?ref_type=heads

This also removes the thin CcSystemPage abstract class because it was
only introduced to add the support for dynamic System row subtitle. Now
this abstraction is no longer necessary.

Fixes #2776
2023-12-05 14:07:13 +00:00
Automeris naranja
5387d76a50 datetime-page: Fix AM/PM button mnemonic
It was using the letter A, which is also used
by the Date row.
2023-12-02 17:31:35 -03:00
Felipe Borges
3a40e95dcf system: Bind Remote Desktop gsetting state to widgets
So that the main switch and the page summary are updated when the
backend changes.

With this, the UI reacts to external calls such as
`grdctl rdp enable`.
2023-11-30 12:38:14 +00:00
Felipe Borges
80d476d9d7 system: Update subtitle of Remote Desktop row earlier
The Remote Desktop page subtitle was updated asynchronously when
the System panel was loaded but after the following steps:

1. Connection established to `org.gnome.SettingsDaemon.Sharing`
(handled on `sharing_proxy_ready`).
2. Then a check whether Remote Desktop is available by watching
the `org.gnome.Mutter.RemoteDesktop` bus name appear.
3. Then we are finally populating the UI (and updating the
subtitle).

Now we bypass the panel initialization and check directly for the
"enable" state of the backend GSetting and the availability of the
gnome-remote-desktop.service, using `is_remote_desktop_enabled()`.

Fixes #2772
2023-11-30 12:38:14 +00:00
Felipe Borges
6719b7ae36 system: Use toggle buttons for Time Format setting
Fixes #798
2023-11-29 16:46:07 +01:00
velsinki
7f79356ded system/region: Preview measurement format in current locale
The Formats preview tries to find the measurement format of the locale
to preview, and then displays it. However, it displays the text in the
default locale, instead of in the real current locale, as newlocale ()
with base = (locale_t) 0 will use the default locale.

This is fixed by switching back to the real locale before setting the
label text.

Fixes #2458

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2051>
2023-11-23 05:48:56 +00:00
Automeris naranja
85403f7563 remote-desktop-page: Add link to instruct how to use remote desktop
As shown in the following mockups:
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/remote-desktop/remote-desktop.png

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2045>
2023-11-20 02:43:46 +00:00
Felipe Borges
9040429105 system: The desktop file Keyword list must always end with a semicolon
The list MUST also end with a semicolon!

Credits to @ajonsson
91bf04f83b (note_1918135)
2023-11-16 10:09:09 +01:00
Allan Day
91bf04f83b system: Add missing panel metadata
Add keywords and update the description to be more meaningful.

Fixes #2753
2023-11-15 15:29:58 +00:00
Automeris naranja
b0ef5ac831 datetime-page: Add missing mnemonics in the Date & Time dialog
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-13 10:28:33 +00:00
Automeris naranja
99bf03a930 about-page: Add missing mnemonics
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-13 10:28:33 +00:00
Automeris naranja
1d5045a5b8 remote-desktop-page: Add tooltip to copy buttons 2023-11-13 10:28:33 +00:00
Automeris naranja
bbf3e35c4b remote-desktop-page: Add missing mnemonics
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-13 10:28:33 +00:00
Automeris naranja
2c1ee740d7 datetime-page: Add description to the "Week Numbers" option
See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2722#note_1912890

Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2722
2023-11-13 09:39:12 +00:00
Felipe Borges
91057652d4 system/remote-desktop: Initialize GCancellable and cancel it page dispose
Fixes #2733
2023-11-13 08:57:07 +00:00
Maximiliano Sandoval R
0ead2414d7 remote-desktop-page: Give pill style to button
Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2000>
2023-11-06 15:20:05 +00:00
Maximiliano Sandoval R
6ace6bb260 format-chooser: Close on escape
This was already implemented but it didn't work if the focus was on the
search entry since it comsumed the Escape input.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2002>
2023-11-06 14:32:49 +00:00
Maximiliano Sandoval R
76bf9b461b format-chooser: Add flat class to buttons in rows
Part-of: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/2002>
2023-11-06 14:32:49 +00:00
Automeris naranja
478229be35 region: Fix mnemonics from the "Login Screen" section
"Language" and "Formats" rows from the "Login Screen" section
have the same mnemonics of their counterparts from the "Your Account"
section. Use other letters for mnemonics to fix that.
2023-11-05 17:38:22 -03:00
Automeris naranja
921664ccdb region: Add mnemonic to the "Log Out" button from the AdwBanner
Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-05 17:38:20 -03:00
Automeris naranja
1a98d1d21f datetime: Add missing mnemonics
Add mnemonics to the following rows:
- Week Day
- Date
- Seconds
- Week Numbers

Partially fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2541
2023-11-05 17:35:20 -03:00
Felipe Borges
79f1b84964 system: Show page summaries as row subtitles in the main page
Per mockups in
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/raw/master/system/system-panel.png

This adds a thin abstract CcSystemPage object with a "summary" property.

Each CcListRow::subtitle is binded to its corresponded
CcSystemPage::summary.

See #2241
2023-11-02 12:15:11 +00:00
Gotam Gorabh
3bb233b50a system: Add 'Date Time' panel to system panel
Adds Date Time panel to the system panel as a page.

https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/system/system-panel.png

See #2241
2023-11-02 12:15:11 +00:00
Felipe Borges
fb13e45aba system: Add "About" page 2023-11-02 12:15:11 +00:00
Gotam Gorabh
34fcaa0654 system: Add 'Remote Desktop' panel to system panel
See #2241
2023-11-02 12:15:11 +00:00
Gotam Gorabh
72973b9a8a system: Add 'Region Language' panel to system panel
Adding Region & Language page to the system panel.

https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/system/system-panel.png

See #2241
2023-11-02 12:15:11 +00:00
Gotam Gorabh
5a92981056 system: Add new Sytem panel
This is the basic panel structure which will contain the
pages for the "System" panel, per mockups in
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/system/system-panel.png

See #2241
2023-11-02 12:15:11 +00:00