filechooser: Make search results show up
authorMatthias Clasen <mclasen@redhat.com>
Fri, 21 Oct 2022 01:14:29 +0000 (21:14 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Oct 2022 02:34:41 +0000 (22:34 -0400)
The tracker search engine implementation was not
setting all the custom attributes that we require
now.

The quartz search engine will need similar fixes.

gtk/gtksearchenginetracker3.c

index 691898394159002a23827eedefea46103ac1e658..5ecb2ca21116088bf940843909f63231f81cf9ec 100644 (file)
@@ -114,7 +114,8 @@ free_hit (gpointer data)
 }
 
 static GFileInfo *
-create_file_info (TrackerSparqlCursor *cursor)
+create_file_info (GFile               *file,
+                  TrackerSparqlCursor *cursor)
 {
   GFileInfo *info;
   const char *str;
@@ -140,6 +141,10 @@ create_file_info (TrackerSparqlCursor *cursor)
       g_date_time_unref (creation);
     }
 
+  g_file_info_set_attribute_object (info, "standard::file", G_OBJECT (file));
+  g_file_info_set_attribute_boolean (info, "filechooser::filtered-out", FALSE);
+  g_file_info_set_attribute_boolean (info, "filechooser::visible", TRUE);
+
   return info;
 }
 
@@ -175,7 +180,7 @@ query_callback (TrackerSparqlStatement *statement,
       url = tracker_sparql_cursor_get_string (cursor, 0, NULL);
       hit = g_slice_new0 (GtkSearchHit);
       hit->file = g_file_new_for_uri (url);
-      hit->info = create_file_info (cursor);
+      hit->info = create_file_info (hit->file, cursor);
       hits = g_list_prepend (hits, hit);
     }