summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml754
1 files changed, 0 insertions, 754 deletions
diff --git a/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml b/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml
deleted file mode 100644
index 47e6598..0000000
--- a/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Components/Input.qml
+++ /dev/null
@@ -1,754 +0,0 @@
-// Config created by Keyitdev https://git.rp1.hu/gabeszm/sddm-rave-theme
-// Copyright (C) 2022-2025 Keyitdev
-// Based on https://github.com/MarianArlt/sddm-sugar-dark
-// Distributed under the GPLv3+ License https://www.gnu.org/licenses/gpl-3.0.html
-
-import QtQuick 2.15
-import QtQuick.Layouts 1.15
-import QtQuick.Controls 2.15
-import QtQuick.Effects
-
-Column {
- id: inputContainer
-
- Layout.fillWidth: true
-
- property ComboBox exposeSession: sessionSelect.exposeSession
- property bool failed
-
- Item {
- id: errorMessageField
-
- // change also in selectSession
- height: root.font.pointSize * 2
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- Label {
- id: errorMessage
-
- width: parent.width
- horizontalAlignment: Text.AlignHCenter
-
- text: failed ? config.TranslateLoginFailedWarning || textConstants.loginFailed + "!" : keyboard.capsLock ? config.TranslateCapslockWarning || textConstants.capslockWarning : null
- font.pointSize: root.font.pointSize * 0.8
- font.italic: true
- color: config.WarningColor
- opacity: 0
-
- states: [
- State {
- name: "fail"
- when: failed
- PropertyChanges {
- target: errorMessage
- opacity: 1
- }
- },
- State {
- name: "capslock"
- when: keyboard.capsLock
- PropertyChanges {
- target: errorMessage
- opacity: 1
- }
- }
- ]
- transitions: [
- Transition {
- PropertyAnimation {
- properties: "opacity"
- duration: 100
- }
- }
- ]
- }
- }
-
- // Profilkép + felhasználóváltó
- Item {
- id: avatarField
-
- height: root.font.pointSize * 12
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- property string userIconPath: {
- var icon = userModel.data(userModel.index(selectUser.currentIndex, 0), Qt.UserRole + 4)
- return (icon && icon !== "") ? icon : ""
- }
-
- Column {
- anchors.centerIn: parent
- spacing: root.font.pointSize * 0.8
-
- // Avatar kör
- Rectangle {
- id: avatarCircle
- anchors.horizontalCenter: parent.horizontalCenter
- width: root.font.pointSize * 7
- height: root.font.pointSize * 7
- radius: width / 2
- clip: true
- color: Qt.rgba(0.10, 0.10, 0.15, 0.65)
-
- // The source image (invisible)
- Image {
- id: avatarPhoto
- anchors.fill: parent
- source: avatarField.userIconPath !== "" ? avatarField.userIconPath : ""
- fillMode: Image.PreserveAspectCrop
- smooth: true
- mipmap: true
- visible: false
- }
-
- // The mask source
- Item {
- id: avatarMask
- anchors.fill: parent
- visible: false
- layer.enabled: true
- Rectangle {
- anchors.fill: parent
- radius: parent.width / 2
- color: "black"
- }
- }
-
- // Apply MultiEffect to mask the avatarPhoto
- MultiEffect {
- anchors.fill: parent
- source: avatarPhoto
- visible: avatarPhoto.status === Image.Ready && avatarField.userIconPath !== ""
- maskEnabled: true
- maskSource: avatarMask
- maskThresholdMin: 0.5
- maskSpreadAtMin: 1.0
- }
-
- Image {
- id: avatarFallback
- anchors.centerIn: parent
- width: parent.width * 0.55
- height: parent.height * 0.55
- source: Qt.resolvedUrl("../Assets/User.svg")
- fillMode: Image.PreserveAspectFit
- smooth: true
- visible: avatarField.userIconPath === "" || avatarPhoto.status !== Image.Ready
- opacity: 0.75
- }
-
- // Draw the border on top of everything!
- Rectangle {
- anchors.fill: parent
- radius: parent.width / 2
- color: "transparent"
- border.color: Qt.rgba(1, 1, 1, 0.30)
- border.width: 2
- }
- }
-
- // Felhasználóváltó gomb (csak ha több user van)
- UserSwitcher {
- id: userSwitcher
- anchors.horizontalCenter: parent.horizontalCenter
- selectedIndex: selectUser.currentIndex
-
- onUserSwitched: function(idx, name) {
- selectUser.currentIndex = idx
- username.text = name
- }
- }
- }
- }
-
-
- Item {
- id: usernameField
-
- height: root.font.pointSize * 4.5
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- Button {
- id: staticUserIcon
-
- width: parent.height
- height: parent.height
- anchors.left: parent.left
- z: 2
- visible: userModel.count <= 1
- enabled: false
-
- icon.height: parent.height * 0.25
- icon.width: parent.height * 0.25
- icon.color: config.UserIconColor
- icon.source: Qt.resolvedUrl("../Assets/User.svg")
-
- background: Rectangle {
- color: "transparent"
- border.color: "transparent"
- }
- }
-
- ComboBox {
- id: selectUser
-
- width: parent.height
- height: parent.height
- anchors.left: parent.left
- z: 2
- visible: userModel.count > 1
-
- model: userModel
- currentIndex: model.lastIndex
- textRole: "name"
- hoverEnabled: true
- onActivated: {
- username.text = currentText;
- }
-
- property var popkey: config.RightToLeftLayout == "true" ? Qt.Key_Right : Qt.Key_Left
- Keys.onPressed: function (event) {
- if (event.key == Qt.Key_Down && !popup.opened)
- username.forceActiveFocus();
- if ((event.key == Qt.Key_Up || event.key == popkey) && !popup.opened)
- popup.open();
- }
- KeyNavigation.down: username
- KeyNavigation.right: username
-
- delegate: ItemDelegate {
- // minus padding
- width: popupHandler.width - 20
- anchors.horizontalCenter: popupHandler.horizontalCenter
-
- contentItem: Text {
- verticalAlignment: Text.AlignVCenter
- horizontalAlignment: Text.AlignHCenter
-
- text: model.name
- font.pointSize: root.font.pointSize * 0.8
- font.capitalization: Font.AllLowercase
- font.family: root.font.family
- color: config.DropdownTextColor
- }
-
- background: Rectangle {
- color: selectUser.highlightedIndex === index ? Qt.rgba(1, 1, 1, 0.15) : "transparent"
- radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 4 : 5
- }
- }
-
- indicator: Button {
- id: usernameIcon
-
- width: selectUser.height * 1
- height: parent.height
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- anchors.leftMargin: selectUser.height * 0
-
- icon.height: parent.height * 0.25
- icon.width: parent.height * 0.25
- enabled: false
- icon.color: config.UserIconColor
- icon.source: Qt.resolvedUrl("../Assets/User.svg")
-
- background: Rectangle {
- color: "transparent"
- border.color: "transparent"
- }
- }
-
- background: Rectangle {
- color: "transparent"
- border.color: "transparent"
- }
-
- popup: Popup {
- id: popupHandler
-
- implicitHeight: contentItem.implicitHeight
- width: usernameField.width
- y: parent.height - username.height / 3
- x: config.RightToLeftLayout == "true" ? -loginButton.width + selectUser.width : 0
- rightMargin: config.RightToLeftLayout == "true" ? root.padding + usernameField.width / 2 : undefined
- padding: 10
-
- contentItem: ListView {
- implicitHeight: contentHeight + 20
-
- clip: true
- model: selectUser.popup.visible ? selectUser.delegateModel : null
- currentIndex: selectUser.highlightedIndex
- ScrollIndicator.vertical: ScrollIndicator {}
- }
-
- background: Rectangle {
- radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 2 : 10
- color: Qt.rgba(1, 1, 1, 0.08)
- border.color: Qt.rgba(1, 1, 1, 0.18)
- border.width: 1
- layer.enabled: true
- }
-
- enter: Transition {
- NumberAnimation {
- property: "opacity"
- from: 0
- to: 1
- }
- }
- }
-
- states: [
- State {
- name: "pressed"
- when: selectUser.down
- PropertyChanges {
- target: usernameIcon
- icon.color: Qt.lighter(config.HoverUserIconColor, 1.1)
- }
- },
- State {
- name: "hovered"
- when: selectUser.hovered
- PropertyChanges {
- target: usernameIcon
- icon.color: Qt.lighter(config.HoverUserIconColor, 1.2)
- }
- },
- State {
- name: "focused"
- when: selectUser.activeFocus
- PropertyChanges {
- target: usernameIcon
- icon.color: config.HoverUserIconColor
- }
- }
- ]
- transitions: [
- Transition {
- PropertyAnimation {
- properties: "color, border.color, icon.color"
- duration: 150
- }
- }
- ]
- }
-
- TextField {
- id: username
-
- anchors.centerIn: parent
- height: root.font.pointSize * 3
- width: parent.width
- horizontalAlignment: TextInput.AlignHCenter
- z: 1
-
- text: config.ForceLastUser == "true" ? selectUser.currentText : null
- color: config.LoginFieldTextColor
- font.bold: true
- font.capitalization: config.AllowUppercaseLettersInUsernames == "false" ? Font.AllLowercase : Font.MixedCase
- placeholderText: config.TranslatePlaceholderUsername || textConstants.userName
- placeholderTextColor: config.PlaceholderTextColor
- selectByMouse: true
- renderType: Text.QtRendering
-
- onFocusChanged: {
- if (focus)
- selectAll();
- }
-
- background: Rectangle {
- color: username.activeFocus ? Qt.rgba(0, 0, 0, 0.35) : Qt.rgba(0, 0, 0, 0.2)
- border.color: username.activeFocus ? Qt.rgba(255, 255, 255, 0.3) : Qt.rgba(255, 255, 255, 0.12)
- border.width: username.activeFocus ? 1.5 : 1
- radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 10
- Behavior on color {
- ColorAnimation {
- duration: 150
- }
- }
- Behavior on border.color {
- ColorAnimation {
- duration: 150
- }
- }
- }
-
- onAccepted: config.AllowUppercaseLettersInUsernames == "false" ? sddm.login(username.text.toLowerCase(), password.text, sessionSelect.selectedSession) : sddm.login(username.text, password.text, sessionSelect.selectedSession)
- KeyNavigation.down: passwordIcon
-
- states: [
- State {
- name: "focused"
- when: username.activeFocus
- PropertyChanges {
- target: username
- color: Qt.lighter(config.LoginFieldTextColor, 1.15)
- }
- }
- ]
- }
- }
-
- Item {
- id: passwordField
-
- height: root.font.pointSize * 4.5
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- Button {
- id: passwordIcon
-
- height: parent.height
- width: selectUser.height * 1
- anchors.left: parent.left
- anchors.leftMargin: selectUser.height * 0
- anchors.verticalCenter: parent.verticalCenter
- z: 2
-
- icon.height: parent.height * 0.25
- icon.width: parent.height * 0.25
- icon.color: config.PasswordIconColor
- icon.source: Qt.resolvedUrl("../Assets/Password2.svg")
-
- background: Rectangle {
- color: "transparent"
- border.color: "transparent"
- }
-
- states: [
- State {
- name: "visiblePasswordFocused"
- when: passwordIcon.checked && passwordIcon.activeFocus
- PropertyChanges {
- target: passwordIcon
- icon.source: Qt.resolvedUrl("../Assets/Password.svg")
- icon.color: config.HoverPasswordIconColor
- }
- },
- State {
- name: "visiblePasswordHovered"
- when: passwordIcon.checked && passwordIcon.hovered
- PropertyChanges {
- target: passwordIcon
- icon.source: Qt.resolvedUrl("../Assets/Password.svg")
- icon.color: config.HoverPasswordIconColor
- }
- },
- State {
- name: "visiblePassword"
- when: passwordIcon.checked
- PropertyChanges {
- target: passwordIcon
- icon.source: Qt.resolvedUrl("../Assets/Password.svg")
- }
- },
- State {
- name: "hiddenPasswordFocused"
- when: passwordIcon.enabled && passwordIcon.activeFocus
- PropertyChanges {
- target: passwordIcon
- icon.source: Qt.resolvedUrl("../Assets/Password2.svg")
- icon.color: config.HoverPasswordIconColor
- }
- },
- State {
- name: "hiddenPasswordHovered"
- when: passwordIcon.hovered
- PropertyChanges {
- target: passwordIcon
- icon.source: Qt.resolvedUrl("../Assets/Password2.svg")
- icon.color: config.HoverPasswordIconColor
- }
- }
- ]
-
- onClicked: toggle()
- Keys.onReturnPressed: toggle()
- Keys.onEnterPressed: toggle()
- KeyNavigation.down: password
- }
-
- TextField {
- id: password
-
- height: root.font.pointSize * 3
- width: parent.width
- anchors.centerIn: parent
- horizontalAlignment: TextInput.AlignHCenter
-
- font.bold: true
- color: config.PasswordFieldTextColor
- focus: config.PasswordFocus == "true" ? true : false
- echoMode: passwordIcon.checked ? TextInput.Normal : TextInput.Password
- placeholderText: config.TranslatePlaceholderPassword || textConstants.password
- placeholderTextColor: config.PlaceholderTextColor
- passwordCharacter: "•"
- passwordMaskDelay: config.HideCompletePassword == "true" ? undefined : 1000
- renderType: Text.QtRendering
- selectByMouse: true
-
- background: Rectangle {
- color: password.activeFocus ? Qt.rgba(0, 0, 0, 0.35) : Qt.rgba(0, 0, 0, 0.2)
- border.color: password.activeFocus ? Qt.rgba(255, 255, 255, 0.3) : Qt.rgba(255, 255, 255, 0.12)
- border.width: password.activeFocus ? 1.5 : 1
- radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 10
- Behavior on color {
- ColorAnimation {
- duration: 150
- }
- }
- Behavior on border.color {
- ColorAnimation {
- duration: 150
- }
- }
- }
- onAccepted: config.AllowUppercaseLettersInUsernames == "false" ? sddm.login(username.text.toLowerCase(), password.text, sessionSelect.selectedSession) : sddm.login(username.text, password.text, sessionSelect.selectedSession)
- KeyNavigation.down: loginButton
- }
-
- states: [
- State {
- name: "focused"
- when: password.activeFocus
- PropertyChanges {
- target: password
- color: Qt.lighter(config.LoginFieldTextColor, 1.15)
- }
- }
- ]
- transitions: [
- Transition {
- PropertyAnimation {
- properties: "color, border.color"
- duration: 150
- }
- }
- ]
- }
-
- Item {
- id: login
-
- // important
- // try 4 or 9 ...
- height: root.font.pointSize * 9
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- visible: config.HideLoginButton == "true" ? false : true
-
- Item {
- id: loginButton
-
- height: root.font.pointSize * 3
- width: parent.width
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
-
- focus: true
- activeFocusOnTab: true
-
- property bool hovered: hoverArea.containsMouse
- property bool down: hoverArea.pressed
-
- signal clicked()
-
- onClicked: config.AllowUppercaseLettersInUsernames == "false" ? sddm.login(username.text.toLowerCase(), password.text, sessionSelect.selectedSession) : sddm.login(username.text, password.text, sessionSelect.selectedSession)
-
- Keys.onReturnPressed: clicked()
- Keys.onEnterPressed: clicked()
-
- KeyNavigation.down: rebootBtn
-
- Rectangle {
- id: buttonBackground
- anchors.fill: parent
-
- radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 10
- border.width: loginButton.activeFocus ? 1.5 : 1
-
- border.color: loginButton.down ? Qt.rgba(21/255, 128/255, 61/255, 0.95) : (loginButton.hovered ? Qt.rgba(34/255, 197/255, 94/255, 0.85) : Qt.rgba(74/255, 222/255, 128/255, 0.65))
-
- color: loginButton.down ? Qt.rgba(21/255, 128/255, 61/255, 0.80) : (loginButton.hovered ? Qt.rgba(34/255, 197/255, 94/255, 0.65) : Qt.rgba(74/255, 222/255, 128/255, 0.40))
-
- Behavior on border.color {
- ColorAnimation {
- duration: 150
- }
- }
-
- Behavior on color {
- ColorAnimation {
- duration: 150
- }
- }
- }
-
- Text {
- id: loginButtonText
- anchors.centerIn: parent
-
- font.bold: true
- font.pointSize: root.font.pointSize
- font.family: root.font.family
- color: "#ffffff"
- text: config.TranslateLogin || textConstants.login
- opacity: 1.0
-
- Behavior on opacity {
- NumberAnimation {
- duration: 150
- }
- }
- }
-
- MouseArea {
- id: hoverArea
- anchors.fill: parent
- hoverEnabled: true
- onClicked: parent.clicked()
- }
- }
- }
-
- Item {
- id: powerButtonsRow
-
- height: root.font.pointSize * 10
- width: parent.width / 2
- anchors.horizontalCenter: parent.horizontalCenter
-
- Row {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- spacing: root.font.pointSize * 3
-
- // Reboot gomb
- Column {
- spacing: root.font.pointSize * 0.6
-
- RoundButton {
- id: rebootBtn
-
- width: root.font.pointSize * 6
- height: root.font.pointSize * 6
-
- activeFocusOnTab: true
- Keys.onReturnPressed: sddm.reboot()
- Keys.onEnterPressed: sddm.reboot()
- KeyNavigation.right: shutdownBtn
- hoverEnabled: true
-
- icon.source: Qt.resolvedUrl("../Assets/Reboot.svg")
- icon.width: root.font.pointSize * 3
- icon.height: root.font.pointSize * 3
- icon.color: "#ffffff"
-
- opacity: rebootBtn.hovered || rebootBtn.activeFocus ? 1.0 : 0.75
- Behavior on opacity { NumberAnimation { duration: 150 } }
-
- scale: rebootBtn.pressed ? 0.88 : 1.0
- Behavior on scale { NumberAnimation { duration: 100 } }
-
- background: Rectangle {
- anchors.fill: parent
- radius: width / 2
- color: rebootBtn.pressed ? Qt.rgba(1, 0.45, 0.0, 0.35) : (rebootBtn.hovered ? Qt.rgba(1, 0.55, 0.0, 0.22) : "transparent")
- border.color: "transparent"
- border.width: 0
- Behavior on color { ColorAnimation { duration: 150 } }
- }
-
- onClicked: sddm.reboot()
- }
-
- Text {
- anchors.horizontalCenter: parent.children[0].horizontalCenter
- text: config.TranslateReboot || textConstants.reboot
- color: "#ffffff"
- font.pointSize: root.font.pointSize * 0.8
- font.family: root.font.family
- horizontalAlignment: Text.AlignHCenter
- opacity: rebootBtn.hovered || rebootBtn.activeFocus ? 1.0 : 0.75
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
- }
-
- // Shutdown gomb
- Column {
- spacing: root.font.pointSize * 0.6
-
- RoundButton {
- id: shutdownBtn
-
- width: root.font.pointSize * 6
- height: root.font.pointSize * 6
-
- activeFocusOnTab: true
- Keys.onReturnPressed: sddm.powerOff()
- Keys.onEnterPressed: sddm.powerOff()
- KeyNavigation.left: rebootBtn
- hoverEnabled: true
-
- icon.source: Qt.resolvedUrl("../Assets/Shutdown.svg")
- icon.width: root.font.pointSize * 3
- icon.height: root.font.pointSize * 3
- icon.color: "#ffffff"
-
- opacity: shutdownBtn.hovered || shutdownBtn.activeFocus ? 1.0 : 0.75
- Behavior on opacity { NumberAnimation { duration: 150 } }
-
- scale: shutdownBtn.pressed ? 0.88 : 1.0
- Behavior on scale { NumberAnimation { duration: 100 } }
-
- background: Rectangle {
- anchors.fill: parent
- radius: width / 2
- color: shutdownBtn.pressed ? Qt.rgba(0.8, 0.1, 0.1, 0.40) : (shutdownBtn.hovered ? Qt.rgba(0.8, 0.1, 0.1, 0.25) : "transparent")
- border.color: "transparent"
- border.width: 0
- Behavior on color { ColorAnimation { duration: 150 } }
- }
-
- onClicked: sddm.powerOff()
- }
-
- Text {
- anchors.horizontalCenter: parent.children[0].horizontalCenter
- text: config.TranslateShutdown || textConstants.shutdown
- color: "#ffffff"
- font.pointSize: root.font.pointSize * 0.8
- font.family: root.font.family
- horizontalAlignment: Text.AlignHCenter
- opacity: shutdownBtn.hovered || shutdownBtn.activeFocus ? 1.0 : 0.75
- Behavior on opacity { NumberAnimation { duration: 150 } }
- }
- }
- }
- }
-
- Connections {
- target: sddm
- function onLoginSucceeded() {
- }
- function onLoginFailed() {
- failed = true;
- resetError.running ? resetError.stop() && resetError.start() : resetError.start();
- }
- }
-
- Timer {
- id: resetError
- interval: 2000
- onTriggered: failed = false
- running: false
- }
-}