From 6ecc1e800649ce037008af4afd09a9c5d8648418 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Mon, 15 Sep 2014 15:48:42 +0200 Subject: Respect Qt::FontRole for QComboBox items. Change-Id: I810ae2d77109a36b457f07e4a7b0489c954279e8 Task-number: QTBUG-41131 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/widgets/widgets/qcombobox.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index eae0cbbd06..b4f9d25331 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -165,10 +165,15 @@ QStyleOptionMenuItem QComboMenuDelegate::getStyleOption(const QStyleOptionViewIt if (mCombo->testAttribute(Qt::WA_SetFont) || mCombo->testAttribute(Qt::WA_MacSmallSize) || mCombo->testAttribute(Qt::WA_MacMiniSize) - || mCombo->font() != qt_app_fonts_hash()->value("QComboBox", QFont())) + || mCombo->font() != qt_app_fonts_hash()->value("QComboBox", QFont())) { menuOption.font = mCombo->font(); - else - menuOption.font = qt_app_fonts_hash()->value("QComboMenuItem", mCombo->font()); + } else { + QVariant fontRoleData = index.data(Qt::FontRole); + if (fontRoleData.isValid()) + menuOption.font = fontRoleData.value(); + else + menuOption.font = qt_app_fonts_hash()->value("QComboMenuItem", mCombo->font()); + } menuOption.fontMetrics = QFontMetrics(menuOption.font); -- cgit v1.2.3