From b53f6fdd313f71f05b99093966736a8f7442ded8 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 18 Sep 2014 20:49:41 +0200 Subject: Respect the PM_SmallIconSize setting for icons in a menu on OS X MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a platform menu is used then it would hard code the icon size to 16x16. Instead of using the hard coded value then PM_SmallIconSize should be used instead. Change-Id: I27540ebc4397501e8f57686a118c28cd7167c0a1 Reviewed-by: Morten Johan Sørvig --- src/widgets/widgets/qmenu.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/widgets/widgets/qmenu.cpp') diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 846199ebe2..94cdf2e763 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -2978,8 +2978,17 @@ static void copyActionToPlatformItem(const QAction *action, QPlatformMenuItem* i { item->setText(action->text()); item->setIsSeparator(action->isSeparator()); - if (action->isIconVisibleInMenu()) + if (action->isIconVisibleInMenu()) { item->setIcon(action->icon()); + if (QWidget *w = action->parentWidget()) { + QStyleOption opt; + opt.init(w); + item->setIconSize(w->style()->pixelMetric(QStyle::PM_SmallIconSize, &opt, w)); + } else { + QStyleOption opt; + item->setIconSize(qApp->style()->pixelMetric(QStyle::PM_SmallIconSize, &opt, 0)); + } + } item->setVisible(action->isVisible()); item->setShortcut(action->shortcut()); item->setCheckable(action->isCheckable()); -- cgit v1.2.3