From 1f500c1fb84bdfbd25665f234c9880dbcc42fa68 Mon Sep 17 00:00:00 2001 From: RumovZ Date: Thu, 4 Mar 2021 17:40:12 +0100 Subject: [PATCH] Enable Enter/Return search in all modes ... ... but don't trigger search if the key closes the editor. Also get rid of the on_click of the saved searches root which has already been removed on main. --- qt/aqt/sidebar.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/qt/aqt/sidebar.py b/qt/aqt/sidebar.py index 471ff2664..e517ee6ca 100644 --- a/qt/aqt/sidebar.py +++ b/qt/aqt/sidebar.py @@ -91,7 +91,6 @@ class SidebarItem: self, name: str, icon: Union[str, ColoredIcon], - on_click: Callable[[], None] = None, search_node: Optional[SearchNode] = None, on_expanded: Callable[[bool], None] = None, expanded: bool = False, @@ -106,7 +105,6 @@ class SidebarItem: self.icon = icon self.item_type = item_type self.id = id - self.on_click = on_click self.search_node = search_node self.on_expanded = on_expanded self.children: List["SidebarItem"] = [] @@ -561,12 +559,13 @@ class SidebarTreeView(QTreeView): super().mouseReleaseEvent(event) if self.tool == SidebarTool.SEARCH and event.button() == Qt.LeftButton: idx = self.indexAt(event.pos()) - self._on_click_index(idx) + self._search_for_indicated(idx) def keyPressEvent(self, event: QKeyEvent) -> None: if event.key() in (Qt.Key_Return, Qt.Key_Enter): idx = self.currentIndex() - self._on_click_index(idx) + if not self.isPersistentEditorOpen(idx): + self._search_for_indicated(idx) else: super().keyPressEvent(event) @@ -636,12 +635,10 @@ class SidebarTreeView(QTreeView): self.browser.editor.saveNow(on_save) return True - def _on_click_index(self, idx: QModelIndex) -> None: - if item := self.model().item_for_index(idx): - if item.on_click: - item.on_click() - elif self.tool == SidebarTool.SEARCH and (search := item.search_node): - self.update_search(search) + def _search_for_indicated(self, index: QModelIndex) -> None: + if item := self.model().item_for_index(index): + if search_node := item.search_node: + self.update_search(search_node) def _on_expansion(self, idx: QModelIndex) -> None: if self.current_search: @@ -728,11 +725,6 @@ class SidebarTreeView(QTreeView): type=SidebarItemType.SAVED_SEARCH_ROOT, ) - def on_click() -> None: - self.show_context_menu(root, None) - - root.on_click = on_click - for name, filt in sorted(saved.items()): item = SidebarItem( name,