diff options
-rw-r--r-- | src/imports/controls/ComboBox.qml | 2 | ||||
-rw-r--r-- | src/imports/controls/material/ComboBox.qml | 2 | ||||
-rw-r--r-- | src/imports/controls/universal/ComboBox.qml | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickcombobox.cpp | 6 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_combobox.qml | 2 |
5 files changed, 10 insertions, 4 deletions
diff --git a/src/imports/controls/ComboBox.qml b/src/imports/controls/ComboBox.qml index 6c85dd58..c400441d 100644 --- a/src/imports/controls/ComboBox.qml +++ b/src/imports/controls/ComboBox.qml @@ -55,7 +55,7 @@ T.ComboBox { //! [delegate] delegate: ItemDelegate { - width: control.popup.width + width: parent.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData font.weight: control.currentIndex === index ? Font.DemiBold : Font.Normal highlighted: control.highlightedIndex == index diff --git a/src/imports/controls/material/ComboBox.qml b/src/imports/controls/material/ComboBox.qml index 79e8d017..fa287ac1 100644 --- a/src/imports/controls/material/ComboBox.qml +++ b/src/imports/controls/material/ComboBox.qml @@ -60,7 +60,7 @@ T.ComboBox { Material.foreground: flat ? undefined : Material.foreground delegate: MenuItem { - width: control.popup.width + width: parent.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData Material.foreground: control.currentIndex === index ? parent.Material.accent : parent.Material.foreground highlighted: control.highlightedIndex === index diff --git a/src/imports/controls/universal/ComboBox.qml b/src/imports/controls/universal/ComboBox.qml index 62aee832..37e1997a 100644 --- a/src/imports/controls/universal/ComboBox.qml +++ b/src/imports/controls/universal/ComboBox.qml @@ -54,7 +54,7 @@ T.ComboBox { rightPadding: padding + (control.mirrored || !indicator || !indicator.visible ? 0 : indicator.width + spacing) delegate: ItemDelegate { - width: control.popup.width + width: parent.width text: control.textRole ? (Array.isArray(control.model) ? modelData[control.textRole] : model[control.textRole]) : modelData highlighted: control.highlightedIndex === index hoverEnabled: control.hoverEnabled diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp index 298a795f..7f37e854 100644 --- a/src/quicktemplates2/qquickcombobox.cpp +++ b/src/quicktemplates2/qquickcombobox.cpp @@ -278,6 +278,12 @@ void QQuickComboBoxPrivate::itemClicked() void QQuickComboBoxPrivate::createdItem(int index, QObject *object) { + QQuickItem *item = qobject_cast<QQuickItem *>(object); + if (popup && item && !item->parentItem()) { + item->setParentItem(popup->contentItem()); + QQuickItemPrivate::get(item)->setCulled(true); + } + QQuickAbstractButton *button = qobject_cast<QQuickAbstractButton *>(object); if (button) { button->setFocusPolicy(Qt::NoFocus); diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml index 777b98f0..159ccebb 100644 --- a/tests/auto/controls/data/tst_combobox.qml +++ b/tests/auto/controls/data/tst_combobox.qml @@ -65,7 +65,7 @@ TestCase { id: emptyBox ComboBox { delegate: ItemDelegate { - width: popup.width + width: parent.width } } } |