diff options
author | António Fernandes <antoniof@gnome.org> | 2019-04-09 20:19:03 +0100 |
---|---|---|
committer | Ernestas Kulik <ekulik@redhat.com> | 2019-08-06 16:15:17 +0200 |
commit | aa72f4cc8e85e9b229e656016710d379f3f7fa7d (patch) | |
tree | 6fb43a15db0e62d76c70a6edcd566f19422acc74 | |
parent | a874d352d95062deecb630c9696e825480aa9416 (diff) | |
download | nautilus-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.c | 21 |
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; } |