summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels/qsortfilterproxymodel.cpp
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-09-26 18:16:08 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-02 16:25:02 +0100
commit9dfba89c28bbff3316cb7aed6c07f90c0f2d5a22 (patch)
tree1a9643ef367a24f836ec0a552229106b3776b7dd /src/corelib/itemmodels/qsortfilterproxymodel.cpp
parent000025ca1ecabe363934bdc8794b01ffb926af66 (diff)
Add implementations of QAIM::sibling in public APIs.
Change-Id: I2248641f2ed8735c28bd9572470520995a4a5b62 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
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);