summaryrefslogtreecommitdiffstats
path: root/picfilesmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'picfilesmodel.cpp')
-rw-r--r--picfilesmodel.cpp41
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;