summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels/qsortfilterproxymodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/itemmodels/qsortfilterproxymodel.cpp')
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
index 8551db0c28..80961e8eb3 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
@@ -1871,6 +1871,22 @@ QModelIndex QSortFilterProxyModel::parent(const QModelIndex &child) const
/*!
\reimp
*/
+QModelIndex QSortFilterProxyModel::sibling(int row, int column, const QModelIndex &idx) const
+{
+ Q_D(const QSortFilterProxyModel);
+ if (!d->indexValid(idx))
+ return QModelIndex();
+
+ const IndexMap::const_iterator it = d->index_to_iterator(idx);
+ if (it.value()->source_rows.count() <= row || it.value()->source_columns.count() <= column)
+ return QModelIndex();
+
+ return d->create_index(row, column, it);
+}
+
+/*!
+ \reimp
+*/
int QSortFilterProxyModel::rowCount(const QModelIndex &parent) const
{
Q_D(const QSortFilterProxyModel);