#include "kitemlistcontainer.h"
#include "kitemlistcontroller.h"
-#include "kitemlistselectionmanager.h"
#include "kitemlistview.h"
#include "kitemmodelbase.h"
#include <KDebug>
-#include "kitemlistviewaccessible.h"
-
/**
* Replaces the default viewport of KItemListContainer by a
* non-scrollable viewport. The scrolling is done in an optimized
event->ignore();
}
-QAccessibleInterface* accessibleContainerFactory(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;
-}
-
KItemListContainer::KItemListContainer(KItemListController* controller, QWidget* parent) :
QAbstractScrollArea(parent),
m_controller(controller),
this, SLOT(slotModelChanged(KItemModelBase*,KItemModelBase*)));
connect(controller, SIGNAL(viewChanged(KItemListView*,KItemListView*)),
this, SLOT(slotViewChanged(KItemListView*,KItemListView*)));
-
-#ifndef QT_NO_ACCESSIBILITY
- QAccessible::installFactory(accessibleContainerFactory);
-#endif
}
KItemListContainer::~KItemListContainer()
// the QGraphicsScene might get deleted before the view.
delete m_controller;
m_controller = 0;
-#ifndef QT_NO_ACCESSIBIILTY
- QAccessible::removeFactory(accessibleContainerFactory);
-#endif
}
KItemListController* KItemListContainer::controller() const
if (view) {
QApplication::sendEvent(view, event);
}
- QAccessible::updateAccessibility(view, m_controller->selectionManager()->currentItem()+1, QAccessible::Focus);
- QAccessible::updateAccessibility(view, m_controller->selectionManager()->currentItem()+1, QAccessible::LocationChanged);
}
void KItemListContainer::showEvent(QShowEvent* event)
{
m_horizontalSmoothScroller->scrollContentsBy(dx);
m_verticalSmoothScroller->scrollContentsBy(dy);
- QAccessible::updateAccessibility(m_controller->view(), m_controller->selectionManager()->currentItem()+1, QAccessible::Focus);
- QAccessible::updateAccessibility(m_controller->view(), m_controller->selectionManager()->currentItem()+1, QAccessible::LocationChanged);
}
void KItemListContainer::wheelEvent(QWheelEvent* event)
updateScrollOffsetScrollBar();
updateItemOffsetScrollBar();
- QAccessible::updateAccessibility(m_controller->view(), 0, QAccessible::LocationChanged);
- QAccessible::updateAccessibility(m_controller->view(), m_controller->selectionManager()->currentItem()+1, QAccessible::LocationChanged);
- QAccessible::updateAccessibility(m_controller->view(), m_controller->selectionManager()->currentItem()+1, QAccessible::Focus);
}
}
#include "kitemlistselectionmanager.h"
#include "kitemmodelbase.h"
#include <KDebug>
-#include <QAccessible>
KItemListSelectionManager::KItemListSelectionManager(QObject* parent) :
QObject(parent),
const int RepeatingAutoScrollDelay = 1000 / 60;
}
+#ifndef QT_NO_ACCESSIBILITY
QAccessibleInterface* accessibleViewFactory(const QString &key, QObject *object)
{
Q_UNUSED(key)
- if (KItemListView *view = qobject_cast<KItemListView*>(object))
+ if (KItemListView *view = qobject_cast<KItemListView*>(object)) {
return new KItemListViewAccessible(view);
+ }
return 0;
}
+#endif
KItemListView::KItemListView(QGraphicsWidget* parent) :
QGraphicsWidget(parent),
m_headerWidget->setVisible(false);
m_header = new KItemListHeader(this);
+
#ifndef QT_NO_ACCESSIBILITY
QAccessible::installFactory(accessibleViewFactory);
#endif
+
}
KItemListView::~KItemListView()
delete m_sizeHintResolver;
m_sizeHintResolver = 0;
-#ifndef QT_NO_ACCESSIBILITY
- QAccessible::removeFactory(accessibleViewFactory);
-#endif
}
void KItemListView::setScrollOffset(qreal offset)
#include "kitemlistcontroller.h"
#include "kitemlistselectionmanager.h"
#include "private/kitemlistviewlayouter.h"
+#include <klocalizedstring.h>
#include <QtGui/qtableview.h>
#include <QtGui/qaccessible2.h>
#ifndef QT_NO_ACCESSIBILITY
-#ifndef QT_NO_ITEMVIEWS
-
KItemListView *KItemListViewAccessible::view() const
{
return qobject_cast<KItemListView*>(object());
{
Q_ASSERT(child == 0);
if (t == QAccessible::Description) {
- return QObject::tr("List of files present in the current directory");
+ return i18n("List of files present in the current directory");
}
- return QObject::tr("File List");
+ return i18n("File List");
}
QRect KItemListViewAccessible::rect(int child) const
// TABLE CELL
-KItemListAccessibleCell::KItemListAccessibleCell(KItemListView *view_, int index_)
- : view(view_)
- , index(index_)
+KItemListAccessibleCell::KItemListAccessibleCell(KItemListView *view, int index)
+ : m_view(view)
+ , m_index(index)
{
- Q_ASSERT(index_ > 0);
+ Q_ASSERT(index > 0);
}
int KItemListAccessibleCell::columnExtent() const
int KItemListAccessibleCell::columnIndex() const
{
- return view->layouter()->itemColumn(index);
+ return view->layouter()->itemColumn(m_index);
}
int KItemListAccessibleCell::rowIndex() const
{
- return view->layouter()->itemRow(index);
+ return view->layouter()->itemRow(m_index);
}
bool KItemListAccessibleCell::isSelected() const
{
- return view->controller()->selectionManager()->isSelected(index-1);
+ return view->controller()->selectionManager()->isSelected(m_index-1);
}
void KItemListAccessibleCell::rowColumnExtents(int *row, int *column, int *rowExtents, int *columnExtents, bool *selected) const
{
KItemListViewLayouter* layouter = view->layouter();
- *row = layouter->itemRow(index);
- *column = layouter->itemColumn(index);
+ *row = layouter->itemRow(m_index);
+ *column = layouter->itemColumn(m_index);
*rowExtents = 1;
*columnExtents = 1;
*selected = isSelected();
if (isSelected()) {
st |= Selected;
}
- if (view->controller()->selectionManager()->currentItem() == index) {
+ if (view->controller()->selectionManager()->currentItem() == m_index) {
st |= Focused;
}
QRect KItemListAccessibleCell::rect(int) const
{
- QRect r = view->itemRect(index-1).toRect();
+ QRect r = view->itemRect(m_index-1).toRect();
if (r.isNull()) {
return QRect();
}
{
Q_ASSERT(child == 0);
Q_UNUSED(child)
- const QHash<QByteArray, QVariant> data = view->model()->data(index-1);
+ const QHash<QByteArray, QVariant> data = view->model()->data(m_index-1);
switch (t) {
case QAccessible::Value:
case QAccessible::Name:
bool KItemListAccessibleCell::isValid() const
{
- return view && (index > 0);
+ return view && (m_index > 0);
}
int KItemListAccessibleCell::navigate(RelationFlag relation, int index, QAccessibleInterface **iface) const
return QAccessibleWidgetEx::navigate(relation, index, target);
}
-#endif // QT_NO_ITEMVIEWS
-
#endif // QT_NO_ACCESSIBILITY
#define ACCESSIBLE_ITEMVIEWS_H
#include "QtCore/qpointer.h"
-#include <QtGui/qabstractitemview.h>
-#include <QtGui/qheaderview.h>
#include <QtGui/qaccessible.h>
#include <QtGui/qaccessible2.h>
#include <QtGui/qaccessiblewidget.h>
#ifndef QT_NO_ACCESSIBILITY
-#ifndef QT_NO_ITEMVIEWS
-
class KItemListAccessibleCell;
class KItemListViewAccessible: public QAccessibleTable2Interface, public QAccessibleObjectEx
virtual void rowColumnExtents(int *row, int *column, int *rowExtents, int *columnExtents, bool *selected) const;
virtual QAccessibleTable2Interface* table() const;
- inline int getIndex() const {
+ inline int index() const {
return index;
}
private:
- QPointer<KItemListView> view;
- int index;
+ QPointer<KItemListView> m_view;
+ int m_index;
friend class KItemListViewAccessible;
};
}
};
-#endif // QT_NO_ITEMVIEWS
-
#endif // QT_NO_ACCESSIBILITY
#endif // ACCESSIBLE_ITEMVIEWS_H