tray: minor button updates to match

This commit is contained in:
ATMDA 2025-11-12 22:41:10 -05:00
parent 6ae1313b6b
commit 0a33ecf433
3 changed files with 39 additions and 67 deletions

View file

@ -9,6 +9,7 @@ import Quickshell.Services.Pipewire
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Controls import QtQuick.Controls
import "../../controlcenter/network"
Item { Item {
id: root id: root
@ -104,40 +105,16 @@ Item {
} }
} }
StyledRect { SimpleButton {
Layout.fillWidth: true
Layout.topMargin: Appearance.spacing.normal Layout.topMargin: Appearance.spacing.normal
implicitWidth: expandBtn.implicitWidth + Appearance.padding.normal * 2
implicitHeight: expandBtn.implicitHeight + Appearance.padding.small
radius: Appearance.rounding.normal
color: Colours.palette.m3primaryContainer color: Colours.palette.m3primaryContainer
onColor: Colours.palette.m3onPrimaryContainer
StateLayer {
color: Colours.palette.m3onPrimaryContainer
function onClicked(): void {
root.wrapper.detach("audio");
}
}
RowLayout {
id: expandBtn
anchors.centerIn: parent
spacing: Appearance.spacing.small
StyledText {
Layout.leftMargin: Appearance.padding.smaller
text: qsTr("Open Settings") text: qsTr("Open Settings")
color: Colours.palette.m3onPrimaryContainer icon: "chevron_right"
}
MaterialIcon { onClicked: {
text: "chevron_right" root.wrapper.detach("audio");
color: Colours.palette.m3onPrimaryContainer
font.pointSize: Appearance.font.size.large
}
} }
} }
} }

View file

@ -9,6 +9,7 @@ import Quickshell
import Quickshell.Bluetooth import Quickshell.Bluetooth
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import "../../controlcenter/network"
ColumnLayout { ColumnLayout {
id: root id: root
@ -164,39 +165,16 @@ ColumnLayout {
} }
} }
StyledRect { SimpleButton {
Layout.topMargin: Appearance.spacing.small Layout.fillWidth: true
implicitWidth: expandBtn.implicitWidth + Appearance.padding.normal * 2 Layout.topMargin: Appearance.spacing.normal
implicitHeight: expandBtn.implicitHeight + Appearance.padding.small
radius: Appearance.rounding.normal
color: Colours.palette.m3primaryContainer color: Colours.palette.m3primaryContainer
onColor: Colours.palette.m3onPrimaryContainer
StateLayer {
color: Colours.palette.m3onPrimaryContainer
function onClicked(): void {
root.wrapper.detach("bluetooth");
}
}
RowLayout {
id: expandBtn
anchors.centerIn: parent
spacing: Appearance.spacing.small
StyledText {
Layout.leftMargin: Appearance.padding.smaller
text: qsTr("Open Settings") text: qsTr("Open Settings")
color: Colours.palette.m3onPrimaryContainer icon: "chevron_right"
}
MaterialIcon { onClicked: {
text: "chevron_right" root.wrapper.detach("bluetooth");
color: Colours.palette.m3onPrimaryContainer
font.pointSize: Appearance.font.size.large
}
} }
} }

View file

@ -1,7 +1,9 @@
import qs.components import qs.components
import qs.components.controls
import qs.components.effects import qs.components.effects
import qs.config import qs.config
import QtQuick import QtQuick
import QtQuick.Layouts
StyledRect { StyledRect {
id: root id: root
@ -10,9 +12,10 @@ StyledRect {
property alias disabled: stateLayer.disabled property alias disabled: stateLayer.disabled
property alias text: label.text property alias text: label.text
property alias enabled: stateLayer.enabled property alias enabled: stateLayer.enabled
property string icon: ""
implicitWidth: label.implicitWidth + Appearance.padding.normal * 2 implicitWidth: rowLayout.implicitWidth + Appearance.padding.normal * 2
implicitHeight: label.implicitHeight + Appearance.padding.normal * 2 implicitHeight: rowLayout.implicitHeight + Appearance.padding.small
radius: Appearance.rounding.normal radius: Appearance.rounding.normal
StateLayer { StateLayer {
@ -25,10 +28,24 @@ StyledRect {
} }
} }
RowLayout {
id: rowLayout
anchors.centerIn: parent
spacing: Appearance.spacing.small
StyledText { StyledText {
id: label id: label
anchors.centerIn: parent Layout.leftMargin: root.icon.length > 0 ? Appearance.padding.smaller : 0
color: parent.onColor color: parent.parent.onColor
}
MaterialIcon {
id: iconItem
visible: root.icon.length > 0
text: root.icon
color: root.onColor
font.pointSize: Appearance.font.size.large
}
} }
signal clicked signal clicked