diff --git a/plugin/kquickstyleitem.cpp b/plugin/kquickstyleitem.cpp --- a/plugin/kquickstyleitem.cpp +++ b/plugin/kquickstyleitem.cpp @@ -541,6 +541,24 @@ opt->fontMetrics = QFontMetrics(font); opt->currentText = text(); opt->editable = m_properties[QStringLiteral("editable")].toBool(); + + const QVariant icon = m_properties[QStringLiteral("currentIcon")]; + if (icon.canConvert()) { + opt->currentIcon = icon.value(); + } else if (icon.canConvert()) { + opt->currentIcon = m_theme->iconFromTheme(icon.value(), m_properties[QStringLiteral("iconColor")].value()); + } + auto iconSize = QSize(m_properties[QStringLiteral("iconWidth")].toInt(), m_properties[QStringLiteral("iconHeight")].toInt()); + if (iconSize.isEmpty()) { + int e = KQuickStyleItem::style()->pixelMetric(QStyle::PM_ButtonIconSize, m_styleoption, nullptr); + if (iconSize.width() <= 0) { + iconSize.setWidth(e); + } + if (iconSize.height() <= 0) { + iconSize.setHeight(e); + } + } + opt->iconSize = iconSize; } break; case SpinBox: {