app-chooser: Improve layout

On the verge of UI freeze, spliting this among previous commits is not
possible, unfortunately. So, this packs a few changes at once:

  * Avoid double scrollbars. The GtkScrolledWindow is preserved for
    future use when we get rid of GtkAppChooserWidger, but otherwise
    it doesn't scroll.
  * Add a separator above default switch row.
  * Make the switch row and make the whole row clickable.
  * Fine-tune margins.
This commit is contained in:
António Fernandes 2022-08-06 20:47:16 +01:00
parent eee3427977
commit eac32fcad6

View file

@ -11,15 +11,6 @@
<child internal-child="content_area">
<object class="GtkBox" id="content_area">
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label_description">
<property name="margin-top">18</property>
<property name="wrap">True</property>
<property name="wrap-mode">PANGO_WRAP_WORD_CHAR</property>
<property name="halign">center</property>
<property name="label" translatable="yes">Choose an application to open the selected files.</property>
</object>
</child>
<child>
<object class="GtkStack">
<property name="hexpand">True</property>
@ -27,74 +18,99 @@
<object class="GtkStackPage">
<property name="name">list</property>
<property name="child">
<object class="GtkScrolledWindow">
<property name="margin-top">18</property>
<property name="margin-bottom">18</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="hscrollbar-policy">never</property>
<property name="vexpand">true</property>
<property name="child">
<object class="AdwClamp">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">never</property>
<property name="vexpand">true</property>
<style>
<class name="background"/>
</style>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkBox" id="app_chooser_widget_box">
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="vexpand">True</property>
<object class="AdwClamp">
<property name="margin-top">18</property>
<property name="margin-bottom">18</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label_description">
<property name="wrap">True</property>
<property name="wrap-mode">PANGO_WRAP_WORD_CHAR</property>
<property name="justify">center</property>
<property name="label" translatable="yes">Choose an application to open the selected files.</property>
</object>
</child>
<child>
<object class="GtkBox" id="app_chooser_widget_box">
<property name="halign">center</property>
<property name="vexpand">True</property>
</object>
</child>
</object>
</child>
</property>
</object>
</property>
</object>
</property>
</child>
<child>
<object class="GtkBox" id="set_default_box">
<property name="orientation">vertical</property>
<style>
<class name="background"/>
</style>
<child>
<object class="GtkSeparator"/>
</child>
<child>
<object class="AdwActionRow" id="set_default_row">
<property name="hexpand">true</property>
<property name="selectable">false</property>
<property name="activatable-widget">set_as_default_switch</property>
<child type="prefix">
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<property name="hexpand">true</property>
<property name="valign">center</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Always use for this file type</property>
<property name="halign">start</property>
</object>
</child>
<child>
<object class="GtkLabel" id="label_content_type_description">
<property name="halign">start</property>
<style>
<class name="caption"/>
<class name="dim-label"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSwitch" id="set_as_default_switch">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="set_default_box">
<property name="margin-bottom">18</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Always use for this file type</property>
</object>
</child>
<child>
<object class="GtkLabel" id="label_content_type_description">
<property name="halign">start</property>
<style>
<class name="dim-label"/>
<class name="caption"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSwitch" id="set_as_default_switch">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="action">