diff --git a/DapComboBox.qml b/DapComboBox.qml index bb8f8f0602dac280b9e314c3f77187ab11aa9b38..2193c71d8cd178cbb1027a2bfad8f12118d0413a 100644 --- a/DapComboBox.qml +++ b/DapComboBox.qml @@ -3,11 +3,12 @@ import QtQuick.Controls 2.2 import QtQuick.Controls.Styles 1.4 import QtGraphicalEffects 1.0 -///This file will be moved to libdap and removed from here. -///this comboBox used int top panel exchange and statusBar will be deleted in the future ///About property ///@hilightColor - color of the selected item -///@fontSizeComboBox - font size for the entire widget +///@normalColor - color of item +///@normalColorText and @hilightColorText - normal and selected text color +///@normalColorTopText and @hilightColorTopText - text color in the main line in normal and active state +///@fontSizeComboBox - font size for the entire widget (px). ///@widthPopupComboBoxActive and @widthPopupComboBoxNormal - width of the combo box /// in the active state and in the normal state ///@sidePaddingActive and @sidePaddingNormal - padding width of the combo box in the active state @@ -17,38 +18,74 @@ import QtGraphicalEffects 1.0 ///@topIndentActive and @topIndentNormal ///@bottomIndentActive and @bottomIndentNormal /// - sets the indent from the edge of the upper and lower edges of the parent in the active and normal state +///@indicatorImageNormal and @indicatorImageActive - indicator picture address for active and normal state +///@indicatorWidth and @indicatorHeight - indicator width and height ComboBox { property string normalColorText: "#070023" property string hilightColorText: "#FFFFFF" + property string normalColorTopText:normalColorText + property string hilightColorTopText:normalColorText property string normalColor: "#FFFFFF" property string hilightColor: "#330F54" property int fontSizeComboBox: 16*pt - property int widthPopupComboBoxActive: parent.width property int widthPopupComboBoxNormal: parent.width + property int widthPopupComboBoxActive: widthPopupComboBoxNormal - property int sidePaddingActive:16 * pt property int sidePaddingNormal:16 * pt + property int sidePaddingActive:sidePaddingNormal - property int topIndentActive:12 * pt property int topIndentNormal:12 * pt + property int topIndentActive:topIndentNormal - property int bottomIndentActive:14 * pt property int bottomIndentNormal:14 * pt + property int bottomIndentActive:bottomIndentNormal + + property string indicatorImageNormal: "qrc:/res/icons/ic_arrow_drop_down_dark_blue.png" + property string indicatorImageActive: "qrc:/res/icons/ic_arrow_drop_up_dark_blue.png" + property int indicatorWidth: 24*pt + property int indicatorHeight: indicatorWidth id: customComboBox width: popup.visible ? widthPopupComboBoxActive : widthPopupComboBoxNormal height: parent.height - delegate:DapComboBoxDelegate{delegateContentText: modelData;} + delegate:ItemDelegate { + width: parent.width + height:{ + if(index == currentIndex) return 0 + else return 42*pt + } + contentItem: Text { + id:textDelegateComboBox + anchors.fill: parent + anchors.topMargin: 8 * pt + anchors.leftMargin: popup.visible ? sidePaddingActive : sidePaddingNormal + verticalAlignment: Qt.AlignTop + font.family: fontRobotoRegular.name + font.pixelSize: fontSizeComboBox + text: {if(index != currentIndex) return modelData;} + color: hovered ? hilightColorText : normalColorText + } + + background: Rectangle { + anchors.fill: parent + anchors.bottomMargin: 10 * pt + color: hovered ? hilightColor : normalColor + } + + highlighted: parent.highlightedIndex === index + + } + indicator: Image { - source: parent.popup.visible ? "qrc:/res/icons/ic_arrow_drop_up_dark_blue.png" : "qrc:/res/icons/ic_arrow_drop_down_dark_blue.png" - width: 24 * pt - height: 24 * pt + source: parent.popup.visible ? indicatorImageActive : indicatorImageNormal + width: indicatorWidth + height: indicatorHeight anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right anchors.rightMargin: popup.visible ? sidePaddingActive : sidePaddingNormal @@ -69,7 +106,7 @@ ComboBox { text: parent.displayText font.family: fontRobotoRegular.name font.pixelSize: fontSizeComboBox - color: normalColorText + color: popup.visible ? hilightColorTopText : normalColorTopText verticalAlignment: Text.AlignTop } diff --git a/DapComboBoxDelegate.qml b/DapComboBoxDelegate.qml deleted file mode 100644 index 55db1e52970e9696bf893f6693352bbb4655b0d5..0000000000000000000000000000000000000000 --- a/DapComboBoxDelegate.qml +++ /dev/null @@ -1,31 +0,0 @@ -import QtQuick 2.0 -import QtQuick.Controls 2.5 - -ItemDelegate { - property string delegateContentText: "" - width: parent.width - height:{ - if(index == currentIndex) return 0 - else return 42*pt - } - contentItem: Text { - id:textDelegateComboBox - anchors.fill: parent - anchors.topMargin: 8 * pt - anchors.leftMargin: popup.visible ? sidePaddingActive : sidePaddingNormal - verticalAlignment: Qt.AlignTop - font.family: fontRobotoRegular.name - font.pixelSize: fontSizeComboBox - text: {if(index != currentIndex) return delegateContentText;} - color: hovered ? hilightColorText : normalColorText - } - - background: Rectangle { - anchors.fill: parent - anchors.bottomMargin: 10 * pt - color: hovered ? hilightColor : normalColor - } - - highlighted: parent.highlightedIndex === index - -} diff --git a/libdap-qt-ui-qml.qrc b/libdap-qt-ui-qml.qrc index 6a4896d7e2e76907fe6fce150c981dac8853fac5..65d307156f338686a0c54190b738e3404e41aa33 100644 --- a/libdap-qt-ui-qml.qrc +++ b/libdap-qt-ui-qml.qrc @@ -1,6 +1,5 @@ <RCC> <qresource prefix="/"> <file>DapComboBox.qml</file> - <file>DapComboBoxDelegate.qml</file> </qresource> </RCC>