diff options
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoamenu.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoamenu.mm | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm index a788ac7d45..cd1a960b4e 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.mm +++ b/src/plugins/platforms/cocoa/qcocoamenu.mm @@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE QCocoaMenu::QCocoaMenu() : - m_attachedItem(0), + m_attachedItem(nil), m_updateTimer(0), m_enabled(true), m_parentEnabled(true), @@ -62,14 +62,14 @@ QCocoaMenu::QCocoaMenu() : { QMacAutoReleasePool pool; - m_nativeMenu = [[QCocoaNSMenu alloc] initWithQPAMenu:this]; + m_nativeMenu = [[QCocoaNSMenu alloc] initWithPlatformMenu:this]; } QCocoaMenu::~QCocoaMenu() { foreach (QCocoaMenuItem *item, m_menuItems) { if (item->menuParent() == this) - item->setMenuParent(0); + item->setMenuParent(nullptr); } [m_nativeMenu release]; @@ -132,7 +132,7 @@ void QCocoaMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem * void QCocoaMenu::insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem) { - setItemTargetAction(item); + item->resolveTargetAction(); NSMenuItem *nativeItem = item->nsItem(); // Someone's adding new items after aboutToShow() was emitted if (isOpen() && nativeItem && item->menu()) @@ -187,7 +187,7 @@ void QCocoaMenu::removeMenuItem(QPlatformMenuItem *menuItem) } if (cocoaItem->menuParent() == this) - cocoaItem->setMenuParent(0); + cocoaItem->setMenuParent(nullptr); // Ignore any parent enabled state cocoaItem->setParentEnabled(true); @@ -205,7 +205,7 @@ void QCocoaMenu::removeMenuItem(QPlatformMenuItem *menuItem) QCocoaMenuItem *QCocoaMenu::itemOrNull(int index) const { if ((index < 0) || (index >= m_menuItems.size())) - return 0; + return nullptr; return m_menuItems.at(index); } @@ -278,9 +278,7 @@ void QCocoaMenu::syncSeparatorsCollapsible(bool enable) bool previousIsSeparator = true; // setting to true kills all the separators placed at the top. NSMenuItem *previousItem = nil; - NSArray *itemArray = [m_nativeMenu itemArray]; - for (unsigned int i = 0; i < [itemArray count]; ++i) { - NSMenuItem *item = reinterpret_cast<NSMenuItem *>([itemArray objectAtIndex:i]); + for (NSMenuItem *item in [m_nativeMenu itemArray]) { if ([item isSeparatorItem]) { QCocoaMenuItem *cocoaItem = reinterpret_cast<QCocoaMenuItem *>([item tag]); if (cocoaItem) @@ -337,11 +335,11 @@ void QCocoaMenu::showPopup(const QWindow *parentWindow, const QRect &targetRect, QMacAutoReleasePool pool; QPoint pos = QPoint(targetRect.left(), targetRect.top() + targetRect.height()); - QCocoaWindow *cocoaWindow = parentWindow ? static_cast<QCocoaWindow *>(parentWindow->handle()) : 0; + QCocoaWindow *cocoaWindow = parentWindow ? static_cast<QCocoaWindow *>(parentWindow->handle()) : nullptr; NSView *view = cocoaWindow ? cocoaWindow->view() : nil; NSMenuItem *nsItem = item ? ((QCocoaMenuItem *)item)->nsItem() : nil; - QScreen *screen = 0; + QScreen *screen = nullptr; if (parentWindow) screen = parentWindow->screen(); if (!screen && !QGuiApplication::screens().isEmpty()) @@ -405,7 +403,7 @@ void QCocoaMenu::showPopup(const QWindow *parentWindow, const QRect &targetRect, pressure:1.0]; [NSMenu popUpContextMenu:m_nativeMenu withEvent:menuEvent forView:view]; } else { - [m_nativeMenu popUpMenuPositioningItem:nsItem atLocation:nsPos inView:0]; + [m_nativeMenu popUpMenuPositioningItem:nsItem atLocation:nsPos inView:nil]; } } @@ -425,7 +423,7 @@ QPlatformMenuItem *QCocoaMenu::menuItemAt(int position) const if (0 <= position && position < m_menuItems.count()) return m_menuItems.at(position); - return 0; + return nullptr; } QPlatformMenuItem *QCocoaMenu::menuItemForTag(quintptr tag) const @@ -435,7 +433,7 @@ QPlatformMenuItem *QCocoaMenu::menuItemForTag(quintptr tag) const return item; } - return 0; + return nullptr; } QList<QCocoaMenuItem *> QCocoaMenu::items() const @@ -495,11 +493,4 @@ NSMenuItem *QCocoaMenu::attachedItem() const return m_attachedItem; } -void QCocoaMenu::setItemTargetAction(QCocoaMenuItem *item) const -{ - auto *nsItem = item->nsItem(); - nsItem.target = m_nativeMenu; - nsItem.action = @selector(qt_itemFired:); -} - QT_END_NAMESPACE |