diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 311191539..8dfeed4cf 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -223,6 +223,7 @@ derivativeoflog7 rreemmii-dev babofitos Jonathan Schoreels +JL710 ******************** diff --git a/ftl/qt/qt-accel.ftl b/ftl/qt/qt-accel.ftl index 60dc6a23e..327cd6c46 100644 --- a/ftl/qt/qt-accel.ftl +++ b/ftl/qt/qt-accel.ftl @@ -40,6 +40,7 @@ qt-accel-layout-horizontal = &Horizontal qt-accel-zoom-in = Zoom &In qt-accel-zoom-out = Zoom &Out qt-accel-reset-zoom = &Reset Zoom +qt-accel-toggle-sidebar = Toggle Sidebar qt-accel-zoom-editor-in = Zoom Editor &In qt-accel-zoom-editor-out = Zoom Editor &Out qt-accel-create-backup = Create &Backup diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index 6c1b1486a..21ca886de 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -366,6 +366,7 @@ class Browser(QMainWindow): qconnect(f.actionFind.triggered, self.onFind) qconnect(f.actionNote.triggered, self.onNote) qconnect(f.actionSidebar.triggered, self.focusSidebar) + qconnect(f.actionToggleSidebar.triggered, self.toggle_sidebar) qconnect(f.actionCardList.triggered, self.onCardList) # help @@ -695,7 +696,7 @@ class Browser(QMainWindow): def setupSidebar(self) -> None: dw = self.sidebarDockWidget = QDockWidget(tr.browsing_sidebar(), self) - dw.setFeatures(QDockWidget.DockWidgetFeature.NoDockWidgetFeatures) + dw.setFeatures(QDockWidget.DockWidgetFeature.DockWidgetClosable) dw.setObjectName("Sidebar") dock_area = ( Qt.DockWidgetArea.RightDockWidgetArea @@ -729,8 +730,11 @@ class Browser(QMainWindow): # UI is more responsive self.mw.progress.timer(10, self.sidebar.refresh, False, parent=self.sidebar) - def showSidebar(self) -> None: - self.sidebarDockWidget.setVisible(True) + def showSidebar(self, show: bool = True) -> None: + want_visible = not self.sidebarDockWidget.isVisible() + self.sidebarDockWidget.setVisible(show) + if want_visible and show: + self.sidebar.refresh() def focusSidebar(self) -> None: self.showSidebar() @@ -741,10 +745,7 @@ class Browser(QMainWindow): self.sidebar.searchBar.setFocus() def toggle_sidebar(self) -> None: - want_visible = not self.sidebarDockWidget.isVisible() - self.sidebarDockWidget.setVisible(want_visible) - if want_visible: - self.sidebar.refresh() + self.showSidebar(not self.sidebarDockWidget.isVisible()) # legacy diff --git a/qt/aqt/forms/browser.ui b/qt/aqt/forms/browser.ui index 8820ea837..f50ad25cd 100644 --- a/qt/aqt/forms/browser.ui +++ b/qt/aqt/forms/browser.ui @@ -317,6 +317,8 @@ + + @@ -702,6 +704,11 @@ qt_accel_full_screen + + + qt_accel_toggle_sidebar + + qt_accel_zoom_editor_in