diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-04-10 14:15:02 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-04-19 10:50:05 +0000 |
commit | 03607d6d3cf3a8568e74fad8f792375c24a19d0c (patch) | |
tree | e00099e97e62df864fcf6902b501a564cd3dfda6 /src/quicktemplates2/qquickaction.cpp | |
parent | 7da6884ae2f6d8631cef2d825eaa874151100b7b (diff) |
Add ActionGroup
[ChangeLog][Controls][ActionGroup] Introduced ActionGroup, a non-visual
group of actions that is mutually exclusive by default.
Task-number: QTBUG-50705
Change-Id: Ia33103173441ca8980341b7c94aba0db3264284d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickaction.cpp')
-rw-r--r-- | src/quicktemplates2/qquickaction.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickaction.cpp b/src/quicktemplates2/qquickaction.cpp index 06035455..10ba5f37 100644 --- a/src/quicktemplates2/qquickaction.cpp +++ b/src/quicktemplates2/qquickaction.cpp @@ -36,6 +36,7 @@ #include "qquickaction_p.h" #include "qquickaction_p_p.h" +#include "qquickactiongroup_p.h" #include "qquickshortcutcontext_p_p.h" #include "qquickicon_p.h" @@ -176,7 +177,8 @@ QQuickActionPrivate::QQuickActionPrivate() checked(false), checkable(false), icon(nullptr), - defaultShortcutEntry(nullptr) + defaultShortcutEntry(nullptr), + group(nullptr) { } @@ -338,6 +340,9 @@ QQuickAction::QQuickAction(QObject *parent) QQuickAction::~QQuickAction() { Q_D(QQuickAction); + if (d->group) + d->group->removeAction(this); + for (QQuickActionPrivate::ShortcutEntry *entry : qAsConst(d->shortcutEntries)) d->unwatchItem(qobject_cast<QQuickItem *>(entry->target())); @@ -391,7 +396,7 @@ QQuickIcon *QQuickAction::icon() const bool QQuickAction::isEnabled() const { Q_D(const QQuickAction); - return d->enabled; + return d->enabled && (!d->group || d->group->isEnabled()); } void QQuickAction::setEnabled(bool enabled) |