diff options
author | Andy Shaw <andy.shaw@digia.com> | 2014-09-18 20:49:41 +0200 |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@digia.com> | 2014-09-20 18:23:35 +0200 |
commit | b53f6fdd313f71f05b99093966736a8f7442ded8 (patch) | |
tree | 3c71f6f7b3b516595dac3ba20a9fb3b54ae676c2 /src/plugins/platforms | |
parent | 4d8dd7f673d874607eb23c0dc36bb7c24324aa4f (diff) |
Respect the PM_SmallIconSize setting for icons in a menu on OS X
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 <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms')
4 files changed, 17 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformmenuitem.cpp b/src/plugins/platforms/android/qandroidplatformmenuitem.cpp index 4e19ec2939..e510327ba5 100644 --- a/src/plugins/platforms/android/qandroidplatformmenuitem.cpp +++ b/src/plugins/platforms/android/qandroidplatformmenuitem.cpp @@ -181,4 +181,9 @@ bool QAndroidPlatformMenuItem::isEnabled() const return m_isEnabled; } +void QAndroidPlatformMenuItem::setIconSize(int size) +{ + Q_UNUSED(size) +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/android/qandroidplatformmenuitem.h b/src/plugins/platforms/android/qandroidplatformmenuitem.h index 40c3ab2761..32aeca105b 100644 --- a/src/plugins/platforms/android/qandroidplatformmenuitem.h +++ b/src/plugins/platforms/android/qandroidplatformmenuitem.h @@ -85,6 +85,8 @@ public: void setEnabled(bool enabled); bool isEnabled() const; + void setIconSize(int size); + private: quintptr m_tag; QString m_text; diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.h b/src/plugins/platforms/cocoa/qcocoamenuitem.h index 1efc9f9bfd..0ce3970fc4 100644 --- a/src/plugins/platforms/cocoa/qcocoamenuitem.h +++ b/src/plugins/platforms/cocoa/qcocoamenuitem.h @@ -86,6 +86,7 @@ public: void setCheckable(bool checkable) { Q_UNUSED(checkable) } void setChecked(bool isChecked); void setEnabled(bool isEnabled); + void setIconSize(int size); void setNativeContents(WId item); @@ -123,6 +124,7 @@ private: bool m_checked; bool m_merged; quintptr m_tag; + int m_iconSize; }; #define COCOA_MENU_ANCESTOR(m) ((m)->property("_qCocoaMenuAncestor").value<QObject *>()) diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.mm b/src/plugins/platforms/cocoa/qcocoamenuitem.mm index 4b9a0146a9..d0d1e7e8b8 100644 --- a/src/plugins/platforms/cocoa/qcocoamenuitem.mm +++ b/src/plugins/platforms/cocoa/qcocoamenuitem.mm @@ -100,7 +100,8 @@ QCocoaMenuItem::QCocoaMenuItem() : m_role(NoRole), m_checked(false), m_merged(false), - m_tag(0) + m_tag(0), + m_iconSize(16) { } @@ -332,7 +333,7 @@ NSMenuItem *QCocoaMenuItem::sync() NSImage *img = nil; if (!m_icon.isNull()) { img = qt_mac_create_nsimage(m_icon); - [img setSize:NSMakeSize(16, 16)]; + [img setSize:NSMakeSize(m_iconSize, m_iconSize)]; } [m_native setImage:img]; [img release]; @@ -403,3 +404,8 @@ QPlatformMenuItem::MenuRole QCocoaMenuItem::effectiveRole() const else return m_detectedRole; } + +void QCocoaMenuItem::setIconSize(int size) +{ + m_iconSize = size; +} |