summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnswindow.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-02-12 20:33:13 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-02-18 16:45:48 +0000
commitc36c5e9b552f826c96bf066252b49de03921c03f (patch)
tree8395d3b55900d9720f4a9caf855012e30e41298c /src/plugins/platforms/cocoa/qnswindow.mm
parent025128a7e0d7100da7e1705cd448012e0421e05b (diff)
macOS: Modernize worksWhenModal handling
The code in QCocoaEventDispatcher was dead and could be removed. Change-Id: I0c57e64791045d65033376c096220983059028ba Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qnswindow.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnswindow.mm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm
index c17ad47aba..28a9fa8607 100644
--- a/src/plugins/platforms/cocoa/qnswindow.mm
+++ b/src/plugins/platforms/cocoa/qnswindow.mm
@@ -177,6 +177,19 @@ static bool isMouseEvent(NSEvent *ev)
return canBecomeMain;
}
+- (BOOL)worksWhenModal
+{
+ if ([self isKindOfClass:[QNSPanel class]]) {
+ if (QCocoaWindow *pw = self.platformWindow) {
+ Qt::WindowType type = pw->window()->type();
+ if (type == Qt::Popup || type == Qt::Dialog || type == Qt::Tool)
+ return YES;
+ }
+ }
+
+ return qt_objcDynamicSuper();
+}
+
- (BOOL)isOpaque
{
return self.platformWindow ?