C2: dismiss state machine, animation guard prevents double-dismiss
This commit is contained in:
parent
88d8842064
commit
176f8a1871
2 changed files with 10 additions and 0 deletions
|
|
@ -168,10 +168,16 @@ M.PopupPanel {
|
||||||
property bool _skipDismiss: false
|
property bool _skipDismiss: false
|
||||||
|
|
||||||
function dismiss() {
|
function dismiss() {
|
||||||
|
if (notifItem.modelData.state === "dismissing")
|
||||||
|
return;
|
||||||
|
notifItem.modelData.beginDismiss();
|
||||||
_dismissAnim.start();
|
_dismissAnim.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
function dismissVisualOnly() {
|
function dismissVisualOnly() {
|
||||||
|
if (notifItem.modelData.state === "dismissing")
|
||||||
|
return;
|
||||||
|
notifItem.modelData.beginDismiss();
|
||||||
_skipDismiss = true;
|
_skipDismiss = true;
|
||||||
_dismissAnim.start();
|
_dismissAnim.start();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,11 @@ PanelWindow {
|
||||||
property bool _fullDismiss: false
|
property bool _fullDismiss: false
|
||||||
|
|
||||||
function animateDismiss(full) {
|
function animateDismiss(full) {
|
||||||
|
if (popupItem.modelData.state === "dismissing")
|
||||||
|
return;
|
||||||
|
popupItem.modelData.beginDismiss();
|
||||||
_fullDismiss = !!full;
|
_fullDismiss = !!full;
|
||||||
|
slideIn.stop();
|
||||||
slideOut.start();
|
slideOut.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue