diff options
author | Alexandru Pandelea <alexandru.pandelea@gmail.com> | 2017-06-28 17:47:41 +0100 |
---|---|---|
committer | Alexandru Pandelea <alexandru.pandelea@gmail.com> | 2017-08-25 10:13:13 +0100 |
commit | 8cbdfdfa41d896a0be6d2057b6e77fc5f384d1c0 (patch) | |
tree | 36581d14d58b3498a9ffddcd58905dd3945475fd /src/nautilus-search-engine-model.c | |
parent | 921cd365a92cf4c9a4edaeab00fa4966c09da93b (diff) | |
download | nautilus-wip/alexpandelea/favorites.tar.gz |
Add favorite fileswip/alexpandelea/favorites
Add option to make files Favorite, by either toggling a star in the
list view, or from the context menu.
https://bugzilla.gnome.org/show_bug.cgi?id=786039
Diffstat (limited to 'src/nautilus-search-engine-model.c')
-rw-r--r-- | src/nautilus-search-engine-model.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nautilus-search-engine-model.c b/src/nautilus-search-engine-model.c index b00f3f7c5..f6330daaf 100644 --- a/src/nautilus-search-engine-model.c +++ b/src/nautilus-search-engine-model.c @@ -27,6 +27,7 @@ #include "nautilus-directory-private.h" #include "nautilus-file.h" #include "nautilus-ui-utilities.h" +#include "nautilus-tag-manager.h" #define DEBUG_FLAG NAUTILUS_DEBUG_SEARCH #include "nautilus-debug.h" @@ -139,6 +140,7 @@ model_directory_ready_cb (NautilusDirectory *directory, GDateTime *initial_date; GDateTime *end_date; GPtrArray *date_range; + NautilusTagManager *tag_manager; files = nautilus_directory_get_file_list (directory); mime_types = nautilus_query_get_mime_types (model->query); @@ -191,12 +193,27 @@ model_directory_ready_cb (NautilusDirectory *directory, g_ptr_array_unref (date_range); } + if (nautilus_query_get_search_favorite (model->query)) + { + tag_manager = nautilus_tag_manager_get (); + + uri = nautilus_file_get_uri (file); + + if (!nautilus_tag_manager_file_is_favorite (tag_manager, uri)) + { + found = FALSE; + } + + g_free (uri); + } + if (found) { uri = nautilus_file_get_uri (file); hit = nautilus_search_hit_new (uri); nautilus_search_hit_set_fts_rank (hit, match); hits = g_list_prepend (hits, hit); + g_free (uri); } |