From d5945a213adef34547a768a2835ca1b9c8006fb7 Mon Sep 17 00:00:00 2001 From: Matthias Metelka <62722460+kleinerpirat@users.noreply.github.com> Date: Mon, 15 Aug 2022 05:08:44 +0200 Subject: [PATCH] Make sidebar search input more pleasant to look at (#2009) * Improve margins * Remove right border on non-macOS systems Would be interesting to know why this was implemented in the first place. Looks quite ugly on Linux. * Add focus border * Align height of toolbar icons with search bar * Remove leftover f-strings --- qt/aqt/browser/browser.py | 2 +- qt/aqt/browser/sidebar/__init__.py | 5 ----- qt/aqt/browser/sidebar/searchbar.py | 21 +++++++++++---------- qt/aqt/browser/sidebar/toolbar.py | 2 +- qt/aqt/browser/sidebar/tree.py | 3 --- 5 files changed, 13 insertions(+), 20 deletions(-) diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index 11066d6cf..1e73c5e87 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -554,7 +554,7 @@ class Browser(QMainWindow): grid.addWidget(self.sidebar.searchBar, 0, 0) grid.addWidget(self.sidebar.toolbar, 0, 1) grid.addWidget(self.sidebar, 1, 0, 1, 2) - grid.setContentsMargins(0, 0, 0, 0) + grid.setContentsMargins(8, 4, 0, 0) grid.setSpacing(0) w = QWidget() w.setLayout(grid) diff --git a/qt/aqt/browser/sidebar/__init__.py b/qt/aqt/browser/sidebar/__init__.py index 3f41e48f0..99ca8f7c4 100644 --- a/qt/aqt/browser/sidebar/__init__.py +++ b/qt/aqt/browser/sidebar/__init__.py @@ -3,11 +3,6 @@ from anki.utils import is_mac from aqt.theme import theme_manager - -def _want_right_border() -> bool: - return not is_mac or theme_manager.night_mode - - from .item import SidebarItem, SidebarItemType from .model import SidebarModel from .searchbar import SidebarSearchBar diff --git a/qt/aqt/browser/sidebar/searchbar.py b/qt/aqt/browser/sidebar/searchbar.py index 3c5243ecb..d8f11f6ee 100644 --- a/qt/aqt/browser/sidebar/searchbar.py +++ b/qt/aqt/browser/sidebar/searchbar.py @@ -7,7 +7,6 @@ import aqt import aqt.browser import aqt.gui_hooks from aqt import colors -from aqt.browser.sidebar import _want_right_border from aqt.qt import * from aqt.theme import theme_manager @@ -29,18 +28,20 @@ class SidebarSearchBar(QLineEdit): aqt.gui_hooks.theme_did_change.append(self.setup_style) def setup_style(self) -> None: - border = theme_manager.color(colors.MEDIUM_BORDER) styles = [ - "padding: 1px", - "padding-left: 3px", - f"border-bottom: 1px solid {border}", + "padding: 2px", + f"border: 1px solid {theme_manager.color(colors.BORDER)}", + "border-radius: 5px", ] - if _want_right_border(): - styles.append( - f"border-right: 1px solid {border}", - ) - self.setStyleSheet("QLineEdit { %s }" % ";".join(styles)) + self.setStyleSheet( + "QLineEdit { %s }" % ";".join(styles) + + f""" +QLineEdit:focus {{ + border: 1px solid {theme_manager.color(colors.FOCUS_BORDER)}; +}} + """ + ) def onTextChanged(self, text: str) -> None: if not self.timer.isActive(): diff --git a/qt/aqt/browser/sidebar/toolbar.py b/qt/aqt/browser/sidebar/toolbar.py index 349e0f4d0..865df2fdd 100644 --- a/qt/aqt/browser/sidebar/toolbar.py +++ b/qt/aqt/browser/sidebar/toolbar.py @@ -30,7 +30,7 @@ class SidebarToolbar(QToolBar): self._action_group = QActionGroup(self) qconnect(self._action_group.triggered, self._on_action_group_triggered) self._setup_tools() - self.setIconSize(QSize(16, 16)) + self.setIconSize(QSize(18, 18)) self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) self.setStyle(QStyleFactory.create("fusion")) aqt.gui_hooks.theme_did_change.append(self._update_icons) diff --git a/qt/aqt/browser/sidebar/tree.py b/qt/aqt/browser/sidebar/tree.py index abb8f5d2c..d173d65e0 100644 --- a/qt/aqt/browser/sidebar/tree.py +++ b/qt/aqt/browser/sidebar/tree.py @@ -22,7 +22,6 @@ from anki.tags import TagTreeNode from anki.types import assert_exhaustive from aqt import colors, gui_hooks from aqt.browser.find_and_replace import FindAndReplaceDialog -from aqt.browser.sidebar import _want_right_border from aqt.browser.sidebar.item import SidebarItem, SidebarItemType from aqt.browser.sidebar.model import SidebarModel from aqt.browser.sidebar.searchbar import SidebarSearchBar @@ -112,8 +111,6 @@ class SidebarTreeView(QTreeView): "border: 0", f"background: {bgcolor}", ] - if _want_right_border(): - styles.append(f"border-right: 1px solid {border}") self.setStyleSheet("QTreeView { %s }" % ";".join(styles))