@@ -493,118 +493,104 @@ Item {
493493 Rectangle {
494494 anchors.fill: parent
495495 color: "black"
496− opacity: greeterWrapper.showProgress * 0.8
496+ opacity: greeter.showProgress * 0.8
497497 }
498498
499− Item {
500− // Just a tiny wrapper to adjust greeter's x without messing with its own dragging
501− id: greeterWrapper
502− objectName: "greeterWrapper"
503− x: greeter.narrowMode ? launcher.progress : 0
499+ Greeter {
500+ id: greeter
501+ objectName: "greeter"
502+
503+ property string lockedApp: ""
504+ property bool hasLockedApp: lockedApp !== ""
505+
506+ available: true
507+ hides: [launcher, panel.indicators]
508+ shown: true
509+ loadContent: required || lockscreen.required // keeps content in memory for quick show()
510+ launcherOffset: narrowMode ? launcher.progress : 0
511+
512+ locked: shell.locked
513+
514+ background: shell.background
515+
504516 y: panel.panelHeight
505517 width: parent.width
506518 height: parent.height - panel.panelHeight
507519
508− Behavior on x {
509− enabled: !launcher.dashSwipe
510− StandardAnimation {}
511− }
520+ dragHandleWidth: shell.edgeSize
512521
513522 property bool fullyShown: showProgress === 1.0
514523 onFullyShownChanged: {
515524 // Wait until the greeter is completely covering lockscreen before resetting it.
516− if (greeter.narrowMode && fullyShown && !LightDM.Greeter.authenticated) {
525+ if (narrowMode && fullyShown && !LightDM.Greeter.authenticated) {
517526 lockscreen.reset();
518527 lockscreen.maybeShow();
519528 }
520529 }
521530
522− readonly property real showProgress: MathUtils.clamp((1 - x/width) + greeter.showProgress - 1, 0, 1)
523531 onShowProgressChanged: {
524532 if (showProgress === 0) {
525533 if ((LightDM.Greeter.promptless && LightDM.Greeter.authenticated) || shell.forcedUnlock) {
526534 greeter.login()
527− } else if (greeter.narrowMode) {
535+ } else if (narrowMode) {
528536 lockscreen.clear(false) // to reset focus if necessary
529537 }
530538 }
531539 }
532540
533− Greeter {
534− id: greeter
535− objectName: "greeter"
536−
537− property string lockedApp: ""
538− property bool hasLockedApp: lockedApp !== ""
539−
540− available: true
541− hides: [launcher, panel.indicators]
542− shown: true
543− loadContent: required || lockscreen.required // keeps content in memory for quick show()
544−
545− locked: shell.locked
546−
547− background: shell.background
548−
549− width: parent.width
550− height: parent.height
551−
552− dragHandleWidth: shell.edgeSize
553−
554− onSessionStarted: {
555− hide();
556− lockscreen.hide();
557− launcher.hide();
558− }
541+ onSessionStarted: {
542+ hide();
543+ lockscreen.hide();
544+ launcher.hide();
545+ }
559546
560− function startUnlock() {
561− if (narrowMode) {
562− if (!LightDM.Greeter.authenticated) {
563− lockscreen.maybeShow()
564− }
565− hide()
566− } else {
567− show()
568− tryToUnlock()
547+ function startUnlock() {
548+ if (narrowMode) {
549+ if (!LightDM.Greeter.authenticated) {
550+ lockscreen.maybeShow()
569551 }
552+ hide()
553+ } else {
554+ show()
555+ tryToUnlock()
570556 }
557+ }
571558
572− onShownChanged: {
573− if (shown) {
574− // Disable everything so that user can't swipe greeter or
575− // launcher until we get first prompt/authenticate, which
576− // will re-enable the shell.
577− shell.enabled = false;
578−
579− if (greeter.narrowMode) {
580− LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
581− } else {
582− reset()
583− }
584− greeter.lockedApp = "";
585− greeter.forceActiveFocus();
559+ onShownChanged: {
560+ if (shown) {
561+ // Disable everything so that user can't swipe greeter or
562+ // launcher until we get first prompt/authenticate, which
563+ // will re-enable the shell.
564+ shell.enabled = false;
565+
566+ if (greeter.narrowMode) {
567+ LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
568+ } else {
569+ reset()
586570 }
571+ greeter.lockedApp = "";
572+ greeter.forceActiveFocus();
587573 }
574+ }
588575
589− Component.onCompleted: {
590− Connectivity.unlockAllModems()
591− }
576+ Component.onCompleted: {
577+ Connectivity.unlockAllModems()
578+ }
592579
593− onUnlocked: greeter.hide()
594− onSelected: {
595− // Update launcher items for new user
596− var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole);
597− AccountsService.user = user;
598− LauncherModel.setUser(user);
599− }
580+ onUnlocked: greeter.hide()
581+ onSelected: {
582+ // Update launcher items for new user
583+ var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole);
584+ AccountsService.user = user;
585+ LauncherModel.setUser(user);
586+ }
600587
601− onTease: launcher.tease()
588+ onTease: launcher.tease()
602589
603− Binding {
604− target: ApplicationManager
605− property: "suspended"
606− value: (greeter.shown && greeterWrapper.showProgress == 1) || lockscreen.shown
607− }
590+ Binding {
591+ target: ApplicationManager
592+ property: "suspended"
593+ value: (greeter.shown && greeter.showProgress == 1) || lockscreen.shown
608594 }
609595 }
610596