diff options
-rw-r--r-- | mappingtreemodel.cpp | 13 | ||||
-rw-r--r-- | mappingtreemodel.h | 1 | ||||
-rw-r--r-- | newpicsdialog.cpp | 2 |
3 files changed, 15 insertions, 1 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); } diff --git a/mappingtreemodel.h b/mappingtreemodel.h index 1b5f3ea..6b20dbc 100644 --- a/mappingtreemodel.h +++ b/mappingtreemodel.h @@ -85,6 +85,7 @@ class MappingTreeResultModel : public SmTreeModel { Qt::ItemFlags flags(const QModelIndex &index) const; virtual QVariant data(const QModelIndex &index, int role) const; virtual bool setData(const QModelIndex &index, const QVariant &value, int role); + QList<QVariant> getMappings(SmTreeItem *start) const; QList<QVariant> columnValues(int column) const; void clearData(); diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp index 2b14c6d..e665f3b 100644 --- a/newpicsdialog.cpp +++ b/newpicsdialog.cpp @@ -147,7 +147,7 @@ void NewPicsDialog::accept(){ if(files.isEmpty()){ return QDialog::accept(); } - QList<QVariant> mappingParentsIds = mMappingEditWidget->model()->columnValues(MappingTreeResultModel::MappingId); + QList<QVariant> mappingParentsIds = mMappingEditWidget->model()->getMappings(mMappingEditWidget->model()->root()); QSqlQuery addFileQ(mDb); addFileQ.prepare("INSERT INTO pics (tfilename, cmd5sum, isize, tformat, cpicsize) VALUES(:fn, :md5, :size, :format, :picsize)"); QSqlQuery addMappingQ(mDb); |