diff options
author | Carlos Soriano <csoriano@gnome.org> | 2015-12-17 10:32:07 +0100 |
---|---|---|
committer | Carlos Soriano <csoriano@gnome.org> | 2015-12-17 10:35:25 +0100 |
commit | 64dbc8b5e1c6e66bc5feca7fa521406349fe0576 (patch) | |
tree | e1f87fe1b67678a05ad3f7dccf1b5fcd7c6f58cf | |
parent | 05c51265d2a60df323e3dd65c1108fc2eca81734 (diff) | |
download | nautilus-64dbc8b5e1c6e66bc5feca7fa521406349fe0576.tar.gz |
files-view: sync the query when the location is a searchwip/csoriano/search-improvements
-rw-r--r-- | src/nautilus-files-view.c | 10 | ||||
-rw-r--r-- | src/nautilus-window-slot.c | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index 055800e02..769c115bf 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -3092,6 +3092,14 @@ nautilus_files_view_set_location (NautilusView *view, nautilus_profile_start (NULL); directory = nautilus_directory_get (location); load_directory (NAUTILUS_FILES_VIEW (view), directory); + /* In case we want to load a previous search, sync the query */ + if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) { + NautilusQuery *previous_query; + + previous_query = nautilus_search_directory_get_query (NAUTILUS_SEARCH_DIRECTORY (directory)); + nautilus_view_set_search_query (view, previous_query); + g_object_unref (previous_query); + } nautilus_directory_unref (directory); nautilus_profile_end (NULL); } @@ -7754,7 +7762,7 @@ nautilus_files_view_set_search_query (NautilusView *view, * Reuse the search directory and reload it. */ nautilus_search_directory_set_query (NAUTILUS_SEARCH_DIRECTORY (files_view->details->model), query); - nautilus_view_set_location (view, location); + load_directory (files_view, nautilus_directory_ref (files_view->details->model)); } else { NautilusDirectory *directory; NautilusFile *file; diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c index b10de0034..de92841ab 100644 --- a/src/nautilus-window-slot.c +++ b/src/nautilus-window-slot.c @@ -267,7 +267,10 @@ check_search_visible (NautilusWindowSlot *slot) /* If we changed location just to another search location, for example, * when changing the query, just keep the search visible */ if (nautilus_view_is_searching (view)) + if (nautilus_view_is_searching (view)) { + nautilus_window_slot_set_search_visible (slot, TRUE); return; + } if (query) { text = nautilus_query_get_text (query); |