/* either called due to slot change, or due to location change in the current slot. */ static void real_sync_search_widgets (CajaWindowPane *window_pane) { CajaWindowSlot *slot; CajaDirectory *directory; CajaSearchDirectory *search_directory; CajaNavigationWindowPane *pane; pane = CAJA_NAVIGATION_WINDOW_PANE (window_pane); slot = window_pane->active_slot; search_directory = NULL; directory = caja_directory_get (slot->location); if (CAJA_IS_SEARCH_DIRECTORY (directory)) { search_directory = CAJA_SEARCH_DIRECTORY (directory); } if (search_directory != NULL && !caja_search_directory_is_saved_search (search_directory)) { caja_navigation_window_pane_show_location_bar_temporarily (pane); caja_navigation_window_pane_set_bar_mode (pane, CAJA_BAR_SEARCH); pane->temporary_search_bar = FALSE; } else { pane->temporary_search_bar = TRUE; caja_navigation_window_pane_hide_temporary_bars (pane); } caja_directory_unref (directory); }
void caja_navigation_window_show_search (CajaNavigationWindow *window) { CajaNavigationWindowPane *pane; pane = CAJA_NAVIGATION_WINDOW_PANE (CAJA_WINDOW (window)->details->active_pane); if (!caja_navigation_window_pane_search_bar_showing (pane)) { remember_focus_widget (window); caja_navigation_window_pane_show_location_bar_temporarily (pane); caja_navigation_window_pane_set_bar_mode (pane, CAJA_BAR_SEARCH); pane->temporary_search_bar = TRUE; caja_search_bar_clear (CAJA_SEARCH_BAR (pane->search_bar)); } caja_search_bar_grab_focus (CAJA_SEARCH_BAR (pane->search_bar)); }
static void real_prompt_for_location (CajaWindow *window, const char *initial) { CajaNavigationWindowPane *pane; remember_focus_widget (CAJA_NAVIGATION_WINDOW (window)); pane = CAJA_NAVIGATION_WINDOW_PANE (window->details->active_pane); caja_navigation_window_pane_show_location_bar_temporarily (pane); caja_navigation_window_pane_show_navigation_bar_temporarily (pane); if (initial) { caja_navigation_bar_set_location (CAJA_NAVIGATION_BAR (pane->navigation_bar), initial); } }