[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
This commit is contained in:
parent
3332b32101
commit
10e99f64c1
1 changed files with 6 additions and 0 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue