Make desktop grid effect check for active effects before responding to gestures

This commit is contained in:
Eric Edlund 2022-02-23 15:04:12 -05:00 committed by Marco Martin
parent 5cf8db26ec
commit 7a6792aa2f

View file

@ -67,6 +67,9 @@ DesktopGridEffect::DesktopGridEffect()
QAction* a = m_gestureAction;
connect(a, &QAction::triggered, this, [this]() {
if (effects->hasActiveFullScreenEffect() && effects->activeFullScreenEffect() != this) {
return;
}
if ((qreal(timeline.currentTime()) / qreal(timeline.duration())) > 0.5) {
if (effects->isScreenLocked()) {
return;
@ -83,7 +86,12 @@ DesktopGridEffect::DesktopGridEffect()
}
});
effects->registerRealtimeTouchpadPinchShortcut(PinchDirection::Contracting, 4, a, [this](qreal cb) {
if (activated) return;
if (activated) {
return;
}
if (effects->hasActiveFullScreenEffect() && effects->activeFullScreenEffect() != this) {
return;
}
if (timeline.currentValue() == 0) {
activated = true;
@ -102,7 +110,6 @@ DesktopGridEffect::DesktopGridEffect()
setup();
activated = false;
}
timeline.setCurrentTime(timeline.duration() * cb);
effects->addRepaintFull();
});