mirror of
https://github.com/HenkKalkwater/sddm-nx
synced 2024-11-16 08:25:18 +00:00
90 lines
2.4 KiB
QML
90 lines
2.4 KiB
QML
import QtQuick 2.0
|
|
//import QtGamepad 1.0
|
|
import SddmComponents 2.0
|
|
|
|
import "components"
|
|
import "."
|
|
|
|
Rectangle {
|
|
id: root
|
|
color: "black"
|
|
property LoginPane _userSelector
|
|
property string _user
|
|
property string _password
|
|
|
|
Repeater {
|
|
model: screenModel
|
|
Image {
|
|
x: geometry.x
|
|
y: geometry.y
|
|
width: geometry.width
|
|
height: geometry.height
|
|
source: Style.background
|
|
Loader {
|
|
Component.onCompleted: console.log("%1, %2, %3 %4".arg(geometry.x).arg(geometry.y).arg(geometry.width).arg(geometry.height))
|
|
anchors.fill: parent
|
|
source: screenModel.primary == index ? "./components/LoginPane.qml" : ""
|
|
onLoaded: {
|
|
if (screenModel.primary == index) {
|
|
_userSelector = item
|
|
_userSelector.userSelected.connect(root.userSelected)
|
|
_userSelector.closed.connect(root.userClosed)
|
|
_userSelector.hostname = sddm.hostname
|
|
console.log("Opening userSelect")
|
|
//startupAnim.start()
|
|
}
|
|
}
|
|
onStatusChanged: {
|
|
if (status == Loader.Error) {
|
|
console.log("Something went wrong!")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Dialog {
|
|
id: errorDialog
|
|
anchors.fill: parent
|
|
message: qsTr("Invalid password")
|
|
onClosed: _userSelector.open()
|
|
}
|
|
|
|
SequentialAnimation {
|
|
id: startupAnim
|
|
running: true
|
|
ColorAnimation {
|
|
target: root
|
|
property: "color"
|
|
from: "black"
|
|
to: "white"
|
|
easing.type: Easing.InOutQuad
|
|
duration: 250
|
|
}
|
|
PauseAnimation {
|
|
duration: 300
|
|
}
|
|
ScriptAction {
|
|
script: _userSelector.open()
|
|
}
|
|
}
|
|
|
|
Connections {
|
|
target: sddm
|
|
onLoginFailed: {
|
|
errorDialog.show()
|
|
}
|
|
}
|
|
|
|
function userSelected(name, password) {
|
|
_user = name
|
|
_password = password
|
|
_userSelector.close()
|
|
}
|
|
|
|
function userClosed() {
|
|
//errorDialog.show()
|
|
sddm.login(_user, _password, _userSelector.sessionIndex)
|
|
}
|
|
}
|