import qs.modules.common.widgets import qs.modules.common import QtQuick import QtQuick.Layouts import QtQuick.Controls RippleButton { id: root property string buttonIcon Layout.fillWidth: true implicitHeight: contentItem.implicitHeight + 8 * 2 font.pixelSize: Appearance.font.pixelSize.small onClicked: checked = !checked contentItem: RowLayout { spacing: 10 OptionalMaterialSymbol { icon: root.buttonIcon opacity: root.enabled ? 1 : 0.4 iconSize: Appearance.font.pixelSize.larger } StyledText { id: labelWidget Layout.fillWidth: true text: root.text font: root.font color: Appearance.colors.colOnSecondaryContainer opacity: root.enabled ? 1 : 0.4 } StyledSwitch { id: switchWidget down: root.down scale: 0.6 Layout.fillWidth: false checked: root.checked onClicked: root.clicked() } } }