shift-shell/tests/LockScreenTest.qml

70 lines
1.9 KiB
QML

// SPDX-FileCopyrightText: 2022 Devin LIn <devin@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
import QtQuick 2.15
import QtQuick.Controls 2.15
import org.kde.plasma.components 3.0 as PC3
import org.kde.plasma.private.mobileshell 1.0 as MobileShell
import org.kde.notificationmanager 1.1 as Notifications
import org.kde.notificationmanager 1.0 as NotificationManager
import "../lookandfeel/contents/lockscreen" as LockScreen
// This is a test app for the lockscreen, simulating kscreenlocker.
//
// The "password" in this example is 123456.
ApplicationWindow {
width: 360
height: 720
visible: true
// simulate kscreenlocker wallpaper
Image {
id: wallpaper // id passed in by kscreenlocker
source: "assets/background.jpg"
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
}
// simulate kscreenlocker authenticator object
QtObject {
id: authenticator // id passed in by kscreenlocker
signal succeeded()
signal failed()
signal infoMessage(string msg)
signal errorMessage(string msg)
signal prompt(string msg)
signal promptForSecret(string msg)
// these are not kscreenlocker properties, for test purposes only
property string password: ""
property bool prompt: true
function tryUnlock() {
if (prompt) {
prompt = false;
promptForSecret("Password:");
} else if (password === "123456") {
prompt = true;
succeeded();
} else {
prompt = true;
failed();
}
}
function respond(promptPassword) {
password = promptPassword;
}
}
// component to test
LockScreen.LockScreen {
anchors.fill: parent
}
}