diff options
| author | Amandeep Singh <[email protected]> | 2012-09-22 23:48:54 +0530 |
|---|---|---|
| committer | Amandeep Singh <[email protected]> | 2012-09-22 23:49:15 +0530 |
| commit | 1b5b731621ea79cff04f745890693ebe060515cc (patch) | |
| tree | 0c1affff815043ddffa3151e90e36fe83fc19442 /src/kitemviews/kitemlistview.cpp | |
| parent | f1b822d926316d739ec10d8b05917b6b0c2d92b5 (diff) | |
| parent | 990c7d260ffdca52496d05b88b763ab4566b8c0a (diff) | |
Merge branch for accessibility
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 27 |
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) |
