diff options
author | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2012-09-14 16:54:28 -0300 |
---|---|---|
committer | Renato Araujo Oliveira Filho <renato.filho@canonical.com> | 2012-09-14 16:54:28 -0300 |
commit | 759356c47bdd7fd62775d604e910b358d43f059f (patch) | |
tree | 1dc86957b5f5f76be3ee99e0fc67e7242ee15e79 /src/common/qstateaction.cpp | |
parent | ebe349e1d96b28e31c29b3e563da1a65fb176e39 (diff) | |
download | qmenumodel-759356c47bdd7fd62775d604e910b358d43f059f.tar.gz qmenumodel-759356c47bdd7fd62775d604e910b358d43f059f.tar.bz2 qmenumodel-759356c47bdd7fd62775d604e910b358d43f059f.zip |
Fixed action state initialization.
Diffstat (limited to 'src/common/qstateaction.cpp')
-rw-r--r-- | src/common/qstateaction.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/common/qstateaction.cpp b/src/common/qstateaction.cpp index 1369bfc..3629fce 100644 --- a/src/common/qstateaction.cpp +++ b/src/common/qstateaction.cpp @@ -58,8 +58,16 @@ QStateAction::QStateAction(QDBusActionGroup *group, const QString &name) this, SLOT(onActionAppear(QString))); QObject::connect(m_group, SIGNAL(actionVanish(QString)), this, SLOT(onActionVanish(QString))); - QObject::connect(m_group, SIGNAL(actionStateUpdated(QString,QVariant)), - this, SLOT(onActionStateUpdate(QString,QVariant))); + QObject::connect(m_group, SIGNAL(actionStateChanged(QString,QVariant)), + this, SLOT(onActionStateChanged(QString,QVariant))); + + + + bool isValid = m_group->hasAction(name); + setValid(isValid); + if (isValid) { + setState(m_group->actionState(name)); + } } /*! @@ -111,25 +119,27 @@ void QStateAction::onTriggered() } /*! \internal */ -void QStateAction::onActionAppear(const QString &actionName) +void QStateAction::onActionAppear(const QString &name) { - if (text() == actionName) { + if (text() == name) { + setState(m_group->actionState(name)); setValid(true); } } /*! \internal */ -void QStateAction::onActionVanish(const QString &actionName) +void QStateAction::onActionVanish(const QString &name) { - if (text() == actionName) { + if (text() == name) { + setState(QVariant()); setValid(false); } } /*! \internal */ -void QStateAction::onActionStateUpdate(const QString &actionName, const QVariant &state) +void QStateAction::onActionStateChanged(const QString &name, const QVariant &state) { - if (text() == actionName) { + if (text() == name) { setState(state); } } |