@@ -190,7 +190,7 @@ FocusScope {
190190 available: !greeter.shown && !lockscreen.shown
191191 hides: [stages, launcher, panel.indicators]
192192 shown: disappearingAnimationProgress !== 1.0
193− enabled: disappearingAnimationProgress === 0.0 && !leftEdgeDemo.active && !topEdgeDemo.active
193+ enabled: disappearingAnimationProgress === 0.0 && !leftEdgeDemo.active && !topEdgeDemo.active && !finalEdgeDemo.active
194194 // FIXME: unfocus all applications when going back to the dash
195195 onEnabledChanged: {
196196 if (enabled) {
@@ -258,12 +258,7 @@ FocusScope {
258258
259259 Connections {
260260 target: launcher
261− onProgressChanged: {
262− if (leftEdgeDemo.active && launcher.progress >= 1.0) {
263− leftEdgeDemo.enabled = false;
264− shell.hideEdgeDemo();
265− }
266− }
261+ onProgressChanged: if (launcher.progress >= 1.0) leftEdgeDemo.enabled = false
267262 }
268263 }
269264 }
@@ -513,7 +508,7 @@ FocusScope {
513508 shell.background = bgPath ? bgPath : defaultBackground
514509 // Update edge demo hint
515510 var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole)
516− shell.showEdgeDemo = AccountsService.getUserProperty(user, "demo-edges")
511+ shell.showEdgeDemo = true //AccountsService.getUserProperty(user, "demo-edges")
517512 }
518513
519514 onLeftTeaserPressedChanged: {
@@ -528,6 +523,7 @@ FocusScope {
528523 edge: "right"
529524 title: i18n.tr("Right edge")
530525 text: i18n.tr("Try swiping from the right edge to unlock the phone")
526+ skipText: i18n.tr("Finish")
531527 anchors.fill: parent
532528 visible: shell.showEdgeDemoInGreeter
533529 onSkip: {
@@ -602,7 +598,7 @@ FocusScope {
602598 indicatorsMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
603599 indicators {
604600 hides: [launcher]
605− available: !rightEdgeDemo.active && !leftEdgeDemo.active
601+ available: !rightEdgeDemo.active && !leftEdgeDemo.active && !finalEdgeDemo.active
606602 }
607603 fullscreenMode: shell.fullscreenMode
608604 searchVisible: !greeter.shown && !lockscreen.shown
@@ -695,7 +691,7 @@ FocusScope {
695691 anchors.bottom: parent.bottom
696692 width: parent.width
697693 dragAreaWidth: shell.edgeSize
698− available: !greeter.shown || greeter.narrowMode && !rightEdgeDemo.active && !topEdgeDemo.active && !bottomEdgeDemo.active
694+ available: (!greeter.shown || greeter.narrowMode) && !rightEdgeDemo.active && !topEdgeDemo.active && !bottomEdgeDemo.active && !finalEdgeDemo.active
699695 onDashItemSelected: {
700696 greeter.hide()
701697 // Animate if moving between application and dash
@@ -753,6 +749,27 @@ FocusScope {
753749 }
754750 }
755751
752+ DemoOverlay {
753+ id: finalEdgeDemo
754+
755+ edge: "none"
756+ title: i18n.tr("Well done")
757+ text: i18n.tr("You have now mastered the edge gestures and can start using the phone")
758+ skipText: i18n.tr("Finish")
759+ anchors.fill: overlay
760+ visible: false
761+ enabled: shell.showEdgeDemo
762+ onSkip: {
763+ launcher.hide();
764+ shell.hideEdgeDemo();
765+ }
766+
767+ Connections {
768+ target: leftEdgeDemo
769+ onActiveChanged: if (!leftEdgeDemo.active) finalEdgeDemo.visible = true
770+ }
771+ }
772+
756773 focus: true
757774
758775 InputFilterArea {