diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-20 11:26:06 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-20 11:26:06 +0200 |
| commit | febdd512474a7ffe358b01c15b72871c3f862170 (patch) | |
| tree | 2c7627c3d165ff4bbcbc15aaba40cb9757833096 /sb_builder/packages.py | |
| parent | e6f90eb9ff852d8279485b7c8a68ef316ba0ae6e (diff) | |
| download | sb-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.py | 11 |
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()) |
