diff options
| author | Nippy <nippy@rp1.hu> | 2026-07-03 13:24:36 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-07-03 13:24:36 +0200 |
| commit | 7de9210d7806e34d47803c361d7a95e29e877de3 (patch) | |
| tree | e74edd19540e43e3c2926dd37b8151603d809294 /raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml | |
| parent | af5dd5ec4bf911af75912f3cea6f53d5a8676f12 (diff) | |
| download | RaveOS-PKGBUILD-7de9210d7806e34d47803c361d7a95e29e877de3.tar.gz RaveOS-PKGBUILD-7de9210d7806e34d47803c361d7a95e29e877de3.zip | |
new sddm
Diffstat (limited to 'raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml | 378 |
1 files changed, 0 insertions, 378 deletions
diff --git a/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml b/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml deleted file mode 100644 index 00837d2..0000000 --- a/raveos-hyprland-theme/theme-data/sddm/sddm-rave-theme/Main.qml +++ /dev/null @@ -1,378 +0,0 @@ -// Config created by gabeszm https://git.rp1.hu/gabeszm/sddm-rave-theme -// Copyright (C) 2022-2025 gabeszm -// 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 -import QtMultimedia - -import "Components" - -Pane { - id: root - - height: config.ScreenHeight || Screen.height - width: config.ScreenWidth || Screen.ScreenWidth - padding: config.ScreenPadding - - LayoutMirroring.enabled: config.RightToLeftLayout == "true" ? true : Qt.application.layoutDirection === Qt.RightToLeft - LayoutMirroring.childrenInherit: true - - palette.window: config.BackgroundColor - palette.highlight: config.HighlightBackgroundColor - palette.highlightedText: config.HighlightTextColor - palette.buttonText: config.HoverSystemButtonsIconsColor - - font.family: config.Font - font.pointSize: config.FontSize !== "" ? config.FontSize : parseInt(height / 80) || 13 - - focus: true - - property bool leftleft: config.HaveFormBackground == "true" && - config.PartialBlur == "false" && - config.FormPosition == "left" && - config.BackgroundHorizontalAlignment == "left" - - property bool leftcenter: config.HaveFormBackground == "true" && - config.PartialBlur == "false" && - config.FormPosition == "left" && - config.BackgroundHorizontalAlignment == "center" - - property bool rightright: config.HaveFormBackground == "true" && - config.PartialBlur == "false" && - config.FormPosition == "right" && - config.BackgroundHorizontalAlignment == "right" - - property bool rightcenter: config.HaveFormBackground == "true" && - config.PartialBlur == "false" && - config.FormPosition == "right" && - config.BackgroundHorizontalAlignment == "center" - - Item { - id: sizeHelper - - height: parent.height - width: parent.width - anchors.fill: parent - - Rectangle { - id: tintLayer - - height: parent.height - width: parent.width - anchors.fill: parent - z: 1 - color: config.DimBackgroundColor - opacity: config.DimBackground - } - - - Canvas { - id: animatedBorder - - width: form.width / 2 + 60 + 6 - height: form.height + 60 + 6 - anchors.centerIn: form - z: 3 - - property real angle: 0 - property real radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 20 - - onAngleChanged: requestPaint() - - onPaint: { - var ctx = getContext("2d"); - ctx.reset(); - ctx.clearRect(0, 0, width, height); - - var r = radius; - var x = 3; - var y = 3; - var w = width - 6; - var h = height - 6; - - ctx.beginPath(); - ctx.arc(x + r, y + r, r, Math.PI, 1.5 * Math.PI); - ctx.lineTo(x + w - r, y); - ctx.arc(x + w - r, y + r, r, 1.5 * Math.PI, 2 * Math.PI); - ctx.lineTo(x + w, y + h - r); - ctx.arc(x + w - r, y + h - r, r, 0, 0.5 * Math.PI); - ctx.lineTo(x + r, y + h); - ctx.arc(x + r, y + h - r, r, 0.5 * Math.PI, Math.PI); - ctx.closePath(); - - ctx.save(); - ctx.translate(width / 2, height / 2); - ctx.rotate(angle); - - var grad = ctx.createLinearGradient(-width / 2, -height / 2, width / 2, height / 2); - grad.addColorStop(0, "rgba(255, 255, 255, 0.45)"); - grad.addColorStop(0.5, "rgba(255, 255, 255, 0.12)"); - grad.addColorStop(1, "rgba(255, 255, 255, 0.45)"); - - ctx.strokeStyle = grad; - ctx.lineWidth = 2; - ctx.stroke(); - ctx.restore(); - } - - NumberAnimation on angle { - loops: Animation.Infinite - from: 0 - to: 2 * Math.PI - duration: 5000 - } - - SequentialAnimation on opacity { - loops: Animation.Infinite - NumberAnimation { from: 0.5; to: 0.9; duration: 2500; easing.type: Easing.InOutQuad } - NumberAnimation { from: 0.9; to: 0.5; duration: 2500; easing.type: Easing.InOutQuad } - } - } - - Rectangle { - id: formBackground - - width: form.width / 2 + 60 - height: form.height + 60 - anchors.centerIn: form - z: 4 - - color: Qt.rgba(1, 1, 1, 0.08) - border.color: Qt.rgba(1, 1, 1, 0.18) - border.width: 1 - radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 20 - visible: true - } - - LoginForm { - id: form - - height: implicitHeight - width: parent.width / 2.5 - anchors.left: config.FormPosition == "left" ? parent.left : undefined - anchors.horizontalCenter: config.FormPosition == "center" ? parent.horizontalCenter : undefined - anchors.right: config.FormPosition == "right" ? parent.right : undefined - anchors.verticalCenter: parent.verticalCenter - z: 5 - } - - Loader { - id: virtualKeyboard - source: "Components/VirtualKeyboard.qml" - - // x * 0.4 = x / 2.5 - width: config.KeyboardSize == "" ? parent.width * 0.4 : parent.width * config.KeyboardSize - anchors.left: config.VirtualKeyboardPosition == "left" ? parent.left : undefined; - anchors.horizontalCenter: config.VirtualKeyboardPosition == "center" ? parent.horizontalCenter : undefined; - anchors.right: config.VirtualKeyboardPosition == "right" ? parent.right : undefined; - z: 100 - - state: "hidden" - property bool keyboardActive: item ? item.active : false - - function switchState() { state = state == "hidden" ? "visible" : "hidden"} - states: [ - State { - name: "visible" - PropertyChanges { - target: virtualKeyboard - y: root.height - virtualKeyboard.height - opacity: 1 - } - }, - State { - name: "hidden" - PropertyChanges { - target: virtualKeyboard - y: root.height - root.height/4 - opacity: 0 - } - } - ] - transitions: [ - Transition { - from: "hidden" - to: "visible" - SequentialAnimation { - ScriptAction { - script: { - virtualKeyboard.item.activated = true; - Qt.inputMethod.show(); - } - } - ParallelAnimation { - NumberAnimation { - target: virtualKeyboard - property: "y" - duration: 100 - easing.type: Easing.OutQuad - } - OpacityAnimator { - target: virtualKeyboard - duration: 100 - easing.type: Easing.OutQuad - } - } - } - }, - Transition { - from: "visible" - to: "hidden" - SequentialAnimation { - ParallelAnimation { - NumberAnimation { - target: virtualKeyboard - property: "y" - duration: 100 - easing.type: Easing.InQuad - } - OpacityAnimator { - target: virtualKeyboard - duration: 100 - easing.type: Easing.InQuad - } - } - ScriptAction { - script: { - virtualKeyboard.item.activated = false; - Qt.inputMethod.hide(); - } - } - } - } - ] - } - - Image { - id: backgroundPlaceholderImage - - z: 10 - source: config.BackgroundPlaceholder - visible: false - } - - AnimatedImage { - id: backgroundImage - - MediaPlayer { - id: player - - videoOutput: videoOutput - autoPlay: true - playbackRate: config.BackgroundSpeed == "" ? 1.0 : config.BackgroundSpeed - loops: -1 - onPlayingChanged: { - console.log("Video started.") - backgroundPlaceholderImage.visible = false; - } - } - - VideoOutput { - id: videoOutput - - fillMode: config.CropBackground == "true" ? VideoOutput.PreserveAspectCrop : VideoOutput.PreserveAspectFit - anchors.fill: parent - } - - height: parent.height - width: config.HaveFormBackground == "true" && config.FormPosition != "center" && config.PartialBlur != "true" ? parent.width - formBackground.width : parent.width - anchors.left: leftleft || leftcenter ? formBackground.right : undefined - anchors.right: rightright || rightcenter ? formBackground.left : undefined - - horizontalAlignment: config.BackgroundHorizontalAlignment == "left" ? - Image.AlignLeft : - config.BackgroundHorizontalAlignment == "right" ? - Image.AlignRight : Image.AlignHCenter - - verticalAlignment: config.BackgroundVerticalAlignment == "top" ? - Image.AlignTop : - config.BackgroundVerticalAlignment == "bottom" ? - Image.AlignBottom : Image.AlignVCenter - - speed: config.BackgroundSpeed == "" ? 1.0 : config.BackgroundSpeed - paused: config.PauseBackground == "true" ? 1 : 0 - fillMode: config.CropBackground == "true" ? Image.PreserveAspectCrop : Image.PreserveAspectFit - asynchronous: true - cache: true - clip: true - mipmap: true - - Component.onCompleted:{ - var fileType = config.Background.substring(config.Background.lastIndexOf(".") + 1) - const videoFileTypes = ["avi", "mp4", "mov", "mkv", "m4v", "webm"]; - if (videoFileTypes.includes(fileType)) { - backgroundPlaceholderImage.visible = true; - player.source = Qt.resolvedUrl(config.Background) - player.play(); - } - else{ - backgroundImage.source = config.background || config.Background - } - } - } - - MouseArea { - anchors.fill: backgroundImage - onClicked: parent.forceActiveFocus() - } - - ShaderEffectSource { - id: blurMask - - height: form.height + 60 - width: form.width / 2 + 60 - anchors.centerIn: form - - sourceItem: backgroundImage - sourceRect: Qt.rect(x,y,width,height) - visible: true - } - - ShaderEffectSource { - id: blurMaskItem - - sourceItem: Rectangle { - width: blurMask.width - height: blurMask.height - radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : 20 - color: "black" - } - hideSource: true - visible: false - } - - MultiEffect { - id: blur - z: 2 - - height: config.FullBlur == "true" ? parent.height : blurMask.height - width: config.FullBlur == "true" ? parent.width : blurMask.width - anchors.centerIn: config.FullBlur == "true" ? backgroundImage : form - - source: config.FullBlur == "true" ? backgroundImage : blurMask - blurEnabled: true - autoPaddingEnabled: false - blur: config.Blur == "" ? 2.5 : config.Blur - blurMax: config.BlurMax == "" ? 48 : config.BlurMax - visible: true - - maskEnabled: config.FullBlur == "true" ? false : true - maskSource: blurMaskItem - } - - ToastNotification { - id: toast - } - - Connections { - target: sddm - function onLoginFailed() { - toast.show(config.TranslateLoginFailedWarning || textConstants.loginFailed + "!") - } - } - } -} |