mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-04-23 08:29:09 +00:00
Resize settings combo boxes to match their contents
This commit is contained in:
27
app/gui/AutoResizingComboBox.qml
Normal file
27
app/gui/AutoResizingComboBox.qml
Normal file
@@ -0,0 +1,27 @@
|
||||
import QtQuick 2.11
|
||||
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
|
||||
|
||||
width: modelWidth + 2*leftPadding + 2*rightPadding
|
||||
|
||||
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: {
|
||||
for (var i = 0; i < count; i++){
|
||||
textMetrics.text = textAt(i)
|
||||
modelWidth = Math.max(textMetrics.width, modelWidth)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user