forked from AuroraMiddleware/gtk
c789a39660
along with a new 'type-format' setting that allows to choose the output format for the "Type" column. The options implemented for this setting are: 'mime' : Output from g_content_type_get_mime_type(). 'description' : Output from g_content_type_get_description(). 'category' : It uses the corresponding generic icon of the mime type to group by categories (aka basic types). This produces a more compact output than previous options, and allows for type families to be grouped together, so eg. after sorting by "Type" column, jpeg and png images will be placed together, or the various types of archiver files will also be grouped together. This format was copied from and currently used by Nautilus list view, so we also improve consistency with Nautilus. Bugzilla entry for Nautilus implementation is: https://bugzilla.gnome.org/show_bug.cgi?id=683722 The list of type families or categories can be checked on: https://developer.gnome.org/icon-naming-spec/#mimetypes This 'category' format is set as default. Issue #362
507 lines
29 KiB
XML
507 lines
29 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<interface domain="gtk40">
|
|
<template class="GtkFileChooserWidget" parent="GtkWidget">
|
|
<child>
|
|
<object class="GtkBox" id="box">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkBox" id="browse_widgets_box">
|
|
<property name="orientation">vertical</property>
|
|
<property name="vexpand">1</property>
|
|
<child>
|
|
<object class="GtkPaned" id="browse_widgets_hpaned">
|
|
<property name="shrink-child2">0</property>
|
|
<property name="shrink-child1">0</property>
|
|
<property name="resize-child1">0</property>
|
|
<property name="vexpand">1</property>
|
|
<child>
|
|
<object class="GtkPlacesSidebar" id="places_sidebar">
|
|
<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>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkRevealer" id="browse_header_revealer">
|
|
<property name="hexpand">1</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>
|
|
<child>
|
|
<object class="GtkStack" id="browse_header_stack">
|
|
<property name="transition-type">crossfade</property>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">pathbar</property>
|
|
<property name="child">
|
|
<object class="GtkBox">
|
|
<property name="spacing">6</property>
|
|
<property name="margin">6</property>
|
|
<child>
|
|
<object class="GtkPathBar" id="browse_path_bar">
|
|
<property name="hexpand">1</property>
|
|
<signal name="path-clicked" handler="path_bar_clicked" after="yes" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkMenuButton" id="browse_new_folder_button">
|
|
<property name="tooltip-text" translatable="yes">Create Folder</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>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">location</property>
|
|
<property name="child">
|
|
<object class="GtkBox" id="location_entry_box">
|
|
<property name="spacing">6</property>
|
|
<property name="margin">6</property>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">search</property>
|
|
<property name="child">
|
|
<object class="GtkCenterBox" id="search_entry_box">
|
|
<property name="margin">6</property>
|
|
<child type="center">
|
|
<object class="GtkSearchEntry" id="search_entry">
|
|
<property name="width-chars">45</property>
|
|
<property name="hexpand">1</property>
|
|
<property name="halign">center</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 type="end">
|
|
<object class="GtkSpinner" id="search_spinner">
|
|
<property name="visible">0</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="list_and_preview_box">
|
|
<property name="spacing">12</property>
|
|
<property name="vexpand">1</property>
|
|
<child>
|
|
<object class="GtkStack" id="browse_files_stack">
|
|
<property name="transition-type">crossfade</property>
|
|
<property name="expand">1</property>
|
|
<style>
|
|
<class name="view"/>
|
|
</style>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">list</property>
|
|
<property name="child">
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkScrolledWindow" id="browse_files_swin">
|
|
<property name="hscrollbar-policy">never</property>
|
|
<property name="vexpand">1</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>
|
|
<child>
|
|
<object class="GtkGestureLongPress">
|
|
<property name="touch-only">1</property>
|
|
<signal name="pressed" handler="long_press_cb" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkGestureClick">
|
|
<property name="button">3</property>
|
|
<signal name="pressed" handler="click_cb" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEventControllerKey">
|
|
<signal name="key-pressed" handler="key_press_cb" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
<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="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"/>
|
|
<signal name="keynav-failed" handler="browse_files_tree_view_keynav_failed_cb" />
|
|
<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_type_column">
|
|
<property name="title" translatable="yes">Type</property>
|
|
<property name="resizable">1</property>
|
|
<child>
|
|
<object class="GtkCellRendererText" id="list_type_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>
|
|
</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>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">other_locations</property>
|
|
<property name="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>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkStackPage">
|
|
<property name="name">empty</property>
|
|
<property name="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>
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">0</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">No Results Found</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"></attribute>
|
|
<attribute name="scale" value="1.44"></attribute>
|
|
</attributes>
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">Try a different search</property>
|
|
<style>
|
|
<class name="dim-label"/>
|
|
</style>
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="preview_box">
|
|
<property name="visible">0</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">12</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</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 type="end">
|
|
<object class="GtkBox" id="filter_combo_hbox">
|
|
<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>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEventControllerKey">
|
|
<signal name="key-pressed" handler="widget_key_press_cb" swapped="no"/>
|
|
</object>
|
|
</child>
|
|
</template>
|
|
<object class="GtkSizeGroup" id="browse_path_bar_size_group">
|
|
<property name="mode">vertical</property>
|
|
<widgets>
|
|
<widget name="browse_path_bar"/>
|
|
<widget name="browse_new_folder_button"/>
|
|
</widgets>
|
|
</object>
|
|
<object class="GtkPopover" id="new_folder_popover">
|
|
<child>
|
|
<object class="GtkGrid">
|
|
<property name="margin">10</property>
|
|
<property name="column-spacing">6</property>
|
|
<property name="row-spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">Folder Name</property>
|
|
<property name="halign">start</property>
|
|
<property name="mnemonic-widget">new_folder_name_entry</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"></attribute>
|
|
</attributes>
|
|
<layout>
|
|
<property name="column-span">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="new_folder_name_entry">
|
|
<property name="width-chars">25</property>
|
|
<property name="activates-default">1</property>
|
|
<property name="hexpand">1</property>
|
|
<signal name="changed" handler="new_folder_name_changed"/>
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="new_folder_create_button">
|
|
<property name="sensitive">0</property>
|
|
<property name="label" translatable="yes">_Create</property>
|
|
<property name="use-underline">1</property>
|
|
<signal name="clicked" handler="new_folder_create_clicked"/>
|
|
<style>
|
|
<class name="suggested-action"/>
|
|
</style>
|
|
<layout>
|
|
<property name="left-attach">1</property>
|
|
<property name="top-attach">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFileChooserErrorStack" id="new_folder_error_stack">
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">2</property>
|
|
<property name="column-span">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<object class="GtkPopover" id="rename_file_popover">
|
|
<property name="position">bottom</property>
|
|
<signal name="closed" handler="rename_file_end"/>
|
|
<child>
|
|
<object class="GtkGrid">
|
|
<property name="margin">10</property>
|
|
<property name="row-spacing">6</property>
|
|
<property name="column-spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label" translatable="yes">Name</property>
|
|
<property name="halign">start</property>
|
|
<property name="mnemonic-widget">rename_file_name_entry</property>
|
|
<attributes>
|
|
<attribute name="weight" value="bold"></attribute>
|
|
</attributes>
|
|
<layout>
|
|
<property name="column-span">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="rename_file_name_entry">
|
|
<property name="activates-default">1</property>
|
|
<property name="hexpand">1</property>
|
|
<signal name="changed" handler="rename_file_name_changed"/>
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="rename_file_rename_button">
|
|
<property name="sensitive">0</property>
|
|
<property name="label" translatable="yes">_Rename</property>
|
|
<property name="use-underline">1</property>
|
|
<signal name="clicked" handler="rename_file_rename_clicked"/>
|
|
<style>
|
|
<class name="suggested-action"/>
|
|
</style>
|
|
<layout>
|
|
<property name="left-attach">1</property>
|
|
<property name="top-attach">1</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
<child>
|
|
<object class="GtkFileChooserErrorStack" id="rename_file_error_stack">
|
|
<layout>
|
|
<property name="left-attach">0</property>
|
|
<property name="top-attach">2</property>
|
|
<property name="column-span">2</property>
|
|
</layout>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
</interface>
|