[nautilus/wip/csoriano/search-popover: 29/29] preferences: add remote and local recursive search



commit c5cccbcd202fd4888006f5eb4b9fb70730c001b0
Author: Carlos Soriano <csoriano gnome org>
Date:   Tue Feb 2 22:06:48 2016 +0100

    preferences: add remote and local recursive search
    
    Instead of using a switch in the search popover.
    
    The search popover is meant to be as a temporary filter. That means
    that the "Search subfolders" switch that was present there was reset
    every time a new search was performed.
    
    Even if the nature of the popover is temporary and therefore should be
    understandable that the switch is also temporary, this can bring
    confusion in such a sensible matter.
    
    To avoid confusion, add two preferences, one for remote file systems
    and one for local file systems to allow the choice to make a recursive
    or non recursive search, and remove the switch to avoid frustration.
    
    Also, I expect this choice to be more a permanent one than a temporary
    one, as in, I expect users to what they really want is to make a
    permanent choice whether they want recursive search or not.
    
    For local file systems, on what I can gather, either wants to emulate
    the type-ahead search, because it's file system is slow to perform
    a recursive search and will always be, therefore a permanent choice,
    or the opposite where the file system of the user is fast enough to
    perform a recursive search, which will most of the cases be like that,
    and therefore also a permanent choice.
    
    For remote file systems is similar. Either the internet connection of
    the user is fast enough for the whole session or use, therefore wants
    recursive search always enabled, or it's not, and therefore it doesn't
    want recursive search enabled.

 libnautilus-private/nautilus-global-preferences.h  |    4 +
 libnautilus-private/org.gnome.nautilus.gschema.xml |  314 ++++++++++++
 src/nautilus-preferences-dialog.c                  |   10 +
 src/nautilus-query-editor.c                        |   57 ++-
 src/nautilus-search-popover.c                      |   59 ---
 src/resources/ui/nautilus-preferences-dialog.ui    |  513 ++++++++++++--------
 src/resources/ui/nautilus-search-popover.ui        |   32 --
 7 files changed, 670 insertions(+), 319 deletions(-)
---
diff --git a/libnautilus-private/nautilus-global-preferences.h 
b/libnautilus-private/nautilus-global-preferences.h
index 15bf679..727ff32 100644
--- a/libnautilus-private/nautilus-global-preferences.h
+++ b/libnautilus-private/nautilus-global-preferences.h
@@ -162,6 +162,10 @@ typedef enum
 /* Switch to list view while searching */
 #define NAUTILUS_PREFERENCES_LIST_VIEW_ON_SEARCH "list-view-on-search"
 
+/* Search behaviour */
+#define NAUTILUS_PREFERENCES_LOCAL_RECURSIVE_SEARCH "local-recursive-search"
+#define NAUTILUS_PREFERENCES_REMOTE_RECURSIVE_SEARCH "remote-recursive-search"
+
 /* Context menu options */
 #define NAUTILUS_PREFERENCES_SHOW_DELETE_PERMANENTLY "show-delete-permanently"
 #define NAUTILUS_PREFERENCES_SHOW_CREATE_LINK "show-create-link"
diff --git a/libnautilus-private/org.gnome.nautilus.gschema.xml 
b/libnautilus-private/org.gnome.nautilus.gschema.xml
new file mode 100644
index 0000000..e4206e8
--- /dev/null
+++ b/libnautilus-private/org.gnome.nautilus.gschema.xml
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schemalist>
+  <enum id="org.gnome.nautilus.SpeedTradeoff">
+    <value value="0" nick="always"/>
+    <value value="1" nick="local-only"/>
+    <value value="2" nick="never"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.ClickPolicy">
+    <value value="0" nick="single"/>
+    <value value="1" nick="double"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.ActivationChoice">
+    <value value="0" nick="launch"/>
+    <value value="1" nick="display"/>
+    <value value="2" nick="ask"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.FolderView">
+    <value value="0" nick="icon-view"/>
+    <value value="1" nick="list-view"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.SortOrder">
+    <value value="0" nick="manually"/>
+    <value value="1" nick="name"/>
+    <value value="2" nick="size"/>
+    <value value="3" nick="type"/>
+    <value value="4" nick="mtime"/>
+    <value value="5" nick="atime"/>
+    <value value="6" nick="trash-time"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.CanvasZoomLevel">
+    <value value="0" nick="small"/>
+    <value value="1" nick="standard"/>
+    <value value="2" nick="large"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.ListZoomLevel">
+    <value value="0" nick="small"/>
+    <value value="1" nick="standard"/>
+    <value value="2" nick="large"/>
+  </enum>
+
+  <enum id="org.gnome.nautilus.TabPosition">
+    <value value="0" nick="after-current-tab"/>
+    <value value="1" nick="end"/>
+  </enum>
+
+  <schema path="/org/gnome/nautilus/" id="org.gnome.nautilus" gettext-domain="nautilus">
+    <child schema="org.gnome.nautilus.preferences" name="preferences"/>
+    <child schema="org.gnome.nautilus.icon-view" name="icon-view"/>
+    <child schema="org.gnome.nautilus.list-view" name="list-view"/>
+    <child schema="org.gnome.nautilus.desktop" name="desktop"/>
+    <child schema="org.gnome.nautilus.window-state" name="window-state"/>
+  </schema>
+
+  <schema path="/org/gnome/nautilus/preferences/" id="org.gnome.nautilus.preferences" 
gettext-domain="nautilus">
+    <key name="tabs-open-position" enum="org.gnome.nautilus.TabPosition">
+      <aliases>
+       <alias value='after_current_tab' target='after-current-tab'/>
+      </aliases>
+      <default>'after-current-tab'</default>
+      <summary>Where to position newly open tabs in browser windows.</summary>
+      <description>If set to "after-current-tab", then new tabs are inserted after the current tab. If set 
to "end", then new tabs are appended to the end of the tab list.</description>
+    </key>
+    <key type="b" name="always-use-location-entry">
+      <default>false</default>
+      <summary>Always use the location entry, instead of the pathbar</summary>
+      <description>If set to true, then Nautilus browser windows will always use a textual input entry for 
the location toolbar, instead of the pathbar.</description>
+    </key>
+    <key type="b" name="enable-recursive-search">
+      <default>true</default>
+      <summary>Whether to enable recursive search or not</summary>
+      <description>Enables or disables recursive search in Nautilus.</description>
+    </key>
+    <key type="b" name="confirm-trash">
+      <default>true</default>
+      <summary>Whether to ask for confirmation when deleting files, or emptying Trash</summary>
+      <description>If set to true, then Nautilus will ask for confirmation when you attempt to delete files, 
or empty the Trash.</description>
+    </key>
+    <key name="show-directory-item-counts" enum="org.gnome.nautilus.SpeedTradeoff">
+      <aliases><alias value='local_only' target='local-only'/></aliases>
+      <default>'local-only'</default>
+      <summary>When to show number of items in a folder</summary>
+      <description>Speed tradeoff for when to show the number of items in a folder. If set to "always" then 
always show item counts, even if the folder is on a remote server. If set to "local-only" then only show 
counts for local file systems. If set to "never" then never bother to compute item counts.</description>
+    </key>
+    <key name="click-policy" enum="org.gnome.nautilus.ClickPolicy">
+      <default>'double'</default>
+      <summary>Type of click used to launch/open files</summary>
+      <description>Possible values are "single" to launch files on a single click, or "double" to launch 
them on a double click.</description>
+    </key>
+    <key name="executable-text-activation" enum="org.gnome.nautilus.ActivationChoice">
+      <default>'display'</default>
+      <summary>What to do with executable text files when activated</summary>
+      <description>What to do with executable text files when they are activated (single or double clicked). 
Possible values are "launch" to launch them as programs, "ask" to ask what to do via a dialog, and "display" 
to display them as text files.</description>
+    </key>
+    <key type="b" name="install-mime-activation">
+      <default>true</default>
+      <summary>Show the package installer for unknown mime types</summary>
+      <description>Whether to show the user a package installer dialog in case an unknown mime type is 
opened, in order to search for an application to handle it.</description>
+    </key>
+    <key type="b" name="show-move-to-trash-shortcut-changed-dialog">
+      <default>true</default>
+      <summary>Show a warning dialog for the change of the shortcut for move to trash</summary>
+      <description>Show a warning dialog for the change of the shortcut for move to trash from control + 
delete to just delete.</description>
+    </key>
+    <key type="b" name="mouse-use-extra-buttons">
+      <default>true</default>
+      <summary>Use extra mouse button events in Nautilus' browser window</summary>
+      <description>For users with mice that have "Forward" and "Back" buttons, this key will determine if 
any action is taken inside of Nautilus when either is pressed.</description>
+    </key>
+    <key type="i" name="mouse-forward-button">
+      <default>9</default>
+      <summary>Mouse button to activate the "Forward" command in browser window</summary>
+      <description>For users with mice that have buttons for "Forward" and "Back", this key will set which 
button activates the "Forward" command in a browser window. Possible values range between 6 and 
14.</description>
+    </key>
+    <key type="i" name="mouse-back-button">
+      <default>8</default>
+      <summary>Mouse button to activate the "Back" command in browser window</summary>
+      <description>For users with mice that have buttons for "Forward" and "Back", this key will set which 
button activates the "Back" command in a browser window. Possible values range between 6 and 14.</description>
+    </key>
+    <key name="show-image-thumbnails" enum="org.gnome.nautilus.SpeedTradeoff">
+      <aliases><alias value='local_only' target='local-only'/></aliases>
+      <default>'local-only'</default>
+      <summary>When to show thumbnails of files</summary>
+      <description>Speed tradeoff for when to show a file as a thumbnail. If set to "always" then always 
thumbnail, even if the folder is on a remote server. If set to "local-only" then only show thumbnails for 
local file systems. If set to "never" then never bother to thumbnail files, just use a generic icon. Despite 
what the name may suggest, this applies to any previewable file type.</description>
+    </key>
+    <key type="t" name="thumbnail-limit">
+      <default>10485760</default>
+      <summary>Maximum image size for thumbnailing</summary>
+      <description>Images over this size (in bytes) won't be thumbnailed. The purpose of this setting is to 
avoid thumbnailing large images that may take a long time to load or use lots of memory.</description>
+    </key>
+    <key type="b" name="sort-directories-first">
+      <default>false</default>
+      <summary>Show folders first in windows</summary>
+      <description>If set to true, then Nautilus shows folders prior to showing files in the icon and list 
views.</description>
+    </key>
+    <key name="default-sort-order" enum="org.gnome.nautilus.SortOrder">
+      <aliases>
+       <alias value='modification_date' target='mtime'/>
+      </aliases>
+      <default>'name'</default>
+      <summary>Default sort order</summary>
+      <description>The default sort-order for items in the icon view. Possible values are "name", "size", 
"type" and "mtime".</description>
+    </key>
+    <key type="b" name="default-sort-in-reverse-order">
+      <default>false</default>
+      <summary>Reverse sort order in new windows</summary>
+      <description>If true, files in new windows will be sorted in reverse order. ie, if sorted by name, 
then instead of sorting the files from "a" to "z", they will be sorted from "z" to "a"; if sorted by size, 
instead of being incrementally they will be sorted decrementally.</description>
+    </key>
+    <key name="default-folder-viewer" enum="org.gnome.nautilus.FolderView">
+      <aliases>
+        <alias value='icon_view' target='icon-view'/>
+        <alias value='compact_view' target='icon-view'/>
+        <alias value='compact-view' target='icon-view'/>
+        <alias value='list_view' target='list-view'/>
+      </aliases>
+      <default>'icon-view'</default>
+      <summary>Default folder viewer</summary>
+      <description>When a folder is visited this viewer is used unless you have selected another view for 
that particular folder. Possible values are "list-view", and "icon-view".</description>
+    </key>
+    <key type="b" name="show-hidden-files">
+      <default>false</default>
+      <summary>Whether to show hidden files</summary>
+      <description>This key is deprecated and ignored. The "show-hidden" key from 
"org.gtk.Settings.FileChooser" is now used instead.</description>
+    </key>
+    <key type="b" name="list-view-on-search">
+      <default>true</default>
+      <summary>Whether to switch to the list view on search</summary>
+      <description>If this is set to true, view mode will be switched to the list view while searching. 
However, if the user changes the mode manually, this will be disabled.</description>
+    </key>
+    <key type="ay" name="bulk-rename-tool">
+      <default>[]</default>
+      <summary>Bulk rename utility</summary>
+      <description>If set, Nautilus will append URIs of selected files and treat the result as a command 
line for bulk renaming. Bulk rename applications can register themselves in this key by setting the key to a 
space-separated string of their executable name and any command line options. If the executable name is not 
set to a full path, it will be searched for in the search path.</description>
+    </key>
+    <key type="b" name="open-folder-on-dnd-hover">
+      <default>true</default>
+      <summary>Whether to open the hovered folder after a timeout when drag and drop operation</summary>
+      <description>If this is set to true, when performing a drag and drop operation the hovered folder will 
open automatically after a timeout</description>
+    </key>
+  </schema>
+
+  <schema path="/org/gnome/nautilus/icon-view/" id="org.gnome.nautilus.icon-view" gettext-domain="nautilus">
+    <key type="as" name="captions">
+      <default>[ 'none', 'none', 'none' ]</default>
+      <summary>List of possible captions on icons</summary>
+      <description>A list of captions below an icon in the icon view and the desktop. The actual number of 
captions shown depends on the zoom level. Some possible values are: "size", "type", "date_modified", "owner", 
"group", "permissions", and "mime_type".</description>
+    </key>
+    <key name="default-zoom-level" enum="org.gnome.nautilus.CanvasZoomLevel">
+      <default>'standard'</default>
+      <summary>Default icon zoom level</summary>
+      <description>Default zoom level used by the icon view.</description>
+    </key>
+    <key type="i" name="thumbnail-size">
+      <default>64</default>
+      <summary>Default Thumbnail Icon Size</summary>
+      <description>The default size of an icon for a thumbnail in the icon view when using 
NAUTILUS_ICON_SIZE_SMALL size.</description>
+    </key>
+    <key type="as" name="text-ellipsis-limit">
+      <default>[ '3' ]</default>
+      <summary>Text Ellipsis Limit</summary>
+      <description>A string specifying how parts of overlong file names should be replaced by ellipses, 
depending on the zoom level. Each of the list entries is of the form "Zoom Level:Integer". For each specified 
zoom level, if the given integer is larger than 0, the file name will not exceed the given number of lines. 
If the integer is 0 or smaller, no limit is imposed on the specified zoom level. A default entry of the form 
"Integer" without any specified zoom level is also allowed. It defines the maximum number of lines for all 
other zoom levels. Examples: 0 - always display overlong file names; 3 - shorten file names if they exceed 
three lines; smallest:5,smaller:4,0 - shorten file names if they exceed five lines for zoom level "smallest". 
Shorten file names if they exceed four lines for zoom level "smaller". Do not shorten file names for other 
zoom levels. Available zoom levels: small, standard, large</description>
+    </key>
+  </schema>
+
+  <schema path="/org/gnome/nautilus/list-view/" id="org.gnome.nautilus.list-view" gettext-domain="nautilus">
+    <key name="default-zoom-level" enum="org.gnome.nautilus.ListZoomLevel">
+      <default>'standard'</default>
+      <summary>Default list zoom level</summary>
+      <description>Default zoom level used by the list view.</description>
+    </key>
+    <key type="as" name="default-visible-columns">
+      <default>[ 'name', 'size', 'date_modified' ]</default>
+      <summary>Default list of columns visible in the list view</summary>
+      <description>Default list of columns visible in the list view.</description>
+    </key>
+    <key type="as" name="default-column-order">
+      <default>[ 'name', 'size', 'type', 'owner', 'group', 'permissions', 'mime_type', 'where', 
'date_modified', 'date_modified_with_time', 'date_accessed' ]</default>
+      <summary>Default column order in the list view</summary>
+      <description>Default column order in the list view.</description>
+    </key>
+    <key type="b" name="use-tree-view">
+      <default>false</default>
+      <summary>Use tree view</summary>
+      <description>Whether a tree should be used for list view navigation instead of a flat 
list</description>
+    </key>
+  </schema>
+
+  <schema path="/org/gnome/nautilus/desktop/" id="org.gnome.nautilus.desktop" gettext-domain="nautilus">
+    <key type="s" name="font">
+      <default l10n="messages" context="desktop-font">''</default>
+      <summary>Desktop font</summary>
+      <description>The font description used for the icons on the desktop.</description>
+    </key>
+    <key type="b" name="home-icon-visible">
+      <default>true</default>
+      <summary>Home icon visible on desktop</summary>
+      <description>If this is set to true, an icon linking to the home folder will be put on the 
desktop.</description>
+    </key>
+    <key type="b" name="trash-icon-visible">
+      <default>true</default>
+      <summary>Trash icon visible on desktop</summary>
+      <description>If this is set to true, an icon linking to the trash will be put on the 
desktop.</description>
+    </key>
+    <key type="b" name="volumes-visible">
+      <default>true</default>
+      <summary>Show mounted volumes on the desktop</summary>
+      <description>If this is set to true, icons linking to mounted volumes will be put on the 
desktop.</description>
+    </key>
+    <key type="b" name="network-icon-visible">
+      <default>false</default>
+      <summary>Network Servers icon visible on the desktop</summary>
+      <description>If this is set to true, an icon linking to the Network Servers view will be put on the 
desktop.</description>
+    </key>
+    <key type="s" name="home-icon-name">
+      <default l10n="messages" context="home-icon-name">'Home'</default>
+      <summary>Desktop home icon name</summary>
+      <description>This name can be set if you want a custom name for the home icon on the 
desktop.</description>
+    </key>
+    <key type="s" name="trash-icon-name">
+      <default l10n="messages" context="trash-icon-name">'Trash'</default>
+      <summary>Desktop trash icon name</summary>
+      <description>This name can be set if you want a custom name for the trash icon on the 
desktop.</description>
+    </key>
+    <key type="s" name="network-icon-name">
+      <default l10n="messages" context="network-icon-name">'Network Servers'</default>
+      <summary>Network servers icon name</summary>
+      <description>This name can be set if you want a custom name for the network servers icon on the 
desktop.</description>
+    </key>
+    <key type="i" name="text-ellipsis-limit">
+      <default>3</default>
+      <summary>Text Ellipsis Limit</summary>
+      <description>An integer specifying how parts of overlong file names should be replaced by ellipses on 
the desktop. If the number is larger than 0, the file name will not exceed the given number of lines. If the 
number is 0 or smaller, no limit is imposed on the number of displayed lines.</description>
+    </key>
+    <key type="b" name="background-fade">
+      <default>true</default>
+      <summary>Fade the background on change</summary>
+      <description>If set to true, then Nautilus will use a fade effect to change the desktop 
background.</description>
+    </key>
+  </schema>
+
+  <schema path="/org/gnome/nautilus/window-state/" id="org.gnome.nautilus.window-state" 
gettext-domain="nautilus">
+    <key type="s" name="geometry">
+      <default>''</default>
+        
+      <summary>The geometry string for a navigation window.</summary>
+      <description>A string containing the saved geometry and coordinates string for navigation 
windows.</description>
+    </key>
+    <key type="b" name="maximized">
+      <default>false</default>
+      <summary>Whether the navigation window should be maximized.</summary>
+      <description>Whether the navigation window should be maximized by default.</description>
+    </key>
+    <key type="i" name="sidebar-width">
+      <default>188</default>
+      <summary>Width of the side pane</summary>
+      <description>The default width of the side pane in new windows.</description>
+    </key>
+    <key type="b" name="start-with-location-bar">
+      <default>true</default>
+      <summary>Show location bar in new windows</summary>
+      <description>If set to true, newly opened windows will have the location bar visible.</description>
+    </key>
+    <key type="b" name="start-with-sidebar">
+      <default>true</default>
+      <summary>Show side pane in new windows</summary>
+      <description>If set to true, newly opened windows will have the side pane visible.</description>
+    </key>
+  </schema>
+</schemalist>
\ No newline at end of file
diff --git a/src/nautilus-preferences-dialog.c b/src/nautilus-preferences-dialog.c
index 2cb3626..614507a 100644
--- a/src/nautilus-preferences-dialog.c
+++ b/src/nautilus-preferences-dialog.c
@@ -59,6 +59,10 @@
   "use_tree_view_checkbutton"
 #define NAUTILUS_PREFERENCES_DIALOG_TRASH_CONFIRM_WIDGET                       \
   "trash_confirm_checkbutton"
+#define NAUTILUS_PREFERENCES_DIALOG_LOCAL_RECURSIVE_SEARCH_WIDGET              \
+  "local_recursive_search_checkbutton"
+#define NAUTILUS_PREFERENCES_DIALOG_REMOTE_RECURSIVE_SEARCH_WIDGET              \
+  "remote_recursive_search_checkbutton"
 
 /* int enums */
 #define NAUTILUS_PREFERENCES_DIALOG_THUMBNAIL_LIMIT_WIDGET                     \
@@ -493,6 +497,12 @@ static void nautilus_preferences_dialog_setup(GtkBuilder *builder,
   bind_builder_bool(builder, nautilus_preferences,
                     NAUTILUS_PREFERENCES_DIALOG_DELETE_PERMANENTLY_WIDGET,
                     NAUTILUS_PREFERENCES_SHOW_DELETE_PERMANENTLY);
+  bind_builder_bool(builder, nautilus_preferences,
+                    NAUTILUS_PREFERENCES_DIALOG_LOCAL_RECURSIVE_SEARCH_WIDGET,
+                    NAUTILUS_PREFERENCES_LOCAL_RECURSIVE_SEARCH);
+  bind_builder_bool(builder, nautilus_preferences,
+                    NAUTILUS_PREFERENCES_DIALOG_REMOTE_RECURSIVE_SEARCH_WIDGET,
+                    NAUTILUS_PREFERENCES_REMOTE_RECURSIVE_SEARCH);
 
   bind_builder_enum(builder, nautilus_preferences,
                     NAUTILUS_PREFERENCES_DIALOG_SORT_ORDER_WIDGET,
diff --git a/src/nautilus-query-editor.c b/src/nautilus-query-editor.c
index b57ba10..6063e98 100644
--- a/src/nautilus-query-editor.c
+++ b/src/nautilus-query-editor.c
@@ -70,33 +70,35 @@ G_DEFINE_TYPE_WITH_PRIVATE (NautilusQueryEditor, nautilus_query_editor, GTK_TYPE
 
 
 static void
-query_recursive_changed (GObject             *object,
-                         GParamSpec          *pspec,
-                         NautilusQueryEditor *editor)
+recursive_search_preferences_changed (GSettings           *settings,
+                                      gchar               *key,
+                                      NautilusQueryEditor *editor)
 {
         NautilusQueryEditorPrivate *priv;
-        gchar *key;
+        NautilusFile *file;
+        gchar *recursive_search_key;
+        gboolean recursive;
 
-        priv = nautilus_query_editor_get_instance_private (editor);
-        key = "local-recursive-search";
 
-        if (priv->location) {
-                NautilusFile *file;
+        priv = nautilus_query_editor_get_instance_private (editor);
 
-                file = nautilus_file_get (priv->location);
+        if (!priv->location || !priv->query)
+                return;
 
-                if (nautilus_file_is_remote (file)) {
-                        key = "remote-recursive-search";
-               }
+        file = nautilus_file_get (priv->location);
 
-                nautilus_file_unref (file);
+        if (nautilus_file_is_remote (file)) {
+                recursive_search_key = "remote-recursive-search";
+        } else {
+                recursive_search_key = "local-recursive-search";
         }
 
-        g_settings_set_boolean (nautilus_preferences,
-                                key,
-                                nautilus_query_get_recursive (NAUTILUS_QUERY (object)));
-
-       nautilus_query_editor_changed (editor);
+        nautilus_file_unref (file);
+        recursive = g_settings_get_boolean (nautilus_preferences, recursive_search_key);
+        if (recursive != nautilus_query_get_recursive (priv->query)) {
+                nautilus_query_set_recursive (priv->query, recursive);
+                nautilus_query_editor_changed (editor);
+        }
 }
 
 
@@ -110,6 +112,10 @@ nautilus_query_editor_dispose (GObject *object)
         g_clear_object (&priv->location);
         g_clear_object (&priv->query);
 
+        g_signal_handlers_disconnect_by_func (nautilus_preferences,
+                                              recursive_search_preferences_changed,
+                                              object);
+
        G_OBJECT_CLASS (nautilus_query_editor_parent_class)->dispose (object);
 }
 
@@ -287,12 +293,6 @@ create_query (NautilusQueryEditor *editor)
 
         nautilus_query_editor_set_query (editor, query);
 
-        g_signal_connect (query,
-                          "notify::recursive",
-                          G_CALLBACK (query_recursive_changed),
-                          editor);
-
-
         nautilus_file_unref (file);
 }
 
@@ -336,6 +336,15 @@ nautilus_query_editor_on_stop_search (GtkWidget           *entry,
 static void
 nautilus_query_editor_init (NautilusQueryEditor *editor)
 {
+        g_signal_connect (nautilus_preferences,
+                          "changed::remote-recursive-search",
+                          G_CALLBACK (recursive_search_preferences_changed),
+                          editor);
+
+        g_signal_connect (nautilus_preferences,
+                          "changed::local-recursive-search",
+                          G_CALLBACK (recursive_search_preferences_changed),
+                          editor);
 }
 
 static gboolean
diff --git a/src/nautilus-search-popover.c b/src/nautilus-search-popover.c
index a608a2f..081dd07 100644
--- a/src/nautilus-search-popover.c
+++ b/src/nautilus-search-popover.c
@@ -34,7 +34,6 @@ struct _NautilusSearchPopover
   GtkWidget          *dates_listbox;
   GtkWidget          *date_entry;
   GtkWidget          *date_stack;
-  GtkWidget          *recursive_switch;
   GtkWidget          *select_date_button;
   GtkWidget          *select_date_button_label;
   GtkWidget          *type_label;
@@ -44,7 +43,6 @@ struct _NautilusSearchPopover
   GtkWidget          *last_modified_button;
 
   NautilusQuery      *query;
-  GBinding           *recursive_binding;
 };
 
 const gchar*         get_text_for_day                            (gint                   days);
@@ -285,44 +283,6 @@ query_date_changed (GObject               *object,
 }
 
 static void
-update_recursive_switch (NautilusSearchPopover *popover,
-                         GFile                 *location)
-{
-  if (location)
-    {
-      NautilusFile *file;
-      gboolean active;
-
-      file = nautilus_file_get (location);
-
-      if (!nautilus_file_is_local (file))
-        {
-          active = g_settings_get_boolean (nautilus_preferences,
-                                           "remote-recursive-search");
-        }
-      else
-        {
-          active = g_settings_get_boolean (nautilus_preferences,
-                                           "local-recursive-search");
-        }
-
-      gtk_switch_set_active (GTK_SWITCH (popover->recursive_switch), active);
-    }
-
-}
-
-static void
-query_location_changed (GObject               *object,
-                        GParamSpec            *pspec,
-                        NautilusSearchPopover *popover)
-{
-  GFile *location;
-
-  location = nautilus_query_get_location (popover->query);
-  update_recursive_switch (popover, location);
-}
-
-static void
 clear_date_button_clicked (GtkButton             *button,
                            NautilusSearchPopover *popover)
 {
@@ -1033,7 +993,6 @@ nautilus_search_popover_class_init (NautilusSearchPopoverClass *klass)
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, dates_listbox);
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, date_entry);
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, date_stack);
-  gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, recursive_switch);
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, select_date_button);
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, select_date_button_label);
   gtk_widget_class_bind_template_child (widget_class, NautilusSearchPopover, type_label);
@@ -1136,8 +1095,6 @@ nautilus_search_popover_set_query (NautilusSearchPopover *popover,
       if (previous_query)
         {
           g_signal_handlers_disconnect_by_func (previous_query, query_date_changed, popover);
-          g_signal_handlers_disconnect_by_func (previous_query, query_location_changed, popover);
-          g_clear_pointer (&popover->recursive_binding, g_binding_unbind);
         }
 
       g_set_object (&popover->query, query);
@@ -1151,22 +1108,6 @@ nautilus_search_popover_set_query (NautilusSearchPopover *popover,
                             "notify::date",
                             G_CALLBACK (query_date_changed),
                             popover);
-
-          g_signal_connect (query,
-                            "notify::location",
-                            G_CALLBACK (query_location_changed),
-                            popover);
-
-          update_recursive_switch (popover, nautilus_query_get_location (query));
-          /* Recursive */
-          gtk_switch_set_active (GTK_SWITCH (popover->recursive_switch),
-                                 nautilus_query_get_recursive (query));
-
-          popover->recursive_binding = g_object_bind_property (query,
-                                                               "recursive",
-                                                               popover->recursive_switch,
-                                                               "active",
-                                                               G_BINDING_BIDIRECTIONAL);
         }
       else
         {
diff --git a/src/resources/ui/nautilus-preferences-dialog.ui b/src/resources/ui/nautilus-preferences-dialog.ui
index 3ca0748..3fa6e48 100644
--- a/src/resources/ui/nautilus-preferences-dialog.ui
+++ b/src/resources/ui/nautilus-preferences-dialog.ui
@@ -1,23 +1,184 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.19.0 -->
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkListStore" id="icon_view_zoom_levels">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Always</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Local Files Only</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Never</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="list_view_zoom_levels">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Small</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Standard</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Large</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Icon View</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">List View</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model10">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Always</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Local Files Only</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Never</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model2">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">By Name</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">By Size</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">By Type</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">By Modification Date</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">By Access Date</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">By Trashed Date</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model3">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Small</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Standard</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Large</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model7">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Always</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Local Files Only</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Never</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model8">
+    <columns>
+      <!-- column-name gchararray -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">100 KB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">500 KB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1 MB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">3 MB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">5 MB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">10 MB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">100 MB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1 GB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">2 GB</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">4 GB</col>
+      </row>
+    </data>
+  </object>
   <object class="GtkDialog" id="preferences_dialog">
     <property name="can_focus">False</property>
     <property name="border_width">0</property>
+    <property name="title" translatable="yes">Files Preferences</property>
     <property name="window_position">center</property>
     <property name="type_hint">dialog</property>
-    <property name="title" translatable="yes">Files Preferences</property>
-    <property name="use_header_bar">1</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
-        <property name="border_width">0</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="visible">False</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
           </object>
@@ -51,8 +212,8 @@
                       <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Default View</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -83,10 +244,10 @@
                                   <object class="GtkLabel" id="views_label_1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Arrange items:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">sort_order_combobox</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -120,13 +281,14 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkCheckButton" id="sort_folders_first_checkbutton">
-                                <property name="label" translatable="yes">Sort _folders before 
files</property>
+                              <object class="GtkCheckButton" id="show_delete_permanently_checkbutton">
+                                <property name="label" translatable="yes">Show context menu item to delete 
files permanently</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -136,13 +298,14 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkCheckButton" id="show_delete_permanently_checkbutton">
-                                <property name="label" translatable="yes">Show context menu item to delete 
files permanently</property>
+                              <object class="GtkCheckButton" id="show_create_link_checkbutton">
+                                <property name="label" translatable="yes">Show context menu item to create 
links from copied files</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -152,13 +315,14 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkCheckButton" id="show_create_link_checkbutton">
-                                <property name="label" translatable="yes">Show context menu item to create 
links from copied files</property>
+                              <object class="GtkCheckButton" id="sort_folders_first_checkbutton">
+                                <property name="label" translatable="yes">Sort _folders before 
files</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -215,8 +379,8 @@
                       <object class="GtkLabel" id="label10">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Behavior</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -240,11 +404,12 @@
                             <child>
                               <object class="GtkRadioButton" id="single_click_radiobutton">
                                 <property name="label" translatable="yes">_Single click to open 
items</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -256,11 +421,12 @@
                             <child>
                               <object class="GtkRadioButton" id="double_click_radiobutton">
                                 <property name="label" translatable="yes">_Double click to open 
items</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">single_click_radiobutton</property>
                               </object>
@@ -297,8 +463,8 @@
                       <object class="GtkLabel" id="label12">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Executable Text Files</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -323,11 +489,12 @@
                             <child>
                               <object class="GtkRadioButton" id="scripts_execute_radiobutton">
                                 <property name="label" translatable="yes">_Run executable text files when 
they are opened</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -339,11 +506,12 @@
                             <child>
                               <object class="GtkRadioButton" id="scripts_view_radiobutton">
                                 <property name="label" translatable="yes">_View executable text files when 
they are opened</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">scripts_execute_radiobutton</property>
                               </object>
@@ -356,11 +524,12 @@
                             <child>
                               <object class="GtkRadioButton" id="scripts_confirm_radiobutton">
                                 <property name="label" translatable="yes">_Ask each time</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                                 <property name="group">scripts_execute_radiobutton</property>
                               </object>
@@ -396,8 +565,8 @@
                       <object class="GtkLabel" id="label14">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Trash</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -422,11 +591,12 @@
                             <child>
                               <object class="GtkCheckButton" id="trash_confirm_checkbutton">
                                 <property name="label" translatable="yes">Ask before _emptying the Trash or 
deleting files</property>
+                                <property name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
-                                <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0.5</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -451,6 +621,109 @@
                     <property name="position">2</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkBox" id="vbox3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label5">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Search</property>
+                        <property name="xalign">0</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkBox" id="vbox4">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkCheckButton" id="local_recursive_search_checkbutton">
+                                <property name="label" translatable="yes">Search subfolders on local file 
systems</property>
+                                <property name="use_action_appearance">False</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkBox" id="vbox10">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="orientation">vertical</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkCheckButton" id="remote_recursive_search_checkbutton">
+                                <property name="label" translatable="yes">Search subfolders on remote file 
systems</property>
+                                <property name="use_action_appearance">False</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
               </object>
               <packing>
                 <property name="position">1</property>
@@ -485,8 +758,8 @@
                       <object class="GtkLabel" id="label28">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Icon Captions</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -512,11 +785,10 @@
                               <object class="GtkLabel" id="label29">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="wrap">True</property>
-                                <property name="max-width-chars">65</property>
                                 <property name="label" translatable="yes">Choose the order of information to 
appear beneath icon names. More information will appear when zooming in closer.</property>
                                 <property name="wrap">True</property>
+                                <property name="max_width_chars">65</property>
+                                <property name="xalign">0</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -543,7 +815,6 @@
                                   <object class="GtkComboBoxText" id="captions_0_combobox">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="entry_text_column">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -578,7 +849,6 @@
                                   <object class="GtkComboBoxText" id="captions_1_combobox">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="entry_text_column">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -612,7 +882,6 @@
                                   <object class="GtkComboBoxText" id="captions_2_combobox">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="entry_text_column">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -652,8 +921,8 @@
                       <object class="GtkLabel" id="label7">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">List View</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -733,11 +1002,10 @@
                           <object class="GtkLabel" id="label33">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="wrap">True</property>
-                            <property name="max-width-chars">65</property>
                             <property name="label" translatable="yes">Choose the order of information to 
appear in the list view.</property>
                             <property name="wrap">True</property>
+                            <property name="max_width_chars">65</property>
+                            <property name="xalign">0</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -796,8 +1064,8 @@
                       <object class="GtkLabel" id="label18">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Files</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -828,10 +1096,10 @@
                                   <object class="GtkLabel" id="preview_label_0">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Show _thumbnails:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">preview_image_combobox</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -873,10 +1141,10 @@
                                   <object class="GtkLabel" id="preview_label_1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Only for files smaller 
than:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">preview_image_size_combobox</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -935,8 +1203,8 @@
                       <object class="GtkLabel" id="label22">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes">Folders</property>
+                        <property name="xalign">0</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
@@ -967,10 +1235,10 @@
                                   <object class="GtkLabel" id="preview_label_2">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Count _number of 
items:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">preview_folder_combobox</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -1046,169 +1314,6 @@
       </object>
     </child>
   </object>
-  <object class="GtkListStore" id="model1">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Icon View</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">List View</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="model10">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Always</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Local Files Only</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Never</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="model2">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">By Name</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">By Size</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">By Type</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">By Modification Date</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">By Access Date</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">By Trashed Date</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="model3">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Small</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Standard</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Large</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="list_view_zoom_levels">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Small</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Standard</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Large</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="icon_view_zoom_levels">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Always</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Local Files Only</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Never</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="model7">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Always</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Local Files Only</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Never</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="model8">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">100 KB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">500 KB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1 MB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">3 MB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">5 MB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">10 MB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">100 MB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">1 GB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">2 GB</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">4 GB</col>
-      </row>
-    </data>
-  </object>
   <object class="GtkListStore" id="model9">
     <columns>
       <!-- column-name gchararray -->
diff --git a/src/resources/ui/nautilus-search-popover.ui b/src/resources/ui/nautilus-search-popover.ui
index a61a512..44a18b8 100644
--- a/src/resources/ui/nautilus-search-popover.ui
+++ b/src/resources/ui/nautilus-search-popover.ui
@@ -398,37 +398,6 @@
             <property name="width">2</property>
           </packing>
         </child>
-        <child>
-          <object class="GtkLabel" id="subfolders_dim_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Search Subfolders</property>
-            <property name="margin_top">10</property>
-            <property name="xalign">0</property>
-            <property name="yalign">0.5</property>
-            <style>
-              <class name="dim-label"/>
-            </style>
-          </object>
-          <packing>
-            <property name="left_attach">0</property>
-            <property name="top_attach">7</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkSwitch" id="recursive_switch">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hexpand">True</property>
-            <property name="margin_top">10</property>
-            <property name="tooltip_text" translatable="yes">When on, the search will be performed on 
subfolders of the current folder</property>
-            <property name="halign">end</property>
-          </object>
-          <packing>
-            <property name="left_attach">1</property>
-            <property name="top_attach">7</property>
-          </packing>
-        </child>
       </object>
     </child>
   </template>
@@ -450,7 +419,6 @@
       <widget name="when_dim_label"/>
       <widget name="around_dim_label"/>
       <widget name="what_dim_label"/>
-      <widget name="subfolders_dim_label"/>
     </widgets>
   </object>
 </interface>


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