_selectionModel = selectionModel;
connect(_selectionModel, SIGNAL(currentRowChanged(QModelIndex, QModelIndex)),
this, SLOT(setCurrentRow(QModelIndex, QModelIndex)));
+ connect(_selectionModel, SIGNAL(currentChanged(QModelIndex, QModelIndex)),
+ this, SLOT(setCurrentIndex(QModelIndex, QModelIndex)));
setCurrentRow(selectionModel->currentIndex(), QModelIndex());
}
_mappings.removeAll(Mapping(column, role, target, property));
}
+void ModelPropertyMapper::setCurrentIndex(const QModelIndex ¤t, const QModelIndex &previous) {
+ if(current.row() == previous.row() && current.parent() != previous.parent())
+ setCurrentRow(current, previous);
+}
+
void ModelPropertyMapper::setCurrentRow(const QModelIndex ¤t, const QModelIndex &previous) {
Q_UNUSED(previous)
foreach(Mapping mapping, _mappings) {