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 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 @@ def __init__(self, parent=None):
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 @@ def __init__(self, parent=None):
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()