@@ -493,118 +493,104 @@ Item {
493 Rectangle {
493 Rectangle {
494 anchors.fill: parent
494 anchors.fill: parent
495 color: "black"
495 color: "black"
496− opacity: greeterWrapper.showProgress * 0.8
496+ opacity: greeter.showProgress * 0.8
499− Item {
499+ Greeter {
500− // Just a tiny wrapper to adjust greeter's x without messing with its own dragging
500+ id: greeter
502− objectName: "greeterWrapper"
501+ objectName: "greeter"
503+ property string lockedApp: ""
504+ property bool hasLockedApp: lockedApp !== ""
507+ hides: [launcher, panel.indicators]
509+ loadContent: required || lockscreen.required // keeps content in memory for quick show()
503− x: greeter.narrowMode ? launcher.progress : 0
510+ launcherOffset: narrowMode ? launcher.progress : 0
512+ locked: shell.locked
514+ background: shell.background
504 y: panel.panelHeight
516 y: panel.panelHeight
505 width: parent.width
517 width: parent.width
506 height: parent.height - panel.panelHeight
518 height: parent.height - panel.panelHeight
508− Behavior on x {
520+ dragHandleWidth: shell.edgeSize
509− enabled: !launcher.dashSwipe
510− StandardAnimation {}
513 property bool fullyShown: showProgress === 1.0
522 property bool fullyShown: showProgress === 1.0
514 onFullyShownChanged: {
523 onFullyShownChanged: {
515 // Wait until the greeter is completely covering lockscreen before resetting it.
524 // 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) {
517 lockscreen.reset();
526 lockscreen.reset();
518 lockscreen.maybeShow();
527 lockscreen.maybeShow();
522− readonly property real showProgress: MathUtils.clamp((1 - x/width) + greeter.showProgress - 1, 0, 1)
523 onShowProgressChanged: {
531 onShowProgressChanged: {
524 if (showProgress === 0) {
532 if (showProgress === 0) {
525 if ((LightDM.Greeter.promptless && LightDM.Greeter.authenticated) || shell.forcedUnlock) {
533 if ((LightDM.Greeter.promptless && LightDM.Greeter.authenticated) || shell.forcedUnlock) {
526 greeter.login()
534 greeter.login()
527− } else if (greeter.narrowMode) {
535+ } else if (narrowMode) {
528 lockscreen.clear(false) // to reset focus if necessary
536 lockscreen.clear(false) // to reset focus if necessary
535− objectName: "greeter"
537− property string lockedApp: ""
538− property bool hasLockedApp: lockedApp !== ""
541− hides: [launcher, panel.indicators]
543− loadContent: required || lockscreen.required // keeps content in memory for quick show()
545− locked: shell.locked
547− background: shell.background
550− height: parent.height
552− dragHandleWidth: shell.edgeSize
554− onSessionStarted: {
541+ onSessionStarted: {
556− lockscreen.hide();
543+ lockscreen.hide();
557− launcher.hide();
544+ launcher.hide();
560− function startUnlock() {
547+ function startUnlock() {
561− if (narrowMode) {
548+ if (narrowMode) {
562− if (!LightDM.Greeter.authenticated) {
549+ if (!LightDM.Greeter.authenticated) {
563− lockscreen.maybeShow()
550+ lockscreen.maybeShow()
572− onShownChanged: {
559+ onShownChanged: {
573− if (shown) {
560+ if (shown) {
574− // Disable everything so that user can't swipe greeter or
561+ // Disable everything so that user can't swipe greeter or
575− // launcher until we get first prompt/authenticate, which
562+ // launcher until we get first prompt/authenticate, which
576− // will re-enable the shell.
563+ // will re-enable the shell.
577− shell.enabled = false;
564+ shell.enabled = false;
579− if (greeter.narrowMode) {
566+ if (greeter.narrowMode) {
580− LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
567+ LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
581− } else {
568+ } else {
584− greeter.lockedApp = "";
585− greeter.forceActiveFocus();
571+ greeter.lockedApp = "";
572+ greeter.forceActiveFocus();
589− Component.onCompleted: {
576+ Component.onCompleted: {
590− Connectivity.unlockAllModems()
577+ Connectivity.unlockAllModems()
593− onUnlocked: greeter.hide()
580+ onUnlocked: greeter.hide()
594− onSelected: {
581+ onSelected: {
595− // Update launcher items for new user
582+ // Update launcher items for new user
596− var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole);
583+ var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole);
597− AccountsService.user = user;
584+ AccountsService.user = user;
598− LauncherModel.setUser(user);
585+ LauncherModel.setUser(user);
601− onTease: launcher.tease()
588+ onTease: launcher.tease()
603− Binding {
590+ Binding {
604− target: ApplicationManager
591+ target: ApplicationManager
605− property: "suspended"
592+ property: "suspended"
606− value: (greeter.shown && greeterWrapper.showProgress == 1) || lockscreen.shown
593+ value: (greeter.shown && greeter.showProgress == 1) || lockscreen.shown