We add a toolbar view containing a scrolled window.
- We set the margins to 12 instead of 18
- Use AdwHeaderBar
- Set minimum size and default size
- Make resizable so it fits on small screens
See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2624
At the moment the search entry is consuming the Escape key press, so we
have to manually tell it what to do with it.
We clear the search on the first press, if there is input, and close the
window otherwise.
Per discussion in https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1940
we agreed that the number of deprecated warnings is cluttering
significantly our build logs and making it hard for new contributors to
spot new warnings that their code changes introduce.
For now we decided that the default value for deprecated-declarations is
DISABLED.
We have so many deprecation warnings that it becomes impossible to
notice any other useful warning, thus making the compiler output
completely useless.
Ideally, we should fix all of those but, until then, it's better to add
this flag so that we avoid adding even more warnings by accident.
Button labels with ellipsis indicate that extra user input is
required to complete the action. However, the "Clear Cache" button
from the Storage dialog doesn't require any extra user input.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2627
The "Other Media" row from the Removable Media subpage has some problems:
- The row label has ellipsis, but the "Configure action" button label should
have ellipsis instead, because the later triggers further input from the user
to complete the action[1]
- "Configure action" label doesn't use header capitalization
This change addresses the two issues above.
[1] https://developer.gnome.org/hig/guidelines/writing-style.html?highlight=ellipsis
This has some advantages:
- Removes the conditional compilation requirement, which makes testing easier.
- Allows all distributed versions of Settings to have snap support without them supporting snapd-glib.
- Makes it faster to update Settings for Snap features without waiting on snapd-glib releases.
Note that the snap support is only invoked if you have snaps installed.
Downsides:
- Some additional code in Settings. This is manageable as Settings doesn't need much snap information.
libsoup2 didn't support HTTP over Unix domain sockets and would have been too much to support in Settings.
libsoup3 does support this which makes this possible.
- We no longer share code with snapd-glib, so any future changes will have to be made in multiple places.
snapd has a stable API and multiple active clients so this is not likely to be a major concern.