summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosapplicationdelegate.mm
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-11-29 11:37:30 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2013-11-29 11:38:28 +0100
commit8e04691543ae3906e011f47d446ac7a94034259e (patch)
tree9cf166dcef514bbc965d570121d0b3022aad27da /src/plugins/platforms/ios/qiosapplicationdelegate.mm
parentad684ff2a7d91a948ad9d2f3765dd08c78d81020 (diff)
parent7d5448d9e2ae4d2d10c0cff867cf34b315336feb (diff)
Merge remote-tracking branch 'origin/release' into stable
Diffstat (limited to 'src/plugins/platforms/ios/qiosapplicationdelegate.mm')
-rw-r--r--src/plugins/platforms/ios/qiosapplicationdelegate.mm20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/qiosapplicationdelegate.mm b/src/plugins/platforms/ios/qiosapplicationdelegate.mm
index cf702c82af..9cf1047a6b 100644
--- a/src/plugins/platforms/ios/qiosapplicationdelegate.mm
+++ b/src/plugins/platforms/ios/qiosapplicationdelegate.mm
@@ -41,9 +41,14 @@
#include "qiosapplicationdelegate.h"
+#include "qiosintegration.h"
+#include "qiosservices.h"
#include "qiosviewcontroller.h"
#include "qioswindow.h"
+#include <QtGui/private/qguiapplication_p.h>
+#include <qpa/qplatformintegration.h>
+
#include <QtCore/QtCore>
@implementation QIOSApplicationDelegate
@@ -82,6 +87,21 @@
return YES;
}
+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
+{
+ Q_UNUSED(application);
+ Q_UNUSED(sourceApplication);
+ Q_UNUSED(annotation);
+
+ if (!QGuiApplication::instance())
+ return NO;
+
+ QIOSIntegration *iosIntegration = static_cast<QIOSIntegration *>(QGuiApplicationPrivate::platformIntegration());
+ QIOSServices *iosServices = static_cast<QIOSServices *>(iosIntegration->services());
+
+ return iosServices->handleUrl(QUrl::fromNSURL(url));
+}
+
- (void)dealloc
{
[window release];