refactor: extract PopupBackground component for shared panel styling

This commit is contained in:
Damocles 2026-04-13 20:26:34 +02:00
parent 1dea93e1bd
commit 50af43a76e
7 changed files with 26 additions and 42 deletions

View file

@ -174,19 +174,13 @@ M.BarSection {
onHoveredChanged: root._panelHovered = hovered
}
Rectangle {
M.PopupBackground {
x: panelContent.x
y: panelContent.y
width: panelContent.width
height: panelContent.height
color: M.Theme.base01
opacity: panelContent.opacity * Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: root.accentColor
border.width: 1
accentColor: root.accentColor
}
Column {

View file

@ -83,16 +83,9 @@ PanelWindow {
opacity: 0
y: -height
Rectangle {
M.PopupBackground {
anchors.fill: parent
color: M.Theme.base01
opacity: Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: M.FlyoutState.accentColor
border.width: 1
accentColor: M.FlyoutState.accentColor
}
Text {

View file

@ -180,19 +180,13 @@ M.BarSection {
onHoveredChanged: root._panelHovered = hovered
}
Rectangle {
M.PopupBackground {
x: panelContent.x
y: panelContent.y
width: panelContent.width
height: panelContent.height
color: M.Theme.base01
opacity: panelContent.opacity * Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: root.accentColor
border.width: 1
accentColor: root.accentColor
}
Column {

View file

@ -0,0 +1,15 @@
import QtQuick
import "." as M
Rectangle {
property color accentColor: M.Theme.base05
color: M.Theme.base01
opacity: Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: accentColor
border.width: 1
}

View file

@ -56,16 +56,9 @@ PanelWindow {
anchors.fill: parent
}
Rectangle {
M.PopupBackground {
anchors.fill: parent
color: M.Theme.base01
opacity: Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: root.accentColor
border.width: 1
accentColor: root.accentColor
}
Column {

View file

@ -185,19 +185,13 @@ M.BarSection {
// Click inside panel doesn't dismiss
}
Rectangle {
M.PopupBackground {
x: panelContent.x
y: panelContent.y
width: panelContent.width
height: panelContent.height
color: M.Theme.base01
opacity: panelContent.opacity * Math.max(M.Theme.barOpacity, 0.85)
topLeftRadius: 0
topRightRadius: 0
bottomLeftRadius: M.Theme.radius
bottomRightRadius: M.Theme.radius
border.color: root.accentColor
border.width: 1
accentColor: root.accentColor
}
Column {

View file

@ -13,6 +13,7 @@ Volume 1.0 Volume.qml
Tray 1.0 Tray.qml
TrayMenu 1.0 TrayMenu.qml
PopupPanel 1.0 PopupPanel.qml
PopupBackground 1.0 PopupBackground.qml
PowerMenu 1.0 PowerMenu.qml
ScreenCorners 1.0 ScreenCorners.qml
ThemedIcon 1.0 ThemedIcon.qml