aboutsummaryrefslogtreecommitdiffstats
path: root/sb_builder/packages.py
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-20 11:26:06 +0200
committerDanilo M. <danix@danix.xyz>2026-10-20 11:26:06 +0200
commitfebdd512474a7ffe358b01c15b72871c3f862170 (patch)
tree2c7627c3d165ff4bbcbc15aaba40cb9757833096 /sb_builder/packages.py
parente6f90eb9ff852d8279485b7c8a68ef316ba0ae6e (diff)
downloadsb-builder-febdd512474a7ffe358b01c15b72871c3f862170.tar.gz
sb-builder-febdd512474a7ffe358b01c15b72871c3f862170.zip
Ctrl+A / Ctrl+Shift+A: select visible and clear, Packages and Hints
The search field keeps Ctrl+A for its own text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'sb_builder/packages.py')
-rw-r--r--sb_builder/packages.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/sb_builder/packages.py b/sb_builder/packages.py
index 146db51..3ccbf40 100644
--- a/sb_builder/packages.py
+++ b/sb_builder/packages.py
@@ -19,7 +19,7 @@
import html
from PyQt6.QtCore import QAbstractTableModel, QModelIndex, QSortFilterProxyModel, Qt, pyqtSignal
-from PyQt6.QtGui import QColor
+from PyQt6.QtGui import QColor, QKeySequence, QShortcut
from PyQt6.QtWidgets import (QCheckBox, QDialog, QDialogButtonBox, QFormLayout, QHBoxLayout,
QLabel, QLineEdit, QMessageBox, QPushButton, QScrollArea, QSplitter,
QTableView, QVBoxLayout, QWidget)
@@ -271,10 +271,15 @@ class PackagesTab(QWidget):
self.count = QLabel()
bar = QHBoxLayout()
bar.addWidget(self.count)
- for label, slot in (("Select visible", self.select_visible), ("Clear", self.clear)):
- b = QPushButton(label)
+ self.keys = []
+ for label, slot, key in (("Select visible", self.select_visible, "Ctrl+A"),
+ ("Clear", self.clear, "Ctrl+Shift+A")):
+ b = QPushButton(label, toolTip=key)
b.clicked.connect(slot)
bar.addWidget(b)
+ # in the search field Ctrl+A still selects its text: QLineEdit overrides it
+ self.keys.append(QShortcut(QKeySequence(key), self, slot,
+ context=Qt.ShortcutContext.WidgetWithChildrenShortcut))
bar.addStretch()
for action in ("build", "update", "rebuild", "remove"):
b = QPushButton(action.capitalize())