int main (int argc, char **argv) { CajaDirectory *directory; CajaQuery *query; client1 = g_new0 (int, 1); client2 = g_new0 (int, 1); gtk_init (&argc, &argv); query = caja_query_new (); caja_query_set_text (query, "richard hult"); directory = caja_directory_get_by_uri ("x-caja-search://0/"); caja_search_directory_set_query (CAJA_SEARCH_DIRECTORY (directory), query); g_object_unref (query); g_signal_connect (directory, "files-added", G_CALLBACK (files_added), NULL); g_signal_connect (directory, "files-changed", G_CALLBACK (files_changed), NULL); g_signal_connect (directory, "done-loading", G_CALLBACK (done_loading), NULL); caja_directory_file_monitor_add (directory, client1, TRUE, CAJA_FILE_ATTRIBUTE_INFO, NULL, NULL); gtk_main (); return 0; }
static void query_editor_changed_callback (CajaSearchBar *bar, CajaQuery *query, gboolean reload, CajaWindowSlot *slot) { CajaDirectory *directory; directory = caja_directory_get_for_file (slot->viewed_file); g_assert (CAJA_IS_SEARCH_DIRECTORY (directory)); caja_search_directory_set_query (CAJA_SEARCH_DIRECTORY (directory), query); if (reload) { caja_window_slot_reload (slot); } caja_directory_unref (directory); }
static void search_bar_activate_callback (CajaSearchBar *bar, CajaNavigationWindowPane *pane) { char *uri, *current_uri; CajaDirectory *directory; CajaSearchDirectory *search_directory; CajaQuery *query; GFile *location; uri = caja_search_directory_generate_new_uri (); location = g_file_new_for_uri (uri); g_free (uri); directory = caja_directory_get (location); g_assert (CAJA_IS_SEARCH_DIRECTORY (directory)); search_directory = CAJA_SEARCH_DIRECTORY (directory); query = caja_search_bar_get_query (CAJA_SEARCH_BAR (pane->search_bar)); if (query != NULL) { CajaWindowSlot *slot = CAJA_WINDOW_PANE (pane)->active_slot; if (!caja_search_directory_is_indexed (search_directory)) { current_uri = caja_window_slot_get_location_uri (slot); caja_query_set_location (query, current_uri); g_free (current_uri); } caja_search_directory_set_query (search_directory, query); g_object_unref (query); } caja_window_slot_go_to (CAJA_WINDOW_PANE (pane)->active_slot, location, FALSE); caja_directory_unref (directory); g_object_unref (location); }