aboutsummaryrefslogtreecommitdiffstats
path: root/sb_builder/hints_tab.py
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-20 12:23:50 +0200
committerDanilo M. <danix@danix.xyz>2026-10-20 12:23:50 +0200
commitecf11290bda5a670ff520f62a96d85645ad95d82 (patch)
tree1e6390a28297e3fb5a9ba8c2fd5c8ee58de37a41 /sb_builder/hints_tab.py
parentaa4d36c541e603ed4d60ee1185806c51818eccc9 (diff)
downloadsb-builder-ecf11290bda5a670ff520f62a96d85645ad95d82.tar.gz
sb-builder-ecf11290bda5a670ff520f62a96d85645ad95d82.zip
Filter bars: chips read as buttons, status dots, group labels
Chips get a button background and border, a dot in the color the table uses for that status, and a muted label per group (overlay, status, state, result). Search fields get a search icon and a clear button. Phase 2 spec: why the signing key locks after the GUI quits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'sb_builder/hints_tab.py')
-rw-r--r--sb_builder/hints_tab.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/sb_builder/hints_tab.py b/sb_builder/hints_tab.py
index feba94d..071e304 100644
--- a/sb_builder/hints_tab.py
+++ b/sb_builder/hints_tab.py
@@ -21,14 +21,14 @@ import os
from PyQt6.QtCore import Qt, pyqtSignal
from PyQt6.QtGui import QColor, QFontDatabase, QKeySequence, QShortcut, QSyntaxHighlighter
-from PyQt6.QtWidgets import (QDialog, QHBoxLayout, QLabel, QLineEdit, QListWidget,
- QListWidgetItem, QMessageBox, QPlainTextEdit, QPushButton, QSplitter,
- QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget)
+from PyQt6.QtWidgets import (QDialog, QHBoxLayout, QLabel, QListWidget, QListWidgetItem,
+ QMessageBox, QPlainTextEdit, QPushButton, QSplitter, QTableWidget,
+ QTableWidgetItem, QVBoxLayout, QWidget)
from . import upstream
from .dashboard import STATUS
-from .packages import chip, load_rows
-from .ui import SP, action, enable
+from .packages import load_rows
+from .ui import SP, action, chip, enable, group_label, search_field
STATES = ("outdated", "current", "no stanza", "not checked", "nvchecker error")
STATE_COLOR = {"outdated": STATUS["aborted"], "current": STATUS["ok"],
@@ -51,12 +51,13 @@ class HintsTab(QWidget):
self.checker = upstream.Checker(self)
self.checker.done.connect(self._checked)
- self.query = QLineEdit(placeholderText="search package")
+ self.query = search_field("search package")
self.query.textChanged.connect(self.refilter)
self.chips = {}
chips = QHBoxLayout()
+ chips.addWidget(group_label("state"))
for name in STATES:
- self.chips[name] = chip(name)
+ self.chips[name] = chip(name, STATE_COLOR.get(name))
self.chips[name].toggled.connect(self.refilter)
chips.addWidget(self.chips[name])
chips.addStretch()