From 4b1798f0cdf87361869e7cf2b341acacd056c410 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 5 Apr 2017 15:04:00 +0200 Subject: Moved cpp code into src directory --- framework/actions/action.cpp | 127 ------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 framework/actions/action.cpp (limited to 'framework/actions/action.cpp') diff --git a/framework/actions/action.cpp b/framework/actions/action.cpp deleted file mode 100644 index 1344d112..00000000 --- a/framework/actions/action.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - Copyright (c) 2016 Christian Mollekopf - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Library General Public License as published by - the Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This library 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 Library General Public - License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. -*/ -#include "action.h" - -#include -#include -#include -#include -#include -#include - -#include "actionbroker.h" -#include "actionhandler.h" -#include "context.h" - -using namespace Kube; - -Action::Action(QObject *parent) - : QObject(parent), - mContext(nullptr) -{ -} - -Action::Action(const QByteArray &actionId, Context &context, QObject *parent) - : QObject(parent), - mContext(&context), - mActionId(actionId) -{ - setContext(&context); -} - -Action::~Action() -{ -} - -void Action::setContext(Context *context) -{ - //Get notified when any property changes - for (int i = context->metaObject()->propertyOffset(); i < context->metaObject()->propertyCount(); i++) { - auto property = context->metaObject()->property(i) ; - // qWarning() << "Property " << property.name() << property.hasNotifySignal() << property.notifySignal().name(); - if (QString(property.name()) != "objectName") { - //We do what SIGNAL does to connect to the changed signal automatically - QObject::connect(context, "2"+property.notifySignal().name()+"()", this, SLOT(contextChanged())); - } - } - mContext = context; - mContext->installEventFilter(this); - emit readyChanged(); -} - -bool Action::eventFilter(QObject *obj, QEvent *e) -{ - if (obj == mContext) { - if (e->type() == QEvent::DynamicPropertyChange) { - contextChanged(); - } - } - return QObject::eventFilter(obj, e); -} - -void Action::contextChanged() -{ - emit readyChanged(); -} - -Context *Action::context() const -{ - return mContext; -} - -void Action::setActionId(const QByteArray &actionId) -{ - mActionId = actionId; - emit readyChanged(); -} - -QByteArray Action::actionId() const -{ - return mActionId; -} - -bool Action::ready() const -{ - return ActionBroker::instance().isActionReady(mActionId, mContext, mPreHandler); -} - -void Action::execute() -{ - ActionBroker::instance().executeAction(mActionId, mContext, mPreHandler, mPostHandler); -} - -ActionResult Action::executeWithResult() -{ - return ActionBroker::instance().executeAction(mActionId, mContext, mPreHandler, mPostHandler); -} - -void Action::addPreHandler(ActionHandler *handler) -{ - //For cleanup - handler->setParent(this); - mPreHandler << handler; -} - -void Action::addPostHandler(ActionHandler *handler) -{ - //For cleanup - handler->setParent(this); - mPostHandler << handler; -} - -- cgit v1.2.3