Commit graph

82 commits

Author SHA1 Message Date
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
c6496e7180 system: Update action-target names due to the latest changes
See commit bb242fc58c
2024-02-22 11:58:11 +01:00
Felipe Borges
9c94d55505 system: Rename subpage tags to their expected cmdline arguments 2024-02-22 09:57:01 +00:00
Felipe Borges
bb242fc58c system: Handle "gnome-control-center system subpage" cmdline arguments
This allows us to open subpages of the "System" panel. The arguments/
parameters are expected to match the panel's subpage tags (as in
AdwNavigationPage.tag).

With this, a future change could reintroduce desktop files for the
subpages, and just change the Exec line to accomodate the new format.
2024-02-22 09:57:01 +00:00
Automeris naranja
fed77a9511 datetime-page: Port some rows to CcListRow
Port the following rows to CcListRow:

- Date & Time
- Time Zone
2024-02-22 09:48:09 +00:00
Bharat
1856f1f7ca system, about: Add spacing between graphics rows
Graphics labels under system details did not have enough padding
between them similar to other labels in the panel

Add a default spacing of 10 to children rows of gtk_box that sets the
graphic rows dynamically to fix the issue

Fixes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2916
2024-02-21 14:37:07 +00:00
Felipe Borges
6a09703e6d system: Add "update-symbolic" icon to Software Update row
See https://gitlab.gnome.org/Teams/Design/settings-mockups/-/issues/67
2024-02-20 10:18:52 +01:00
Felipe Borges
ff3e2afb80 system: Move "Software Updates" row from About page to toplevel
See https://gitlab.gnome.org/Teams/Design/settings-mockups/-/issues/67
2024-02-20 10:18:52 +01:00
Automeris naranja
d997c6e0fa general: Remove "activatable" property from some CcListRows
The CcListRow template already sets the row
as activatable[1].

[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/gnome-45/panels/common/cc-list-row.ui?ref_type=heads#L4
2024-02-20 07:32:37 +00:00
Automeris naranja
34fd45a16f about-page: Port "System Details" row to CcListRow 2024-02-20 06:34:09 +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
Felipe Borges
c0c357c3bc system: Move "Remote Login" from Sharing panel to System
Fixes #2836
2024-02-12 09:57:11 +01: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
Matthijs Velsink
b42b4ecf2f system/about: Create CcSystemDetailsWindow when idle
The CcSystemDetailsWindow is fairly slow to create, making the first
opening of it feel slightly unresponsive.

Resolve this by creating the window when idle.
2024-02-05 11:01:34 +00:00
Matthijs Velsink
0eb1eacb64 system/about: Do not leak CcSystemDetailsWindow
The window should be destroyed and unreferenced when the About page is
disposed to prevent leaking it.

We need to take the reference in order to not repeat #2823, since the
AdwWindow is initially floating.
2024-02-05 11:01:34 +00:00
Matthijs Velsink
343932964f system/about: Create CcSystemDetailsWindow upon opening
Initializing the About page involves creating a CcSystemDetailsWindow
too. This costs time, making the System panel open slower because it has
to wait for the About page to finish initializing.

By creating the CcSystemDetailsWindow only when it should be opened, we
save at least 0.1 s when opening the System panel.
2024-02-05 11:01:34 +00:00
Monster
1b339a8d72 system: Remove periods from subtitles and labels 2024-02-05 10:55:18 +00:00
velsinki
869dfb990e system/about: Fix crash after dark mode switch
Commit f3f81d37 added a signal connection between dark mode changes and
updating the OS logo in the About page. However, this signal was not
disconnected, causing a crash when changing the dark mode after leaving
the About page.

Fix this by using `g_signal_connect_object ()` instead.

Fixes #2854
2024-01-31 14:03:05 +01:00
Felipe Borges
484866e27e system, wwan: Depend on gcr4 2024-01-31 10:38:07 +01:00
Felipe Borges
196987d7ad system, remote-desktop: Use a single rdp_settings object
A GSettings object was being created in multiple places when that
could be simplified.
2024-01-31 09:37:20 +00:00
Felipe Borges
590513352a system, remote-desktop: Don't show the panel when backend is unavailable
Let's not show the page neither crash when there are issues with
finding the remote desktop gsettings in the system, or when the
RemoteDesktop name didn't appear on dbus.

Fixes #2874
2024-01-31 09:37:20 +00:00
Felipe Borges
61dd1b2adf system, remote-desktop: Remove sharing proxy connection
This is a leftover from the previous implementation in the Sharing
panel and has no use here.
2024-01-31 09:37:20 +00:00
Felipe Borges
305c89e71d system, about: Use CcHostname to obtain properties from system-hostnamed 2024-01-30 13:34:10 +00:00
Felipe Borges
270347e66c system, remote-desktop: Use CcHostname to get the host display name 2024-01-30 13:34:10 +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
a2c245fc1a remote-desktop-page: Add missing mnemonics 2024-01-23 11:09:19 +00:00
Automeris naranja
35b8a13634 about-page: Add mnemonic to the Device Name entry
Also, change the mnemonic of the System Details
row, so the Device Name entry mnemonic can use
the letter "D". This will be consistent
with the mnemonic of the Device Name entry
from the Sharing panel, added in
d3ca140cafd83398db6f587250120fe7f891e9e2
2024-01-23 11:09:19 +00:00
Automeris naranja
745efc6e22 system: Fix and add mnemonics
Add mnemonics to Users and About rows.
Also, fix the mnemonic of the Remote Desktop
row, which was using the same letter that
the Region & Language row uses.
2024-01-23 11:09:19 +00:00
Felipe Borges
8d994f3b32 system, about: Report our own GNOME Settings version as GNOME Version
Fixes #2072
2024-01-23 10:41:44 +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
Hari Rana
aa479a3bc5 remote-desktop: Port to AdwSwitchRow 2024-01-18 13:13:11 +00:00
Hari Rana
4e63a7df59 datetime: Port to AdwSwitchRow 2024-01-18 13:11:17 +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
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