Remove interaction with username and password fields on mouse and key press events for background videos
This commit is contained in:
parent
a8883aa61a
commit
57ca7465e9
211
Main.qml
211
Main.qml
@ -20,6 +20,8 @@ Rectangle {
|
||||
LayoutMirroring.enabled: Qt.locale().textDirection == Qt.RightToLeft
|
||||
LayoutMirroring.childrenInherit: true
|
||||
|
||||
property int sessionIndex: session.index
|
||||
|
||||
// Inherited from SDDMComponents
|
||||
TextConstants {
|
||||
id: textConstants
|
||||
@ -75,9 +77,23 @@ Rectangle {
|
||||
id: mouseArea1
|
||||
anchors.fill: parent;
|
||||
//onPressed: {playlist1.shuffle(); playlist1.next();}
|
||||
onPressed: {}
|
||||
onPressed: {
|
||||
fader1.state = fader1.state == "off" ? "on" : "off" ;
|
||||
if (config.autofocusInput == "true") {
|
||||
if (username_input_box.text == "")
|
||||
username_input_box.focus = true
|
||||
else
|
||||
password_input_box.focus = true
|
||||
}
|
||||
}
|
||||
}
|
||||
Keys.onPressed: {
|
||||
fader1.state = "on";
|
||||
if (username_input_box.text == "")
|
||||
username_input_box.focus = true
|
||||
else
|
||||
password_input_box.focus = true
|
||||
}
|
||||
Keys.onPressed: {}
|
||||
}
|
||||
WallpaperFader {
|
||||
id: fader1
|
||||
@ -85,6 +101,8 @@ Rectangle {
|
||||
anchors.fill: parent
|
||||
state: "off"
|
||||
source: video1
|
||||
mainStack: login_container
|
||||
footer: login_container
|
||||
}
|
||||
|
||||
// Set Background Video2
|
||||
@ -106,10 +124,27 @@ Rectangle {
|
||||
id: mouseArea2
|
||||
enabled: false
|
||||
anchors.fill: parent;
|
||||
onPressed: {}
|
||||
onPressed: {
|
||||
fader1.state = fader1.state == "off" ? "on" : "off" ;
|
||||
if (config.autofocusInput == "true") {
|
||||
if (username_input_box.text == "")
|
||||
username_input_box.focus = true
|
||||
else
|
||||
password_input_box.focus = true
|
||||
}
|
||||
}
|
||||
}
|
||||
Behavior on opacity {
|
||||
enabled: true
|
||||
NumberAnimation { easing.type: Easing.InOutQuad; duration: 3000 }
|
||||
}
|
||||
Keys.onPressed: {
|
||||
fader2.state = "on";
|
||||
if (username_input_box.text == "")
|
||||
username_input_box.focus = true
|
||||
else
|
||||
password_input_box.focus = true
|
||||
}
|
||||
Behavior on opacity {}
|
||||
Keys.onPressed: {}
|
||||
}
|
||||
|
||||
WallpaperFader {
|
||||
@ -118,6 +153,8 @@ Rectangle {
|
||||
anchors.fill: parent
|
||||
state: "off"
|
||||
source: video2
|
||||
mainStack: login_container
|
||||
footer: login_container
|
||||
}
|
||||
|
||||
property MediaPlayer currentPlayer: mediaplayer1
|
||||
@ -217,6 +254,7 @@ Rectangle {
|
||||
QQC2.StackView {
|
||||
id: mainStack
|
||||
anchors.fill: parent
|
||||
height: root.height + PlasmaCore.Units.gridUnit * 3
|
||||
|
||||
// If true (depends on the style and environment variables), hover events are always accepted
|
||||
// and propagation stopped. This means the parent MouseArea won't get them and the UI won't be shown.
|
||||
@ -255,6 +293,57 @@ Rectangle {
|
||||
|
||||
return userListModel.count <= userListModel.disableAvatarsThreshold && (userList.y + mainStack.y) > 0
|
||||
}
|
||||
|
||||
notificationMessage: {
|
||||
var text = ""
|
||||
if (keystateSource.data["Caps Lock"]["Locked"]) {
|
||||
text += i18nd("plasma_lookandfeel_org.kde.lookandfeel","Caps Lock is on")
|
||||
if (root.notificationMessage) {
|
||||
text += " • "
|
||||
}
|
||||
}
|
||||
text += root.notificationMessage
|
||||
return text
|
||||
}
|
||||
|
||||
actionItems: [
|
||||
ActionButton {
|
||||
iconSource: "system-suspend"
|
||||
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.suspend()
|
||||
enabled: sddm.canSuspend
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-reboot"
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.reboot()
|
||||
enabled: sddm.canReboot
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-shutdown"
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.powerOff()
|
||||
enabled: sddm.canPowerOff
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-user-prompt"
|
||||
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "For switching to a username and password prompt", "Other…")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: mainStack.push(userPromptComponent)
|
||||
enabled: true
|
||||
visible: !userListComponent.showUsernamePrompt && !inputPanel.keyboardActive
|
||||
}]
|
||||
|
||||
onLoginRequest: {
|
||||
//root.notificationMessage = ""
|
||||
sddm.login("sven", password, sessionButton.currentIndex)
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
@ -358,6 +447,11 @@ Rectangle {
|
||||
target: mainStack
|
||||
y: Math.min(0, root.height - inputPanel.height - userListComponent.visibleBoundary)
|
||||
}
|
||||
PropertyChanges {
|
||||
target: inputPanel
|
||||
y: root.height - inputPanel.height
|
||||
opacity: 1
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "hidden"
|
||||
@ -365,6 +459,11 @@ Rectangle {
|
||||
target: mainStack
|
||||
y: 0
|
||||
}
|
||||
PropertyChanges {
|
||||
target: inputPanel
|
||||
y: root.height - root.height/4
|
||||
opacity: 0
|
||||
}
|
||||
}
|
||||
]
|
||||
transitions: [
|
||||
@ -372,6 +471,12 @@ Rectangle {
|
||||
from: "hidden"
|
||||
to: "visible"
|
||||
SequentialAnimation {
|
||||
ScriptAction {
|
||||
script: {
|
||||
inputPanel.item.activated = true;
|
||||
Qt.inputMethod.show();
|
||||
}
|
||||
}
|
||||
ParallelAnimation {
|
||||
NumberAnimation {
|
||||
target: mainStack
|
||||
@ -379,6 +484,17 @@ Rectangle {
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
NumberAnimation {
|
||||
target: inputPanel
|
||||
property: "y"
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.OutQuad
|
||||
}
|
||||
OpacityAnimator {
|
||||
target: inputPanel
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.OutQuad
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -393,6 +509,23 @@ Rectangle {
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
NumberAnimation {
|
||||
target: inputPanel
|
||||
property: "y"
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.InQuad
|
||||
}
|
||||
OpacityAnimator {
|
||||
target: inputPanel
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.InQuad
|
||||
}
|
||||
}
|
||||
ScriptAction {
|
||||
script: {
|
||||
inputPanel.item.activated = false;
|
||||
Qt.inputMethod.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -404,6 +537,7 @@ Rectangle {
|
||||
id: userPromptComponent
|
||||
Login {
|
||||
showUsernamePrompt: true
|
||||
notificationMessage: root.notificationMessage
|
||||
loginScreenUiVisible: loginScreenRoot.uiVisible
|
||||
fontSize: parseInt(config.fontSize) + 2
|
||||
|
||||
@ -418,6 +552,66 @@ Rectangle {
|
||||
setProperty(0, "name", i18nd("plasma_lookandfeel_org.kde.lookandfeel", "Type in Username and Password"));
|
||||
}
|
||||
}
|
||||
|
||||
onLoginRequest: {
|
||||
root.notificationMessage = ""
|
||||
sddm.login(username, password, sessionButton.currentIndex)
|
||||
}
|
||||
|
||||
actionItems: [
|
||||
ActionButton {
|
||||
iconSource: "system-suspend"
|
||||
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel","Suspend to RAM","Sleep")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.suspend()
|
||||
enabled: sddm.canSuspend
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-reboot"
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Restart")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.reboot()
|
||||
enabled: sddm.canReboot
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-shutdown"
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","Shut Down")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: sddm.powerOff()
|
||||
enabled: sddm.canPowerOff
|
||||
visible: !inputPanel.keyboardActive
|
||||
},
|
||||
ActionButton {
|
||||
iconSource: "system-user-list"
|
||||
text: i18nd("plasma_lookandfeel_org.kde.lookandfeel","List Users")
|
||||
fontSize: parseInt(config.fontSize) + 1
|
||||
onClicked: mainStack.pop()
|
||||
visible: !inputPanel.keyboardActive
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
DropShadow {
|
||||
id: logoShadow
|
||||
anchors.fill: logo
|
||||
source: logo
|
||||
visible: !softwareRendering && config.showlogo == "shown"
|
||||
horizontalOffset: 1
|
||||
verticalOffset: 1
|
||||
radius: 6
|
||||
samples: 14
|
||||
spread: 0.3
|
||||
color : "black" // shadows should always be black
|
||||
opacity: loginScreenRoot.uiVisible ? 0 : 1
|
||||
Behavior on opacity {
|
||||
//OpacityAnimator when starting from 0 is buggy (it shows one frame with opacity 1)"
|
||||
NumberAnimation {
|
||||
duration: PlasmaCore.Units.longDuration
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -517,5 +711,12 @@ Rectangle {
|
||||
playlist1.shuffle()
|
||||
playlist2.shuffle()
|
||||
}
|
||||
|
||||
if (config.showLoginButton == "false") {
|
||||
login_button.visible = false
|
||||
password_input_box.anchors.rightMargin = 0
|
||||
clear_passwd_button.anchors.rightMargin = 0
|
||||
}
|
||||
clear_passwd_button.visible = false
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user