From 9dfba89c28bbff3316cb7aed6c07f90c0f2d5a22 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 26 Sep 2012 18:16:08 +0200 Subject: Add implementations of QAIM::sibling in public APIs. Change-Id: I2248641f2ed8735c28bd9572470520995a4a5b62 Reviewed-by: Marc Mutz Reviewed-by: Stephen Kelly --- src/corelib/itemmodels/qsortfilterproxymodel.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/corelib/itemmodels/qsortfilterproxymodel.cpp') 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 @@ -1868,6 +1868,22 @@ QModelIndex QSortFilterProxyModel::parent(const QModelIndex &child) const return proxy_parent; } +/*! + \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 */ -- cgit v1.2.3