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
This commit is contained in:
Matthias Metelka 2022-08-15 05:08:44 +02:00 committed by GitHub
parent 99f4f68aca
commit d5945a213a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 20 deletions

View file

@ -554,7 +554,7 @@ class Browser(QMainWindow):
grid.addWidget(self.sidebar.searchBar, 0, 0) grid.addWidget(self.sidebar.searchBar, 0, 0)
grid.addWidget(self.sidebar.toolbar, 0, 1) grid.addWidget(self.sidebar.toolbar, 0, 1)
grid.addWidget(self.sidebar, 1, 0, 1, 2) grid.addWidget(self.sidebar, 1, 0, 1, 2)
grid.setContentsMargins(0, 0, 0, 0) grid.setContentsMargins(8, 4, 0, 0)
grid.setSpacing(0) grid.setSpacing(0)
w = QWidget() w = QWidget()
w.setLayout(grid) w.setLayout(grid)

View file

@ -3,11 +3,6 @@
from anki.utils import is_mac from anki.utils import is_mac
from aqt.theme import theme_manager 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 .item import SidebarItem, SidebarItemType
from .model import SidebarModel from .model import SidebarModel
from .searchbar import SidebarSearchBar from .searchbar import SidebarSearchBar

View file

@ -7,7 +7,6 @@ import aqt
import aqt.browser import aqt.browser
import aqt.gui_hooks import aqt.gui_hooks
from aqt import colors from aqt import colors
from aqt.browser.sidebar import _want_right_border
from aqt.qt import * from aqt.qt import *
from aqt.theme import theme_manager from aqt.theme import theme_manager
@ -29,18 +28,20 @@ class SidebarSearchBar(QLineEdit):
aqt.gui_hooks.theme_did_change.append(self.setup_style) aqt.gui_hooks.theme_did_change.append(self.setup_style)
def setup_style(self) -> None: def setup_style(self) -> None:
border = theme_manager.color(colors.MEDIUM_BORDER)
styles = [ styles = [
"padding: 1px", "padding: 2px",
"padding-left: 3px", f"border: 1px solid {theme_manager.color(colors.BORDER)}",
f"border-bottom: 1px solid {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: def onTextChanged(self, text: str) -> None:
if not self.timer.isActive(): if not self.timer.isActive():

View file

@ -30,7 +30,7 @@ class SidebarToolbar(QToolBar):
self._action_group = QActionGroup(self) self._action_group = QActionGroup(self)
qconnect(self._action_group.triggered, self._on_action_group_triggered) qconnect(self._action_group.triggered, self._on_action_group_triggered)
self._setup_tools() self._setup_tools()
self.setIconSize(QSize(16, 16)) self.setIconSize(QSize(18, 18))
self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
self.setStyle(QStyleFactory.create("fusion")) self.setStyle(QStyleFactory.create("fusion"))
aqt.gui_hooks.theme_did_change.append(self._update_icons) aqt.gui_hooks.theme_did_change.append(self._update_icons)

View file

@ -22,7 +22,6 @@ from anki.tags import TagTreeNode
from anki.types import assert_exhaustive from anki.types import assert_exhaustive
from aqt import colors, gui_hooks from aqt import colors, gui_hooks
from aqt.browser.find_and_replace import FindAndReplaceDialog 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.item import SidebarItem, SidebarItemType
from aqt.browser.sidebar.model import SidebarModel from aqt.browser.sidebar.model import SidebarModel
from aqt.browser.sidebar.searchbar import SidebarSearchBar from aqt.browser.sidebar.searchbar import SidebarSearchBar
@ -112,8 +111,6 @@ class SidebarTreeView(QTreeView):
"border: 0", "border: 0",
f"background: {bgcolor}", f"background: {bgcolor}",
] ]
if _want_right_border():
styles.append(f"border-right: 1px solid {border}")
self.setStyleSheet("QTreeView { %s }" % ";".join(styles)) self.setStyleSheet("QTreeView { %s }" % ";".join(styles))