summaryrefslogtreecommitdiffstats
path: root/mappingtreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2015-04-08 05:46:59 +0200
committerArno <am@disconnect.de>2015-04-08 05:46:59 +0200
commitb85e4d5f20317609d8a4277482e8bb3dac3e2dae (patch)
tree745e3ab9214f196dbb42b5a243eb8d7bdf37f07c /mappingtreewidget.cpp
parentc421ac92e03f2810aed85f06dd0ed24c89d4e9d8 (diff)
downloadSheMov-b85e4d5f20317609d8a4277482e8bb3dac3e2dae.tar.gz
SheMov-b85e4d5f20317609d8a4277482e8bb3dac3e2dae.tar.bz2
SheMov-b85e4d5f20317609d8a4277482e8bb3dac3e2dae.zip
NewPicsDialog: Select current item in MappingTree on change in
ResultView Usability fix: When selecting a mapping in the result view, select it in the source tree, too.
Diffstat (limited to 'mappingtreewidget.cpp')
-rw-r--r--mappingtreewidget.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/mappingtreewidget.cpp b/mappingtreewidget.cpp
index 6497cbd..917da68 100644
--- a/mappingtreewidget.cpp
+++ b/mappingtreewidget.cpp
@@ -208,8 +208,8 @@ void MappingTreeWidget::deleteType(){
}
}
-void MappingTreeWidget::selectPath(const QList<int> &data){
- QModelIndex pathIdx = mModel->indexFromParentPath(data, true);
+void MappingTreeWidget::selectPath(const QList<int> &data, bool reverse){
+ QModelIndex pathIdx = mModel->indexFromParentPath(data, reverse);
if(!pathIdx.isValid()){
return;
}
@@ -298,6 +298,7 @@ MappingEditWidget::MappingEditWidget(QWidget *parent) : QWidget(parent){
mMappingResult->setColumnHidden(1, true);
mMappingResult->setColumnHidden(2, true);
mMappingResult->setColumnHidden(3, true);
+ connect(mMappingResult->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(resultMappingChanged(QModelIndex,QModelIndex)));
//buttons
mAddMapping = new QPushButton(tr(">>"));
@@ -347,6 +348,20 @@ void MappingEditWidget::setMappings(const QList<MappingData> &mappings){
mMappingResult->expandAll();
}
+void MappingEditWidget::resultMappingChanged(const QModelIndex &cur, const QModelIndex &prev){
+ Q_UNUSED(prev);
+ if(!cur.isValid()){
+ return;
+ }
+ QModelIndex idx = cur;
+ QList<int> path;
+ while(idx.isValid()){
+ path << idx.data(MappingTreeResultModel::MappingIdRole).toInt();
+ idx = idx.parent();
+ }
+ mMappingTree->selectPath(path, false);
+}
+
MappingInputDialog::MappingInputDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
mOk = new QPushButton(tr("Ok"));
connect(mOk, SIGNAL(clicked()), this, SLOT(accept()));