aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/material/Button.qml
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-05-13 23:39:15 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-05-18 09:26:00 +0000
commit08eb526524e92e0d1139cb74e1a7818bcd8d5d6a (patch)
tree2ae9ddb0a283f182a3794ac69435e6d25c61ca40 /src/imports/controls/material/Button.qml
parentb6ecb5a4d14663dc00d8179f590e86bfd52c6881 (diff)
Add support for flat Buttons
Task-number: QTBUG-51054 Change-Id: Ib4b23b624bc34d16c5acc1568881b609d3fd64b8 Reviewed-by: Nikita Krupenko <krnekit@gmail.com> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/material/Button.qml')
-rw-r--r--src/imports/controls/material/Button.qml14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/imports/controls/material/Button.qml b/src/imports/controls/material/Button.qml
index a1903f3e..7eb28282 100644
--- a/src/imports/controls/material/Button.qml
+++ b/src/imports/controls/material/Button.qml
@@ -42,15 +42,6 @@ import QtQuick.Controls.Material.impl 2.0
T.Button {
id: control
- // TODO: Add a flat property to T.Button, and make this:
- // flat ? control.down || control.hovered ? 2 : 0
- // : control.down ? 8 : 2
- // See https://bugreports.qt.io/browse/QTBUG-51054
- // NOTE: Flat buttons should be transparent by default and have no elevation when pressed
- // However, on the desktop, flat buttons can be colored and have a 2dp when pressed
- // This is called a flat raised button
- Material.elevation: control.down ? 8 : 2
-
implicitWidth: Math.max(background ? background.implicitWidth : 0,
contentItem.implicitWidth + leftPadding + rightPadding)
implicitHeight: Math.max(background ? background.implicitHeight : 0,
@@ -62,11 +53,16 @@ T.Button {
leftPadding: 8
rightPadding: 8
+ Material.elevation: flat ? control.down || control.hovered ? 2 : 0
+ : control.down ? 8 : 2
+ Material.background: flat ? "transparent" : undefined
+
//! [contentItem]
contentItem: Text {
text: control.text
font: control.font
color: !control.enabled ? control.Material.hintTextColor :
+ control.flat && control.highlighted ? control.Material.accentColor :
control.highlighted ? control.Material.primaryHighlightedTextColor : control.Material.primaryTextColor
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter