Also add expand all/collapse all context menu to shortcuts view

This commit is contained in:
Kovid Goyal 2021-04-29 14:24:44 +05:30
parent dc1437c2bb
commit 352a07d5fc
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -10,7 +10,7 @@ from collections import OrderedDict
from functools import partial
from qt.core import (QObject, QKeySequence, QAbstractItemModel, QModelIndex, QItemSelectionModel,
Qt, QStyledItemDelegate, QTextDocument, QStyle, pyqtSignal, QFrame, QAbstractItemView,
Qt, QStyledItemDelegate, QTextDocument, QStyle, pyqtSignal, QFrame, QAbstractItemView, QMenu,
QApplication, QSize, QRectF, QWidget, QTreeView, QHBoxLayout, QVBoxLayout, QAbstractItemDelegate,
QGridLayout, QLabel, QRadioButton, QPushButton, QToolButton, QIcon, QEvent, sip)
@ -658,6 +658,8 @@ class ShortcutConfig(QWidget): # {{{
self.view.setAlternatingRowColors(True)
self.view.setHeaderHidden(True)
self.view.setAnimated(True)
self.view.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.view.customContextMenuRequested.connect(self.show_context_menu)
l.addWidget(self.view)
self.delegate = Delegate()
self.view.setItemDelegate(self.delegate)
@ -678,6 +680,12 @@ class ShortcutConfig(QWidget): # {{{
h.addWidget(self.nb), h.addWidget(self.pb)
h.setStretch(0, 100)
def show_context_menu(self, pos):
menu = QMenu(self)
menu.addAction(_('Expand all'), self.view.expandAll)
menu.addAction(_('Collapse all'), self.view.collapseAll)
menu.exec_(self.view.mapToGlobal(pos))
def restore_defaults(self):
self._model.restore_defaults()
self.changed_signal.emit()