Missing method for activity deletion from plasma script added

Summary:
We have a method to add an activity in plasma script, but
not to remove it. This patch fixes this situation.

Reviewers: garg, davidedmundson, mart

Reviewed By: davidedmundson, mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D2251
wilder-5.14
Ivan Čukić 10 years ago
parent d0a211005d
commit 5d5f37798e
  1. 17
      shell/scripting/scriptengine.cpp
  2. 1
      shell/scripting/scriptengine.h

@ -189,6 +189,22 @@ QScriptValue ScriptEngine::desktopForScreen(QScriptContext *context, QScriptEngi
return env->wrap(env->m_corona->containmentForScreen(screen));
}
QScriptValue ScriptEngine::removeActivity(QScriptContext *context, QScriptEngine *engine)
{
if (context->argumentCount() < 0) {
return context->throwError(i18n("removeActivity required the activity id"));
}
const auto id = context->argument(0).toString();
KActivities::Controller controller;
const auto result = controller.removeActivity(id);
awaitFuture(result);
return QScriptValue();
}
QScriptValue ScriptEngine::createActivity(QScriptContext *context, QScriptEngine *engine)
{
if (context->argumentCount() < 0) {
@ -818,6 +834,7 @@ void ScriptEngine::setupEngine()
m_scriptSelf.setProperty(QStringLiteral("QRectF"), constructQRectFClass(this));
m_scriptSelf.setProperty(QStringLiteral("createActivity"), newFunction(ScriptEngine::createActivity));
m_scriptSelf.setProperty(QStringLiteral("removeActivity"), newFunction(ScriptEngine::removeActivity));
m_scriptSelf.setProperty(QStringLiteral("setCurrentActivity"), newFunction(ScriptEngine::setCurrentActivity));
m_scriptSelf.setProperty(QStringLiteral("currentActivity"), newFunction(ScriptEngine::currentActivity));
m_scriptSelf.setProperty(QStringLiteral("activities"), newFunction(ScriptEngine::activities));

@ -74,6 +74,7 @@ private:
static QStringList availableActivities(QScriptContext *context, QScriptEngine *engine);
static QScriptValue createActivity(QScriptContext *context, QScriptEngine *engine);
static QScriptValue removeActivity(QScriptContext *context, QScriptEngine *engine);
static QScriptValue setCurrentActivity(QScriptContext *context, QScriptEngine *engine);
static QScriptValue currentActivity(QScriptContext *controller, QScriptEngine *engine);
static QScriptValue activities(QScriptContext *context, QScriptEngine *engine);

Loading…
Cancel
Save