summaryrefslogtreecommitdiffstats
path: root/picfilesmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'picfilesmodel.cpp')
-rw-r--r--picfilesmodel.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/picfilesmodel.cpp b/picfilesmodel.cpp
index ec1b82d..482af09 100644
--- a/picfilesmodel.cpp
+++ b/picfilesmodel.cpp
@@ -10,11 +10,16 @@
#include <QFile>
#include <QLocale>
+#include <algorithm>
+#include <random>
+#include <chrono>
+
#include "picfilesmodel.h"
#include "smglobals.h"
#include "smtreeitem.h"
#include "helper.h"
+
PicFilesModel::PicFilesModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent) {
//conjure up model
mMappingTreeModel = static_cast<MappingTreeModel*>(SmGlobals::instance()->model("MappingTree"));
@@ -299,24 +304,28 @@ QList<int> PicFilesModel::mappingPIdsFromFiles(QList<int> fileIds) const{
void PicFilesModel::allPicIds(){
mAllPics.clear();
mCurrentBatch = 0;
- QSqlQuery q("SELECT tfilename, cmd5sum, ipicsid FROM pics ORDER BY random()", mDb);
+ 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;
}
+ unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
+ std::shuffle(mAllPics.begin(), mAllPics.end(), std::default_random_engine(seed));
mCurrentPics = &mAllPics;
}
void PicFilesModel::recentPicIds(){
mRecentPics.clear();
mCurrentBatch = 0;
- QSqlQuery q("SELECT tfilename, cmd5sum, ipicsid FROM pics WHERE dtadded > now() - interval '6 months' ORDER BY random()", mDb);
+ QSqlQuery q("SELECT tfilename, cmd5sum, ipicsid FROM pics WHERE dtadded > now() - interval '6 months'", mDb);
while(q.next()){
QList<QVariant> cur;
cur << q.value(0) << q.value(1) << q.value(2);
mRecentPics << cur;
}
+ unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
+ std::shuffle(mRecentPics.begin(), mRecentPics.end(), std::default_random_engine(seed));
mCurrentPics = &mRecentPics;
}