summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2012-01-19 14:20:54 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-06 10:15:09 +0100
commit1d18fd01645e3b9efcd1a2c5dd030a5fc0f5892a (patch)
tree84c4e4df3f91f80e07641a5a3b0b0cfcecbe6705 /src/plugins
parentfdf9ee12916651c708dcd63d557e11e36ec7eb4e (diff)
Remove QAccessible::FocusChild, add focusChild()
Also cleanup (reduce) all implementations of navigate() in order to make the final removal of navigate smoother. Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/accessible/widgets/complexwidgets.cpp7
-rw-r--r--src/plugins/accessible/widgets/itemviews.cpp52
-rw-r--r--src/plugins/accessible/widgets/itemviews.h10
-rw-r--r--src/plugins/accessible/widgets/qaccessiblemenu.cpp8
-rw-r--r--src/plugins/accessible/widgets/qaccessiblemenu.h1
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.cpp28
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.h1
-rw-r--r--src/plugins/platforms/windows/qwindowsaccessibility.cpp33
8 files changed, 11 insertions, 129 deletions
diff --git a/src/plugins/accessible/widgets/complexwidgets.cpp b/src/plugins/accessible/widgets/complexwidgets.cpp
index 50e0cd7b65..e4b10670ae 100644
--- a/src/plugins/accessible/widgets/complexwidgets.cpp
+++ b/src/plugins/accessible/widgets/complexwidgets.cpp
@@ -122,13 +122,6 @@ public:
return QAccessible::queryAccessibleInterface(m_parent);
}
QAccessibleInterface *child(int) const { return 0; }
- int navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const
- {
- Q_UNUSED(relation);
- Q_UNUSED(index);
- Q_UNUSED(iface);
- return -1;
- }
// action interface
QStringList actionNames() const
{
diff --git a/src/plugins/accessible/widgets/itemviews.cpp b/src/plugins/accessible/widgets/itemviews.cpp
index a85c79918f..a9f3a858d2 100644
--- a/src/plugins/accessible/widgets/itemviews.cpp
+++ b/src/plugins/accessible/widgets/itemviews.cpp
@@ -442,14 +442,6 @@ QAccessibleInterface *QAccessibleTable::child(int index) const
return childFromLogical(index + 1);
}
-int QAccessibleTable::navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const
-{
- Q_UNUSED(relation);
- Q_UNUSED(index);
- *iface = 0;
- return -1;
-}
-
void *QAccessibleTable::interface_cast(QAccessible::InterfaceType t)
{
if (t == QAccessible::TableInterface)
@@ -780,41 +772,6 @@ QAccessibleInterface *QAccessibleTableCell::child(int) const
return 0;
}
-int QAccessibleTableCell::navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const
-{
- Q_UNUSED(index);
- Q_UNUSED(relation);
-
-// switch (relation) {
-// From table1 implementation:
-// case Up:
-// case Down:
-// case Left:
-// case Right: {
-// // This is in the "not so nice" category. In order to find out which item
-// // is geometrically around, we have to set the current index, navigate
-// // and restore the index as well as the old selection
-// view->setUpdatesEnabled(false);
-// const QModelIndex oldIdx = view->currentIndex();
-// QList<QModelIndex> kids = children();
-// const QModelIndex currentIndex = index ? kids.at(index - 1) : QModelIndex(row);
-// const QItemSelection oldSelection = view->selectionModel()->selection();
-// view->setCurrentIndex(currentIndex);
-// const QModelIndex idx = view->moveCursor(toCursorAction(relation), Qt::NoModifier);
-// view->setCurrentIndex(oldIdx);
-// view->selectionModel()->select(oldSelection, QItemSelectionModel::ClearAndSelect);
-// view->setUpdatesEnabled(true);
-// if (!idx.isValid())
-// return -1;
-
-// if (idx.parent() != row.parent() || idx.row() != row.row())
-// *iface = cell(idx);
-// return index ? kids.indexOf(idx) + 1 : 0; }
-// }
- *iface = 0;
- return -1;
-}
-
QAccessibleTableHeaderCell::QAccessibleTableHeaderCell(QAbstractItemView *view_, int index_, Qt::Orientation orientation_)
: view(view_), index(index_), orientation(orientation_)
{
@@ -905,15 +862,6 @@ QAccessibleInterface *QAccessibleTableHeaderCell::child(int) const
return 0;
}
-int QAccessibleTableHeaderCell::navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const
-{
- Q_UNUSED(relation);
- Q_UNUSED(index);
- Q_UNUSED(iface);
-
- return -1;
-}
-
#endif // QT_NO_ITEMVIEWS
QT_END_NAMESPACE
diff --git a/src/plugins/accessible/widgets/itemviews.h b/src/plugins/accessible/widgets/itemviews.h
index 35a9f83a9e..3d852a2377 100644
--- a/src/plugins/accessible/widgets/itemviews.h
+++ b/src/plugins/accessible/widgets/itemviews.h
@@ -77,7 +77,6 @@ public:
QAccessibleInterface *parent() const;
QAccessibleInterface *child(int index) const;
- int navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const;
void *interface_cast(QAccessible::InterfaceType t);
@@ -190,7 +189,6 @@ public:
QAccessibleInterface *parent() const;
QAccessibleInterface *child(int) const;
- int navigate(QAccessible::RelationFlag relation, int m_index, QAccessibleInterface **iface) const;
// cell interface
virtual int columnExtent() const;
@@ -236,7 +234,6 @@ public:
QAccessibleInterface *parent() const;
QAccessibleInterface *child(int index) const;
- int navigate(QAccessible::RelationFlag relation, int index, QAccessibleInterface **iface) const;
private:
QAbstractItemView *view;
@@ -276,13 +273,6 @@ public:
QAccessibleInterface *child(int) const {
return 0;
}
- int navigate(QAccessible::RelationFlag relation, int, QAccessibleInterface **iface) const
- {
- Q_UNUSED(relation);
- Q_UNUSED(iface);
- return -1;
- }
-
private:
QAbstractItemView *view;
};
diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
index 49cf550b76..d3ca1629bd 100644
--- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
@@ -204,14 +204,6 @@ QAccessibleInterface *QAccessibleMenuItem::child(int index) const
return 0;
}
-int QAccessibleMenuItem::navigate(QAccessible::RelationFlag relation, int entry, QAccessibleInterface **target) const
-{
- Q_UNUSED(relation);
- Q_UNUSED(entry);
- *target = 0;
- return -1;
-}
-
void *QAccessibleMenuItem::interface_cast(QAccessible::InterfaceType t)
{
if (t == QAccessible::ActionInterface)
diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.h b/src/plugins/accessible/widgets/qaccessiblemenu.h
index e926dc708a..af934e2de7 100644
--- a/src/plugins/accessible/widgets/qaccessiblemenu.h
+++ b/src/plugins/accessible/widgets/qaccessiblemenu.h
@@ -103,7 +103,6 @@ public:
QAccessibleInterface *parent() const;
QAccessibleInterface *child(int index) const;
- int navigate(QAccessible::RelationFlag relation, int entry, QAccessibleInterface ** target) const;
QObject * object() const;
QRect rect() const;
QAccessible::Role role() const;
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
index 12a415a5b1..94101efa67 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
@@ -965,34 +965,6 @@ QAccessibleInterface *QAccessibleTitleBar::child(int index) const
return 0;
}
-int QAccessibleTitleBar::navigate(QAccessible::RelationFlag relation, int entry, QAccessibleInterface **iface) const
-{
- switch (relation) {
- case QAccessible::FocusChild:
- // ###
- if (entry >= 1) {
- QDockWidgetLayout *layout = dockWidgetLayout();
- int index = 1;
- int role;
- for (role = QDockWidgetLayout::CloseButton; role <= QDockWidgetLayout::FloatButton; ++role) {
- QWidget *w = layout->widgetForRole((QDockWidgetLayout::Role)role);
- if (!w->isVisible())
- continue;
- if (index == entry)
- break;
- ++index;
- }
- *iface = 0;
- return role > QDockWidgetLayout::FloatButton ? -1 : index;
- }
- break;
- default:
- break;
- }
- *iface = 0;
- return -1;
-}
-
int QAccessibleTitleBar::indexOfChild(const QAccessibleInterface * /*child*/) const
{
return -1;
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h
index c19f1f49fd..147ea91a41 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.h
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h
@@ -248,7 +248,6 @@ public:
QAccessibleInterface *parent() const;
QAccessibleInterface *child(int index) const;
- int navigate(QAccessible::RelationFlag relation, int entry, QAccessibleInterface **iface) const;
int indexOfChild(const QAccessibleInterface *child) const;
int childCount() const;
QAccessibleInterface *childAt(int x, int y) const;
diff --git a/src/plugins/platforms/windows/qwindowsaccessibility.cpp b/src/plugins/platforms/windows/qwindowsaccessibility.cpp
index 2678fd7f23..8d11745410 100644
--- a/src/plugins/platforms/windows/qwindowsaccessibility.cpp
+++ b/src/plugins/platforms/windows/qwindowsaccessibility.cpp
@@ -1189,29 +1189,18 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accFocus(VARIANT *pvarID)
if (!accessible->isValid())
return E_FAIL;
- QAccessibleInterface *acc = 0;
- int control = accessible->navigate(QAccessible::FocusChild, 1, &acc);
- if (control == -1) {
- (*pvarID).vt = VT_EMPTY;
- return S_FALSE;
- }
- if (!acc || control == 0) {
- (*pvarID).vt = VT_I4;
- (*pvarID).lVal = control ? control : CHILDID_SELF;
- return S_OK;
- }
-
- QWindowsAccessible* wacc = new QWindowsAccessible(acc);
- IDispatch *iface = 0;
- wacc->QueryInterface(IID_IDispatch, (void**)&iface);
- if (iface) {
- (*pvarID).vt = VT_DISPATCH;
- (*pvarID).pdispVal = iface;
- return S_OK;
- } else {
- delete wacc;
+ if (QAccessibleInterface *acc = accessible->focusChild()) {
+ QWindowsAccessible* wacc = new QWindowsAccessible(acc);
+ IDispatch *iface = 0;
+ wacc->QueryInterface(IID_IDispatch, (void**)&iface);
+ if (iface) {
+ (*pvarID).vt = VT_DISPATCH;
+ (*pvarID).pdispVal = iface;
+ return S_OK;
+ } else {
+ delete wacc;
+ }
}
-
(*pvarID).vt = VT_EMPTY;
return S_FALSE;
}