diff --git a/TeroStyle/ComboBox.qml b/TeroStyle/ComboBox.qml index b890cbe..dd64735 100644 --- a/TeroStyle/ComboBox.qml +++ b/TeroStyle/ComboBox.qml @@ -1,31 +1,35 @@ import QtQuick import QtQuick.Templates as T import QtQuick.Controls +import QtQuick.Controls.impl T.ComboBox { id: control font: Typography.body - implicitHeight: background.height - padding: Dimensions.m + implicitHeight: implicitContentHeight + topInset + bottomInset background: Rectangle { border.color: Colors.interactive border.width: 1 color: Colors.mantle - height: 47 + height: parent.height radius: Dimensions.radius + width: parent.width } contentItem: T.TextField { autoScroll: control.editable color: Colors.foreground enabled: control.editable font: Typography.body + implicitHeight: Typography.body.pointSize + topPadding + bottomPadding inputMethodHints: control.inputMethodHints + padding: Dimensions.m readOnly: control.down selectByMouse: control.selectTextByMouse text: control.editable ? control.editText : control.displayText validator: control.validator + width: control.width - indicator.width } delegate: MenuItem { id: menuItem @@ -44,29 +48,44 @@ T.ComboBox { width: menuItem.width } } - indicator: Label { - height: control.height - horizontalAlignment: Text.AlignHCenter - padding: Dimensions.s - text: "▼" - verticalAlignment: Text.AlignVCenter - width: contentWidth + Dimensions.s * 2 - x: control.width - width + indicator: Rectangle { + id: indicator - background: Rectangle { + border.color: Colors.interactive + bottomRightRadius: Dimensions.radius + color: Colors.primary + height: control.height + topRightRadius: Dimensions.radius + width: 20 + Dimensions.s * 2 + x: control.width - width + y: 0 + z: 2 + + IconLabel { anchors.fill: parent - border.color: Colors.interactive - bottomRightRadius: Dimensions.radius - color: Colors.primary - topRightRadius: Dimensions.radius + bottomPadding: Dimensions.s + icon.color: Colors.foreground + icon.source: "qrc:/images/ChevronDown.svg" + leftPadding: Dimensions.s + rightPadding: Dimensions.s + topPadding: Dimensions.s + } + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + + onPressed: () => { + control.popup.visible = true; + control.popup.focus = true + } } } popup: T.Popup { - width: control.width - height: Math.min(contentItem.implicitHeight + 2, control.Window.height - topMargin - bottomMargin) - topMargin: 6 bottomMargin: 6 + height: Math.min(contentItem.implicitHeight + 2, control.Window.height - topMargin - bottomMargin) padding: 1 + topMargin: 6 + width: control.width background: Rectangle { border.color: Colors.interactive @@ -78,9 +97,9 @@ T.ComboBox { currentIndex: control.highlightedIndex implicitHeight: contentHeight model: control.popup.visible ? control.delegateModel : null - - T.ScrollBar.vertical: ScrollBar { } + T.ScrollBar.vertical: ScrollBar { + } highlight: Rectangle { color: Colors.primary opacity: Colors.highlightOpacity diff --git a/pyqcrm.qrc b/pyqcrm.qrc index 5fb0d1b..678fdd7 100644 --- a/pyqcrm.qrc +++ b/pyqcrm.qrc @@ -7,6 +7,7 @@ images/filter.svg images/menu.svg images/search.svg + images/ChevronDown.svg sounds/error.ogg sounds/fail2c.ogg sounds/puzzerr.ogg