diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2013-04-12 21:50:38 -0400 |
---|---|---|
committer | Jake Petroules <jake.petroules@petroules.com> | 2013-04-15 14:51:30 +0200 |
commit | 490296e44ef496543118948372956894885522dc (patch) | |
tree | fb8ead8125b8be1330d2d3156dd62fd5ff38b42d | |
parent | bee77e3873b61bb12269c579175a75040a18f99f (diff) |
Introduce QtMacExtras::setDockMenu.
qt_mac_set_dock_menu is now just a compatibility synonym.
Change-Id: I16b9b04004a6821ae38180b7f3ec1b96fcd0115c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-rw-r--r-- | examples/macfunctions/main.cpp | 2 | ||||
-rw-r--r-- | src/macextras/qmacfunctions.h | 11 | ||||
-rw-r--r-- | src/macextras/qmacfunctions.mm | 26 |
3 files changed, 21 insertions, 18 deletions
diff --git a/examples/macfunctions/main.cpp b/examples/macfunctions/main.cpp index 6faefde..43856fe 100644 --- a/examples/macfunctions/main.cpp +++ b/examples/macfunctions/main.cpp @@ -57,7 +57,7 @@ int main(int argc, char **argv) QMenu menu; menu.addAction("Item 1"); menu.addAction("Item 2"); - qt_mac_set_dock_menu(&menu); + QtMacExtras::setDockMenu(&menu); // Pixmap <-> CGImage conversion QPixmap pixmap(":qtlogo.png"); diff --git a/src/macextras/qmacfunctions.h b/src/macextras/qmacfunctions.h index 76a09e9..3949412 100644 --- a/src/macextras/qmacfunctions.h +++ b/src/macextras/qmacfunctions.h @@ -68,10 +68,6 @@ class QMenuBar; class QPixmap; class QString; -#ifndef Q_OS_IOS -Q_MACEXTRAS_EXPORT void qt_mac_set_dock_menu(QMenu *menu); -#endif - namespace QtMacExtras { Q_MACEXTRAS_EXPORT NSString* toNSString(const QString &string); @@ -83,9 +79,16 @@ Q_MACEXTRAS_EXPORT QPixmap fromCGImageRef(CGImageRef image); Q_MACEXTRAS_EXPORT NSMenu* toNSMenu(QMenu *menu); Q_MACEXTRAS_EXPORT NSMenu *toNSMenu(QMenuBar *menubar); Q_MACEXTRAS_EXPORT NSImage* toNSImage(const QPixmap &pixmap); + +Q_MACEXTRAS_EXPORT void setDockMenu(QMenu *menu); #endif } +#ifndef Q_OS_IOS +// ### Qt 4 compatibility; remove in Qt 6 +inline void qt_mac_set_dock_menu(QMenu *menu) { QtMacExtras::setDockMenu(menu); } +#endif + QT_END_NAMESPACE #endif //QMACFUNCTIONS diff --git a/src/macextras/qmacfunctions.mm b/src/macextras/qmacfunctions.mm index 70cd6cd..f460c18 100644 --- a/src/macextras/qmacfunctions.mm +++ b/src/macextras/qmacfunctions.mm @@ -69,19 +69,6 @@ QPlatformNativeInterface::NativeResourceForIntegrationFunction resolvePlatformFu } #ifndef Q_OS_IOS -void qt_mac_set_dock_menu(QMenu *menu) -{ - // Get the platform menu, which will be a QCocoaMenu - QPlatformMenu *platformMenu = menu->platformMenu(); - - // Get the setDockMenu function and call it. - QPlatformNativeInterface::NativeResourceForIntegrationFunction function = resolvePlatformFunction("setdockmenu"); - if (function) { - typedef void (*SetDockMenuFunction)(QPlatformMenu *platformMenu); - reinterpret_cast<SetDockMenuFunction>(function)(platformMenu); - } -} - NSMenu *QtMacExtras::toNSMenu(QMenu *menu) { // Get the platform menu, which will be a QCocoaMenu @@ -167,6 +154,19 @@ NSImage* toNSImage(const QPixmap &pixmap) [bitmapRep release]; return image; } + +void setDockMenu(QMenu *menu) +{ + // Get the platform menu, which will be a QCocoaMenu + QPlatformMenu *platformMenu = menu->platformMenu(); + + // Get the setDockMenu function and call it. + QPlatformNativeInterface::NativeResourceForIntegrationFunction function = resolvePlatformFunction("setdockmenu"); + if (function) { + typedef void (*SetDockMenuFunction)(QPlatformMenu *platformMenu); + reinterpret_cast<SetDockMenuFunction>(function)(platformMenu); + } +} #endif /*! |