diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2011-10-11 14:43:28 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-14 11:41:16 +0200 |
commit | 736b3a6aca96e8c5d76aa08e62b71f47b3a02df6 (patch) | |
tree | 1ba4e7c88dfdb58eb202e33b7bee27655ed724d5 /src/plugins | |
parent | bb22b4965070409df4658f16fdf549f0362e8a9c (diff) |
Accessibility plugin for mac and xcb.
Instead of creating new instances of the class whenever
accessibility() is called, create one on startup.
Change-Id: Idd5b06ee935d7acf4934b98882d254a1ef0ca04e
Reviewed-on: http://codereview.qt-project.org/6435
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.h | 2 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.mm | 9 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.cpp | 9 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.h | 4 |
4 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index 6e845de790..0ebe5d5af1 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -86,11 +86,13 @@ public: QPlatformMenuBar *createPlatformMenuBar(QMenuBar *menuBar = 0) const; QPlatformNativeInterface *nativeInterface() const; + QPlatformAccessibility *accessibility() const; private: QPlatformFontDatabase *mFontDb; QAbstractEventDispatcher *mEventDispatcher; QCocoaAutoReleasePool *mPool; + QPlatformAccessibility *mAccessibility; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 18fa968ce1..e4d3bb01dd 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -51,6 +51,7 @@ #include "qcocoaapplicationdelegate.h" #include "qmenu_mac.h" +#include <QtGui/qplatformaccessibility_qpa.h> #include <QtCore/qcoreapplication.h> #include <QtPlatformSupport/private/qbasicfontdatabase_p.h> @@ -124,10 +125,13 @@ QCocoaIntegration::QCocoaIntegration() QCocoaScreen *screen = new QCocoaScreen(i); screenAdded(screen); } + + mAccessibility = new QPlatformAccessibility; } QCocoaIntegration::~QCocoaIntegration() { + delete mAccessibility; delete mPool; } @@ -183,4 +187,9 @@ QPlatformNativeInterface *QCocoaIntegration::nativeInterface() const return new QCocoaNativeInterface(); } +QPlatformAccessibility *QCocoaIntegration::accessibility() const +{ + return mAccessibility; +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index 185765bb34..91d7e287f3 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -78,6 +78,7 @@ #include <QtGui/QOpenGLContext> #include <QtGui/QScreen> +#include <QtGui/QPlatformAccessibility> QXcbIntegration::QXcbIntegration(const QStringList ¶meters) : m_eventDispatcher(createUnixEventDispatcher()) @@ -104,11 +105,14 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters) m_nativeInterface = new QXcbNativeInterface; m_inputContext = QPlatformInputContextFactory::create(); + + m_accessibility = new QPlatformAccessibility(); } QXcbIntegration::~QXcbIntegration() { qDeleteAll(m_connections); + delete m_accessibility; } QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const @@ -228,3 +232,8 @@ QPlatformInputContext *QXcbIntegration::inputContext() const { return m_inputContext; } + +QPlatformAccessibility *QXcbIntegration::accessibility() const +{ + return m_accessibility; +} diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h index cad127c28e..d451507425 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.h +++ b/src/plugins/platforms/xcb/qxcbintegration.h @@ -74,6 +74,8 @@ public: QPlatformInputContext *inputContext() const; + QPlatformAccessibility *accessibility() const; + private: QList<QXcbConnection *> m_connections; @@ -82,6 +84,8 @@ private: QPlatformInputContext *m_inputContext; QAbstractEventDispatcher *m_eventDispatcher; + + QPlatformAccessibility *m_accessibility; }; QT_END_NAMESPACE |