diff options
author | Arno <arno@disconnect.de> | 2016-03-20 03:48:56 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-03-20 03:48:56 +0100 |
commit | 437b9246b38740fca30768e80baecfc91a4eb438 (patch) | |
tree | b1df292a284ce6ae666b8a12e9a4f11d42a9da9c | |
parent | f0f8ee57af0e1f78c3dbc9e049022d08c5e308dc (diff) | |
download | SheMov-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.cpp | 17 |
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); + } } } } |