The CcSystemDetailsWindow is fairly slow to create, making the first
opening of it feel slightly unresponsive.
Resolve this by creating the window when idle.
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.
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.
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
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
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