simplify StyledPopupWindow

This commit is contained in:
Benjamin Palko 2025-09-07 09:31:19 -04:00
parent fdcaa77581
commit a9518df97f
4 changed files with 6 additions and 24 deletions

View file

@ -1,22 +1,16 @@
import qs.config
import QtQuick
import Quickshell
import Quickshell.Hyprland
import Quickshell.Widgets
PopupWindow {
id: root
property bool opened: false
property int animationDuration: 200
property alias margins: background.margin
property alias backgroundColor: background.color
property alias radius: background.radius
property alias state: background.state
required property Component content
color: "transparent"
function toggle() {
root.state = root.state == "opened" ? "closed" : "opened";
background.state = background.state == "opened" ? "closed" : "opened";
}
HyprlandFocusGrab {
@ -24,16 +18,17 @@ PopupWindow {
active: root.visible
windows: [root]
onCleared: {
root.state = "closed";
background.state = "closed";
}
}
implicitWidth: background.width
implicitHeight: background.height
WrapperRectangle {
StyledWrapperRectangle {
id: background
margin: 16
focus: true
onFocusChanged: {
if (!focus) {
@ -43,7 +38,7 @@ PopupWindow {
Behavior on opacity {
NumberAnimation {
duration: root.animationDuration
duration: Styling.animations.speed.normal
}
}

View file

@ -1,7 +1,6 @@
pragma ComponentBehavior: Bound
import qs.components
import qs.config
import QtQuick
import QtQuick.Layouts
import Quickshell
@ -10,10 +9,6 @@ import Quickshell.Bluetooth
StyledPopupWindow {
id: root
backgroundColor: Styling.theme.base300
margins: 16
radius: 8
content: ColumnLayout {
spacing: 8
StyledWrapperRectangle {

View file

@ -9,10 +9,6 @@ import QtQuick.Layouts
StyledPopupWindow {
id: root
backgroundColor: Styling.theme.base300
margins: 16
radius: 8
content: GridLayout {
columns: 2

View file

@ -9,10 +9,6 @@ import Quickshell
StyledPopupWindow {
id: window
backgroundColor: Styling.theme.base300
margins: 14
radius: 8
property QsMenuOpener menuOpener
content: ColumnLayout {