[nautilus] search-engine: use nautilus_file_is_remote to check remote files



commit 2553625f6de0aa48b7a6e69482f868bed3a31490
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Thu Jun 7 02:41:24 2018 +0200

    search-engine: use nautilus_file_is_remote to check remote files

 src/nautilus-search-engine-simple.c  | 16 ++++++++++++----
 src/nautilus-search-engine-simple.h  |  4 +++-
 src/nautilus-search-engine-tracker.c | 19 +++++++++++++------
 3 files changed, 28 insertions(+), 11 deletions(-)
---
diff --git a/src/nautilus-search-engine-simple.c b/src/nautilus-search-engine-simple.c
index d7ff3aac5..fbe1bdc81 100644
--- a/src/nautilus-search-engine-simple.c
+++ b/src/nautilus-search-engine-simple.c
@@ -20,9 +20,11 @@
  */
 
 #include <config.h>
+#include "nautilus-file.h"
+#include "nautilus-search-engine-simple.h"
+
 #include "nautilus-search-hit.h"
 #include "nautilus-search-provider.h"
-#include "nautilus-search-engine-simple.h"
 #include "nautilus-ui-utilities.h"
 #define DEBUG_FLAG NAUTILUS_DEBUG_SEARCH
 #include "nautilus-debug.h"
@@ -324,9 +326,15 @@ visit_directory (GFile            *dir,
         if (recursive_flag != NAUTILUS_QUERY_RECURSIVE_NEVER &&
             g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY)
         {
-            recursive = recursive_flag == NAUTILUS_QUERY_RECURSIVE_ALWAYS ||
-                        (recursive_flag == NAUTILUS_QUERY_RECURSIVE_LOCAL_ONLY &&
-                         g_file_is_native (child));
+            if (recursive_flag == NAUTILUS_QUERY_RECURSIVE_ALWAYS)
+            {
+                recursive = TRUE;
+            }
+            else if (recursive_flag == NAUTILUS_QUERY_RECURSIVE_LOCAL_ONLY)
+            {
+                g_autoptr (NautilusFile) file = nautilus_file_get (child);
+                recursive = !nautilus_file_is_remote (file);
+            }
         }
 
         if (recursive)
diff --git a/src/nautilus-search-engine-simple.h b/src/nautilus-search-engine-simple.h
index 9a215713b..ff3c4010e 100644
--- a/src/nautilus-search-engine-simple.h
+++ b/src/nautilus-search-engine-simple.h
@@ -19,6 +19,8 @@
  *
  */
 
+#include <glib-object.h>
+
 #pragma once
 
 G_BEGIN_DECLS
@@ -29,4 +31,4 @@ G_DECLARE_FINAL_TYPE (NautilusSearchEngineSimple, nautilus_search_engine_simple,
 
 NautilusSearchEngineSimple* nautilus_search_engine_simple_new (void);
 
-G_END_DECLS
\ No newline at end of file
+G_END_DECLS
diff --git a/src/nautilus-search-engine-tracker.c b/src/nautilus-search-engine-tracker.c
index a8b2291d3..2eab75b55 100644
--- a/src/nautilus-search-engine-tracker.c
+++ b/src/nautilus-search-engine-tracker.c
@@ -22,6 +22,7 @@
 #include <config.h>
 #include "nautilus-search-engine-tracker.h"
 
+#include "nautilus-file.h"
 #include "nautilus-search-hit.h"
 #include "nautilus-search-provider.h"
 #define DEBUG_FLAG NAUTILUS_DEBUG_SEARCH
@@ -463,21 +464,27 @@ static void
 nautilus_search_engine_tracker_set_query (NautilusSearchProvider *provider,
                                           NautilusQuery          *query)
 {
-    g_autoptr (GFile) location = NULL;
     NautilusSearchEngineTracker *tracker;
     NautilusQueryRecursive recursive;
 
     tracker = NAUTILUS_SEARCH_ENGINE_TRACKER (provider);
     recursive = nautilus_query_get_recursive (query);
-    location = nautilus_query_get_location (query);
 
     g_clear_object (&tracker->query);
 
     tracker->query = g_object_ref (query);
-    tracker->recursive = recursive == NAUTILUS_QUERY_RECURSIVE_ALWAYS ||
-                         recursive == NAUTILUS_QUERY_RECURSIVE_INDEXED_ONLY ||
-                         (recursive == NAUTILUS_QUERY_RECURSIVE_LOCAL_ONLY &&
-                          g_file_is_native (location));
+
+    if (recursive == NAUTILUS_QUERY_RECURSIVE_LOCAL_ONLY)
+    {
+        g_autoptr (GFile) location = nautilus_query_get_location (query);
+        g_autoptr (NautilusFile) location_file = nautilus_file_get (location);
+        tracker->recursive = !nautilus_file_is_remote (location_file);
+    }
+    else
+    {
+      tracker->recursive = recursive == NAUTILUS_QUERY_RECURSIVE_ALWAYS ||
+                           recursive == NAUTILUS_QUERY_RECURSIVE_INDEXED_ONLY;
+    }
 }
 
 static gboolean


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