diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-07-24 15:41:45 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-07-27 08:07:38 -0400 |
commit | 1069e2b9ccbb9c9a63fe56c93026209ab5839897 (patch) | |
tree | bd32fec5891329633d3a881f3bcf78bb089712c5 /gtk/gtksearchenginemodel.c | |
parent | 48c172f4e02090fe85efdf80666c1355b1a8293b (diff) | |
download | gtk+-1069e2b9ccbb9c9a63fe56c93026209ab5839897.tar.gz |
Port to GtkSearchHit
GtkSearchEngineModel was still trying to return uris as hits.
This is not working anymore, we are expected to return GtkSearchHit
structs.
Diffstat (limited to 'gtk/gtksearchenginemodel.c')
-rw-r--r-- | gtk/gtksearchenginemodel.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/gtk/gtksearchenginemodel.c b/gtk/gtksearchenginemodel.c index 93003b5b55..a7f00eec4d 100644 --- a/gtk/gtksearchenginemodel.c +++ b/gtk/gtksearchenginemodel.c @@ -90,23 +90,26 @@ do_search (gpointer data) do { GFileInfo *info; - GFile *file; - gchar *uri; info = _gtk_file_system_model_get_info (model->model, &iter); if (info_matches_query (model->query, info)) { + GFile *file; + GtkSearchHit *hit; + file = _gtk_file_system_model_get_file (model->model, &iter); - uri = g_file_get_uri (file); - hits = g_list_prepend (hits, uri); + hit = g_new (GtkSearchHit, 1); + hit->uri = g_file_get_uri (file); + hit->info = g_object_ref (info); + hits = g_list_prepend (hits, hit); } - } - while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model->model), &iter)); + } + while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model->model), &iter)); if (hits) { _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (model), hits); - g_list_free_full (hits, g_free); + g_list_free_full (hits, (GDestroyNotify)_gtk_search_hit_free); } } @@ -144,19 +147,11 @@ gtk_search_engine_model_stop (GtkSearchEngine *engine) static void gtk_search_engine_model_set_query (GtkSearchEngine *engine, - GtkQuery *query) + GtkQuery *query) { - GtkSearchEngineModel *model; - - model = GTK_SEARCH_ENGINE_MODEL (engine); - - if (query) - g_object_ref (query); - - if (model->query) - g_object_unref (model->query); + GtkSearchEngineModel *model = GTK_SEARCH_ENGINE_MODEL (engine); - model->query = query; + g_set_object (&model->query, query); } static void |