summaryrefslogtreecommitdiff
path: root/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-07-03 13:24:36 +0200
committerNippy <nippy@rp1.hu>2026-07-03 13:24:36 +0200
commit7de9210d7806e34d47803c361d7a95e29e877de3 (patch)
treee74edd19540e43e3c2926dd37b8151603d809294 /raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
parentaf5dd5ec4bf911af75912f3cea6f53d5a8676f12 (diff)
downloadRaveOS-PKGBUILD-7de9210d7806e34d47803c361d7a95e29e877de3.tar.gz
RaveOS-PKGBUILD-7de9210d7806e34d47803c361d7a95e29e877de3.zip
new sddm
Diffstat (limited to 'raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml')
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml83
1 files changed, 83 insertions, 0 deletions
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
new file mode 100644
index 0000000..43817c4
--- /dev/null
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
@@ -0,0 +1,83 @@
+// Config created by Keyitdev https://git.rp1.hu/gabeszm/sddm-rave-theme
+// Copyright (C) 2022-2025 Keyitdev
+// Distributed under the GPLv3+ License https://www.gnu.org/licenses/gpl-3.0.html
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+
+Item {
+ id: toastRoot
+
+ anchors.top: parent.top
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ height: toastRect.height + root.font.pointSize * 2
+ z: 100
+
+ property string message: ""
+ property bool showing: false
+
+ function show(msg) {
+ message = msg
+ showing = true
+ hideTimer.restart()
+ }
+
+ function hide() {
+ showing = false
+ }
+
+ Rectangle {
+ id: toastRect
+
+ anchors.horizontalCenter: parent.horizontalCenter
+ y: toastRoot.showing ? root.font.pointSize * 2 : -height - 10
+
+ Behavior on y {
+ NumberAnimation { duration: 380; easing.type: Easing.OutBack }
+ }
+
+ width: toastRow.implicitWidth + root.font.pointSize * 3
+ height: root.font.pointSize * 3
+ radius: height / 2
+
+ color: Qt.rgba(0.75, 0.08, 0.08, 0.88)
+ border.color: Qt.rgba(1, 0.35, 0.35, 0.65)
+ border.width: 1
+
+ // Pulse animation border
+ SequentialAnimation on border.color {
+ running: toastRoot.showing
+ loops: Animation.Infinite
+ ColorAnimation { to: Qt.rgba(1, 0.5, 0.5, 0.9); duration: 600; easing.type: Easing.InOutSine }
+ ColorAnimation { to: Qt.rgba(1, 0.25, 0.25, 0.5); duration: 600; easing.type: Easing.InOutSine }
+ }
+
+ Row {
+ id: toastRow
+ anchors.centerIn: parent
+ spacing: root.font.pointSize * 0.6
+
+ Text {
+ anchors.verticalCenter: parent.verticalCenter
+ text: "⚠"
+ color: "#ff8888"
+ font.pointSize: root.font.pointSize * 0.9
+ }
+
+ Text {
+ anchors.verticalCenter: parent.verticalCenter
+ text: toastRoot.message
+ color: "#ffffff"
+ font.pointSize: root.font.pointSize * 0.85
+ font.family: root.font.family
+ }
+ }
+ }
+
+ Timer {
+ id: hideTimer
+ interval: 3000
+ onTriggered: toastRoot.hide()
+ }
+}