mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-05-16 09:12:47 -04:00
74 lines
2.4 KiB
QML
74 lines
2.4 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
|
|
Column {
|
|
id: root
|
|
property string text: ""
|
|
property var incrementTooltipText: ""
|
|
property var decrementTooltipText: ""
|
|
property var onIncrement: undefined
|
|
property var onDecrement: undefined
|
|
property string incrementIconName: "keyboard_arrow_up"
|
|
property string decrementIconName: "keyboard_arrow_down"
|
|
|
|
property bool incrementEnabled: true
|
|
property bool decrementEnabled: true
|
|
|
|
property color textColor: Theme.surfaceText
|
|
property color iconColor: Theme.withAlpha(Theme.surfaceText, 0.5)
|
|
property color backgroundColor: Theme.primary
|
|
|
|
property int textSize: Theme.fontSizeSmall
|
|
property var iconSize: 12
|
|
property int buttonSize: 20
|
|
property int horizontalPadding: Theme.spacingL
|
|
|
|
readonly property bool effectiveIncrementEnabled: root.onIncrement ? root.incrementEnabled : false
|
|
readonly property bool effectiveDecrementEnabled: root.onDecrement ? root.decrementEnabled : false
|
|
|
|
width: Math.max(buttonSize * 2, root.implicitWidth + horizontalPadding * 2)
|
|
spacing: 4
|
|
|
|
DankActionButton {
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
enabled: root.effectiveIncrementEnabled
|
|
iconColor: root.effectiveIncrementEnabled ? root.iconColor : Theme.blendAlpha(root.iconColor, 0.5)
|
|
iconSize: root.iconSize
|
|
buttonSize: root.buttonSize
|
|
iconName: root.incrementIconName
|
|
onClicked: if (typeof root.onIncrement === 'function')
|
|
root.onIncrement()
|
|
tooltipText: root.incrementTooltipText
|
|
}
|
|
|
|
Row {
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
Item {
|
|
width: 5
|
|
height: 1
|
|
}
|
|
StyledText {
|
|
isMonospace: true
|
|
text: root.text
|
|
font.pixelSize: root.textSize
|
|
color: root.textColor
|
|
}
|
|
Item {
|
|
width: 5
|
|
height: 1
|
|
}
|
|
}
|
|
|
|
DankActionButton {
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
enabled: root.effectiveDecrementEnabled
|
|
iconColor: root.effectiveDecrementEnabled ? root.iconColor : Theme.blendAlpha(root.iconColor, 0.5)
|
|
iconSize: root.iconSize
|
|
buttonSize: root.buttonSize
|
|
iconName: root.decrementIconName
|
|
onClicked: if (typeof root.onDecrement === 'function')
|
|
root.onDecrement()
|
|
tooltipText: root.decrementTooltipText
|
|
}
|
|
}
|