moment/src/qml/Base/HButton.qml

50 lines
1.4 KiB
QML
Raw Normal View History

2019-08-21 07:41:24 +10:00
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
Button {
id: button
spacing: theme.spacing
topPadding: spacing / (circle ? 1.75 : 1.5)
2019-08-28 04:21:10 +10:00
bottomPadding: topPadding
leftPadding: spacing / (circle ? 1.5 : 1)
rightPadding: leftPadding
iconItem.svgName: loading ? "hourglass" : icon.name
icon.color: theme.icons.colorize
2019-08-28 04:21:10 +10:00
enabled: ! loading
2019-08-31 07:37:13 +10:00
// Must be explicitely set to display correctly on KDE, but no need on i3?
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding)
2019-08-21 07:41:24 +10:00
readonly property alias iconItem: contentItem.icon
readonly property alias label: contentItem.label
2019-08-21 07:41:24 +10:00
property color backgroundColor: theme.controls.button.background
property bool loading: false
property bool circle: false
property HToolTip toolTip: HToolTip {
id: toolTip
visible: text && hovered
}
2019-08-21 07:41:24 +10:00
background: HButtonBackground {
button: button
buttonTheme: theme.controls.button
2019-08-21 07:41:24 +10:00
radius: circle ? height : 0
color: backgroundColor
}
contentItem: HButtonContent {
id: contentItem
button: button
buttonTheme: theme.controls.button
2019-08-21 07:41:24 +10:00
}
}