filechooserwidget: Inherit from GtkWidget

This commit is contained in:
Timm Bäder 2017-03-25 20:36:10 +01:00
parent 3c0da77849
commit 806c4f7d2f
4 changed files with 361 additions and 307 deletions

View File

@ -215,6 +215,8 @@ struct _GtkFileChooserWidgetPrivate {
GtkFileSystem *file_system;
GtkWidget *box;
/* Save mode widgets */
GtkWidget *save_widgets;
GtkWidget *save_widgets_table;
@ -612,7 +614,7 @@ static void switch_to_home_dir (GtkFileChooserWidget *impl);
G_DEFINE_TYPE_WITH_CODE (GtkFileChooserWidget, gtk_file_chooser_widget, GTK_TYPE_BOX,
G_DEFINE_TYPE_WITH_CODE (GtkFileChooserWidget, gtk_file_chooser_widget, GTK_TYPE_WIDGET,
G_ADD_PRIVATE (GtkFileChooserWidget)
G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
gtk_file_chooser_widget_iface_init)
@ -3652,6 +3654,12 @@ gtk_file_chooser_widget_dispose (GObject *object)
priv->external_entry = NULL;
}
if (priv->box)
{
gtk_widget_unparent (priv->box);
priv->box = NULL;
}
g_clear_object (&priv->long_press_gesture);
G_OBJECT_CLASS (gtk_file_chooser_widget_parent_class)->dispose (object);
@ -8062,6 +8070,43 @@ add_normal_and_shifted_binding (GtkBindingSet *binding_set,
signal_name, 0);
}
static void
gtk_file_chooser_widget_measure (GtkWidget *widget,
GtkOrientation orientation,
int for_size,
int *minimum,
int *natural,
int *minimum_baseline,
int *natural_baseline)
{
GtkFileChooserWidget *self = GTK_FILE_CHOOSER_WIDGET (widget);
GtkFileChooserWidgetPrivate *priv = gtk_file_chooser_widget_get_instance_private (self);
gtk_widget_measure (priv->box, orientation, for_size,
minimum, natural,
minimum_baseline, natural_baseline);
}
static void
gtk_file_chooser_widget_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
GtkFileChooserWidget *self = GTK_FILE_CHOOSER_WIDGET (widget);
GtkFileChooserWidgetPrivate *priv = gtk_file_chooser_widget_get_instance_private (self);
gtk_widget_snapshot_child (widget, priv->box, snapshot);
}
static void
gtk_file_chooser_widget_size_allocate (GtkWidget *widget,
GtkAllocation *allocation)
{
GtkFileChooserWidget *self = GTK_FILE_CHOOSER_WIDGET (widget);
GtkFileChooserWidgetPrivate *priv = gtk_file_chooser_widget_get_instance_private (self);
gtk_widget_size_allocate (priv->box, allocation);
}
static void
gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
{
@ -8086,6 +8131,9 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
widget_class->style_updated = gtk_file_chooser_widget_style_updated;
widget_class->screen_changed = gtk_file_chooser_widget_screen_changed;
widget_class->key_press_event = gtk_file_chooser_widget_key_press_event;
widget_class->measure = gtk_file_chooser_widget_measure;
widget_class->size_allocate = gtk_file_chooser_widget_size_allocate;
widget_class->snapshot = gtk_file_chooser_widget_snapshot;
/*
* Signals
@ -8478,6 +8526,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserWidget, rename_file_error_label);
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserWidget, rename_file_popover);
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserWidget, remote_warning_bar);
gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserWidget, box);
/* And a *lot* of callbacks to bind ... */
gtk_widget_class_bind_template_callback (widget_class, browse_files_key_press_event_cb);
@ -8607,6 +8656,8 @@ gtk_file_chooser_widget_init (GtkFileChooserWidget *impl)
impl->priv = gtk_file_chooser_widget_get_instance_private (impl);
priv = impl->priv;
gtk_widget_set_has_window (GTK_WIDGET (impl), FALSE);
priv->local_only = FALSE;
priv->preview_widget_active = TRUE;
priv->use_preview_label = TRUE;

View File

@ -41,7 +41,7 @@ typedef struct _GtkFileChooserWidgetClass GtkFileChooserWidgetClass;
struct _GtkFileChooserWidget
{
GtkBox parent_instance;
GtkWidget parent_instance;
GtkFileChooserWidgetPrivate *priv;
};
@ -52,7 +52,7 @@ struct _GtkFileChooserWidget
*/
struct _GtkFileChooserWidgetClass
{
GtkBoxClass parent_class;
GtkWidgetClass parent_class;
/*< private >*/

View File

@ -20,7 +20,6 @@
</child>
<child>
<object class="GtkFileChooserWidget" id="widget">
<property name="orientation">vertical</property>
<signal name="default-size-changed" handler="file_chooser_widget_default_size_changed" swapped="no"/>
<signal name="file-activated" handler="file_chooser_widget_file_activated" swapped="no"/>
<signal name="response-requested" handler="file_chooser_widget_response_requested" swapped="no"/>

View File

@ -2,385 +2,389 @@
<interface domain="gtk30">
<!-- interface-requires gtk+ 3.10 -->
<!-- interface-requires gtkprivate 3.10 -->
<template class="GtkFileChooserWidget" parent="GtkBox">
<property name="orientation">vertical</property>
<template class="GtkFileChooserWidget" parent="GtkWidget">
<child>
<object class="GtkBox" id="browse_widgets_box">
<object class="GtkBox" id="box">
<property name="orientation">vertical</property>
<child>
<object class="GtkPaned" id="browse_widgets_hpaned">
<object class="GtkBox" id="browse_widgets_box">
<property name="orientation">vertical</property>
<child>
<object class="GtkPlacesSidebar" id="places_sidebar">
<property name="hscrollbar-policy">never</property>
<property name="local-only">1</property>
<property name="show-other-locations">1</property>
<style>
<class name="sidebar"/>
</style>
<signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
<signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
<signal name="show-other-locations-with-flags" handler="places_sidebar_show_other_locations_with_flags_cb" swapped="no"/>
</object>
<packing>
<property name="resize">0</property>
<property name="shrink">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<object class="GtkPaned" id="browse_widgets_hpaned">
<child>
<object class="GtkRevealer" id="browse_header_revealer">
<property name="hexpand">1</property>
<object class="GtkPlacesSidebar" id="places_sidebar">
<property name="hscrollbar-policy">never</property>
<property name="local-only">1</property>
<property name="show-other-locations">1</property>
<style>
<class name="sidebar"/>
</style>
<signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
<signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
<signal name="show-other-locations-with-flags" handler="places_sidebar_show_other_locations_with_flags_cb" swapped="no"/>
</object>
<packing>
<property name="resize">0</property>
<property name="shrink">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="name">pathbarbox</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<style>
<class name="view"/>
</style>
<object class="GtkRevealer" id="browse_header_revealer">
<property name="hexpand">1</property>
<child>
<object class="GtkStack" id="browse_header_stack">
<object class="GtkBox">
<property name="name">pathbarbox</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<style>
<class name="view"/>
</style>
<child>
<object class="GtkStack" id="browse_header_stack">
<property name="transition-type">crossfade</property>
<child>
<object class="GtkBox">
<property name="spacing">6</property>
<property name="margin">6</property>
<child>
<object class="GtkPathBar" id="browse_path_bar">
<signal name="path-clicked" handler="path_bar_clicked" after="yes" swapped="no"/>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkMenuButton" id="browse_new_folder_button">
<property name="tooltip-text" translatable="yes">Create Folder</property>
<property name="use-underline">1</property>
<property name="popover">new_folder_popover</property>
<property name="icon-name">folder-new-symbolic</property>
<signal name="notify::active" handler="new_folder_popover_active"/>
</object>
<packing>
<property name="fill">0</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">pathbar</property>
</packing>
</child>
<child>
<object class="GtkBox" id="location_entry_box">
<property name="spacing">6</property>
<property name="margin">6</property>
</object>
<packing>
<property name="name">location</property>
</packing>
</child>
<child>
<object class="GtkBox" id="search_entry_box">
<property name="spacing">6</property>
<property name="margin">6</property>
<child type="center">
<object class="GtkSearchEntry" id="search_entry">
<property name="width-chars">45</property>
<signal name="search-changed" handler="search_entry_activate_cb" swapped="yes"/>
<signal name="stop-search" handler="search_entry_stop_cb" swapped="yes"/>
</object>
</child>
<child>
<object class="GtkSpinner" id="search_spinner">
<property name="visible">0</property>
<property name="active">1</property>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
<property name="name">search</property>
</packing>
</child>
</object>
<packing>
<property name="fill">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="fill">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="list_and_preview_box">
<property name="spacing">12</property>
<child>
<object class="GtkStack" id="browse_files_stack">
<property name="transition-type">crossfade</property>
<style>
<class name="view"/>
</style>
<child>
<object class="GtkBox">
<property name="spacing">6</property>
<property name="margin">6</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkPathBar" id="browse_path_bar">
<signal name="path-clicked" handler="path_bar_clicked" after="yes" swapped="no"/>
<object class="GtkScrolledWindow" id="browse_files_swin">
<property name="hscrollbar-policy">never</property>
<child>
<object class="GtkTreeView" id="browse_files_tree_view">
<property name="has-tooltip">1</property>
<property name="enable-search">0</property>
<child internal-child="accessible">
<object class="AtkObject" id="browse_files_tree_view-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Files</property>
</object>
</child>
<signal name="button-press-event" handler="list_button_press_event_cb" swapped="no"/>
<signal name="drag-data-received" handler="file_list_drag_data_received_cb" swapped="no"/>
<signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
<signal name="drag-begin" handler="file_list_drag_begin_cb" swapped="no"/>
<signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
<signal name="drag-end" handler="file_list_drag_end_cb" swapped="no"/>
<signal name="key-press-event" handler="browse_files_key_press_event_cb" swapped="no"/>
<signal name="popup-menu" handler="list_popup_menu_cb" swapped="no"/>
<signal name="query-tooltip" handler="file_list_query_tooltip_cb" swapped="no"/>
<signal name="row-activated" handler="list_row_activated" swapped="no"/>
<signal name="cursor-changed" handler="list_cursor_changed" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection2">
<signal name="changed" handler="list_selection_changed" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_name_column">
<property name="title" translatable="yes">Name</property>
<property name="resizable">1</property>
<property name="expand">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="list_pixbuf_renderer">
<property name="xpad">6</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="list_name_renderer">
<property name="width-chars">10</property>
<property name="ellipsize">end</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_location_column">
<property name="title" translatable="yes">Location</property>
<property name="resizable">1</property>
<property name="visible">0</property>
<property name="expand">1</property>
<child>
<object class="GtkCellRendererText" id="list_location_renderer">
<property name="xalign">0</property>
<property name="width-chars">10</property>
<property name="ellipsize">start</property>
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_size_column">
<property name="title" translatable="yes">Size</property>
<property name="sizing">fixed</property>
<child>
<object class="GtkCellRendererText" id="list_size_renderer">
<property name="xalign">0</property>
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_time_column">
<property name="title" translatable="yes">Modified</property>
<property name="sizing">fixed</property>
<child>
<object class="GtkCellRendererText" id="list_date_renderer">
<property name="xpad">6</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="list_time_renderer">
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkMenuButton" id="browse_new_folder_button">
<property name="tooltip-text" translatable="yes">Create Folder</property>
<property name="use-underline">1</property>
<property name="popover">new_folder_popover</property>
<property name="icon-name">folder-new-symbolic</property>
<signal name="notify::active" handler="new_folder_popover_active"/>
<object class="GtkActionBar" id="remote_warning_bar">
<property name="visible">0</property>
<child type="center">
<object class="GtkLabel">
<property name="label" translatable="yes">Remote location — only searching the current folder</property>
</object>
</child>
</object>
<packing>
<property name="fill">0</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">pathbar</property>
<property name="name">list</property>
</packing>
</child>
<child>
<object class="GtkBox" id="location_entry_box">
<property name="spacing">6</property>
<property name="margin">6</property>
<object class="GtkPlacesView" id="places_view">
<property name="local-only" bind-source="GtkFileChooserWidget" bind-property="local-only" bind-flags="default|sync-create"/>
<signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
<signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
</object>
<packing>
<property name="name">location</property>
<property name="name">other_locations</property>
</packing>
</child>
<child>
<object class="GtkBox" id="search_entry_box">
<property name="spacing">6</property>
<property name="margin">6</property>
<child type="center">
<object class="GtkSearchEntry" id="search_entry">
<property name="width-chars">45</property>
<signal name="search-changed" handler="search_entry_activate_cb" swapped="yes"/>
<signal name="stop-search" handler="search_entry_stop_cb" swapped="yes"/>
<object class="GtkGrid">
<property name="row-spacing">12</property>
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<style>
<class name="dim-label"/>
</style>
<child>
<object class="GtkImage">
<property name="icon-name">edit-find-symbolic</property>
<property name="pixel-size">72</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkSpinner" id="search_spinner">
<property name="visible">0</property>
<property name="active">1</property>
<object class="GtkLabel">
<property name="label" translatable="yes">No Results Found</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="scale" value="1.44"/>
</attributes>
</object>
<packing>
<property name="pack-type">end</property>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Try a different search</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">search</property>
<property name="name">empty</property>
</packing>
</child>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="preview_box">
<property name="visible">0</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
</object>
<packing>
<property name="fill">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="fill">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="list_and_preview_box">
<property name="spacing">12</property>
<child>
<object class="GtkStack" id="browse_files_stack">
<property name="transition-type">crossfade</property>
<style>
<class name="view"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow" id="browse_files_swin">
<property name="hscrollbar-policy">never</property>
<child>
<object class="GtkTreeView" id="browse_files_tree_view">
<property name="has-tooltip">1</property>
<property name="enable-search">0</property>
<child internal-child="accessible">
<object class="AtkObject" id="browse_files_tree_view-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Files</property>
</object>
</child>
<signal name="button-press-event" handler="list_button_press_event_cb" swapped="no"/>
<signal name="drag-data-received" handler="file_list_drag_data_received_cb" swapped="no"/>
<signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
<signal name="drag-begin" handler="file_list_drag_begin_cb" swapped="no"/>
<signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
<signal name="drag-end" handler="file_list_drag_end_cb" swapped="no"/>
<signal name="key-press-event" handler="browse_files_key_press_event_cb" swapped="no"/>
<signal name="popup-menu" handler="list_popup_menu_cb" swapped="no"/>
<signal name="query-tooltip" handler="file_list_query_tooltip_cb" swapped="no"/>
<signal name="row-activated" handler="list_row_activated" swapped="no"/>
<signal name="cursor-changed" handler="list_cursor_changed" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection2">
<signal name="changed" handler="list_selection_changed" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_name_column">
<property name="title" translatable="yes">Name</property>
<property name="resizable">1</property>
<property name="expand">1</property>
<child>
<object class="GtkCellRendererPixbuf" id="list_pixbuf_renderer">
<property name="xpad">6</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="list_name_renderer">
<property name="width-chars">10</property>
<property name="ellipsize">end</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_location_column">
<property name="title" translatable="yes">Location</property>
<property name="resizable">1</property>
<property name="visible">0</property>
<property name="expand">1</property>
<child>
<object class="GtkCellRendererText" id="list_location_renderer">
<property name="xalign">0</property>
<property name="width-chars">10</property>
<property name="ellipsize">start</property>
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_size_column">
<property name="title" translatable="yes">Size</property>
<property name="sizing">fixed</property>
<child>
<object class="GtkCellRendererText" id="list_size_renderer">
<property name="xalign">0</property>
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="list_time_column">
<property name="title" translatable="yes">Modified</property>
<property name="sizing">fixed</property>
<child>
<object class="GtkCellRendererText" id="list_date_renderer">
<property name="xpad">6</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="list_time_renderer">
<property name="xpad">6</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkActionBar" id="remote_warning_bar">
<property name="visible">0</property>
<child type="center">
<object class="GtkLabel">
<property name="label" translatable="yes">Remote location — only searching the current folder</property>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">list</property>
</packing>
</child>
<child>
<object class="GtkPlacesView" id="places_view">
<property name="local-only" bind-source="GtkFileChooserWidget" bind-property="local-only" bind-flags="default|sync-create"/>
<signal name="open-location" handler="places_sidebar_open_location_cb" swapped="no"/>
<signal name="show-error-message" handler="places_sidebar_show_error_message_cb" swapped="no"/>
</object>
<packing>
<property name="name">other_locations</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="row-spacing">12</property>
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<style>
<class name="dim-label"/>
</style>
<child>
<object class="GtkImage">
<property name="icon-name">edit-find-symbolic</property>
<property name="pixel-size">72</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">No Results Found</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="scale" value="1.44"/>
</attributes>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Try a different search</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">empty</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="preview_box">
<property name="visible">0</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
</object>
<packing>
<property name="fill">0</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">1</property>
<property name="position">2</property>
<property name="shrink">0</property>
</packing>
</child>
</object>
<packing>
<property name="shrink">0</property>
<property name="expand">1</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">1</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">1</property>
</packing>
</child>
<child>
<object class="GtkActionBar" id="extra_and_filters">
<property name="visible">0</property>
<child>
<object class="GtkBox" id="extra_align">
<property name="spacing">12</property>
</object>
</child>
<child>
<object class="GtkBox" id="filter_combo_hbox">
<!--<property name="spacing">12</property>-->
<object class="GtkActionBar" id="extra_and_filters">
<property name="visible">0</property>
<child>
<object class="GtkComboBoxText" id="filter_combo">
<property name="tooltip-text" translatable="yes">Select which types of files are shown</property>
<property name="focus-on-click">0</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<property name="valign">start</property>
<signal name="changed" handler="filter_combo_changed" swapped="no"/>
<object class="GtkBox" id="extra_align">
<property name="spacing">12</property>
</object>
</child>
<child>
<object class="GtkBox" id="filter_combo_hbox">
<!--<property name="spacing">12</property>-->
<child>
<object class="GtkComboBoxText" id="filter_combo">
<property name="tooltip-text" translatable="yes">Select which types of files are shown</property>
<property name="focus-on-click">0</property>
<property name="entry-text-column">0</property>
<property name="id-column">1</property>
<property name="valign">start</property>
<signal name="changed" handler="filter_combo_changed" swapped="no"/>
</object>
<packing>
<property name="fill">0</property>
<property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
<property name="fill">0</property>
<property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
<property name="pack-type">end</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
<property name="pack-type">end</property>
</packing>
</child>
</template>
<object class="GtkSizeGroup" id="browse_path_bar_size_group">