static void search_bar_activate_callback (NemoSearchBar *bar, NemoWindowPane *pane) { char *uri, *current_uri; NemoDirectory *directory; NemoSearchDirectory *search_directory; NemoQuery *query; GFile *location; uri = nemo_search_directory_generate_new_uri (); location = g_file_new_for_uri (uri); directory = nemo_directory_get (location); g_assert (NEMO_IS_SEARCH_DIRECTORY (directory)); search_directory = NEMO_SEARCH_DIRECTORY (directory); query = nemo_search_bar_get_query (NEMO_SEARCH_BAR (pane->search_bar)); if (query != NULL) { current_uri = nemo_window_slot_get_location_uri (pane->active_slot); nemo_query_set_location (query, current_uri); nemo_search_directory_set_query (search_directory, query); g_free (current_uri); g_object_unref (query); } nemo_window_slot_go_to (pane->active_slot, location, FALSE); nemo_directory_unref (directory); g_object_unref (location); g_free (uri); }
static void sync_search_directory (NemoWindowSlot *slot) { NemoDirectory *directory; NemoQuery *query; g_assert (NEMO_IS_FILE (slot->viewed_file)); directory = nemo_directory_get_for_file (slot->viewed_file); g_assert (NEMO_IS_SEARCH_DIRECTORY (directory)); query = nemo_query_editor_get_query (slot->query_editor); nemo_search_directory_set_query (NEMO_SEARCH_DIRECTORY (directory), query); g_object_unref (query); nemo_window_slot_reload (slot); nemo_directory_unref (directory); }