diff options
Diffstat (limited to 'sb_builder/hints_tab.py')
| -rw-r--r-- | sb_builder/hints_tab.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sb_builder/hints_tab.py b/sb_builder/hints_tab.py index f4bc378..8d0bed4 100644 --- a/sb_builder/hints_tab.py +++ b/sb_builder/hints_tab.py @@ -20,7 +20,7 @@ import difflib import os from PyQt6.QtCore import Qt, pyqtSignal -from PyQt6.QtGui import QColor, QFontDatabase +from PyQt6.QtGui import QColor, QFontDatabase, QKeySequence, QShortcut from PyQt6.QtWidgets import (QCheckBox, QDialog, QHBoxLayout, QLabel, QLineEdit, QListWidget, QListWidgetItem, QMessageBox, QPlainTextEdit, QPushButton, QSplitter, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget) @@ -81,10 +81,14 @@ class HintsTab(QWidget): self.no_dl.setToolTip('Write DOWNLOAD="no": slackrepo uses the source already in its cache') bar = QHBoxLayout() bar.addWidget(self.status) - for label, on in (("Select visible", True), ("Clear", False)): - b = QPushButton(label) + self.keys = [] + for label, on, key in (("Select visible", True, "Ctrl+A"), ("Clear", False, "Ctrl+Shift+A")): + b = QPushButton(label, toolTip=key) b.clicked.connect(lambda _c, on=on: self.check_rows(on)) bar.addWidget(b) + # in the search field Ctrl+A still selects its text: QLineEdit overrides it + self.keys.append(QShortcut(QKeySequence(key), self, lambda on=on: self.check_rows(on), + context=Qt.ShortcutContext.WidgetWithChildrenShortcut)) bar.addStretch() for w in (self.check_btn, self.update_btn, self.no_dl): bar.addWidget(w) |
