Also:
- Move the AdwPreferencesGroup description
to AdwPreferencesPage, which allows to ditch
the margins since the later already has
predefined ones
- Add default size to the window
https://developer.gnome.org/hig/guidelines/adaptive.html
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.
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.
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
- Add the `<developer><name>` tag
- Mark the `<developer_name>` tag as deprecated
- Add appstreamcli validation
- Fix release version warnings
- Remove one of the custom Purism tag to pass the validation test
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.
The CcWifiHotspotDialog is derived from GtkDialog, which is floating.
The floating reference is destroyed on closing the main window, before
the NetDeviceWifi is disposed. This causes a critical warning when the
NetDeviceWifi dispose does run, since it tries to destroy a now
non-existent window.
Fix this by sinking the floating reference, and unreffing it in the
NetDeviceWifi dispose function.
Fixes#2823
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