on xenial help sign in
Fix long left being disabled; fix timers continuing while greeter is up; fix left timer starting on startup
cefe231Michael Terry
qml/Notifications/Notifications.qml+1
@@ -26,6 +26,7 @@ ListView {
26 objectName: "notificationList"
26 objectName: "notificationList"
27 interactive: false
27 interactive: false
28
28
29+ readonly property bool hasNotification: count > 1 // placeholder is index 0
29 property real margin
30 property real margin
30 property bool useModal: snapDecisionProxyModel.count > 0
31 property bool useModal: snapDecisionProxyModel.count > 0
31 property bool hasMouse
32 property bool hasMouse
qml/Shell.qml+5−4
@@ -312,7 +312,7 @@ Item {
312 Binding {
312 Binding {
313 target: applicationsDisplayLoader.item
313 target: applicationsDisplayLoader.item
314 property: "inverseProgress"
314 property: "inverseProgress"
315− value: greeter && greeter.locked ? 0 : launcher.progress
315+ value: !greeter || greeter.locked || !tutorial.launcherLongSwipeEnabled ? 0 : launcher.progress
316 }
316 }
317 Binding {
317 Binding {
318 target: applicationsDisplayLoader.item
318 target: applicationsDisplayLoader.item
@@ -616,9 +616,10 @@ Item {
616 objectName: "tutorial"
616 objectName: "tutorial"
617 anchors.fill: parent
617 anchors.fill: parent
618
618
619− paused: callManager.hasCalls || greeter.shown
619+ paused: callManager.hasCalls || !greeter || greeter.shown
620− delayed: dialogs.hasActiveDialog || notifications.count > 0 ||
620+ delayed: dialogs.hasActiveDialog || notifications.hasNotification ||
621− inputMethod.state === "shown"
621+ inputMethod.state === "shown" || launcher.shown ||
622+ panel.indicators.shown
622 usageScenario: shell.usageScenario
623 usageScenario: shell.usageScenario
623 lastInputTimestamp: inputFilter.lastInputTimestamp
624 lastInputTimestamp: inputFilter.lastInputTimestamp
624 launcher: launcher
625 launcher: launcher
qml/Tutorial/InactivityTimer.qml+9−1
@@ -26,7 +26,9 @@ Item {
26 property int lastInputTimestamp
26 property int lastInputTimestamp
27
27
28 function start() {
28 function start() {
29+ if (!delayTimer.running && !inactivityTimer.running) {
29− delayTimer.start();
30+ delayTimer.start();
31+ }
30 }
32 }
31
33
32 ////
34 ////
@@ -44,6 +46,12 @@ Item {
44 inactivityTimer.restart();
46 inactivityTimer.restart();
45 }
47 }
46 }
48 }
49+ onPausedChanged: {
50+ if (root.paused) {
51+ delayTimer.stop();
52+ inactivityTimer.stop();
53+ }
54+ }
47 }
55 }
48
56
49 Timer {
57 Timer {
qml/Tutorial/TutorialContent.qml+2−2
@@ -26,8 +26,8 @@ Item {
26 property Item panel
26 property Item panel
27 property Item stage
27 property Item stage
28 property string usageScenario
28 property string usageScenario
29− property bool paused
29+ property bool paused: true // default to true so that we won't start until top level is all ready
30− property bool delayed
30+ property bool delayed: true // same
31 property var lastInputTimestamp
31 property var lastInputTimestamp
32
32
33 readonly property bool launcherEnabled: !running
33 readonly property bool launcherEnabled: !running
qml/Tutorial/TutorialLeftLong.qml+3−1
@@ -23,7 +23,9 @@ TutorialPage {
23
23
24 property var launcher
24 property var launcher
25
25
26+ // Unlike other tutorials, this one can't be skipped before we show it, so
27+ // only set opacityOverride if we're already shown.
26− opacityOverride: 1 - launcher.dragDistance / launcher.minimizeDistance
28+ opacityOverride: shown ? 1 - launcher.dragDistance / launcher.minimizeDistance : 1
27
29
28 mouseArea {
30 mouseArea {
29 anchors.leftMargin: launcher.dragAreaWidth
31 anchors.leftMargin: launcher.dragAreaWidth