gtk2/gtk/ui/gtkplacesviewrow.ui
djb bfc6287910 gtkplacesviewrow: stop busy_spinner from offsetting the other widgets when visible
...by putting it in a stack. The busy_spinner and eject_button are
mutually exclusive, but only the latter was coded to ensure that its
visibility did not cause the rest of the row to reflow. By putting both
widgets in a stack and setting child_visible on that, the row allocates
enough space to show one - or none - at once, avoiding any misalignment.

https://bugzilla.gnome.org/show_bug.cgi?id=772345

https://bugzilla.gnome.org/show_bug.cgi?id=772348
2016-10-10 15:14:49 -04:00

105 lines
4.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface domain="gtk30">
<requires lib="gtk+" version="3.16"/>
<template class="GtkPlacesViewRow" parent="GtkListBoxRow">
<property name="width-request">100</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkEventBox" id="event_box">
<property name="visible">1</property>
<child>
<object class="GtkBox" id="box">
<property name="visible">1</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">18</property>
<child>
<object class="GtkImage" id="icon_image">
<property name="visible">1</property>
<property name="pixel-size">32</property>
</object>
</child>
<child>
<object class="GtkLabel" id="name_label">
<property name="visible">1</property>
<property name="hexpand">1</property>
<property name="xalign">0</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="available_space_label">
<property name="xalign">1</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="path_label">
<property name="visible">1</property>
<property name="justify">right</property>
<property name="ellipsize">middle</property>
<property name="xalign">0</property>
<property name="max-width-chars">15</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkStack" id="mount_stack">
<property name="visible">1</property>
<property name="hhomogeneous">1</property>
<property name="vhomogeneous">1</property>
<child>
<object class="GtkButton" id="eject_button">
<property name="visible">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="tooltip-text" translatable="yes">Unmount</property>
<child>
<object class="GtkImage" id="eject_icon">
<property name="visible">1</property>
<property name="icon-name">media-eject-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
<style>
<class name="image-button"/>
<class name="sidebar-button"/>
</style>
</object>
</child>
<child>
<object class="GtkSpinner" id="busy_spinner">
<property name="visible">1</property>
<property name="active">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
</object>
</child>
</object>
<packing>
<property name="position">4</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</template>
</interface>