From cb91b28566283da4169bfb55332935aeea413d77 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 20 Dec 2015 15:23:05 +0530 Subject: [PATCH] Close all open panels when a search result is displayed --- src/pyj/book_list/ui.pyj | 6 ++++++ src/pyj/book_list/views.pyj | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pyj/book_list/ui.pyj b/src/pyj/book_list/ui.pyj index 9dfcabfbb0..099e40aaae 100644 --- a/src/pyj/book_list/ui.pyj +++ b/src/pyj/book_list/ui.pyj @@ -121,6 +121,12 @@ class UI: self.states.pop() self.apply_state(self.states[-1]) + def close_all_panels(self): + if len(self.states) > 1: + while len(self.states) > 1: + self.states.pop() + self.apply_state(self.states[-1]) + def replace_panel(self, state): if len(self.states) > 1: self.states.pop() diff --git a/src/pyj/book_list/views.pyj b/src/pyj/book_list/views.pyj index 0e54b8d88b..0d8abe640c 100644 --- a/src/pyj/book_list/views.pyj +++ b/src/pyj/book_list/views.pyj @@ -250,7 +250,7 @@ class BooksView: return error_dialog(_('Could not change search query'), err + '', details=err.stack) query = {'search':self.interface_data.search_result.query, 'library_id':self.interface_data.library_id} window.history.pushState(None, '', encode_query(query)) - boss.ui.close_panel() + boss.ui.close_all_panels() self.update_fetching_status() window.scrollTo(0, 0) elif end_type != 'abort':