summaryrefslogtreecommitdiff
path: root/raveos-sddm-theme/sddm-rave-theme/Components
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-sddm-theme/sddm-rave-theme/Components')
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml18
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/Input.qml28
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml15
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml2
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml19
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml3
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml3
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml1
-rw-r--r--raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml17
9 files changed, 0 insertions, 106 deletions
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml
index 0caedbe..0d2e36e 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml
@@ -7,7 +7,6 @@ Row {
height: root.font.pointSize * 1.6
spacing: root.font.pointSize * 0.5
- // -1 = nincs akkumulátor / nem laptop
property int batteryLevel: -1
property bool isCharging: false
property bool isFull: false
@@ -15,7 +14,6 @@ Row {
visible: batteryLevel >= 0
- // Ismert akksi elérési utak
property var tryPaths: [
"/sys/class/power_supply/BAT0/",
"/sys/class/power_supply/BAT1/",
@@ -24,7 +22,6 @@ Row {
"/sys/class/power_supply/BATT/"
]
- // Dinamikus akkumulátor kereső (pl. kontroller, UPS, egyéb külső akkuk észleléséhez)
FolderListModel {
id: powerSupplyScanner
folder: "file:///sys/class/power_supply"
@@ -45,7 +42,6 @@ Row {
for (var i = 0; i < count; i++) {
var name = get(i, "fileName")
if (name && name !== "." && name !== "..") {
- // Csak a tipikus laptop akkumulátor elnevezések (pl. BAT0, BAT1, BATT, battery)
var isLaptopBat = /^bat/i.test(name) || /^battery/i.test(name)
if (isLaptopBat) {
var fullPath = "/sys/class/power_supply/" + name + "/"
@@ -60,7 +56,6 @@ Row {
}
}
- // ── Fájl olvasó ──────────────────────────────────────────────────────────
function readFile(path, cb) {
var xhr = new XMLHttpRequest()
xhr.open("GET", "file://" + path, true)
@@ -71,7 +66,6 @@ Row {
xhr.send()
}
- // ── Akkumulátor keresés és frissítés ─────────────────────────────────────
function detectBattery(idx) {
if (idx >= tryPaths.length) { batteryLevel = -1; return }
readFile(tryPaths[idx] + "capacity", function(cap) {
@@ -90,7 +84,6 @@ Row {
})
}
- // ── Akkumulátor frissítés ────────────────────────────────────────────────
function refresh() {
if (batteryPath !== "") {
readFile(batteryPath + "capacity", function(cap) {
@@ -118,7 +111,6 @@ Row {
onTriggered: batteryIndicator.refresh()
}
- // ── Szín a töltési szint alapján ─────────────────────────────────────────
function levelColor(lvl, charging) {
if (charging) return "#4ade80" // zöld – tölt
if (lvl > 60) return "#ffffff" // fehér – ok
@@ -127,7 +119,6 @@ Row {
return "#f87171" // piros – kritikus
}
- // ── UI ───────────────────────────────────────────────────────────────────
Canvas {
id: batteryCanvas
width: root.font.pointSize * 3.2
@@ -138,7 +129,6 @@ Row {
var ctx = getContext("2d")
ctx.clearRect(0, 0, width, height)
- // Qt Canvas nem támogatja ctx.roundRect() – saját helper
function rr(c, x, y, w, h, r) {
r = Math.min(Math.max(r, 0), Math.min(w, h) / 2)
c.beginPath()
@@ -165,20 +155,17 @@ Row {
var tx = bw // terminál x
var ty = (height - th) / 2
- // Terminál (+ pólus)
rr(ctx, tx, ty, tw, th, height * 0.15)
ctx.fillStyle = col
ctx.globalAlpha = 0.7
ctx.fill()
ctx.globalAlpha = 1.0
- // Keret (akksi test)
rr(ctx, bx, by, bw, bh, r)
ctx.strokeStyle = col
ctx.lineWidth = height * 0.09
ctx.stroke()
- // Töltési szint kitöltés
var padding = height * 0.18
var fillW = Math.max(0, (bw - padding * 2) * lvl / 100)
if (fillW > 0) {
@@ -191,7 +178,6 @@ Row {
ctx.globalAlpha = 1.0
}
- // Villám jel (töltés közben)
if (charging && !full) {
var cx = bw / 2
var cy = height / 2
@@ -210,7 +196,6 @@ Row {
ctx.globalAlpha = 1.0
}
- // Tele jel (checkbox-szerű pipával)
if (full) {
ctx.beginPath()
ctx.moveTo(bw * 0.32, by + bh / 2)
@@ -227,7 +212,6 @@ Row {
}
}
- // Százalék szöveg
Text {
id: batteryText
anchors.verticalCenter: parent.verticalCenter
@@ -241,7 +225,6 @@ Row {
font.family: root.font.family
font.bold: batteryIndicator.batteryLevel <= 15 && !batteryIndicator.isCharging
- // Pulzáló animáció kritikus töltésnél
SequentialAnimation on opacity {
running: batteryIndicator.batteryLevel <= 15 && !batteryIndicator.isCharging
loops: Animation.Infinite
@@ -250,7 +233,6 @@ Row {
}
}
- // Szint változáskor újrafest
onBatteryLevelChanged: batteryCanvas.requestPaint()
onIsChargingChanged: batteryCanvas.requestPaint()
onIsFullChanged: batteryCanvas.requestPaint()
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml b/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml
index fd29314..61fed97 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml
@@ -21,7 +21,6 @@ Column {
Item {
id: errorMessageField
- // change also in selectSession
height: root.font.pointSize * 2
width: parent.width
anchors.horizontalCenter: parent.horizontalCenter
@@ -67,7 +66,6 @@ Column {
}
}
- // Profilkép
Item {
id: avatarField
@@ -114,7 +112,6 @@ Column {
if (!p || p === "") return
var s = p.toString().trim()
if (s === "") return
- // Ignore generic silhouette icon installed in SDDM faces directory
if (s === "/usr/share/sddm/faces/.face.icon" || s === "file:///usr/share/sddm/faces/.face.icon") return
var url = (s.startsWith("file://") || s.startsWith("image://") || s.startsWith("qrc://") || s.startsWith("http")) ? s : ("file://" + s)
if (list.indexOf(url) === -1) {
@@ -122,12 +119,10 @@ Column {
}
}
- // 1. Direct icon reported by SDDM (AccountsService or explicit face config)
if (directIcon !== "") {
addCandidate(directIcon)
}
- // 2. AccountsService system icons (standard across Linux - world-readable 644)
if (uName !== "") {
addCandidate("/var/lib/AccountsService/icons/" + uName)
addCandidate("/var/lib/AccountsService/icons/" + uName + ".png")
@@ -136,7 +131,6 @@ Column {
addCandidate("/var/lib/AccountsService/icons/" + uName + ".svg")
}
- // 3. User's home directory faces
if (home !== "") {
addCandidate(home + "/.face")
addCandidate(home + "/.face.icon")
@@ -156,7 +150,6 @@ Column {
addCandidate("/home/" + uName + "/.avatar")
}
- // 4. System SDDM faces directory
if (uName !== "") {
addCandidate("/usr/share/sddm/faces/" + uName + ".face.icon")
addCandidate("/usr/share/sddm/faces/" + uName + ".png")
@@ -168,7 +161,6 @@ Column {
addCandidate("/var/lib/sddm/faces/" + uName)
}
- // 5. Configured theme avatar
if (config.UserAvatar && config.UserAvatar !== "") {
addCandidate(config.UserAvatar)
}
@@ -217,13 +209,11 @@ Column {
function onDataChanged() { avatarField.updateAvatarSource() }
}
- // Avatar kör
Item {
anchors.centerIn: parent
width: root.font.pointSize * 5.2
height: root.font.pointSize * 5.2
- // Avatar drop shadow
Rectangle {
anchors.fill: parent
anchors.topMargin: root.font.pointSize * 0.15
@@ -238,7 +228,6 @@ Column {
clip: true
color: Qt.rgba(1, 1, 1, 0.15)
- // The mask source
Item {
id: avatarMask
anchors.fill: parent
@@ -282,7 +271,6 @@ Column {
opacity: 0.85
}
- // Draw the border on top of everything!
Rectangle {
anchors.fill: parent
radius: parent.width / 2
@@ -340,7 +328,6 @@ Column {
}
}
- // Container button / click area
Item {
id: userSelectorButton
anchors.centerIn: parent
@@ -358,7 +345,6 @@ Column {
}
KeyNavigation.down: password
- // Background with drop shadow and frosted glass
Item {
anchors.fill: parent
Rectangle {
@@ -379,7 +365,6 @@ Column {
}
}
- // Left Icon (User icon)
Button {
id: userFieldLeftIcon
width: parent.height
@@ -396,7 +381,6 @@ Column {
background: Rectangle { color: "transparent" }
}
- // Username display in the middle (Non-editable, clean text)
Text {
id: username
anchors.centerIn: parent
@@ -414,7 +398,6 @@ Column {
styleColor: Qt.rgba(0, 0, 0, 0.40)
}
- // Dropdown Arrow Button on Right
Item {
id: userDropdownBtn
width: parent.height
@@ -453,7 +436,6 @@ Column {
}
}
- // Whole field click area
MouseArea {
id: userSelectorMouseArea
anchors.fill: parent
@@ -469,7 +451,6 @@ Column {
}
}
- // Dropdown Popup
Popup {
id: userDropdownPopup
@@ -482,7 +463,6 @@ Column {
z: 100
background: Item {
- // Drop shadow underlay
Rectangle {
anchors.fill: parent
anchors.topMargin: root.font.pointSize * 0.15
@@ -490,7 +470,6 @@ Column {
color: Qt.rgba(0, 0, 0, 0.40)
}
- // Frosted Glass body (minimally translucent)
Rectangle {
anchors.fill: parent
radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : root.font.pointSize * 0.8
@@ -561,7 +540,6 @@ Column {
anchors.rightMargin: root.font.pointSize * 0.8
spacing: root.font.pointSize * 0.8
- // Mini avatar in dropdown row
Item {
width: root.font.pointSize * 2.4
height: root.font.pointSize * 2.4
@@ -620,7 +598,6 @@ Column {
}
}
- // Username & realName
Column {
anchors.verticalCenter: parent.verticalCenter
spacing: 2
@@ -841,7 +818,6 @@ Column {
KeyNavigation.down: rebootBtn
- // Drop shadow
Rectangle {
anchors.fill: parent
anchors.topMargin: root.font.pointSize * 0.12
@@ -915,7 +891,6 @@ Column {
anchors.bottomMargin: root.font.pointSize * 0.3
spacing: root.font.pointSize * 1.8
- // Reboot gomb
Column {
spacing: root.font.pointSize * 0.5
@@ -923,7 +898,6 @@ Column {
width: root.font.pointSize * 4.2
height: root.font.pointSize * 4.2
- // Button shadow
Rectangle {
anchors.fill: parent
anchors.topMargin: root.font.pointSize * 0.12
@@ -979,7 +953,6 @@ Column {
}
}
- // Shutdown gomb
Column {
spacing: root.font.pointSize * 0.5
@@ -987,7 +960,6 @@ Column {
width: root.font.pointSize * 4.2
height: root.font.pointSize * 4.2
- // Button shadow
Rectangle {
anchors.fill: parent
anchors.topMargin: root.font.pointSize * 0.12
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml
index ffe10fa..0d95c06 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml
@@ -1,5 +1,3 @@
-// Keyboard Layout Indicator component
-// Displays the current locale/layout and switches between them when clicked (if multiple are available)
import QtQuick 2.15
import QtQml 2.15
@@ -13,13 +11,10 @@ Item {
width: implicitWidth
height: implicitHeight
- // Number of available layouts
property int layoutsCount: (typeof keyboard !== "undefined" && keyboard && keyboard.layouts) ? keyboard.layouts.length : 0
- // Show if we have layout info or a valid locale fallback and not hidden
visible: (config.HideKeyboardLayout !== "false") ? false : (currentShortName !== "")
- // Get current layout shortname (e.g. "US", "HU")
property string currentShortName: ""
function updateCurrentShortName() {
@@ -34,7 +29,6 @@ Item {
}
}
- // Fallback to config locale or system locale
var loc = config.Locale || Qt.locale().name
if (loc) {
var parts = loc.split("_")
@@ -48,7 +42,6 @@ Item {
Component.onCompleted: updateCurrentShortName()
- // Colors matched to the theme config
property color textColor: config.UserIconColor || "#ffffff"
property color hoverColor: config.HoverUserIconColor || "#b7cef1"
@@ -56,9 +49,7 @@ Item {
id: layoutRow
height: root.font.pointSize * 1.1
spacing: root.font.pointSize * 0.4
- // Removed anchors.centerIn to prevent circular binding loop with parent width/height
- // Keyboard icon
Canvas {
id: kbdCanvas
width: root.font.pointSize * 1.5
@@ -79,7 +70,6 @@ Item {
ctx.lineJoin = "round"
ctx.globalAlpha = 0.85
- // Draw keyboard outline
var r = height * 0.15
var bx = ctx.lineWidth / 2
var by = ctx.lineWidth / 2
@@ -95,16 +85,13 @@ Item {
ctx.closePath()
ctx.stroke()
- // Draw simple key grid
ctx.lineWidth = height * 0.06
var kw = bw / 6
var kh = bh / 4
- // Row 1 & 2 keys
for (var i = 0; i < 4; i++) {
ctx.fillRect(bx + kw * (i + 1), by + kh, kw * 0.6, kh * 0.6)
ctx.fillRect(bx + kw * (i + 0.5), by + kh * 2, kw * 0.6, kh * 0.6)
}
- // Spacebar
ctx.fillRect(bx + kw * 1.5, by + kh * 3, kw * 3, kh * 0.6)
ctx.globalAlpha = 1.0
@@ -116,7 +103,6 @@ Item {
}
}
- // Layout Short Name (e.g. US, HU)
Text {
id: layoutText
anchors.verticalCenter: parent.verticalCenter
@@ -176,7 +162,6 @@ Item {
color: delegateMouse.containsMouse ? Qt.rgba(1, 1, 1, 0.15) : "transparent"
radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 4 : root.font.pointSize * 0.4
- // Get layout object safely
property var layoutObj: (typeof keyboard !== "undefined" && keyboard && keyboard.layouts) ? keyboard.layouts[index] : null
property string shortName: layoutObj && layoutObj.shortName ? layoutObj.shortName.toUpperCase() : ""
property string longName: layoutObj && layoutObj.longName ? layoutObj.longName : ""
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml b/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml
index 779a21a..65e6e41 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml
@@ -29,7 +29,6 @@ ColumnLayout {
Layout.rightMargin: innerPadding
}
- // Akkumulátor + Hálózat jelzők
RowLayout {
id: statusRow
@@ -56,7 +55,6 @@ ColumnLayout {
}
}
- // Billentyűzet kiosztás jelző (letiltva a felhasználói kérésnek megfelelően)
KeyboardLayoutIndicator {
id: keyboardLayoutIndicator
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml
index 6300841..07bf902 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml
@@ -10,7 +10,6 @@ Row {
height: root.font.pointSize * 1.6
spacing: root.font.pointSize * 0.5
- // "none" | "wifi" | "ethernet"
property string netType: "none"
property int wifiQuality: 0 // 0-100
property string activeIface: ""
@@ -28,7 +27,6 @@ Row {
"enp0s3","enp0s31f6","ens33","ens3","ens18"
]
- // ── Fájl olvasó ──────────────────────────────────────────────────────────
function readFile(path, cb) {
var xhr = new XMLHttpRequest()
xhr.open("GET", "file://" + path, true)
@@ -42,16 +40,13 @@ Row {
xhr.send()
}
- // ── WiFi jelerősség /proc/net/wireless-ből ───────────────────────────────
function readWifiSignal(iface) {
readFile("/proc/net/wireless", function(content) {
if (!content) { wifiQuality = 60; netCanvas.requestPaint(); return }
var lines = content.split("\n")
for (var i = 0; i < lines.length; i++) {
if (lines[i].indexOf(iface + ":") !== -1) {
- // formátum: "wlan0: 0000 61. -49. -256 ..."
var parts = lines[i].trim().replace(/\./g,"").split(/\s+/)
- // parts[2] = link quality (0–70 tartomány általában)
var q = parseFloat(parts[2]) || 0
wifiQuality = Math.min(100, Math.round(q / 70 * 100))
break
@@ -61,7 +56,6 @@ Row {
})
}
- // ── Interfész keresők ────────────────────────────────────────────────────
function checkWifi(idx) {
if (idx >= wifiIfaces.length) { checkEth(0); return }
readFile("/sys/class/net/" + wifiIfaces[idx] + "/operstate", function(st) {
@@ -75,7 +69,6 @@ Row {
})
}
- // ── Ethernet keresés ─────────────────────────────────────────────────────
function checkEth(idx) {
if (idx >= ethIfaces.length) { netType = "none"; return }
readFile("/sys/class/net/" + ethIfaces[idx] + "/operstate", function(st) {
@@ -100,21 +93,18 @@ Row {
onTriggered: networkIndicator.refresh()
}
- // ── Szín ─────────────────────────────────────────────────────────────────
function signalColor(q) {
if (q >= 65) return "#4ade80" // zöld – erős
if (q >= 40) return "#facc15" // sárga – közepes
return "#fb923c" // narancs – gyenge
}
- // ── UI ───────────────────────────────────────────────────────────────────
Canvas {
id: netCanvas
width: root.font.pointSize * 2.0
height: root.font.pointSize * 1.6
anchors.verticalCenter: parent.verticalCenter
- // Qt Canvas nem támogatja ctx.roundRect() – saját helper
function rr(c, x, y, w, h, r) {
r = Math.min(Math.max(r, 0), Math.min(w, h) / 2)
c.beginPath()
@@ -136,14 +126,12 @@ Row {
drawEthernet(ctx)
}
- // ── WiFi antenna ikon (4 ívelt sáv) ─────────────────────────────
function drawWifi(ctx) {
var q = networkIndicator.wifiQuality
var cx = width / 2
var base = height * 0.96
var dot = height * 0.08
- // Sávok száma a minőség alapján
var bars = q >= 70 ? 4 : q >= 45 ? 3 : q >= 20 ? 2 : 1
var col = networkIndicator.signalColor(q)
@@ -161,7 +149,6 @@ Row {
ctx.stroke()
}
- // Középső pont (antenna)
ctx.beginPath()
ctx.arc(cx, base, dot, 0, Math.PI * 2)
ctx.fillStyle = col
@@ -170,7 +157,6 @@ Row {
ctx.globalAlpha = 1.0
}
- // ── Ethernet dugó ikon ───────────────────────────────────────────
function drawEthernet(ctx) {
var col = "#4ade80"
var lw = height * 0.09
@@ -184,7 +170,6 @@ Row {
var cx = width / 2
var cy = height / 2
- // Kábel test (felső téglalap)
var bw = width * 0.70
var bh = height * 0.38
var bx = cx - bw / 2
@@ -192,7 +177,6 @@ Row {
rr(ctx, bx, by, bw, bh, height * 0.06)
ctx.stroke()
- // 3 érintkező pin a téglalapban
var pinW = width * 0.08
var pinH = height * 0.22
var pinY = by - pinH + lw
@@ -202,13 +186,11 @@ Row {
ctx.fill()
}
- // Kábel vonala lefelé
ctx.beginPath()
ctx.moveTo(cx, by + bh)
ctx.lineTo(cx, cy + height * 0.38)
ctx.stroke()
- // Dugó alap vonal
ctx.lineWidth = lw * 1.5
ctx.beginPath()
ctx.moveTo(cx - width * 0.22, cy + height * 0.38)
@@ -219,7 +201,6 @@ Row {
}
}
- // Felirat
Text {
id: netLabel
anchors.verticalCenter: parent.verticalCenter
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml b/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml
index 27d5b71..5c25217 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml
@@ -40,7 +40,6 @@ Canvas {
var p = particles[i]
var r = p.baseR * (0.75 + 0.25 * Math.sin(p.phase + time * 2.2))
- // Glow halo
var grd = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.glowR)
grd.addColorStop(0, "hsla(" + p.hue + ",100%,72%," + (p.opacity * 0.55) + ")")
grd.addColorStop(1, "hsla(" + p.hue + ",100%,72%,0)")
@@ -49,7 +48,6 @@ Canvas {
ctx.fillStyle = grd
ctx.fill()
- // Core dot
ctx.beginPath()
ctx.arc(p.x, p.y, r, 0, Math.PI * 2)
ctx.fillStyle = "hsla(" + p.hue + ",100%,88%," + p.opacity + ")"
@@ -84,7 +82,6 @@ Canvas {
}
Component.onCompleted: {
- // kis késleltetés hogy a méret biztosan kész legyen
Qt.callLater(initParticles)
}
}
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml b/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml
index 045e298..a04408f 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml
@@ -20,8 +20,6 @@ Item {
ComboBox {
id: selectSession
- // important
- // change also in errorMessage
height: root.font.pointSize * 1.8
anchors.horizontalCenter: parent.horizontalCenter
@@ -37,7 +35,6 @@ Item {
}
delegate: ItemDelegate {
- // minus padding
width: popupHandler.width - root.font.pointSize * 1.5
anchors.horizontalCenter: popupHandler.horizontalCenter
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
index 672f346..b3c16be 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml
@@ -45,7 +45,6 @@ Item {
border.color: Qt.rgba(1, 0.35, 0.35, 0.65)
border.width: root.font.pointSize * 0.08
- // Pulse animation border
SequentialAnimation on border.color {
running: toastRoot.showing
loops: Animation.Infinite
diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml b/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml
index f87b4d0..30d4013 100644
--- a/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml
+++ b/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml
@@ -9,13 +9,11 @@ import QtQuick.Effects 6.5
Item {
id: userSwitcher
- // Csak akkor látható ha több mint 1 felhasználó van
visible: userModel.count > 1
width: switchBtn.implicitWidth + root.font.pointSize * 2
height: switchBtn.implicitHeight + root.font.pointSize * 0.6
- // Kiválasztott felhasználó indexe (kívülről beállítható)
property int selectedIndex: 0
property string selectedName: {
if (userModel.count < 1) return ""
@@ -25,7 +23,6 @@ Item {
signal userSwitched(int idx, string name)
- // ── Segédfüggvények ───────────────────────────────────────────────────────────────────
function resolveUserIcon(idx) {
var list = []
var count = (typeof userModel !== "undefined" && userModel) ? userModel.count : 0
@@ -64,7 +61,6 @@ Item {
return userModel.data(userModel.index(idx, 0), Qt.UserRole + 1) || ""
}
- // ── Gomb (chip stílus) ────────────────────────────────────────────────────
Rectangle {
id: switchBtn
anchors.centerIn: parent
@@ -90,7 +86,6 @@ Item {
anchors.centerIn: parent
spacing: root.font.pointSize * 0.5
- // Mini avatar kör
Rectangle {
id: miniAvatarCircle
width: root.font.pointSize * 1.6
@@ -159,7 +154,6 @@ Item {
}
}
- // Felhasználónév
Text {
anchors.verticalCenter: parent.verticalCenter
text: userSwitcher.selectedName
@@ -170,14 +164,12 @@ Item {
font.family: root.font.family
}
- // Nyíl ikon
Text {
anchors.verticalCenter: parent.verticalCenter
text: "⌄"
color: Qt.rgba(1, 1, 1, 0.70)
font.pointSize: root.font.pointSize * 0.85
font.family: root.font.family
- // Csak ha több user van, akkor látszik a nyíl
visible: userModel.count > 1
rotation: popup.visible ? 180 : 0
@@ -190,12 +182,10 @@ Item {
anchors.fill: parent
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
- // Csak akkor nyit popup-ot ha több felhasználó van
onClicked: if (userModel.count > 1) { popup.visible ? popup.close() : popup.open() }
}
}
- // ── Felhasználó-lista popup ───────────────────────────────────────────────
Popup {
id: popup
@@ -225,7 +215,6 @@ Item {
border.width: root.font.pointSize * 0.08
}
- // Fejléc
Column {
width: parent.width
spacing: root.font.pointSize * 0.4
@@ -239,14 +228,12 @@ Item {
bottomPadding: root.font.pointSize * 0.2
}
- // Elválasztó vonal
Rectangle {
width: parent.width
height: root.font.pointSize * 0.08
color: Qt.rgba(1, 1, 1, 0.12)
}
- // Felhasználók listája
ListView {
id: userList
width: parent.width
@@ -264,7 +251,6 @@ Item {
height: root.font.pointSize * 4
radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 2 : root.font.pointSize * 0.6
- // Kiemelés: aktív felhasználó
property bool isActive: index === userSwitcher.selectedIndex
color: isActive
? Qt.rgba(1, 1, 1, 0.12)
@@ -280,7 +266,6 @@ Item {
anchors.leftMargin: root.font.pointSize * 0.7
spacing: root.font.pointSize * 0.8
- // Avatar kör
Rectangle {
id: delegateAvatarCircle
width: root.font.pointSize * 3
@@ -336,7 +321,6 @@ Item {
}
}
- // Felhasználónév
Text {
anchors.verticalCenter: parent.verticalCenter
text: userSwitcher.getUserName(index)
@@ -347,7 +331,6 @@ Item {
}
}
- // Aktív jelző csík a bal oldalon
Rectangle {
visible: delegateRect.isActive
width: root.font.pointSize * 0.23