[gtk+] file chooser: Note when searching remote locations



commit 49a596aa521c3a936cca02046843786eadabb1eb
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Jul 24 16:26:32 2015 -0400

    file chooser: Note when searching remote locations
    
    Inform the user that we won't search recursively when searching
    in remote locations.

 gtk/gtkfilechooserwidget.c     |    6 ++
 gtk/ui/gtkfilechooserwidget.ui |  159 ++++++++++++++++++++++------------------
 2 files changed, 95 insertions(+), 70 deletions(-)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 689eaaa..75470a8 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -216,6 +216,7 @@ struct _GtkFileChooserWidgetPrivate {
   GtkWidget *browse_files_stack;
   GtkWidget *browse_files_swin;
   GtkWidget *browse_files_tree_view;
+  GtkWidget *remote_warning_bar;
 
   GtkWidget *browse_files_popover;
   GtkWidget *add_shortcut_item;
@@ -3024,6 +3025,7 @@ operation_mode_stop (GtkFileChooserWidget *impl,
       g_clear_object (&impl->priv->model_for_search);
       search_stop_searching (impl, TRUE);
       search_clear_model (impl, TRUE);
+      gtk_widget_hide (impl->priv->remote_warning_bar);
     }
 }
 
@@ -7223,6 +7225,9 @@ search_start_query (GtkFileChooserWidget *impl,
                     G_CALLBACK (search_engine_error_cb), impl);
 
   _gtk_search_engine_start (priv->search_engine);
+
+  if (_gtk_file_consider_as_remote (gtk_query_get_location (priv->search_query)))
+    gtk_widget_show (priv->remote_warning_bar);
 }
 
 /* Callback used when the user presses Enter while typing on the search
@@ -8352,6 +8357,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
   gtk_widget_class_bind_template_child_private (widget_class, GtkFileChooserWidget, 
rename_file_rename_button);
   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);
 
   /* And a *lot* of callbacks to bind ... */
   gtk_widget_class_bind_template_callback (widget_class, browse_files_key_press_event_cb);
diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui
index e86c374..c7994e8 100644
--- a/gtk/ui/gtkfilechooserwidget.ui
+++ b/gtk/ui/gtkfilechooserwidget.ui
@@ -152,98 +152,117 @@
                           <class name="view"/>
                         </style>
                         <child>
-                          <object class="GtkScrolledWindow" id="browse_files_swin">
+                          <object class="GtkBox">
                             <property name="visible">True</property>
-                            <property name="hscrollbar_policy">never</property>
+                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkTreeView" id="browse_files_tree_view">
+                              <object class="GtkScrolledWindow" id="browse_files_swin">
                                 <property name="visible">True</property>
-                                <property name="has_tooltip">True</property>
-                                <property name="enable-search">False</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>
+                                <property name="hscrollbar_policy">never</property>
                                 <child>
-                                  <object class="GtkTreeViewColumn" id="list_name_column">
-                                    <property name="title" translatable="yes">Name</property>
-                                    <property name="resizable">True</property>
-                                    <property name="expand">True</property>
-                                    <child>
-                                      <object class="GtkCellRendererPixbuf" id="list_pixbuf_renderer">
-                                        <property name="xpad">6</property>
+                                  <object class="GtkTreeView" id="browse_files_tree_view">
+                                    <property name="visible">True</property>
+                                    <property name="has_tooltip">True</property>
+                                    <property name="enable-search">False</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="GtkCellRendererText" id="list_name_renderer">
-                                        <property name="width-chars">10</property>
-                                        <property name="ellipsize">end</property>
+                                    <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>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkTreeViewColumn" id="list_location_column">
-                                    <property name="title" translatable="yes">Location</property>
-                                    <property name="resizable">True</property>
-                                    <property name="visible">False</property>
-                                    <property name="expand">True</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 class="GtkTreeViewColumn" id="list_name_column">
+                                        <property name="title" translatable="yes">Name</property>
+                                        <property name="resizable">True</property>
+                                        <property name="expand">True</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>
-                                  </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 class="GtkTreeViewColumn" id="list_location_column">
+                                        <property name="title" translatable="yes">Location</property>
+                                        <property name="resizable">True</property>
+                                        <property name="visible">False</property>
+                                        <property name="expand">True</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>
-                                  </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 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="GtkCellRendererText" id="list_time_renderer">
-                                        <property name="xpad">6</property>
+                                      <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">True</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkActionBar" id="remote_warning_bar">
+                                <child type="center">
+                                  <object class="GtkLabel">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">Remote location — only 
searching the current folder</property>
+                                  </object>
+                                </child>
+                              </object>
                             </child>
                           </object>
                           <packing>
@@ -253,7 +272,7 @@
                         <child>
                           <object class="GtkPlacesView" id="places_view">
                             <property name="visible">True</property>
-                            <property name="local_only" bind-source="GtkFileChooserWidget" 
bind-property="local-only" bind-flags="default|sync-create" />
+                            <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>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]