on xenial help sign in
Prevent Drawer focus from flapping during transitions
5f84782Dalton Durst
qml/Launcher/Launcher.qml+15−4
@@ -1,5 +1,6 @@
1/*
1/*
2 * Copyright (C) 2013-2015 Canonical, Ltd.
2 * Copyright (C) 2013-2015 Canonical, Ltd.
3+ * Copyright (C) 2021 UBports Foundation
3 *
4 *
4 * This program is free software; you can redistribute it and/or modify
5 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * it under the terms of the GNU General Public License as published by
@@ -566,10 +567,12 @@ FocusScope {
566 name: "" // hidden state. Must be the default state ("") because "when:" falls back to this.
567 name: "" // hidden state. Must be the default state ("") because "when:" falls back to this.
567 PropertyChanges {
568 PropertyChanges {
568 target: panel
569 target: panel
570+ restoreEntryValues: false
569 x: -root.panelWidth
571 x: -root.panelWidth
570 }
572 }
571 PropertyChanges {
573 PropertyChanges {
572 target: drawer
574 target: drawer
575+ restoreEntryValues: false
573 anchors.rightMargin: 0
576 anchors.rightMargin: 0
574 focus: false
577 focus: false
575 }
578 }
@@ -578,32 +581,38 @@ FocusScope {
578 name: "visible"
581 name: "visible"
579 PropertyChanges {
582 PropertyChanges {
580 target: panel
583 target: panel
584+ restoreEntryValues: false
581 x: -root.x // so we never go past panelWidth, even when teased by tutorial
585 x: -root.x // so we never go past panelWidth, even when teased by tutorial
582 focus: true
586 focus: true
583 }
587 }
584 PropertyChanges {
588 PropertyChanges {
585 target: drawer
589 target: drawer
590+ restoreEntryValues: false
586 anchors.rightMargin: 0
591 anchors.rightMargin: 0
587 focus: false
592 focus: false
588 }
593 }
589 },
594 },
590 State {
595 State {
591 name: "drawer"
596 name: "drawer"
592− extend: "visible"
597+ PropertyChanges {
598+ target: panel
599+ restoreEntryValues: false
600+ x: -root.x // so we never go past panelWidth, even when teased by tutorial
601+ focus: false
602+ }
593 PropertyChanges {
603 PropertyChanges {
594 target: drawer
604 target: drawer
605+ restoreEntryValues: false
595 anchors.rightMargin: -drawer.width + root.x // so we never go past panelWidth, even when teased by tutorial
606 anchors.rightMargin: -drawer.width + root.x // so we never go past panelWidth, even when teased by tutorial
596 focus: true
607 focus: true
597 }
608 }
598− PropertyChanges {
599− target: panel
600− }
601 },
609 },
602 State {
610 State {
603 name: "visibleTemporary"
611 name: "visibleTemporary"
604 extend: "visible"
612 extend: "visible"
605 PropertyChanges {
613 PropertyChanges {
606 target: root
614 target: root
615+ restoreEntryValues: false
607 autohideEnabled: true
616 autohideEnabled: true
608 }
617 }
609 },
618 },
@@ -612,6 +621,7 @@ FocusScope {
612 when: teaseTimer.running && teaseTimer.mode == "teasing"
621 when: teaseTimer.running && teaseTimer.mode == "teasing"
613 PropertyChanges {
622 PropertyChanges {
614 target: panel
623 target: panel
624+ restoreEntryValues: false
615 x: -root.panelWidth + units.gu(2)
625 x: -root.panelWidth + units.gu(2)
616 }
626 }
617 },
627 },
@@ -620,6 +630,7 @@ FocusScope {
620 when: teaseTimer.running && teaseTimer.mode == "hinting"
630 when: teaseTimer.running && teaseTimer.mode == "hinting"
621 PropertyChanges {
631 PropertyChanges {
622 target: panel
632 target: panel
633+ restoreEntryValues: false
623 x: 0
634 x: 0
624 }
635 }
625 }
636 }