summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mappingtreewidget.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index 3f46671..094703b 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -169,13 +169,20 @@ void MappingTreeWidget::addActor(){
}
QString newActorName = QInputDialog::getText(this, tr("New actor"), tr("Actor"));
if(!newActorName.isEmpty()){
- mModel->addChild(newActorName, actorIndex);
- actorIndex = mModel->find("actors", MappingTreeModel::Name);
- QModelIndex newIdx = mModel->find(newActorName, MappingTreeModel::Name, actorIndex);
- if(newIdx.isValid()){
- QModelIndex newIdxProxy = mProxy->mapFromSource(newIdx);
+ QModelIndex newActorIdx = mModel->find(newActorName, MappingTreeModel::Name, actorIndex);
+ if(newActorIdx.isValid()){
+ QModelIndex newIdxProxy = mProxy->mapFromSource(newActorIdx);
mTree->scrollTo(newIdxProxy, QAbstractItemView::EnsureVisible);
mTree->selectionModel()->setCurrentIndex(newIdxProxy, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Current | QItemSelectionModel::Rows);
+ }else{
+ mModel->addChild(newActorName, actorIndex);
+ actorIndex = mModel->find("actors", MappingTreeModel::Name);
+ QModelIndex newIdx = mModel->find(newActorName, MappingTreeModel::Name, actorIndex);
+ if(newIdx.isValid()){
+ QModelIndex newIdxProxy = mProxy->mapFromSource(newIdx);
+ mTree->scrollTo(newIdxProxy, QAbstractItemView::EnsureVisible);
+ mTree->selectionModel()->setCurrentIndex(newIdxProxy, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Current | QItemSelectionModel::Rows);
+ }
}
}
}