diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2017-02-24 11:41:25 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-04-11 10:36:42 +0000 |
commit | 40f59da21a74b5999db90e1eb7073f292ac3e54e (patch) | |
tree | b3e8e1bda3d17d3b6f7ab308d659f868c1e7548a /src/imports | |
parent | f43a3f97076935b38ebc9f7c67f30ccf57984808 (diff) |
ToolButton: add support for icons
Task-number: QTBUG-49820
Change-Id: I0292ad45e9c775af3a3216266c61704fc8375d5a
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/controls/ToolButton.qml | 32 | ||||
-rw-r--r-- | src/imports/controls/material/ToolButton.qml | 36 | ||||
-rw-r--r-- | src/imports/controls/universal/ToolButton.qml | 35 |
3 files changed, 80 insertions, 23 deletions
diff --git a/src/imports/controls/ToolButton.qml b/src/imports/controls/ToolButton.qml index 684ed10f..13825fb0 100644 --- a/src/imports/controls/ToolButton.qml +++ b/src/imports/controls/ToolButton.qml @@ -49,14 +49,32 @@ T.ToolButton { baselineOffset: contentItem.y + contentItem.baselineOffset padding: 6 + spacing: 6 - contentItem: Text { - text: control.text - font: control.font - color: control.enabled ? (control.visualFocus ? Default.focusColor : Default.textDarkColor) : Default.textDisabledLightColor - elide: Text.ElideRight - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter + icon.width: 24 + icon.height: 24 + icon.color: enabled ? undefined : Default.textDisabledLightColor + + contentItem: IconLabel { + spacing: control.spacing + mirrored: control.mirrored + display: control.display + + icon: IconImage { + name: control.icon.name + source: control.icon.source + sourceSize.width: control.icon.width + sourceSize.height: control.icon.height + color: control.icon.color + } + label: Text { + text: control.text + font: control.font + color: control.enabled ? (control.visualFocus ? Default.focusColor : Default.textDarkColor) : Default.textDisabledLightColor + elide: Text.ElideRight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } } background: Rectangle { diff --git a/src/imports/controls/material/ToolButton.qml b/src/imports/controls/material/ToolButton.qml index abfaafbb..78e9d651 100644 --- a/src/imports/controls/material/ToolButton.qml +++ b/src/imports/controls/material/ToolButton.qml @@ -36,6 +36,8 @@ import QtQuick 2.9 import QtQuick.Templates 2.3 as T +import QtQuick.Controls 2.3 +import QtQuick.Controls.impl 2.3 import QtQuick.Controls.Material 2.3 import QtQuick.Controls.Material.impl 2.3 @@ -49,15 +51,33 @@ T.ToolButton { baselineOffset: contentItem.y + contentItem.baselineOffset padding: 6 + spacing: 6 - contentItem: Text { - text: control.text - font: control.font - color: !control.enabled ? control.Material.hintTextColor : - control.checked || control.highlighted ? control.Material.accent : control.Material.foreground - elide: Text.ElideRight - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter + icon.width: 24 + icon.height: 24 + icon.color: enabled ? undefined : Material.hintTextColor + + contentItem: IconLabel { + spacing: control.spacing + mirrored: control.mirrored + display: control.display + + icon: IconImage { + name: control.icon.name + source: control.icon.source + sourceSize.width: control.icon.width + sourceSize.height: control.icon.height + color: control.icon.color + } + label: Text { + text: control.text + font: control.font + color: !control.enabled ? control.Material.hintTextColor : + control.checked || control.highlighted ? control.Material.accent : control.Material.foreground + elide: Text.ElideRight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } } background: Ripple { diff --git a/src/imports/controls/universal/ToolButton.qml b/src/imports/controls/universal/ToolButton.qml index 345e0507..613feb9f 100644 --- a/src/imports/controls/universal/ToolButton.qml +++ b/src/imports/controls/universal/ToolButton.qml @@ -36,6 +36,8 @@ import QtQuick 2.9 import QtQuick.Templates 2.3 as T +import QtQuick.Controls 2.3 +import QtQuick.Controls.impl 2.3 import QtQuick.Controls.Universal 2.3 T.ToolButton { @@ -48,18 +50,35 @@ T.ToolButton { baselineOffset: contentItem.y + contentItem.baselineOffset padding: 6 + spacing: 8 + + icon.width: 20 + icon.height: 20 + icon.color: enabled ? undefined : Universal.transparentColor(Universal.foreground, 0.2) property bool useSystemFocusVisuals: true - contentItem: Text { - text: control.text - font: control.font - elide: Text.ElideRight - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter + contentItem: IconLabel { + spacing: control.spacing + mirrored: control.mirrored + display: control.display - opacity: enabled ? 1.0 : 0.2 - color: control.Universal.foreground + icon: IconImage { + name: control.icon.name + source: control.icon.source + sourceSize.width: control.icon.width + sourceSize.height: control.icon.height + color: control.icon.color + } + label: Text { + text: control.text + font: control.font + elide: Text.ElideRight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + opacity: enabled ? 1.0 : 0.2 + color: control.Universal.foreground + } } background: Rectangle { |