┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
diff options
context:
space:
mode:
authorAmandeep Singh <[email protected]>2012-09-22 23:48:54 +0530
committerAmandeep Singh <[email protected]>2012-09-22 23:49:15 +0530
commit1b5b731621ea79cff04f745890693ebe060515cc (patch)
tree0c1affff815043ddffa3151e90e36fe83fc19442 /src/kitemviews/kitemlistview.cpp
parentf1b822d926316d739ec10d8b05917b6b0c2d92b5 (diff)
parent990c7d260ffdca52496d05b88b763ab4566b8c0a (diff)
Merge branch for accessibility
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
-rw-r--r--src/kitemviews/kitemlistview.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp
index 72b3fd8fc..580cf5bbe 100644
--- a/src/kitemviews/kitemlistview.cpp
+++ b/src/kitemviews/kitemlistview.cpp
@@ -43,6 +43,8 @@
#include <QStyleOptionRubberBand>
#include <QTimer>
+#include "kitemlistviewaccessible.h"
+
namespace {
// Time in ms until reaching the autoscroll margin triggers
// an initial autoscrolling
@@ -52,6 +54,20 @@ namespace {
const int RepeatingAutoScrollDelay = 1000 / 60;
}
+#ifndef QT_NO_ACCESSIBILITY
+QAccessibleInterface* accessibleInterfaceFactory(const QString &key, QObject *object)
+{
+ Q_UNUSED(key)
+ if (KItemListContainer*view = qobject_cast<KItemListContainer*>(object)) {
+ return new KItemListContainerAccessible(view);
+ }
+ if (KItemListView *view = qobject_cast<KItemListView*>(object)) {
+ return new KItemListViewAccessible(view);
+ }
+ return 0;
+}
+#endif
+
KItemListView::KItemListView(QGraphicsWidget* parent) :
QGraphicsWidget(parent),
m_enabledSelectionToggles(false),
@@ -110,6 +126,11 @@ KItemListView::KItemListView(QGraphicsWidget* parent) :
m_headerWidget->setVisible(false);
m_header = new KItemListHeader(this);
+
+#ifndef QT_NO_ACCESSIBILITY
+ QAccessible::installFactory(accessibleInterfaceFactory);
+#endif
+
}
KItemListView::~KItemListView()
@@ -641,6 +662,11 @@ void KItemListView::paint(QPainter* painter, const QStyleOptionGraphicsItem* opt
}
}
+KItemListViewLayouter* KItemListView::layouter() const
+{
+ return m_layouter;
+}
+
void KItemListView::setItemSize(const QSizeF& size)
{
const QSizeF previousSize = m_itemSize;
@@ -1251,6 +1277,7 @@ void KItemListView::slotCurrentChanged(int current, int previous)
if (currentWidget) {
currentWidget->setCurrent(true);
}
+ QAccessible::updateAccessibility(this, current+1, QAccessible::Focus);
}
void KItemListView::slotSelectionChanged(const QSet<int>& current, const QSet<int>& previous)