summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-03-20 03:48:56 +0100
committerArno <arno@disconnect.de>2016-03-20 03:48:56 +0100
commit437b9246b38740fca30768e80baecfc91a4eb438 (patch)
treeb1df292a284ce6ae666b8a12e9a4f11d42a9da9c
parentf0f8ee57af0e1f78c3dbc9e049022d08c5e308dc (diff)
downloadSheMov-437b9246b38740fca30768e80baecfc91a4eb438.tar.gz
SheMov-437b9246b38740fca30768e80baecfc91a4eb438.tar.bz2
SheMov-437b9246b38740fca30768e80baecfc91a4eb438.zip
Improve new actor dialog for pictures
If the actor already exists, select it and exit, otherwise create and select it.
-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);
+ }
}
}
}