aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/Button.qml
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/Button.qml')
-rw-r--r--desktop/Button.qml28
1 files changed, 21 insertions, 7 deletions
diff --git a/desktop/Button.qml b/desktop/Button.qml
index 6a977fa..e1afb7a 100644
--- a/desktop/Button.qml
+++ b/desktop/Button.qml
@@ -15,14 +15,15 @@ Rectangle {
id: btn
property alias text: label.text
property alias font: label.font
+ property string icon: ""
property bool danger: false
property bool enabled: true
// The mouse event, for a caller that reads modifiers; a handler that
// takes no argument ignores it.
signal clicked(var mouse)
- implicitWidth: label.implicitWidth + 22
- implicitHeight: label.implicitHeight + 12
+ implicitWidth: content.implicitWidth + 22
+ implicitHeight: content.implicitHeight + 12
radius: 7
opacity: enabled ? 1 : 0.4
color: area.pressed && enabled
@@ -33,12 +34,25 @@ Rectangle {
border.width: 1
border.color: Qt.alpha(danger ? Theme.red : Theme.text, 0.2)
- Text {
- id: label
+ Row {
+ id: content
anchors.centerIn: parent
- font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 2 }
- color: (area.pressed && btn.enabled) ? Theme.base
- : danger ? Theme.red : Theme.text
+ spacing: 6
+
+ Text {
+ id: iconText
+ visible: btn.icon !== ""
+ text: btn.icon
+ color: label.color
+ font { family: Theme.iconFamily; pixelSize: label.font.pixelSize }
+ }
+
+ Text {
+ id: label
+ font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 2 }
+ color: (area.pressed && btn.enabled) ? Theme.base
+ : btn.danger ? Theme.red : Theme.text
+ }
}
MouseArea {