summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosglobal.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2014-08-20 17:03:15 +0200
committerTor Arne Vestbø <tor.arne.vestbo@digia.com>2014-08-26 18:12:50 +0200
commitad120dbf13ddb7bff26e4489fbd0333facc1d38f (patch)
tree844f9ba7acd405150d25ad6592c5ebd6a3c0f67c /src/plugins/platforms/ios/qiosglobal.mm
parent7a413fa40c85625562528fa4330a58eb9fe4cc05 (diff)
iOS: Add UIResponder helper to get current first responder
Change-Id: I422d45860a52861893d963fabbecd4ac30477272 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/plugins/platforms/ios/qiosglobal.mm')
-rw-r--r--src/plugins/platforms/ios/qiosglobal.mm25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/qiosglobal.mm b/src/plugins/platforms/ios/qiosglobal.mm
index 2ce064582e..7ff4950599 100644
--- a/src/plugins/platforms/ios/qiosglobal.mm
+++ b/src/plugins/platforms/ios/qiosglobal.mm
@@ -141,5 +141,30 @@ int infoPlistValue(NSString* key, int defaultValue)
return value ? [value intValue] : defaultValue;
}
+// -------------------------------------------------------------------------
+
+@interface QtFirstResponderEvent : UIEvent
+@property (nonatomic, strong) id firstResponder;
+@end
+
+@implementation QtFirstResponderEvent
+@end
+
+@implementation UIResponder (QtFirstResponder)
+
++(id)currentFirstResponder
+{
+ QtFirstResponderEvent *event = [[[QtFirstResponderEvent alloc] init] autorelease];
+ [[UIApplication sharedApplication] sendAction:@selector(qt_findFirstResponder:event:) to:nil from:nil forEvent:event];
+ return event.firstResponder;
+}
+
+- (void)qt_findFirstResponder:(id)sender event:(QtFirstResponderEvent *)event
+{
+ Q_UNUSED(sender);
+ event.firstResponder = self;
+}
+@end
+
QT_END_NAMESPACE