aboutsummaryrefslogtreecommitdiff
path: root/src/common/qstateaction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/qstateaction.cpp')
-rw-r--r--src/common/qstateaction.cpp145
1 files changed, 0 insertions, 145 deletions
diff --git a/src/common/qstateaction.cpp b/src/common/qstateaction.cpp
deleted file mode 100644
index 3629fce..0000000
--- a/src/common/qstateaction.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 2012 Canonical Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Renato Araujo Oliveira Filho <renato@canonical.com>
- */
-
-#include "qstateaction.h"
-
-#include "qdbusactiongroup.h"
-
-/*!
- \qmlclass QStateAction
- \inherits QAction
-
- \brief A QStateAction implementation to be used with \l QDBusActionGroup
-
- \bold {This component is under heavy development.}
-
- This class can be used as a proxy for an action that is exported over D-Bus
-
- \code
- QDBusActionGroup {
- id: actionGroup
- busType: 1
- busName: "com.ubuntu.menu"
- objectPath: "com/ubuntu/menu/actions"
- }
-
- Button {
- visible: actionGroup.getAction("button.bvisible").status
- }
- \endcode
-*/
-
-/*! \internal */
-QStateAction::QStateAction(QDBusActionGroup *group, const QString &name)
- : QAction(name, group),
- m_group(group)
-{
- QObject::connect(this, SIGNAL(triggered()), this, SLOT(onTriggered()));
-
- // This keep the code clean
- // But maybe we need move the action state control to QActionGroup to optimizations
- QObject::connect(m_group, SIGNAL(actionAppear(QString)),
- this, SLOT(onActionAppear(QString)));
- QObject::connect(m_group, SIGNAL(actionVanish(QString)),
- this, SLOT(onActionVanish(QString)));
- 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));
- }
-}
-
-/*!
- \qmlproperty int QStateAction::state
- This property holds the current action state
-*/
-QVariant QStateAction::state() const
-{
- return m_state;
-}
-
-/*!
- \qmlproperty int QStateAction::isValid
- This property return if the current Action is valid or not
- A valid Action is a action which has a DBus action linked
-*/
-bool QStateAction::isValid() const
-{
- return m_valid;
-}
-
-void QStateAction::updateState(const QVariant &state)
-{
- m_group->updateActionState(text(), state);
-}
-
-/*! \internal */
-void QStateAction::setValid(bool valid)
-{
- if (m_valid != valid) {
- m_valid = valid;
- Q_EMIT validChanged(m_valid);
- }
-}
-
-/*! \internal */
-void QStateAction::setState(const QVariant &state)
-{
- if (m_state != state) {
- m_state = state;
- Q_EMIT stateChanged(m_state);
- }
-}
-
-/*! \internal */
-void QStateAction::onTriggered()
-{
- updateState(QVariant());
-}
-
-/*! \internal */
-void QStateAction::onActionAppear(const QString &name)
-{
- if (text() == name) {
- setState(m_group->actionState(name));
- setValid(true);
- }
-}
-
-/*! \internal */
-void QStateAction::onActionVanish(const QString &name)
-{
- if (text() == name) {
- setState(QVariant());
- setValid(false);
- }
-}
-
-/*! \internal */
-void QStateAction::onActionStateChanged(const QString &name, const QVariant &state)
-{
- if (text() == name) {
- setState(state);
- }
-}