summaryrefslogtreecommitdiffstats
path: root/mappingtreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2014-07-09 14:05:15 +0200
committerArno <am@disconnect.de>2014-07-09 14:05:15 +0200
commit1e84e246d1a4e0b24657e9c416c6ce4a0eb002d5 (patch)
tree1aaad4e6ffacaa13c4fbe0193c892c7e8d7add49 /mappingtreemodel.cpp
parent7a2c2c37d4324935ea55221b57d1c878fff4860e (diff)
downloadSheMov-1e84e246d1a4e0b24657e9c416c6ce4a0eb002d5.tar.gz
SheMov-1e84e246d1a4e0b24657e9c416c6ce4a0eb002d5.tar.bz2
SheMov-1e84e246d1a4e0b24657e9c416c6ce4a0eb002d5.zip
Fix commit dc7cc269a4fffe43bdac2ae2dc6548fbd1e3bb5e
Since that commit we not only recorded leaves for Mappings, but also the nodes. This is plain wrong, since we build the path/tree ourselves where it matters (e.g. MappingTreeItem). Fix it by checking recursively if the MappingItem has children.
Diffstat (limited to 'mappingtreemodel.cpp')
-rw-r--r--mappingtreemodel.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/mappingtreemodel.cpp b/mappingtreemodel.cpp
index 64de32f..a56f543 100644
--- a/mappingtreemodel.cpp
+++ b/mappingtreemodel.cpp
@@ -473,6 +473,19 @@ void MappingTreeResultModel::removeItem(const QModelIndex &idx){
endResetModel();
}
+QList<QVariant> MappingTreeResultModel::getMappings(SmTreeItem *start) const{
+ QList<QVariant> retval;
+ for(int i = 0; i < start->childCount(); ++i){
+ SmTreeItem *childItem = start->child(i);
+ if(childItem->childCount()){
+ retval.append(getMappings(childItem));
+ }else{
+ retval << childItem->data(MappingId);
+ }
+ }
+ return retval;
+}
+
QList<QVariant> MappingTreeResultModel::columnValues(int column) const {
return columnValuesRecursive(root(), column);
}