diff --git a/app/gui/AutoResizingComboBox.qml b/app/gui/AutoResizingComboBox.qml index 3f14c199..789abd53 100644 --- a/app/gui/AutoResizingComboBox.qml +++ b/app/gui/AutoResizingComboBox.qml @@ -3,25 +3,29 @@ 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 modelWidth + property int comboBoxWidth - width: modelWidth + 2*leftPadding + 2*rightPadding + width: comboBoxWidth + 2*leftPadding + 2*rightPadding + + TextMetrics { + id: popupMetrics + font: popup.font + } TextMetrics { id: textMetrics font: parent.font } - onFontChanged: { - textMetrics.font = font - } - // We call this every time the options change (and init) // so we can adjust the combo box width here too onActivated: { + comboBoxWidth = 0 for (var i = 0; i < count; i++){ textMetrics.text = textAt(i) - modelWidth = Math.max(textMetrics.width, modelWidth) + popupMetrics.text = textAt(i) + comboBoxWidth = Math.max(textMetrics.width, comboBoxWidth) + comboBoxWidth = Math.max(popupMetrics.width, comboBoxWidth) } } }