The theme is considered deprecated in favor of symbolic icons from
the regular theme, and both gnome-shell and the gnome portal stopped
linking it to the high-contrast setting.
The panel tries to keep track of the icon theme in use
when HighContrast isn't. For that, it stores in
self->old_icon_theme. That is, however, always updated
when org.gnome.desktop.interface is touched, regardless
of whether HighContrast is already turned on.
Thus, it makes sense to check whether HighContrast is
selected in org.gnome.desktop.a11y.interface, and only
store the old_icon_theme under the condition
high-contrast wasn't selected.
fixes#2640
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
AdwNavigationView is a new widget meant to be used specifically
for navigation, unlike AdwLeaflet which was multipurpose.
AdwNavigationView provides a cleaner API and gives us automatic
titles, back buttons, gestures, actions, and windowcontrols.
AdwToolbarView is a utility widget that simplifies setting the
top and bottom bars for simple views, giving us styling with
undershoots, the ability to use flat headers in scrolling views,
and proper styling when used with the new sidebar widgets.
This commit ports the Accessibility panel to AdwNavigationView
and AdwToolbarView. Subpages now subclass AdwNavigationPage
and contain toolbar views - meaning their headers are joined with
their content. Their titles and their back buttons are automatically
handled by libadwaita, with proper accessibility.
The actions provided by AdwNavigationPage allow us to remove
the custom listbox we used for the `row-activated` signal. Rows
now use the `navigation.push` action in order to push a subpage
by tag.
Currently our AdwToolbarViews use the `raised` style, as we
have not ported to the new sidebar widget yet.
The theme will be set to HighContrast systemwide without explicitly changing
theme name. So Let's don't update the theme so that if the user reverts
High Contrast settings, the old theme shall be used.