mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 16:31:21 +00:00
Make cell indices work.
This commit is contained in:
parent
174749c349
commit
8f816c8d95
|
@ -33,10 +33,10 @@ QAccessible::Role KItemListViewAccessible::cellRole() const
|
||||||
|
|
||||||
QAccessibleTable2CellInterface* KItemListViewAccessible::cell(int index) const
|
QAccessibleTable2CellInterface* KItemListViewAccessible::cell(int index) const
|
||||||
{
|
{
|
||||||
if (index > 0) {
|
Q_ASSERT(index >= 0 && index < view()->model()->count());
|
||||||
return new KItemListAccessibleCell(view(), index);
|
if (index < 0 || index >= view()->model()->count())
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
|
return new KItemListAccessibleCell(view(), index);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant KItemListViewAccessible::invokeMethodEx(Method, int, const QVariantList &)
|
QVariant KItemListViewAccessible::invokeMethodEx(Method, int, const QVariantList &)
|
||||||
|
@ -46,7 +46,8 @@ QVariant KItemListViewAccessible::invokeMethodEx(Method, int, const QVariantList
|
||||||
|
|
||||||
QAccessibleTable2CellInterface* KItemListViewAccessible::cellAt(int row, int column) const
|
QAccessibleTable2CellInterface* KItemListViewAccessible::cellAt(int row, int column) const
|
||||||
{
|
{
|
||||||
return cell(column*row + column + 1);
|
qDebug() << "cellAt: " << row << column << " is: " << column*row + column;
|
||||||
|
return cell(columnCount()*row + column);
|
||||||
}
|
}
|
||||||
|
|
||||||
QAccessibleInterface* KItemListViewAccessible::caption() const
|
QAccessibleInterface* KItemListViewAccessible::caption() const
|
||||||
|
@ -74,7 +75,7 @@ int KItemListViewAccessible::rowCount() const
|
||||||
if(rowCount <= 0){
|
if(rowCount <= 0){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (itemCount % rowCount) {
|
if (itemCount % columnCount()) {
|
||||||
++rowCount;
|
++rowCount;
|
||||||
}
|
}
|
||||||
return rowCount;
|
return rowCount;
|
||||||
|
@ -172,8 +173,8 @@ QAccessible::Role KItemListViewAccessible::role(int child) const
|
||||||
QAccessible::State KItemListViewAccessible::state(int child) const
|
QAccessible::State KItemListViewAccessible::state(int child) const
|
||||||
{
|
{
|
||||||
if (child) {
|
if (child) {
|
||||||
QAccessibleInterface* iface;
|
QAccessibleInterface* iface = 0;
|
||||||
navigate(Child,child,&iface);
|
navigate(Child, child, &iface);
|
||||||
if (iface) {
|
if (iface) {
|
||||||
return iface->state(0);
|
return iface->state(0);
|
||||||
}
|
}
|
||||||
|
@ -195,7 +196,7 @@ int KItemListViewAccessible::childCount() const
|
||||||
int KItemListViewAccessible::indexOfChild(const QAccessibleInterface* iface) const
|
int KItemListViewAccessible::indexOfChild(const QAccessibleInterface* iface) const
|
||||||
{
|
{
|
||||||
const KItemListAccessibleCell* widget = static_cast<const KItemListAccessibleCell*>(iface);
|
const KItemListAccessibleCell* widget = static_cast<const KItemListAccessibleCell*>(iface);
|
||||||
return widget->index();
|
return widget->index() + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString KItemListViewAccessible::text(Text , int child) const
|
QString KItemListViewAccessible::text(Text , int child) const
|
||||||
|
@ -221,7 +222,7 @@ int KItemListViewAccessible::navigate(RelationFlag relation, int index, QAccessi
|
||||||
switch (relation) {
|
switch (relation) {
|
||||||
case QAccessible::Child: {
|
case QAccessible::Child: {
|
||||||
Q_ASSERT(index > 0);
|
Q_ASSERT(index > 0);
|
||||||
*iface = cell(index);
|
*iface = cell(index - 1);
|
||||||
if (*iface) {
|
if (*iface) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -263,7 +264,7 @@ KItemListAccessibleCell::KItemListAccessibleCell(KItemListView* view, int index)
|
||||||
m_view(view),
|
m_view(view),
|
||||||
m_index(index)
|
m_index(index)
|
||||||
{
|
{
|
||||||
Q_ASSERT(index >= 0);
|
Q_ASSERT(index >= 0 && index < view->model()->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
int KItemListAccessibleCell::columnExtent() const
|
int KItemListAccessibleCell::columnExtent() const
|
||||||
|
@ -298,7 +299,7 @@ int KItemListAccessibleCell::rowIndex() const
|
||||||
|
|
||||||
bool KItemListAccessibleCell::isSelected() const
|
bool KItemListAccessibleCell::isSelected() const
|
||||||
{
|
{
|
||||||
return m_view->controller()->selectionManager()->isSelected(m_index-1);
|
return m_view->controller()->selectionManager()->isSelected(m_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
void KItemListAccessibleCell::rowColumnExtents(int* row, int* column, int* rowExtents, int* columnExtents, bool* selected) const
|
void KItemListAccessibleCell::rowColumnExtents(int* row, int* column, int* rowExtents, int* columnExtents, bool* selected) const
|
||||||
|
@ -351,7 +352,7 @@ bool KItemListAccessibleCell::isExpandable() const
|
||||||
|
|
||||||
QRect KItemListAccessibleCell::rect(int) const
|
QRect KItemListAccessibleCell::rect(int) const
|
||||||
{
|
{
|
||||||
QRect rect = m_view->itemRect(m_index-1).toRect();
|
QRect rect = m_view->itemRect(m_index).toRect();
|
||||||
if (rect.isNull()) {
|
if (rect.isNull()) {
|
||||||
return QRect();
|
return QRect();
|
||||||
}
|
}
|
||||||
|
@ -364,7 +365,7 @@ QString KItemListAccessibleCell::text(QAccessible::Text t, int child) const
|
||||||
{
|
{
|
||||||
Q_ASSERT(child == 0);
|
Q_ASSERT(child == 0);
|
||||||
Q_UNUSED(child)
|
Q_UNUSED(child)
|
||||||
const QHash<QByteArray, QVariant> data = m_view->model()->data(m_index-1);
|
const QHash<QByteArray, QVariant> data = m_view->model()->data(m_index);
|
||||||
switch (t) {
|
switch (t) {
|
||||||
case QAccessible::Value:
|
case QAccessible::Value:
|
||||||
case QAccessible::Name:
|
case QAccessible::Name:
|
||||||
|
@ -382,7 +383,7 @@ void KItemListAccessibleCell::setText(QAccessible::Text /*t*/, int child, const
|
||||||
|
|
||||||
bool KItemListAccessibleCell::isValid() const
|
bool KItemListAccessibleCell::isValid() const
|
||||||
{
|
{
|
||||||
return m_view && (m_index > 0);
|
return m_view && (m_index >= 0) && (m_index < m_view->model()->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
int KItemListAccessibleCell::childAt(int, int) const
|
int KItemListAccessibleCell::childAt(int, int) const
|
||||||
|
|
|
@ -73,6 +73,10 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void modelReset();
|
virtual void modelReset();
|
||||||
|
/**
|
||||||
|
* Create an QAccessibleTable2CellInterface representing the table
|
||||||
|
* cell at the @index. Index is 0-based.
|
||||||
|
*/
|
||||||
inline QAccessibleTable2CellInterface* cell(int index) const;
|
inline QAccessibleTable2CellInterface* cell(int index) const;
|
||||||
inline QAccessible::Role cellRole() const;
|
inline QAccessible::Role cellRole() const;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue