From ee1ed033a2f2a3da723258c600d88654ecf754e3 Mon Sep 17 00:00:00 2001 From: abdo Date: Tue, 2 Feb 2021 05:41:45 +0300 Subject: [PATCH] Hide sidebar items when there is no match --- qt/aqt/sidebar.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qt/aqt/sidebar.py b/qt/aqt/sidebar.py index 2ede5180d..07f4281b3 100644 --- a/qt/aqt/sidebar.py +++ b/qt/aqt/sidebar.py @@ -149,8 +149,8 @@ class SidebarModel(QAbstractItemModel): def item_for_index(self, idx: QModelIndex) -> SidebarItem: return idx.internalPointer() - def search(self, text: str) -> None: - self.root.search(text.lower()) + def search(self, text: str) -> bool: + return self.root.search(text.lower()) # Qt API ###################################################################### @@ -349,6 +349,7 @@ class SidebarTreeView(QTreeView): self.mw.taskman.run_in_background(self._root_tree, on_done) def search_for(self, text: str) -> None: + self.showColumn(0) if not text.strip(): self.current_search = None self.refresh() @@ -357,7 +358,7 @@ class SidebarTreeView(QTreeView): self.current_search = text # start from a collapsed state, as it's faster self.collapseAll() - self.model().search(text) + self.setColumnHidden(0, not self.model().search(text)) expand_where_necessary(self.model(), self, searching=True) def drawRow(