summaryrefslogtreecommitdiff
path: root/src/nautilus-search-engine-model.c
diff options
context:
space:
mode:
authorAlexandru Pandelea <alexandru.pandelea@gmail.com>2017-06-28 17:47:41 +0100
committerAlexandru Pandelea <alexandru.pandelea@gmail.com>2017-08-25 10:13:13 +0100
commit8cbdfdfa41d896a0be6d2057b6e77fc5f384d1c0 (patch)
tree36581d14d58b3498a9ffddcd58905dd3945475fd /src/nautilus-search-engine-model.c
parent921cd365a92cf4c9a4edaeab00fa4966c09da93b (diff)
downloadnautilus-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.c17
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);
}