shift-shell/tests/LockScreenTest.qml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

70 lines
1.8 KiB
QML
Raw Normal View History

2022-06-18 21:09:10 +00:00
// 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 "../lookandfeel/contents/lockscreen" as LockScreen
2022-06-18 21:09:10 +00:00
// 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
2023-10-28 18:44:06 +00:00
property string infoMessage: ""
property string errorMessage: ""
property string prompt: ""
property string promptForSecret: ""
2022-06-18 21:09:10 +00:00
signal succeeded()
signal failed()
// these are not kscreenlocker properties, for test purposes only
property string password: ""
2023-10-28 18:44:06 +00:00
property bool shouldPrompt: true
2022-06-18 21:09:10 +00:00
2023-10-28 18:44:06 +00:00
function startAuthenticating() {
if (shouldPrompt) {
shouldPrompt = false;
promptForSecret = "Password:";
promptForSecretChanged();
2022-06-18 21:09:10 +00:00
} else if (password === "123456") {
2023-10-28 18:44:06 +00:00
shouldPrompt = true;
2022-06-18 21:09:10 +00:00
succeeded();
} else {
2023-10-28 18:44:06 +00:00
shouldPrompt = true;
2022-06-18 21:09:10 +00:00
failed();
}
}
function respond(promptPassword) {
password = promptPassword;
}
}
// component to test
LockScreen.LockScreen {
anchors.fill: parent
}
}