21 :
Superclass(parent), m_key(key), m_action(action) {
28 QObject::connect(
m_shortcut, &QShortcut::activated,
this,
46 Qt::ShortcutContext contextArea) {
51 if (qobject_cast<QWidget*>(
m_shortcut->parent()) == contextWidget) {
60 if (contextArea == Qt::ApplicationShortcut) {
67 QObject::connect(
m_shortcut, &QShortcut::activated,
this,
70 QObject::connect(
m_shortcut, &QShortcut::activated,
85 if (!contextWidget && contextArea != Qt::ApplicationShortcut) {
96 QObject::connect(
m_shortcut, &QShortcut::activated,
this,
126 if ((ctxt == Qt::WidgetShortcut ||
127 ctxt == Qt::WidgetWithChildrenShortcut) &&
129 auto* parent =
dynamic_cast<QWidget*
>(
m_shortcut->parent());
131 parent->setFocus(Qt::OtherFocusReason);
void setEnabled(bool shouldEnable, bool changeFocus=true)
ecvModalShortcut(const QKeySequence &key, QAction *action=nullptr, QWidget *parent=nullptr)
QPointer< QAction > m_action
~ecvModalShortcut() override
QPointer< QShortcut > m_shortcut
void setContextWidget(QWidget *contextWidget, Qt::ShortcutContext contextArea=Qt::WindowShortcut)
QKeySequence keySequence() const