Breaking: Make preferences usable again and support Gnome Shell 42

Make the preferences usable again (and look good) by using an
`AdwPreferencesPage` as well as various other libadwaita features (like
`AdwPreferencesGroup`, style classes, ...).
Also get rid of some code, which now doesn't seem to be necessary
anymore (making sure no horizontal scrollbar shows and setting a default
size for the preferences window).

This change is marked as "Breaking", since I assume `AdwPreferencesPage`
doesn't work in Gnome Shell 40 and because I changed the supported Gnome
Shell version to 42 accordingly.
This commit is contained in:
June 2022-10-23 22:10:36 +02:00
commit 249f3554d5
No known key found for this signature in database
GPG key ID: 094C2AC34192FA11
6 changed files with 49 additions and 84 deletions

View file

@ -2,7 +2,7 @@
<!--
This file is part of Top-Bar-Organizer (a Gnome Shell Extension for
organizing your Gnome Shell top bar).
Copyright (C) 2021 Julian Schacher
Copyright (C) 2021-2022 Julian Schacher
Top-Bar-Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -18,30 +18,28 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<interface>
<template class="PrefsBoxOrderItemRow" parent="GtkListBoxRow">
<child>
<object class="GtkBox">
<property name="spacing">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<child>
<object class="GtkImage">
<property name="icon-name">list-drag-handle-symbolic</property>
</object>
</child>
<child>
<object class="GtkLabel" id="item-name-display-label">
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
</child>
<child>
<object class="GtkMenuButton" id="menu-button">
<property name="icon-name">view-more-symbolic</property>
</object>
</child>
<template class="PrefsBoxOrderItemRow" parent="AdwActionRow">
<child type="prefix">
<object class="GtkLabel" id="item-name-display-label">
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
</child>
<child type="prefix">
<object class="GtkImage">
<property name="icon-name">list-drag-handle-symbolic</property>
<style>
<class name="drag-handle"/>
</style>
</object>
</child>
<child type="suffix">
<object class="GtkMenuButton" id="menu-button">
<property name="valign">center</property>
<property name="icon-name">view-more-symbolic</property>
<style>
<class name="flat"/>
</style>
</object>
</child>
</template>