Commit 10e99f64 authored by Vlad Zahorodnii's avatar Vlad Zahorodnii

[effects/sheet] Grab modal windows

Summary:
If both the Glide effect and the Sheet effect are enabled,
they will conflict. Expected behavior would be:

* the Sheet effect animates only modal windows;
* the Glide effect animates the rest of normal windows.

In order to resolve the conflict, the Sheet effect has to grab
modal windows. Because it's quite specialized effect, we have
to ignore whether modal windows have been grabbed by the
Glide effect.

Test Plan:
* Enabled both the Glide effect and the Sheet effect;
* Opened Kate;
* Opened "Open file" dialog;
* Closed the dialog.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: abetts, davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14560
parent 3332b321
......@@ -137,6 +137,9 @@ void SheetEffect::slotWindowAdded(EffectWindow* w)
break;
}
}
w->setData(WindowAddedGrabRole, QVariant::fromValue(static_cast<void*>(this)));
w->addRepaintFull();
}
......@@ -168,6 +171,9 @@ void SheetEffect::slotWindowClosed(EffectWindow* w)
}
if (!found)
info->parentY = 0;
w->setData(WindowClosedGrabRole, QVariant::fromValue(static_cast<void*>(this)));
w->addRepaintFull();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment