diff options
author | Jan-Arve Saether <jan-arve.saether@nokia.com> | 2011-09-16 06:56:48 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-29 13:32:59 +0200 |
commit | 87ae97c11ab9b298c0ce6701873b45fc3992b385 (patch) | |
tree | 8f30a95f054b8bf2346a98e072ba864a7a974da5 /src/gui/kernel | |
parent | 8ebd7d84fcdaeba152bd9812b45d5c49b1e03a23 (diff) |
Refactor accessibility for Qt5
* Moved most stuff to gui\accessible
* Moved widget-specific stuff to widgets\accessible
* Moved platform-specific code to either the bridge plugin (this was already the case)
or to the platform plugin.
* Added several classes and functions. These have not yet gone through an API
review. The plan is to do that in a later commit.
Classes:
- QPlatformAccessibility
- QWindowsAccessibility
Functions:
- QWindow *QAccessibleInterface::window();
- QPlatformAccessibility *QPlatformIntegration::accessibility()
* The bridge code can now either be a plugin or integrated into the platform plugin
* Mac accessibility is left out for now. Unix "should still work" (tm). These platforms
should be fixed soon.
Change-Id: Ib49ffa73b647ee0af90864544c2769440157f562
Reviewed-on: http://codereview.qt-project.org/5330
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qplatformintegration_qpa.cpp | 11 | ||||
-rw-r--r-- | src/gui/kernel/qplatformintegration_qpa.h | 2 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp index 856ceab87c..f3acf43e94 100644 --- a/src/gui/kernel/qplatformintegration_qpa.cpp +++ b/src/gui/kernel/qplatformintegration_qpa.cpp @@ -43,6 +43,7 @@ #include <QtGui/QPlatformFontDatabase> #include <QtGui/QPlatformClipboard> +#include <QtGui/QPlatformAccessibility> #include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qpixmap_raster_p.h> #include <private/qdnd_p.h> @@ -209,6 +210,16 @@ QPlatformInputContext *QPlatformIntegration::inputContext() const return 0; } +/*! + Returns the platforms accessibility. + + The default implementation returns 0, implying no accessibility support. +*/ +QPlatformAccessibility *QPlatformIntegration::accessibility() const +{ + return new QPlatformAccessibility; +} + QVariant QPlatformIntegration::styleHint(StyleHint hint) const { switch (hint) { diff --git a/src/gui/kernel/qplatformintegration_qpa.h b/src/gui/kernel/qplatformintegration_qpa.h index b9e1d02552..0ccd9f96d3 100644 --- a/src/gui/kernel/qplatformintegration_qpa.h +++ b/src/gui/kernel/qplatformintegration_qpa.h @@ -67,6 +67,7 @@ class QMenu; class QMenuBar; class QPlatformMenu; class QPlatformMenuBar; +class QPlatformAccessibility; class Q_GUI_EXPORT QPlatformIntegration { @@ -101,6 +102,7 @@ public: virtual QPlatformMenu *createPlatformMenu(QMenu *menu = 0) const; virtual QPlatformMenuBar *createPlatformMenuBar(QMenuBar *menuBar = 0) const; + virtual QPlatformAccessibility *accessibility() const; // Access native handles. The window handle is already available from Wid; virtual QPlatformNativeInterface *nativeInterface() const; diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 118844a0a2..d17ff9e039 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -559,6 +559,8 @@ void QWindow::setScreen(QScreen *newScreen) /*! Returns the accessibility interface for the object that the window represents + \preliminary + \sa QAccessible */ QAccessibleInterface *QWindow::accessibleRoot() const { |