mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 06:10:15 +00:00
GtkFileChooserDefault: Define children with a GtkBuilder template
This commit is contained in:
parent
09b44d7ab5
commit
bf909f5615
@ -1102,6 +1102,7 @@ COMPOSITE_TEMPLATES = \
|
||||
gtkassistant.ui \
|
||||
gtkcolorchooserdialog.ui \
|
||||
gtkdialog.ui \
|
||||
gtkfilechooserdefault.ui \
|
||||
gtkinfobar.ui \
|
||||
gtklockbutton.ui \
|
||||
gtkmessagedialog.ui \
|
||||
|
@ -17,6 +17,7 @@
|
||||
<file compressed="true">gtkassistant.ui</file>
|
||||
<file compressed="true">gtkcolorchooserdialog.ui</file>
|
||||
<file compressed="true">gtkdialog.ui</file>
|
||||
<file compressed="true">gtkfilechooserdefault.ui</file>
|
||||
<file compressed="true">gtkinfobar.ui</file>
|
||||
<file compressed="true">gtklockbutton.ui</file>
|
||||
<file compressed="true">gtkmessagedialog.ui</file>
|
||||
|
File diff suppressed because it is too large
Load Diff
555
gtk/gtkfilechooserdefault.ui
Normal file
555
gtk/gtkfilechooserdefault.ui
Normal file
@ -0,0 +1,555 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface domain="gtk30">
|
||||
<!-- interface-requires gtkprivate 3.10 -->
|
||||
<!-- interface-requires gtk+ 3.10 -->
|
||||
<object class="GtkImage" id="location_button_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-edit</property>
|
||||
</object>
|
||||
<template class="GtkFileChooserDefault" parent="GtkBox">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="browse_widgets_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="browse_header_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="location_entry_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="location_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Location:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="browse_path_bar_hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="location_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Type a file name</property>
|
||||
<property name="image">location_button_image</property>
|
||||
<child internal-child="accessible">
|
||||
<object class="AtkObject" id="location_button-atkobject">
|
||||
<property name="AtkObject::accessible-name" translatable="yes">Type a file name</property>
|
||||
</object>
|
||||
</child>
|
||||
<signal name="toggled" handler="location_button_toggled_cb" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPathBar" id="browse_path_bar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<signal name="path-clicked" handler="path_bar_clicked" after="yes" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkInfoBar" id="browse_select_a_folder_info_bar">
|
||||
<property name="app_paintable">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child internal-child="content_area">
|
||||
<object class="GtkBox" id="infobar-content_area1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">8</property>
|
||||
<property name="spacing">16</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="browse_select_a_folder_icon">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-directory</property>
|
||||
<property name="icon_size">1</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="browse_select_a_folder_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">message</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox" id="infobar-action_area1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<property name="layout_style">end</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImage" id="browse_special_mode_icon">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-missing-image</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="browse_special_mode_label">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">special</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="browse_new_folder_button">
|
||||
<property name="label" translatable="yes">Create Fo_lder</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="clicked" handler="new_folder_button_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPaned" id="browse_widgets_hpaned">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="browse_shortcuts_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="browse_shortcuts_swin">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">never</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="browse_shortcuts_tree_view">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="has_tooltip">True</property>
|
||||
<property name="model">shortcuts_pane_filter_model</property>
|
||||
<property name="enable_search">False</property>
|
||||
<child internal-child="accessible">
|
||||
<object class="AtkObject" id="browse_shortcuts_tree_view-atkobject">
|
||||
<property name="AtkObject::accessible-name" translatable="yes">Places</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="sidebar"/>
|
||||
</style>
|
||||
<signal name="button-press-event" handler="shortcuts_button_press_event_cb" swapped="no"/>
|
||||
<signal name="drag-begin" handler="shortcuts_drag_begin_cb" swapped="no"/>
|
||||
<signal name="drag-data-delete" handler="shortcuts_drag_data_delete_cb" swapped="no"/>
|
||||
<signal name="drag-data-received" handler="shortcuts_drag_data_received_cb" swapped="no"/>
|
||||
<signal name="drag-drop" handler="shortcuts_drag_drop_cb" swapped="no"/>
|
||||
<signal name="drag-end" handler="shortcuts_drag_end_cb" swapped="no"/>
|
||||
<signal name="drag-leave" handler="shortcuts_drag_leave_cb" swapped="no"/>
|
||||
<signal name="drag-motion" handler="shortcuts_drag_motion_cb" swapped="no"/>
|
||||
<signal name="key-press-event" handler="shortcuts_key_press_event_after_cb" after="yes" swapped="no"/>
|
||||
<signal name="key-press-event" handler="shortcuts_key_press_event_cb" swapped="no"/>
|
||||
<signal name="popup-menu" handler="shortcuts_popup_menu_cb" swapped="no"/>
|
||||
<signal name="query-tooltip" handler="shortcuts_query_tooltip_cb" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="treeview-selection1">
|
||||
<signal name="changed" handler="shortcuts_selection_changed_cb" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="treeviewcolumn1">
|
||||
<property name="title" translatable="yes">Places</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
|
||||
<attributes>
|
||||
<attribute name="visible">5</attribute>
|
||||
<attribute name="pixbuf">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext1">
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="width_chars">12</property>
|
||||
<signal name="edited" handler="shortcuts_edited" swapped="no"/>
|
||||
<signal name="editing-canceled" handler="shortcuts_editing_canceled" swapped="no"/>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolbar" id="browse_shortcuts_toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="toolbar_style">icons</property>
|
||||
<style>
|
||||
<class name="inline-toolbar"/>
|
||||
</style>
|
||||
<property name="icon_size">1</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="browse_shortcuts_add_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Add the selected folder to the Bookmarks</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">list-add-symbolic</property>
|
||||
<signal name="clicked" handler="add_bookmark_button_clicked_cb" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="browse_shortcuts_remove_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Remove the selected bookmark</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">list-remove-symbolic</property>
|
||||
<signal name="clicked" handler="remove_bookmark_button_clicked_cb" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="resize">False</property>
|
||||
<property name="shrink">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="browse_files_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="list_and_preview_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="browse_files_swin">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="vscrollbar_policy">always</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="browse_files_tree_view">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="has_tooltip">True</property>
|
||||
<property name="rules_hint">True</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-motion" handler="file_list_drag_motion_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"/>
|
||||
<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="resizable">True</property>
|
||||
<property name="title" translatable="yes">Name</property>
|
||||
<property name="expand">True</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererPixbuf" id="list_pixbuf_renderer"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="list_name_renderer">
|
||||
<property name="ellipsize">end</property>
|
||||
<signal name="edited" handler="renderer_edited_cb" swapped="no"/>
|
||||
<signal name="editing-canceled" handler="renderer_editing_canceled_cb" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="list_size_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="title" translatable="yes">Size</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="list_size_renderer">
|
||||
<property name="alignment">right</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="list_mtime_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="title" translatable="yes">Modifed</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="list_mtime_renderer"/>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="preview_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="filter_combo_hbox">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="filter_combo">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Select which types of files are shown</property>
|
||||
<property name="focus_on_click">False</property>
|
||||
<property name="entry_text_column">0</property>
|
||||
<property name="id_column">1</property>
|
||||
<signal name="changed" handler="filter_combo_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="resize">True</property>
|
||||
<property name="shrink">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="extra_align">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</template>
|
||||
<object class="GtkSizeGroup" id="browse_path_bar_size_group">
|
||||
<property name="mode">vertical</property>
|
||||
<widgets>
|
||||
<widget name="location_button"/>
|
||||
<widget name="browse_path_bar"/>
|
||||
<widget name="browse_select_a_folder_info_bar"/>
|
||||
<widget name="browse_special_mode_icon"/>
|
||||
<widget name="browse_special_mode_label"/>
|
||||
<widget name="browse_new_folder_button"/>
|
||||
</widgets>
|
||||
</object>
|
||||
<object class="GtkSizeGroup" id="paned_group">
|
||||
<property name="mode">vertical</property>
|
||||
<widgets>
|
||||
<widget name="browse_shortcuts_swin"/>
|
||||
<widget name="browse_files_swin"/>
|
||||
</widgets>
|
||||
</object>
|
||||
<object class="GtkListStore" id="shortcuts_model">
|
||||
<columns>
|
||||
<!-- column-name pixbuf -->
|
||||
<column type="GdkPixbuf"/>
|
||||
<!-- column-name name -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name path-or-volume -->
|
||||
<column type="gpointer"/>
|
||||
<!-- column-name shortcut-type -->
|
||||
<column type="gint"/>
|
||||
<!-- column-name removable -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name pixbuf-visible -->
|
||||
<column type="gboolean"/>
|
||||
<!-- column-name cancellable -->
|
||||
<column type="gpointer"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="ShortcutsPaneModelFilter" id="shortcuts_pane_filter_model">
|
||||
<property name="child_model">shortcuts_model</property>
|
||||
</object>
|
||||
</interface>
|
@ -46,6 +46,7 @@ G_BEGIN_DECLS
|
||||
#define GTK_FILE_CHOOSER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_FILE_CHOOSER, GtkFileChooserIface))
|
||||
|
||||
typedef struct _GtkFileChooserIface GtkFileChooserIface;
|
||||
typedef struct _GtkFileChooserDefaultPrivate GtkFileChooserDefaultPrivate;
|
||||
|
||||
struct _GtkFileChooserIface
|
||||
{
|
||||
@ -152,160 +153,9 @@ struct _GtkFileChooserDefault
|
||||
{
|
||||
GtkBox parent_instance;
|
||||
|
||||
GtkFileChooserAction action;
|
||||
|
||||
GtkFileSystem *file_system;
|
||||
|
||||
/* Save mode widgets */
|
||||
GtkWidget *save_widgets;
|
||||
GtkWidget *save_widgets_table;
|
||||
|
||||
GtkWidget *save_folder_label;
|
||||
|
||||
/* The file browsing widgets */
|
||||
GtkWidget *browse_widgets_box;
|
||||
GtkWidget *browse_widgets_hpaned;
|
||||
GtkWidget *browse_header_box;
|
||||
GtkWidget *browse_shortcuts_tree_view;
|
||||
GtkWidget *browse_shortcuts_add_button;
|
||||
GtkWidget *browse_shortcuts_remove_button;
|
||||
GtkWidget *browse_shortcuts_popup_menu;
|
||||
GtkWidget *browse_shortcuts_popup_menu_remove_item;
|
||||
GtkWidget *browse_shortcuts_popup_menu_rename_item;
|
||||
GtkWidget *browse_files_tree_view;
|
||||
GtkWidget *browse_files_popup_menu;
|
||||
GtkWidget *browse_files_popup_menu_add_shortcut_item;
|
||||
GtkWidget *browse_files_popup_menu_hidden_files_item;
|
||||
GtkWidget *browse_files_popup_menu_size_column_item;
|
||||
GtkWidget *browse_files_popup_menu_copy_file_location_item;
|
||||
GtkWidget *browse_files_popup_menu_visit_file_item;
|
||||
GtkWidget *browse_new_folder_button;
|
||||
GtkWidget *browse_path_bar_hbox;
|
||||
GtkSizeGroup *browse_path_bar_size_group;
|
||||
GtkWidget *browse_path_bar;
|
||||
GtkWidget *browse_special_mode_icon;
|
||||
GtkWidget *browse_special_mode_label;
|
||||
GtkWidget *browse_select_a_folder_info_bar;
|
||||
GtkWidget *browse_select_a_folder_label;
|
||||
GtkWidget *browse_select_a_folder_icon;
|
||||
|
||||
GtkFileSystemModel *browse_files_model;
|
||||
char *browse_files_last_selected_name;
|
||||
|
||||
/* OPERATION_MODE_SEARCH */
|
||||
GtkWidget *search_hbox;
|
||||
GtkWidget *search_entry;
|
||||
GtkSearchEngine *search_engine;
|
||||
GtkQuery *search_query;
|
||||
GtkFileSystemModel *search_model;
|
||||
|
||||
/* OPERATION_MODE_RECENT */
|
||||
GtkRecentManager *recent_manager;
|
||||
GtkFileSystemModel *recent_model;
|
||||
guint load_recent_id;
|
||||
|
||||
GtkWidget *filter_combo_hbox;
|
||||
GtkWidget *filter_combo;
|
||||
GtkWidget *preview_box;
|
||||
GtkWidget *preview_label;
|
||||
GtkWidget *preview_widget;
|
||||
GtkWidget *extra_align;
|
||||
GtkWidget *extra_widget;
|
||||
|
||||
GtkWidget *location_button;
|
||||
GtkWidget *location_entry_box;
|
||||
GtkWidget *location_label;
|
||||
GtkWidget *location_entry;
|
||||
LocationMode location_mode;
|
||||
|
||||
GtkListStore *shortcuts_model;
|
||||
|
||||
/* Filter for the shortcuts pane. We filter out the "current folder" row and
|
||||
* the separator that we use for the "Save in folder" combo.
|
||||
*/
|
||||
GtkTreeModel *shortcuts_pane_filter_model;
|
||||
|
||||
/* Handles */
|
||||
GSList *loading_shortcuts;
|
||||
GSList *reload_icon_cancellables;
|
||||
GCancellable *file_list_drag_data_received_cancellable;
|
||||
GCancellable *update_current_folder_cancellable;
|
||||
GCancellable *should_respond_get_info_cancellable;
|
||||
GCancellable *file_exists_get_info_cancellable;
|
||||
GCancellable *update_from_entry_cancellable;
|
||||
GCancellable *shortcuts_activate_iter_cancellable;
|
||||
|
||||
LoadState load_state;
|
||||
ReloadState reload_state;
|
||||
guint load_timeout_id;
|
||||
|
||||
OperationMode operation_mode;
|
||||
|
||||
GSList *pending_select_files;
|
||||
|
||||
GtkFileFilter *current_filter;
|
||||
GSList *filters;
|
||||
|
||||
int num_volumes;
|
||||
int num_shortcuts;
|
||||
int num_bookmarks;
|
||||
|
||||
gulong volumes_changed_id;
|
||||
gulong bookmarks_changed_id;
|
||||
|
||||
GFile *current_volume_file;
|
||||
GFile *current_folder;
|
||||
GFile *preview_file;
|
||||
char *preview_display_name;
|
||||
|
||||
GtkTreeViewColumn *list_name_column;
|
||||
GtkCellRenderer *list_name_renderer;
|
||||
GtkTreeViewColumn *list_mtime_column;
|
||||
GtkTreeViewColumn *list_size_column;
|
||||
|
||||
GSource *edited_idle;
|
||||
char *edited_new_text;
|
||||
|
||||
gulong settings_signal_id;
|
||||
int icon_size;
|
||||
|
||||
GSource *focus_entry_idle;
|
||||
|
||||
gulong toplevel_set_focus_id;
|
||||
GtkWidget *toplevel_last_focus_widget;
|
||||
|
||||
gint sort_column;
|
||||
GtkSortType sort_order;
|
||||
|
||||
#if 0
|
||||
GdkDragContext *shortcuts_drag_context;
|
||||
GSource *shortcuts_drag_outside_idle;
|
||||
#endif
|
||||
|
||||
/* Flags */
|
||||
|
||||
guint local_only : 1;
|
||||
guint preview_widget_active : 1;
|
||||
guint use_preview_label : 1;
|
||||
guint select_multiple : 1;
|
||||
guint show_hidden : 1;
|
||||
guint do_overwrite_confirmation : 1;
|
||||
guint list_sort_ascending : 1;
|
||||
guint changing_folder : 1;
|
||||
guint shortcuts_current_folder_active : 1;
|
||||
guint has_home : 1;
|
||||
guint has_desktop : 1;
|
||||
guint has_search : 1;
|
||||
guint has_recent: 1;
|
||||
guint show_size_column : 1;
|
||||
guint create_folders : 1;
|
||||
|
||||
#if 0
|
||||
guint shortcuts_drag_outside : 1;
|
||||
#endif
|
||||
GtkFileChooserDefaultPrivate *priv;
|
||||
};
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_FILE_CHOOSER_PRIVATE_H__ */
|
||||
|
@ -18,6 +18,14 @@
|
||||
*/
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
static gboolean
|
||||
main_loop_quit_cb (gpointer data)
|
||||
{
|
||||
gtk_main_quit ();
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
test_dialog_basic (void)
|
||||
{
|
||||
@ -25,6 +33,9 @@ test_dialog_basic (void)
|
||||
|
||||
dialog = gtk_dialog_new();
|
||||
g_assert (GTK_IS_DIALOG (dialog));
|
||||
g_assert (gtk_dialog_get_action_area (GTK_DIALOG (dialog)) != NULL);
|
||||
g_assert (gtk_dialog_get_content_area (GTK_DIALOG (dialog)) != NULL);
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
}
|
||||
|
||||
@ -136,6 +147,13 @@ test_app_chooser_dialog_basic (void)
|
||||
|
||||
widget = gtk_app_chooser_dialog_new_for_content_type (NULL, 0, "text/plain");
|
||||
g_assert (GTK_IS_APP_CHOOSER_DIALOG (widget));
|
||||
|
||||
/* GtkAppChooserDialog bug, if destroyed before spinning
|
||||
* the main context then app_chooser_online_get_default_ready_cb()
|
||||
* will be eventually called and segfault.
|
||||
*/
|
||||
g_timeout_add (500, main_loop_quit_cb, NULL);
|
||||
gtk_main();
|
||||
gtk_widget_destroy (widget);
|
||||
}
|
||||
|
||||
@ -149,6 +167,44 @@ test_color_chooser_dialog_basic (void)
|
||||
gtk_widget_destroy (widget);
|
||||
}
|
||||
|
||||
/* Avoid warnings from GVFS-RemoteVolumeMonitor */
|
||||
static gboolean
|
||||
ignore_gvfs_warning (const gchar *log_domain,
|
||||
GLogLevelFlags log_level,
|
||||
const gchar *message,
|
||||
gpointer user_data)
|
||||
{
|
||||
if (g_strcmp0 (log_domain, "GVFS-RemoteVolumeMonitor") == 0)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
test_file_chooser_widget_basic (void)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
|
||||
g_test_log_set_fatal_handler (ignore_gvfs_warning, NULL);
|
||||
|
||||
widget = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
|
||||
g_assert (GTK_IS_FILE_CHOOSER_WIDGET (widget));
|
||||
|
||||
/* XXX BUG:
|
||||
*
|
||||
* Spin the mainloop for a bit, this allows the file operations
|
||||
* to complete, GtkFileChooserDefault has a bug where it leaks
|
||||
* GtkTreeRowReferences to the internal shortcuts_model
|
||||
*
|
||||
* Since we assert all automated children are finalized we
|
||||
* can catch this
|
||||
*/
|
||||
g_timeout_add (100, main_loop_quit_cb, NULL);
|
||||
gtk_main();
|
||||
|
||||
gtk_widget_destroy (widget);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
@ -173,6 +229,7 @@ main (int argc, char **argv)
|
||||
g_test_add_func ("/Template/GtkAppChooserWidget/Basic", test_app_chooser_widget_basic);
|
||||
g_test_add_func ("/Template/GtkAppChooserDialog/Basic", test_app_chooser_dialog_basic);
|
||||
g_test_add_func ("/Template/GtkColorChooserDialog/Basic", test_color_chooser_dialog_basic);
|
||||
g_test_add_func ("/Template/GtkFileChooserWidget/Basic", test_file_chooser_widget_basic);
|
||||
|
||||
return g_test_run();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user