summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview_menus.mm
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@qt.io>2018-04-20 11:30:35 -0700
committerGabriel de Dietrich <gabriel.dedietrich@qt.io>2018-04-26 17:51:53 +0000
commit25d5c8fe5d06ab0a1161c36ddc021edc2ed76197 (patch)
tree871dab5a081da8175f56f69b859ded27a745bf32 /src/plugins/platforms/cocoa/qnsview_menus.mm
parentb2a282d7c7b8f49819bbc86ed705980438ecb04b (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.mm14
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;
}
}