diff options
Diffstat (limited to 'picfilesmodel.cpp')
-rw-r--r-- | picfilesmodel.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/picfilesmodel.cpp b/picfilesmodel.cpp index 482af09..11d8f43 100644 --- a/picfilesmodel.cpp +++ b/picfilesmodel.cpp @@ -301,6 +301,47 @@ QList<int> PicFilesModel::mappingPIdsFromFiles(QList<int> fileIds) const{ return retval; } +void PicFilesModel::selectFromAll(){ + mAllPics.clear(); + QSqlQuery q("SELECT tfilename, cmd5sum, ipicsid FROM pics", mDb); + while(q.next()){ + QList<QVariant> cur; + cur << q.value(0) << q.value(1) << q.value(2); + mAllPics << cur; + } + mCurrentPics = &mAllPics; +} + +void PicFilesModel::selectFromRecent(int days){ + mAllPics.clear(); + QString qTempl = QString("SELECT tfilename, cmd5sum, ipicsid FROM pics WHERE dtadded > now() - interval '%1 days'").arg(QString::number(days)); + QSqlQuery q(qTempl, mDb); + while(q.next()){ + QList<QVariant> cur; + cur << q.value(0) << q.value(1) << q.value(2); + mAllPics << cur; + } + mCurrentPics = &mAllPics; +} + +void PicFilesModel::selectFromSelection(QList<QVariant> ids){ + mAllPics.clear(); + QStringList idQS; + foreach (QVariant i, ids){ + idQS << QString::number(i.toInt()); + } + QString inPart = idQS.join(','); + QString qTempl = QString("SELECT tfilename, cmd5sum, ipicsid FROM pics, pics_mappings WHERE pics_mappings.imappings_parents_id IN (%1) AND pics_mappings.ipics_id = pics.ipicsid").arg(inPart); + QSqlQuery q(qTempl, mDb); + while(q.next()){ + QList<QVariant> cur; + cur << q.value(0) << q.value(1) << q.value(2); + mAllPics << cur; + } + mCurrentPics = &mAllPics; +} + +// delete this func once the one above works void PicFilesModel::allPicIds(){ mAllPics.clear(); mCurrentBatch = 0; |