nosignal-shell/modules/controlcenter/network/SimpleButton.qml
2025-11-13 14:12:34 -05:00

52 lines
No EOL
1.3 KiB
QML

import qs.components
import qs.components.controls
import qs.components.effects
import qs.config
import QtQuick
import QtQuick.Layouts
StyledRect {
id: root
property color onColor: Colours.palette.m3onSurface
property alias disabled: stateLayer.disabled
property alias text: label.text
property alias enabled: stateLayer.enabled
property string icon: ""
implicitWidth: rowLayout.implicitWidth + Appearance.padding.normal * 2
implicitHeight: rowLayout.implicitHeight + Appearance.padding.small
radius: Appearance.rounding.normal
StateLayer {
id: stateLayer
color: parent.onColor
function onClicked(): void {
if (parent.enabled !== false) {
parent.clicked();
}
}
}
RowLayout {
id: rowLayout
anchors.centerIn: parent
spacing: Appearance.spacing.small
MaterialIcon {
id: iconItem
visible: root.icon.length > 0
text: root.icon
color: root.onColor
font.pointSize: Appearance.font.size.large
}
StyledText {
id: label
Layout.leftMargin: root.icon.length > 0 ? Appearance.padding.smaller : 0
color: parent.parent.onColor
}
}
signal clicked
}