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
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
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
- 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.
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