Include the indicator in combo box width

This commit is contained in:
Cameron Gutman
2018-10-06 12:59:59 -07:00
parent 7d1ecc8d82
commit 82a87e96b3

View File

@@ -3,9 +3,9 @@ import QtQuick.Controls 2.2
// https://stackoverflow.com/questions/45029968/how-do-i-set-the-combobox-width-to-fit-the-largest-item
ComboBox {
property int comboBoxWidth
property int textWidth
width: comboBoxWidth + 2*leftPadding + 2*rightPadding
implicitWidth: leftPadding + textWidth + indicator.width + rightPadding
TextMetrics {
id: popupMetrics
@@ -20,12 +20,12 @@ ComboBox {
// We call this every time the options change (and init)
// so we can adjust the combo box width here too
onActivated: {
comboBoxWidth = 0
textWidth = 0
for (var i = 0; i < count; i++){
textMetrics.text = textAt(i)
popupMetrics.text = textAt(i)
comboBoxWidth = Math.max(textMetrics.width, comboBoxWidth)
comboBoxWidth = Math.max(popupMetrics.width, comboBoxWidth)
textWidth = Math.max(textMetrics.width, textWidth)
textWidth = Math.max(popupMetrics.width, textWidth)
}
}
}