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 create_new_search (NemoWindowSlot *slot) { char *uri; NemoDirectory *directory; 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)); nemo_window_slot_open_location_full (slot, location, NEMO_WINDOW_OPEN_FLAG_SEARCH, NULL, sync_search_location_cb, slot); nemo_directory_unref (directory); g_object_unref (location); g_free (uri); }