diff options
author | Gabriel de Dietrich <gabriel.dedietrich@qt.io> | 2018-04-20 11:30:35 -0700 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@qt.io> | 2018-04-26 17:51:53 +0000 |
commit | 25d5c8fe5d06ab0a1161c36ddc021edc2ed76197 (patch) | |
tree | 871dab5a081da8175f56f69b859ded27a745bf32 /src/plugins/platforms/cocoa/qnsview_menus.mm | |
parent | b2a282d7c7b8f49819bbc86ed705980438ecb04b (diff) |
Cocoa Menus: Clean up code
In this edition:
* Use Objective-C properties where appropriate.
* Use recently introduced qt_objc_cast().
* Remove uses of foreach.
* Update copyright headers.
Change-Id: I2a07a7b6cab27b833e4deaeedf9563463ff55914
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview_menus.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_menus.mm | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_menus.mm b/src/plugins/platforms/cocoa/qnsview_menus.mm index 15c14a1236..db3d356f2e 100644 --- a/src/plugins/platforms/cocoa/qnsview_menus.mm +++ b/src/plugins/platforms/cocoa/qnsview_menus.mm @@ -60,10 +60,11 @@ static bool selectorIsCutCopyPaste(SEL selector) - (BOOL)validateMenuItem:(NSMenuItem*)item { - if (![item isMemberOfClass:[QCocoaNSMenuItem class]]) + auto *nativeItem = qt_objc_cast<QCocoaNSMenuItem *>(item); + if (!nativeItem) return item.enabled; // FIXME Test with with Qt as plugin or embedded QWindow. - auto *platformItem = static_cast<QCocoaNSMenuItem *>(item).platformMenuItem; + auto *platformItem = nativeItem.platformMenuItem; if (!platformItem) return NO; @@ -100,8 +101,9 @@ static bool selectorIsCutCopyPaste(SEL selector) - (void)qt_itemFired:(QCocoaNSMenuItem *)item { - Q_ASSERT([item isMemberOfClass:[QCocoaNSMenuItem class]]); - auto *platformItem = static_cast<QCocoaNSMenuItem *>(item).platformMenuItem; + auto *nativeItem = qt_objc_cast<QCocoaNSMenuItem *>(item); + Q_ASSERT_X(nativeItem, qPrintable(__FUNCTION__), "Triggered menu item is not a QCocoaNSMenuItem."); + auto *platformItem = nativeItem.platformMenuItem; // Menu-holding items also get a target to play nicely // with NSMenuValidation but should not trigger. if (!platformItem || platformItem->menu()) @@ -129,8 +131,8 @@ static bool selectorIsCutCopyPaste(SEL selector) if (selectorIsCutCopyPaste(invocation.selector)) { NSObject *sender; [invocation getArgument:&sender atIndex:2]; - if ([sender isMemberOfClass:[QCocoaNSMenuItem class]]) { - [self qt_itemFired:static_cast<QCocoaNSMenuItem *>(sender)]; + if (auto *nativeItem = qt_objc_cast<QCocoaNSMenuItem *>(sender)) { + [self qt_itemFired:nativeItem]; return; } } |