summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2019-04-09 20:19:03 +0100
committerCarlos Soriano <csoriano1618+gnome@gmail.com>2019-06-28 08:26:56 +0000
commit232ce47577d9e96a7e22e876faab8dc195d40196 (patch)
treed277fa74b09bb893f7fe9aedc15d43f0db3e4fb3
parentd6ed4a0b8a6ebcb85b084ffb4ce4c331d4e26347 (diff)
downloadnautilus-232ce47577d9e96a7e22e876faab8dc195d40196.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;
}