From 80d3ad208d5e5d3db8dd15f56b02710c295ea46b Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Sun, 8 Mar 2026 19:20:18 +0100 Subject: [PATCH 1/2] feat: enhance table item focus styles by adding border properties --- src/core/interface/gui.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/interface/gui.py b/src/core/interface/gui.py index 67941d2..e69195e 100644 --- a/src/core/interface/gui.py +++ b/src/core/interface/gui.py @@ -90,10 +90,13 @@ def _table_stylesheet(view_type="QTableWidget"): {view_type}::item:selected {{ background: {c["selected"]}; outline: none; + border: none; + border-bottom: 1px solid {c["border"]}; }} {view_type}::item:focus {{ outline: none; border: none; + border-bottom: 1px solid {c["border"]}; }} QHeaderView {{ background: transparent; From 8db9f3d9e27052ac1a1a81b5bb7e5202c82a4421 Mon Sep 17 00:00:00 2001 From: Vxrtrauter <101264710+Vxrtrauter@users.noreply.github.com> Date: Sun, 8 Mar 2026 19:49:38 +0100 Subject: [PATCH 2/2] feat: improve hover row delegate rendering by adjusting focus and selection states --- src/core/interface/gui.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/core/interface/gui.py b/src/core/interface/gui.py index e69195e..539f9af 100644 --- a/src/core/interface/gui.py +++ b/src/core/interface/gui.py @@ -458,21 +458,27 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): class HoverRowDelegate(QStyledItemDelegate): def paint(self, painter, option, index): + opt = QtWidgets.QStyleOptionViewItem(option) + opt.state &= ~QtWidgets.QStyle.StateFlag.State_HasFocus + opt.state &= ~QtWidgets.QStyle.StateFlag.State_Selected if index.row() == MainWindow._instance._hovered_row: painter.save() - painter.fillRect(option.rect, _theme_colors()["hover"]) + painter.fillRect(opt.rect, _theme_colors()["hover"]) painter.restore() - super().paint(painter, option, index) + super().paint(painter, opt, index) class PauseResumeDelegate(QStyledItemDelegate): clicked = Signal(int) def paint(self, painter, option, index): + opt = QtWidgets.QStyleOptionViewItem(option) + opt.state &= ~QtWidgets.QStyle.StateFlag.State_HasFocus + opt.state &= ~QtWidgets.QStyle.StateFlag.State_Selected if index.row() == MainWindow._instance._hovered_row: painter.save() - painter.fillRect(option.rect, _theme_colors()["hover"]) + painter.fillRect(opt.rect, _theme_colors()["hover"]) painter.restore() - super().paint(painter, option, index) + super().paint(painter, opt, index) def setEditorData(self, editor, index): button = editor.findChild(QtWidgets.QPushButton)