summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2019-04-09 20:19:03 +0100
committerErnestas Kulik <ekulik@redhat.com>2019-08-06 16:15:17 +0200
commitaa72f4cc8e85e9b229e656016710d379f3f7fa7d (patch)
tree6fb43a15db0e62d76c70a6edcd566f19422acc74
parenta874d352d95062deecb630c9696e825480aa9416 (diff)
downloadnautilus-aa72f4cc8e85e9b229e656016710d379f3f7fa7d.tar.gz
tracker-utilities: Acknowledge non-recursive indexing
We are looking at "index-recursive-directories" alone for knowing which directories are indexed by tracker. But there is also a "index-single-directories" key, which by default includes the user's home directory. So, read and interpret this key accordingly.
-rw-r--r--src/nautilus-tracker-utilities.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/nautilus-tracker-utilities.c b/src/nautilus-tracker-utilities.c
index cd6fcfce8..cc76631fb 100644
--- a/src/nautilus-tracker-utilities.c
+++ b/src/nautilus-tracker-utilities.c
@@ -22,6 +22,7 @@
#include "nautilus-global-preferences.h"
#define TRACKER_KEY_RECURSIVE_DIRECTORIES "index-recursive-directories"
+#define TRACKER_KEY_SINGLE_DIRECTORIES "index-single-directories"
static const gchar *
path_from_tracker_dir (const gchar *value)
@@ -73,7 +74,7 @@ path_from_tracker_dir (const gchar *value)
}
static GList *
-get_tracker_locations (void)
+get_tracker_locations (const gchar *key)
{
g_auto (GStrv) locations = NULL;
GList *list = NULL;
@@ -81,7 +82,7 @@ get_tracker_locations (void)
GFile *location;
const gchar *path;
- locations = g_settings_get_strv (tracker_preferences, TRACKER_KEY_RECURSIVE_DIRECTORIES);
+ locations = g_settings_get_strv (tracker_preferences, key);
for (idx = 0; locations[idx] != NULL; idx++)
{
@@ -96,11 +97,12 @@ get_tracker_locations (void)
gboolean
nautilus_tracker_directory_is_tracked (GFile *directory)
{
- g_autolist (GFile) locations = NULL;
+ g_autolist (GFile) recursive_locations = NULL;
+ g_autolist (GFile) single_locations = NULL;
GList *l;
- locations = get_tracker_locations ();
- for (l = locations; l != NULL; l = l->next)
+ recursive_locations = get_tracker_locations (TRACKER_KEY_RECURSIVE_DIRECTORIES);
+ for (l = recursive_locations; l != NULL; l = l->next)
{
if (g_file_equal (directory, G_FILE (l->data)) ||
g_file_has_prefix (directory, G_FILE (l->data)))
@@ -109,5 +111,14 @@ nautilus_tracker_directory_is_tracked (GFile *directory)
}
}
+ single_locations = get_tracker_locations (TRACKER_KEY_SINGLE_DIRECTORIES);
+ for (l = single_locations; l != NULL; l = l->next)
+ {
+ if (g_file_equal (directory, G_FILE (l->data)))
+ {
+ return TRUE;
+ }
+ }
+
return FALSE;
}