summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-10-11 14:43:28 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-14 11:41:16 +0200
commit736b3a6aca96e8c5d76aa08e62b71f47b3a02df6 (patch)
tree1ba4e7c88dfdb58eb202e33b7bee27655ed724d5
parentbb22b4965070409df4658f16fdf549f0362e8a9c (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>
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.cpp2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm9
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp9
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.h4
5 files changed, 25 insertions, 1 deletions
diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp
index f3acf43e94..7c72ab43aa 100644
--- a/src/gui/kernel/qplatformintegration_qpa.cpp
+++ b/src/gui/kernel/qplatformintegration_qpa.cpp
@@ -217,7 +217,7 @@ QPlatformInputContext *QPlatformIntegration::inputContext() const
*/
QPlatformAccessibility *QPlatformIntegration::accessibility() const
{
- return new QPlatformAccessibility;
+ return 0;
}
QVariant QPlatformIntegration::styleHint(StyleHint hint) const
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 &parameters)
: m_eventDispatcher(createUnixEventDispatcher())
@@ -104,11 +105,14 @@ QXcbIntegration::QXcbIntegration(const QStringList &parameters)
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