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 org.kde.notificationmanager 1.1 as Notifications
|
|
|
|
|
|
|
|
|
|
import org.kde.notificationmanager 1.0 as NotificationManager
|
|
|
|
|
|
2023-04-03 02:58:09 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|