From c2cd7f21e9a2e5d0219bb674e3b40378c35b3038 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 17 Mar 2012 12:08:55 +0100 Subject: Revamp Select all files in PictureViewer Change semantics of "Select all pics" in PictureViewer2. Now all pics are not really all pics any more, but only all pics of the selected mapping node. --- pictureswidget.cpp | 19 +++++++------------ pictureswidget.h | 1 - 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/pictureswidget.cpp b/pictureswidget.cpp index f274425..b1c144e 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -258,15 +258,12 @@ PicFilesModel::PicFilesModel(const QStringList &headers, QObject *parent) : SmTr mDeleteMappingsQ->prepare("DELETE FROM pics_mappings WHERE ipics_id = :id"); mAddMappingsQ = new QSqlQuery(mDb); mAddMappingsQ->prepare("INSERT INTO pics_mappings(ipics_id, imapping_id) VALUES(:pid, :id)"); - mAllFilesQ = new QSqlQuery(mDb); - mAllFilesQ->prepare("SELECT pics.tfilename, pics.isize, pics.tformat, pics.dtadded, pics.cmd5sum, pics.ipicsid FROM pics"); } PicFilesModel::~PicFilesModel(){ delete mDeleteFileQ; delete mDeleteMappingsQ; delete mAddMappingsQ; - delete mAllFilesQ; mDb = QSqlDatabase::database(); } @@ -350,16 +347,14 @@ QList PicFilesModel::dataList(const QModelIndex &idx) const{ QList > PicFilesModel::allFiles() const { QList > retval; - if(!mAllFilesQ->exec()){ - return retval; - } - while(mAllFilesQ->next()){ + //assume depth of exactly 1 + SmTreeItem *rootItem = root(); + for(int i = 0; i < rootItem->childCount(); ++i){ + SmTreeItem *cur = rootItem->child(i); QList data; - data << mAllFilesQ->value(0) << mAllFilesQ->value(1) << mAllFilesQ->value(2); // Filename, size and Mime type - data << Helper::createArchivePath(mAllFilesQ->value(0).toString(), mAllFilesQ->value(4).toString()); // full path; - data << mAllFilesQ->value(5) << mAllFilesQ->value(3) << mAllFilesQ->value(4); //Id, added and md5 - QLocale l; - data << l.toString(mAllFilesQ->value(1).toInt()); + for(int j = 0; j < cur->columnCount(); ++j){ + data << cur->data(j); + } retval << data; } return retval; diff --git a/pictureswidget.h b/pictureswidget.h index 41df3b8..0239560 100644 --- a/pictureswidget.h +++ b/pictureswidget.h @@ -126,7 +126,6 @@ class PicFilesModel : public SmTreeModel { QSqlQuery *mDeleteFileQ; QSqlQuery *mDeleteMappingsQ; QSqlQuery *mAddMappingsQ; - QSqlQuery *mAllFilesQ; QString mCurMappingIdsQS; QList mMappingIds; }; -- cgit v1.2.3-70-g09d2