[scripting] Propagate fullScreenEffect from global settings to local settings

Test Plan: Ran the test.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D16097
remotes/origin/davidedmundson/faster_props
Vlad Zagorodniy 8 years ago
parent 51a727fc6b
commit b9653b4e95
  1. 1
      autotests/integration/effects/scripted_effects_test.cpp
  2. 21
      autotests/integration/effects/scripts/fullScreenEffectTestGlobal.js
  3. 3
      scripting/scriptedeffect.cpp

@ -360,6 +360,7 @@ void ScriptedEffectsTest::testFullScreenEffect_data()
QTest::newRow("single") << "fullScreenEffectTest";
QTest::newRow("multi") << "fullScreenEffectTestMulti";
QTest::newRow("global") << "fullScreenEffectTestGlobal";
}
void ScriptedEffectsTest::testFullScreenEffect()

@ -0,0 +1,21 @@
effects['desktopChanged(int,int)'].connect(function(old, current) {
var stackingOrder = effects.stackingOrder;
for (var i=0; i<stackingOrder.length; i++) {
var w = stackingOrder[i];
//1 second long random animation, marked as fullscreen
w.anim1 = animate({
window: w,
duration: 1000,
fullScreen: true,
animations: [{
type: Effect.Scale,
curve: Effect.GaussianCurve,
to: 1.4
}, {
type: Effect.Opacity,
curve: Effect.GaussianCurve,
to: 0.0
}]
});
}
});

@ -227,6 +227,9 @@ QList<AnimationSettings> animationSettings(QScriptContext *context, ScriptedEffe
if (!(s.set & AnimationSettings::Delay)) {
s.delay = settings.at(0).delay;
}
if (!(s.set & AnimationSettings::FullScreen)) {
s.fullScreenEffect = settings.at(0).fullScreenEffect;
}
s.metaData = 0;
typedef QMap<AnimationEffect::MetaType, QString> MetaTypeMap;

Loading…
Cancel
Save