From f1724e4d8ac363f903e189d466d7138e07db78d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 3 Jul 2014 18:06:42 +0200 Subject: iOS: Add helper for getting the iOS platform integration instance Change-Id: I550d345ab0f8bcba1225c425464e198d43d9fda8 Reviewed-by: Richard Moe Gustavsen --- src/plugins/platforms/ios/qiosapplicationdelegate.mm | 5 +++-- src/plugins/platforms/ios/qiosintegration.h | 2 ++ src/plugins/platforms/ios/qiosintegration.mm | 7 +++++++ src/plugins/platforms/ios/quiview.mm | 3 +-- src/plugins/platforms/ios/quiview_accessibility.mm | 2 ++ src/plugins/platforms/ios/quiview_textinput.mm | 1 + 6 files changed, 16 insertions(+), 4 deletions(-) (limited to 'src/plugins/platforms/ios') diff --git a/src/plugins/platforms/ios/qiosapplicationdelegate.mm b/src/plugins/platforms/ios/qiosapplicationdelegate.mm index 9cf1047a6b..b41b1e711f 100644 --- a/src/plugins/platforms/ios/qiosapplicationdelegate.mm +++ b/src/plugins/platforms/ios/qiosapplicationdelegate.mm @@ -46,7 +46,6 @@ #include "qiosviewcontroller.h" #include "qioswindow.h" -#include #include #include @@ -96,7 +95,9 @@ if (!QGuiApplication::instance()) return NO; - QIOSIntegration *iosIntegration = static_cast(QGuiApplicationPrivate::platformIntegration()); + QIOSIntegration *iosIntegration = QIOSIntegration::instance(); + Q_ASSERT(iosIntegration); + QIOSServices *iosServices = static_cast(iosIntegration->services()); return iosServices->handleUrl(QUrl::fromNSURL(url)); diff --git a/src/plugins/platforms/ios/qiosintegration.h b/src/plugins/platforms/ios/qiosintegration.h index 733c8dc270..d0183af99d 100644 --- a/src/plugins/platforms/ios/qiosintegration.h +++ b/src/plugins/platforms/ios/qiosintegration.h @@ -84,6 +84,8 @@ public: QTouchDevice *touchDevice(); QPlatformAccessibility *accessibility() const Q_DECL_OVERRIDE; + static QIOSIntegration *instance(); + private: QPlatformFontDatabase *m_fontDatabase; QPlatformClipboard *m_clipboard; diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm index 3334e3a094..c788756640 100644 --- a/src/plugins/platforms/ios/qiosintegration.mm +++ b/src/plugins/platforms/ios/qiosintegration.mm @@ -52,6 +52,8 @@ #include "qiostheme.h" #include "qiosservices.h" +#include + #include #include @@ -62,6 +64,11 @@ QT_BEGIN_NAMESPACE +QIOSIntegration *QIOSIntegration::instance() +{ + return static_cast(QGuiApplicationPrivate::platformIntegration()); +} + QIOSIntegration::QIOSIntegration() : m_fontDatabase(new QCoreTextFontDatabase) , m_clipboard(new QIOSClipboard) diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm index 8b79ba9e9f..2726c6e3e0 100644 --- a/src/plugins/platforms/ios/quiview.mm +++ b/src/plugins/platforms/ios/quiview.mm @@ -46,7 +46,6 @@ #include "qioswindow.h" #include -#include // Include category as an alternative to using -ObjC (Apple QA1490) #include "quiview_textinput.mm" @@ -235,7 +234,7 @@ - (void) sendTouchEventWithTimestamp:(ulong)timeStamp { // Send touch event synchronously - QIOSIntegration *iosIntegration = static_cast(QGuiApplicationPrivate::platformIntegration()); + QIOSIntegration *iosIntegration = QIOSIntegration::instance(); QWindowSystemInterface::handleTouchEvent(m_qioswindow->window(), timeStamp, iosIntegration->touchDevice(), m_activeTouches.values()); QWindowSystemInterface::flushWindowSystemEvents(); } diff --git a/src/plugins/platforms/ios/quiview_accessibility.mm b/src/plugins/platforms/ios/quiview_accessibility.mm index cf51a9add3..6565e08302 100644 --- a/src/plugins/platforms/ios/quiview_accessibility.mm +++ b/src/plugins/platforms/ios/quiview_accessibility.mm @@ -42,6 +42,8 @@ #include "qiosplatformaccessibility.h" #include "quiaccessibilityelement.h" +#include + @implementation QUIView (Accessibility) - (void)createAccessibleElement:(QAccessibleInterface *)iface diff --git a/src/plugins/platforms/ios/quiview_textinput.mm b/src/plugins/platforms/ios/quiview_textinput.mm index 3d2e3089cb..861c8151c6 100644 --- a/src/plugins/platforms/ios/quiview_textinput.mm +++ b/src/plugins/platforms/ios/quiview_textinput.mm @@ -42,6 +42,7 @@ #include "qiosinputcontext.h" #include +#include class StaticVariables { -- cgit v1.2.3