Git commit 6d99cf65b43c89d45f414fd01880e5095a1c3a29 by David Edmundson. Committed on 31/07/2018 at 20:28. Pushed by davidedmundson into branch 'scripting2'. adsasdf M +2 -90 scripting/scriptedeffect.cpp M +1 -0 scripting/scriptedeffect.h https://commits.kde.org/kwin/6d99cf65b43c89d45f414fd01880e5095a1c3a29 diff --git a/scripting/scriptedeffect.cpp b/scripting/scriptedeffect.cpp index 80d75ff6e..efd15a993 100644 --- a/scripting/scriptedeffect.cpp +++ b/scripting/scriptedeffect.cpp @@ -101,94 +101,6 @@ AnimationSettings animationSettingsFromObject(const QJ= SValue &object) return settings; } = -QJSValue kwinEffectAnimate(QScriptContext *context, QJSEngine *engine) -{ - // ScriptedEffect *effect =3D qobject_cast(context= ->callee().data().toQObject()); - // EffectWindow *window; - // QList settings =3D animationSettings(context,= effect, &window); - // if (settings.empty()) { - // context->createError(QScriptContext::TypeError, QStringLiter= al("No animations provided")); - // return QJSValue(); - // } - // if (!window) { - // context->createError(QScriptContext::TypeError, QStringLiter= al("Window property does not contain an EffectWindow")); - // return QJSValue(); - // } - - // QJSValue array =3D engine->newArray(settings.length()); - // int i =3D 0; - // foreach (const AnimationSettings &setting, settings) { - // array.setProperty(i, (uint)effect->animate(window, - // setting.type, - // setting.duration, - // setting.to, - // setting.from, - // setting.metaData, - // setting.curve, - // setting.delay)); - // ++i; - // } - // return array; - return QJSValue(); -} - - -QJSValue kwinEffectSet(QScriptContext *context, QJSEngine *engine) -{ - return QJSValue(); - - - // ScriptedEffect *effect =3D qobject_cast(context= ->callee().data().toQObject()); - - // EffectWindow *window; - // QList settings =3D animationSettings(context,= effect, &window); - // if (settings.empty()) { - // context->createError(QScriptContext::TypeError, QStringLiter= al("No animations provided")); - // return QJSValue(); - // } - // if (!window) { - // context->createError(QScriptContext::TypeError, QStringLiter= al("Window property does not contain an EffectWindow")); - // return QJSValue(); - // } - - // QList animIds; - // foreach (const AnimationSettings &setting, settings) { - // animIds << QVariant(effect->set(window, - // setting.type, - // setting.duration, - // setting.to, - // setting.from, - // setting.metaData, - // setting.curve, - // setting.delay)); - // } - - // return engine->newVariant(animIds); -} - -QList animations(const QVariant &v, bool *ok) -{ - QList animIds; - *ok =3D false; - if (v.isValid()) { - quint64 animId =3D v.toULongLong(ok); - if (*ok) - animIds << animId; - } - if (!*ok) { // may still be a variantlist of variants being quint64 - QList list =3D v.toList(); - if (!list.isEmpty()) { - foreach (const QVariant &vv, list) { - quint64 animId =3D vv.toULongLong(ok); - if (*ok) - animIds << animId; - } - *ok =3D !animIds.isEmpty(); - } - } - return animIds; -} - KWin::FPx2 fpx2FromScriptValue(const QJSValue &value) { if (value.isNull()) { @@ -421,8 +333,8 @@ QJSValue ScriptedEffect::setGlobal(const QJSValue &obje= ct) return startAnimation(object, true); } = -QJSValue createError(const QString &error) { - return QJSValue(); +QJSValue ScriptedEffect::createError(const QString &errorMessage) { + return m_engine->evaluate(QString("new Error('%1');").arg(errorMessage= )); } = QJSValue ScriptedEffect::startAnimation(const QJSValue &object, bool setti= ngPersists) diff --git a/scripting/scriptedeffect.h b/scripting/scriptedeffect.h index 8d70fa693..f5a3dfa45 100644 --- a/scripting/scriptedeffect.h +++ b/scripting/scriptedeffect.h @@ -138,6 +138,7 @@ protected: private: //wrapper round animateGlobal/setGlobal that parses the animations blo= b. QJSValue startAnimation(const QJSValue &object, bool settingPersists); + QJSValue createError(const QString &errorMessage); QJSEngine *m_engine; QString m_effectName; QString m_scriptFile;