diff options
Diffstat (limited to 'src/imports/controls/material/ComboBox.qml')
-rw-r--r-- | src/imports/controls/material/ComboBox.qml | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index 183bcef9..15987ebc 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -34,18 +34,16 @@ ** ****************************************************************************/ -import QtQuick 2.6 +import QtQuick 2.8 import QtQuick.Window 2.2 -import QtQuick.Controls 2.0 -import QtQuick.Templates 2.0 as T -import QtQuick.Controls.Material 2.0 -import QtQuick.Controls.Material.impl 2.0 +import QtQuick.Controls 2.1 +import QtQuick.Templates 2.1 as T +import QtQuick.Controls.Material 2.1 +import QtQuick.Controls.Material.impl 2.1 T.ComboBox { id: control - Material.elevation: control.pressed ? 8 : 2 - implicitWidth: Math.max(background ? background.implicitWidth : 0, contentItem.implicitWidth + leftPadding + rightPadding) implicitHeight: Math.max(background ? background.implicitHeight : 0, @@ -59,21 +57,23 @@ T.ComboBox { leftPadding: padding - 4 rightPadding: padding - 4 - // Don't use toolTextColor, as that is often white when we have a white background. - Material.foreground: Material.foreground === Material.toolTextColor ? undefined : Material.foreground + Material.elevation: flat ? control.pressed || control.hovered ? 2 : 0 + : control.pressed ? 8 : 2 + Material.background: flat ? "transparent" : undefined + Material.foreground: flat ? undefined : Material.primaryTextColor delegate: MenuItem { width: control.popup.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData - Material.foreground: control.currentIndex === index ? control.Material.accent : control.Material.foreground + Material.foreground: control.currentIndex === index ? control.popup.Material.accent : control.popup.Material.foreground highlighted: control.highlightedIndex === index + hoverEnabled: control.hoverEnabled } indicator: Image { x: control.mirrored ? control.leftPadding : control.width - width - control.rightPadding y: control.topPadding + (control.availableHeight - height) / 2 - opacity: !control.enabled ? 0.5 : 1.0 - source: "qrc:/qt-project.org/imports/QtQuick/Controls.2/Material/images/drop-indicator.png" + source: "image://material/drop-indicator/" + (control.enabled ? control.Material.foreground : control.Material.hintTextColor) } contentItem: Text { @@ -82,7 +82,7 @@ T.ComboBox { text: control.displayText font: control.font - color: control.enabled ? control.Material.primaryTextColor : control.Material.hintTextColor + color: control.enabled ? control.Material.foreground : control.Material.hintTextColor horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter elide: Text.ElideRight @@ -95,7 +95,7 @@ T.ComboBox { // external vertical padding is 6 (to increase touch area) y: 6 height: parent.height - 12 - radius: 2 + radius: control.flat ? 0 : 2 color: control.Material.dialogColor Behavior on color { @@ -104,17 +104,20 @@ T.ComboBox { } } - layer.enabled: control.enabled && control.Material.elevation > 0 + layer.enabled: control.enabled && control.Material.background.a > 0 layer.effect: ElevationEffect { elevation: control.Material.elevation } - Rectangle { + Ripple { + clip: control.flat + clipRadius: control.flat ? 0 : 2 width: parent.width height: parent.height - radius: parent.radius - visible: control.visualFocus - color: control.Material.checkBoxUncheckedRippleColor + pressed: control.pressed + anchor: control + active: control.pressed || control.visualFocus || control.hovered + color: control.Material.rippleColor } } @@ -154,7 +157,7 @@ T.ComboBox { background: Rectangle { radius: 2 - color: control.Material.dialogColor + color: control.popup.Material.dialogColor layer.enabled: control.enabled layer.effect: ElevationEffect { |