summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-10-13 17:20:00 -0400
committerCosimo Cecchi <cosimoc@gnome.org>2012-10-15 09:50:11 -0400
commit9703e67f576735d0ad6bdf3c7ca04e5c6efcc17d (patch)
tree47b4ad929581ad4ed0971792e1ab8ef25694ab39
parent27d3f2ba5543f18fb2accf9c7ef3bd9bf55795a5 (diff)
downloadnautilus-9703e67f576735d0ad6bdf3c7ca04e5c6efcc17d.tar.gz
search-directory: set show hidden files on query according to monitors
This ensures the simple engine won't crawl in hidden directories, unless necessary.
-rw-r--r--libnautilus-private/nautilus-query.c5
-rw-r--r--libnautilus-private/nautilus-search-directory.c20
2 files changed, 23 insertions, 2 deletions
diff --git a/libnautilus-private/nautilus-query.c b/libnautilus-private/nautilus-query.c
index 6f457d824..2b78213c7 100644
--- a/libnautilus-private/nautilus-query.c
+++ b/libnautilus-private/nautilus-query.c
@@ -24,10 +24,11 @@
#include <config.h>
#include <string.h>
-#include "nautilus-query.h"
#include <eel/eel-glib-extensions.h>
#include <glib/gi18n.h>
-#include <libnautilus-private/nautilus-file-utilities.h>
+
+#include "nautilus-file-utilities.h"
+#include "nautilus-query.h"
struct NautilusQueryDetails {
char *text;
diff --git a/libnautilus-private/nautilus-search-directory.c b/libnautilus-private/nautilus-search-directory.c
index 47e987c66..984c78f74 100644
--- a/libnautilus-private/nautilus-search-directory.c
+++ b/libnautilus-private/nautilus-search-directory.c
@@ -122,6 +122,25 @@ reset_file_list (NautilusSearchDirectory *search)
}
static void
+set_hidden_files (NautilusSearchDirectory *search)
+{
+ GList *l;
+ SearchMonitor *monitor;
+ gboolean monitor_hidden = FALSE;
+
+ for (l = search->details->monitor_list; l != NULL; l = l->next) {
+ monitor = l->data;
+ monitor_hidden |= monitor->monitor_hidden_files;
+
+ if (monitor_hidden) {
+ break;
+ }
+ }
+
+ nautilus_query_set_show_hidden_files (search->details->query, monitor_hidden);
+}
+
+static void
start_search (NautilusSearchDirectory *search)
{
NautilusSearchEngineModel *model_provider;
@@ -142,6 +161,7 @@ start_search (NautilusSearchDirectory *search)
search->details->search_running = TRUE;
search->details->search_finished = FALSE;
+ set_hidden_files (search);
nautilus_search_provider_set_query (NAUTILUS_SEARCH_PROVIDER (search->details->engine),
search->details->query);