]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistview.cpp
Adding the Accessibility classes
[dolphin.git] / src / kitemviews / kitemlistview.cpp
index 72b3fd8fcbfbaa43660fac359320c8227ade9063..11dad52094235512c2847bcec224d7dd671011f1 100644 (file)
@@ -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,14 @@ namespace {
     const int RepeatingAutoScrollDelay = 1000 / 60;
 }
 
+QAccessibleInterface* accessibleViewFactory(const QString &key, QObject *object)
+{
+    Q_UNUSED(key)
+    if (KItemListView *view = qobject_cast<KItemListView*>(object))
+        return new KItemListViewAccessible(view);
+    return 0;
+}
+
 KItemListView::KItemListView(QGraphicsWidget* parent) :
     QGraphicsWidget(parent),
     m_enabledSelectionToggles(false),
@@ -110,6 +120,8 @@ KItemListView::KItemListView(QGraphicsWidget* parent) :
     m_headerWidget->setVisible(false);
 
     m_header = new KItemListHeader(this);
+
+    QAccessible::installFactory(accessibleViewFactory);
 }
 
 KItemListView::~KItemListView()
@@ -125,6 +137,8 @@ KItemListView::~KItemListView()
 
     delete m_sizeHintResolver;
     m_sizeHintResolver = 0;
+
+    QAccessible::removeFactory(accessibleViewFactory);
 }
 
 void KItemListView::setScrollOffset(qreal offset)