QComboBox: Disable items marked as disabled in native popups
Fixes: QTBUG-56064 Pick-to: 6.5 6.2 5.15 Change-Id: I00a17a19b4c14c874e16ec863e794218f0570346 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
a1ff7f518d
commit
9f44553b3d
@ -2501,10 +2501,12 @@ bool QComboBoxPrivate::showNativePopup()
|
|||||||
QVariant textVariant = model->data(rowIndex, Qt::EditRole);
|
QVariant textVariant = model->data(rowIndex, Qt::EditRole);
|
||||||
item->setText(textVariant.toString());
|
item->setText(textVariant.toString());
|
||||||
QVariant iconVariant = model->data(rowIndex, Qt::DecorationRole);
|
QVariant iconVariant = model->data(rowIndex, Qt::DecorationRole);
|
||||||
|
const Qt::ItemFlags itemFlags = model->flags(rowIndex);
|
||||||
if (iconVariant.canConvert<QIcon>())
|
if (iconVariant.canConvert<QIcon>())
|
||||||
item->setIcon(iconVariant.value<QIcon>());
|
item->setIcon(iconVariant.value<QIcon>());
|
||||||
item->setCheckable(true);
|
item->setCheckable(true);
|
||||||
item->setChecked(i == currentIndex);
|
item->setChecked(i == currentIndex);
|
||||||
|
item->setEnabled(itemFlags & Qt::ItemIsEnabled);
|
||||||
if (!currentItem || i == currentIndex)
|
if (!currentItem || i == currentIndex)
|
||||||
currentItem = item;
|
currentItem = item;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user