From 678756c3e991ffe70ebb8993d3e8e4dc387270ef Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 9 Feb 2021 19:29:59 +1000 Subject: [PATCH] add escape hatch for new clicking behaviour, in case it causes problems --- qt/aqt/profiles.py | 3 +++ qt/aqt/sidebar.py | 12 ++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/qt/aqt/profiles.py b/qt/aqt/profiles.py index 88750fcd6..bf540a84b 100644 --- a/qt/aqt/profiles.py +++ b/qt/aqt/profiles.py @@ -668,6 +668,9 @@ create table if not exists profiles def set_recording_driver(self, driver: RecordingDriver) -> None: self.profile["recordingDriver"] = driver.value + def sidebar_left_click_modifiers(self) -> bool: + return self.profile.get("sidebarLeftClick", False) + ###################################################################### def apply_profile_options(self) -> None: diff --git a/qt/aqt/sidebar.py b/qt/aqt/sidebar.py index 34cee0091..bd7443cb3 100644 --- a/qt/aqt/sidebar.py +++ b/qt/aqt/sidebar.py @@ -316,9 +316,10 @@ class SidebarTreeView(QTreeView): self.setHeaderHidden(True) self.setIndentation(15) self.setAutoExpandDelay(600) - # pylint: disable=no-member - mode = QAbstractItemView.SelectionMode.ExtendedSelection # type: ignore - self.setSelectionMode(mode) + if not self.mw.pm.sidebar_left_click_modifiers(): + # pylint: disable=no-member + mode = QAbstractItemView.SelectionMode.ExtendedSelection # type: ignore + self.setSelectionMode(mode) self.setDragDropMode(QAbstractItemView.InternalMove) self.setDragDropOverwriteMode(False) @@ -434,7 +435,10 @@ class SidebarTreeView(QTreeView): def mouseReleaseEvent(self, event: QMouseEvent) -> None: super().mouseReleaseEvent(event) if event.button() == Qt.LeftButton: - if not self._keyboard_modified_pressed(): + if ( + not self._keyboard_modified_pressed() + or self.mw.pm.sidebar_left_click_modifiers() + ): self._on_click_current() elif event.button() == Qt.RightButton: if self._keyboard_modified_pressed():