| 244 | } |
| 245 | |
| 246 | QModelIndex ProjectTreeView::mapFromSource(const QAbstractProxyModel* proxy, const QModelIndex& sourceIdx) |
| 247 | { |
| 248 | const QAbstractItemModel* next = proxy->sourceModel(); |
| 249 | Q_ASSERT(next == sourceIdx.model() || qobject_cast<const QAbstractProxyModel*>(next)); |
| 250 | if(next == sourceIdx.model()) |
| 251 | return proxy->mapFromSource(sourceIdx); |
| 252 | else { |
| 253 | const auto* nextProxy = qobject_cast<const QAbstractProxyModel*>(next); |
| 254 | QModelIndex idx = mapFromSource(nextProxy, sourceIdx); |
| 255 | Q_ASSERT(idx.model() == nextProxy); |
| 256 | return proxy->mapFromSource(idx); |
| 257 | } |
| 258 | } |
| 259 | |
| 260 | QModelIndex ProjectTreeView::mapFromItem(const ProjectBaseItem* item) |
| 261 | { |
no test coverage detected