┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAmandeep Singh <[email protected]>2012-08-08 18:25:21 +0530
committerAmandeep Singh <[email protected]>2012-08-14 20:27:56 +0530
commite43492a6d810f407d6fa81848df56a7d8251f6f7 (patch)
tree978a5a16a53df6aae4655437ae961807d9d714bf /src
parent9437c93f071daac2dec4b83740a634b5a64b86b8 (diff)
Focus-tracking for widgets in Dolphin View now works.
Added the calls to updateAccessibility, for DragDrop & Focus scenarios
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistcontainer.cpp1
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp3
-rw-r--r--src/kitemviews/kitemlistcontroller.h2
-rw-r--r--src/kitemviews/kitemlistselectionmanager.cpp6
-rw-r--r--src/kitemviews/kitemlistviewaccessible.cpp14
5 files changed, 20 insertions, 6 deletions
diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp
index 9b0c39667..01a4cfd4e 100644
--- a/src/kitemviews/kitemlistcontainer.cpp
+++ b/src/kitemviews/kitemlistcontainer.cpp
@@ -163,6 +163,7 @@ void KItemListContainer::keyPressEvent(QKeyEvent* event)
if (view) {
QApplication::sendEvent(view, event);
}
+ //QAccessible::updateAccessibility(view, 0, QAccessible::Focus);
}
void KItemListContainer::showEvent(QShowEvent* event)
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 88f5d9f7c..985663622 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -848,6 +848,8 @@ bool KItemListController::dropEvent(QGraphicsSceneDragDropEvent* event, const QT
emit itemDropEvent(m_view->itemAt(pos), event);
}
+ QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropEnd);
+
return true;
}
@@ -1095,6 +1097,7 @@ void KItemListController::startDragging()
drag->setHotSpot(hotSpot);
drag->exec(Qt::MoveAction | Qt::CopyAction | Qt::LinkAction, Qt::CopyAction);
+ QAccessible::updateAccessibility(view(), 0, QAccessible::DragDropStart);
}
KItemListWidget* KItemListController::hoveredWidget() const
diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h
index a88152622..6e8e3d367 100644
--- a/src/kitemviews/kitemlistcontroller.h
+++ b/src/kitemviews/kitemlistcontroller.h
@@ -30,6 +30,8 @@
#include <QPointF>
#include <QSet>
+#include <QAccessible>
+
class KItemModelBase;
class KItemListKeyboardSearchManager;
class KItemListSelectionManager;
diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp
index 383914df0..dbeb00fc6 100644
--- a/src/kitemviews/kitemlistselectionmanager.cpp
+++ b/src/kitemviews/kitemlistselectionmanager.cpp
@@ -22,9 +22,11 @@
***************************************************************************/
#include "kitemlistselectionmanager.h"
-
+#include "kitemlistcontroller.h"
+#include "kitemlistview.h"
#include "kitemmodelbase.h"
#include <KDebug>
+#include <QAccessible>
KItemListSelectionManager::KItemListSelectionManager(QObject* parent) :
QObject(parent),
@@ -61,6 +63,8 @@ void KItemListSelectionManager::setCurrentItem(int current)
}
}
}
+ KItemListController *controller = static_cast<KItemListController*>(parent());
+ QAccessible::updateAccessibility(controller->view(), current+1, QAccessible::Focus);
}
int KItemListSelectionManager::currentItem() const
diff --git a/src/kitemviews/kitemlistviewaccessible.cpp b/src/kitemviews/kitemlistviewaccessible.cpp
index 9e23f2343..de6e18e80 100644
--- a/src/kitemviews/kitemlistviewaccessible.cpp
+++ b/src/kitemviews/kitemlistviewaccessible.cpp
@@ -61,7 +61,7 @@ QAccessibleTable2CellInterface *KItemListViewAccessible::cellAt(int row, int col
return 0;
}
return cell(index);*/
- return column * (row - 1) + column ;
+ return cell(column * (row - 1) + column) ;
}
QAccessibleInterface *KItemListViewAccessible::caption() const
@@ -187,6 +187,12 @@ QAccessible::Role KItemListViewAccessible::role(int child) const
QAccessible::State KItemListViewAccessible::state(int child) const
{
+ if(child){
+ QAccessibleInterface *iface;
+ navigate(Child,child,&iface);
+ if(iface)
+ return iface->state(0);
+ }
return QAccessible::Normal | QAccessible::HasInvokeExtension;
}
@@ -405,16 +411,14 @@ QAccessible::State KItemListAccessibleCell::state(int child) const
return st;
}
-//Done
bool KItemListAccessibleCell::isExpandable() const
{
return false; //view->model()->hasChildren(m_index);
}
-//Done
QRect KItemListAccessibleCell::rect(int) const
{
- QRect r = view->itemRect(index).toRect();
+ QRect r = view->itemRect(index-1).toRect();
if (r.isNull())
return QRect();
r.translate(view->mapToScene(QPointF(0.0, 0.0)).toPoint());
@@ -439,7 +443,7 @@ QString KItemListAccessibleCell::text(QAccessible::Text t, int child) const
return QString();
}
-void KItemListAccessibleCell::setText(QAccessible::Text /*t*/, int child, const QString &text)
+void KItemListAccessibleCell::setText(QAccessible::Text /*t*/, int child, const QString &/*text*/)
{
Q_ASSERT(child == 0);
// FIXME - is this even allowed on the KItemListWidget?