@@ -74,7 +74,7 @@ Item {
74 readonly property bool skipped: (root.usageScenario !== "phone"
74 readonly property bool skipped: (root.usageScenario !== "phone"
75 && root.usageScenario !== "tablet")
75 && root.usageScenario !== "tablet")
76 || AccountsService.demoEdgesCompleted.indexOf("top") != -1
76 || AccountsService.demoEdgesCompleted.indexOf("top") != -1
77− isReady: tutorialLeft.skipped && !skipped && !paused && !keyboardVisible
77+ isReady: tutorialLeft.skipped && !skipped && !paused && !keyboardVisible && !tutorialBottom.shown
80 id: tutorialTopTimer
80 id: tutorialTopTimer
@@ -103,7 +103,8 @@ Item {
103 paused: root.paused
103 paused: root.paused
105 readonly property bool skipped: AccountsService.demoEdgesCompleted.indexOf("right") != -1
105 readonly property bool skipped: AccountsService.demoEdgesCompleted.indexOf("right") != -1
106− isReady: tutorialTop.skipped && !skipped && !paused && !keyboardVisible && ApplicationManager.count >= 3
106+ isReady: tutorialTop.skipped && !skipped && !paused && !keyboardVisible && !tutorialBottom.shown &&
107+ ApplicationManager.count >= 3
109 id: tutorialRightTimer
110 id: tutorialRightTimer
@@ -119,10 +120,7 @@ Item {
120 onSkippedChanged: if (skipped && shown) hide()
121 onSkippedChanged: if (skipped && shown) hide()
121 onIsReadyChanged: if (isReady && !shown) tutorialRightTimer.start()
122 onIsReadyChanged: if (isReady && !shown) tutorialRightTimer.start()
123− AccountsService.markDemoEdgeCompleted("right");
123+ onFinished: AccountsService.markDemoEdgeCompleted("right")
128 TutorialBottom {
126 TutorialBottom {
@@ -135,30 +133,16 @@ Item {
135 readonly property bool skipped: (root.usageScenario !== "phone"
133 readonly property bool skipped: (root.usageScenario !== "phone"
136 && root.usageScenario !== "tablet")
134 && root.usageScenario !== "tablet")
137 || AccountsService.demoEdgesCompleted.indexOf("bottom") != -1
135 || AccountsService.demoEdgesCompleted.indexOf("bottom") != -1
138− isReady: false /* tutorialRight.skipped && !skipped && !paused && !keyboardVisible &&
136+ isReady: !skipped && !paused && !keyboardVisible && !tutorialTop.shown && !tutorialRight.shown &&
139 // focused app is an app known to have a bottom edge
137 // focused app is an app known to have a bottom edge
140 (ApplicationManager.focusedApplicationId == "dialer-app" ||
138 (ApplicationManager.focusedApplicationId == "dialer-app" ||
141− ApplicationManager.focusedApplicationId == "webbrowser-app" ||
142 ApplicationManager.focusedApplicationId == "messaging-app" ||
139 ApplicationManager.focusedApplicationId == "messaging-app" ||
143 ApplicationManager.focusedApplicationId == "address-book-app" ||
140 ApplicationManager.focusedApplicationId == "address-book-app" ||
144− ApplicationManager.focusedApplicationId == "camera-app" ||
145 ApplicationManager.focusedApplicationId == "ubuntu-calculator-app" ||
141 ApplicationManager.focusedApplicationId == "ubuntu-calculator-app" ||
146− ApplicationManager.focusedApplicationId == "ubuntu-clock-app") */
142+ ApplicationManager.focusedApplicationId == "ubuntu-clock-app")
149− id: tutorialBottomTimer
150− objectName: "tutorialBottomTimer"
152− onTriggered: if (tutorialBottom.isReady && !tutorialBottom.shown) tutorialBottom.show()
156− target: ApplicationManager
157− onApplicationAdded: if (tutorialBottom.isReady && !tutorialBottom.shown) tutorialBottom.show()
160 onSkippedChanged: if (skipped && shown) hide()
144 onSkippedChanged: if (skipped && shown) hide()
161− //onIsReadyChanged: if (isReady && !shown) tutorialBottomTimer.start()
145+ onIsReadyChanged: if (isReady && !shown) show()
162 onFinished: {
146 onFinished: {
163 AccountsService.markDemoEdgeCompleted("bottom");
147 AccountsService.markDemoEdgeCompleted("bottom");
164 root.finish();
148 root.finish();