summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible/qaccessible.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/accessible/qaccessible.cpp')
-rw-r--r--src/gui/accessible/qaccessible.cpp121
1 files changed, 93 insertions, 28 deletions
diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp
index a7053aa3da..fb30b5f8ee 100644
--- a/src/gui/accessible/qaccessible.cpp
+++ b/src/gui/accessible/qaccessible.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -455,14 +455,13 @@ QT_BEGIN_NAMESPACE
Synonym for unsigned, used by the QAccessibleInterface cache.
*/
+#ifndef QT_NO_ACCESSIBILITY
/* accessible widgets plugin discovery stuff */
-#ifndef QT_NO_ACCESSIBILITY
#ifndef QT_NO_LIBRARY
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QAccessibleFactoryInterface_iid, QLatin1String("/accessible")))
#endif
-#endif
// FIXME turn this into one global static struct
Q_GLOBAL_STATIC(QList<QAccessible::InterfaceFactory>, qAccessibleFactories)
@@ -475,13 +474,11 @@ QAccessible::RootObjectHandler QAccessible::rootObjectHandler = 0;
static bool cleanupAdded = false;
-#ifndef QT_NO_ACCESSIBILITY
static QPlatformAccessibility *platformAccessibility()
{
QPlatformIntegration *pfIntegration = QGuiApplicationPrivate::platformIntegration();
return pfIntegration ? pfIntegration->accessibility() : 0;
}
-#endif
/*!
\fn QAccessible::QAccessible()
@@ -497,10 +494,8 @@ static QPlatformAccessibility *platformAccessibility()
*/
void QAccessible::cleanup()
{
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->cleanup();
-#endif
}
static void qAccessibleCleanup()
@@ -684,7 +679,6 @@ QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
return iface;
}
}
-#ifndef QT_NO_ACCESSIBILITY
#ifndef QT_NO_LIBRARY
// Find a QAccessiblePlugin (factory) for the class name. If there's
// no entry in the cache try to create it using the plugin loader.
@@ -708,18 +702,15 @@ QAccessibleInterface *QAccessible::queryAccessibleInterface(QObject *object)
return result;
}
#endif
-#endif
mo = mo->superClass();
}
-#ifndef QT_NO_ACCESSIBILITY
if (object == qApp) {
QAccessibleInterface *appInterface = new QAccessibleApplication;
QAccessibleCache::instance()->insert(object, appInterface);
Q_ASSERT(QAccessibleCache::instance()->objectToId.contains(qApp));
return appInterface;
}
-#endif
return 0;
}
@@ -789,10 +780,8 @@ QAccessibleInterface *QAccessible::accessibleInterface(Id id)
*/
bool QAccessible::isActive()
{
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
return pfAccessibility->isActive();
-#endif
return false;
}
@@ -827,10 +816,8 @@ void QAccessible::setRootObject(QObject *object)
return;
}
-#ifndef QT_NO_ACCESSIBILITY
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->setRootObject(object);
-#endif
}
/*!
@@ -863,7 +850,6 @@ void QAccessible::updateAccessibility(QAccessibleEvent *event)
if (!isActive() || !event->accessibleInterface())
return;
-#ifndef QT_NO_ACCESSIBILITY
if (event->type() == QAccessible::TableModelChanged) {
QAccessibleInterface *iface = event->accessibleInterface();
if (iface && iface->tableInterface())
@@ -877,7 +863,6 @@ void QAccessible::updateAccessibility(QAccessibleEvent *event)
if (QPlatformAccessibility *pfAccessibility = platformAccessibility())
pfAccessibility->notifyAccessibilityUpdate(event);
-#endif
}
#if QT_DEPRECATED_SINCE(5, 0)
@@ -1733,7 +1718,7 @@ Q_GUI_EXPORT QDebug operator<<(QDebug d, const QAccessibleInterface *iface)
return d;
}
d.nospace();
- d << "QAccessibleInterface(" << hex << (void *) iface << dec;
+ d << "QAccessibleInterface(" << hex << (const void *) iface << dec;
if (iface->isValid()) {
d << " name=" << iface->text(QAccessible::Name) << " ";
d << "role=" << qAccessibleRoleString(iface->role()) << " ";
@@ -1824,7 +1809,7 @@ QDebug operator<<(QDebug d, const QAccessibleEvent &ev)
d.nospace() << ")";
return d.space();
}
-
+#endif // QT_NO_DEBUGSTREAM
/*!
\class QAccessibleTextInterface
@@ -2626,7 +2611,14 @@ struct QAccessibleActionStrings
decreaseAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Decrease"))),
showMenuAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "ShowMenu"))),
setFocusAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "SetFocus"))),
- toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))) {}
+ toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))),
+ scrollLeftAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Left"))),
+ scrollRightAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Right"))),
+ scrollUpAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Up"))),
+ scrollDownAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Down"))),
+ previousPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Previous Page"))),
+ nextPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Next Page")))
+ {}
const QString pressAction;
const QString increaseAction;
@@ -2634,6 +2626,12 @@ struct QAccessibleActionStrings
const QString showMenuAction;
const QString setFocusAction;
const QString toggleAction;
+ const QString scrollLeftAction;
+ const QString scrollRightAction;
+ const QString scrollUpAction;
+ const QString scrollDownAction;
+ const QString previousPageAction;
+ const QString nextPageAction;
QString localizedDescription(const QString &actionName)
{
@@ -2649,6 +2647,20 @@ struct QAccessibleActionStrings
return QAccessibleActionInterface::tr("Sets the focus");
else if (actionName == toggleAction)
return QAccessibleActionInterface::tr("Toggles the state");
+ else if (actionName == scrollLeftAction)
+ return QAccessibleActionInterface::tr("Scrolls to the left");
+ else if (actionName == scrollRightAction)
+ return QAccessibleActionInterface::tr("Scrolls to the right");
+ else if (actionName == scrollUpAction)
+ return QAccessibleActionInterface::tr("Scrolls up");
+ else if (actionName == scrollDownAction)
+ return QAccessibleActionInterface::tr("Scrolls down");
+ else if (actionName == previousPageAction)
+ return QAccessibleActionInterface::tr("Goes back a page");
+ else if (actionName == nextPageAction)
+ return QAccessibleActionInterface::tr("Goes to the next page");
+
+
return QString();
}
};
@@ -2719,14 +2731,67 @@ const QString &QAccessibleActionInterface::toggleAction()
return accessibleActionStrings()->toggleAction;
}
+/*!
+ Returns the name of the scroll left default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollLeftAction()
+{
+ return accessibleActionStrings()->scrollLeftAction;
+}
+
+/*!
+ Returns the name of the scroll right default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollRightAction()
+{
+ return accessibleActionStrings()->scrollRightAction;
+}
+
+/*!
+ Returns the name of the scroll up default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollUpAction()
+{
+ return accessibleActionStrings()->scrollUpAction;
+}
+
+/*!
+ Returns the name of the scroll down default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollDownAction()
+{
+ return accessibleActionStrings()->scrollDownAction;
+}
+
+/*!
+ Returns the name of the previous page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::previousPageAction()
+{
+ return accessibleActionStrings()->previousPageAction;
+}
+
+/*!
+ Returns the name of the next page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::nextPageAction()
+{
+ return accessibleActionStrings()->nextPageAction;
+}
+
/*! \internal */
QString qAccessibleLocalizedActionDescription(const QString &actionName)
{
return accessibleActionStrings()->localizedDescription(actionName);
}
-
-#endif
+#endif // QT_NO_ACCESSIBILITY
QT_END_NAMESPACE