diff options
Diffstat (limited to 'picfilesmodel.cpp')
-rw-r--r-- | picfilesmodel.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/picfilesmodel.cpp b/picfilesmodel.cpp index dfe0f2d..3eff4cb 100644 --- a/picfilesmodel.cpp +++ b/picfilesmodel.cpp @@ -296,6 +296,34 @@ QList<int> PicFilesModel::mappingPIdsFromFiles(QList<int> fileIds) const{ return retval; } +void PicFilesModel::allPicIds(){ + mAllPics.clear(); + mCurrentBatch = 0; + QSqlQuery q("SELECT tfilename, cmd5sum, ipicsid FROM pics ORDER BY random()", mDb); + while(q.next()){ + QList<QVariant> cur; + cur << q.value(0) << q.value(1) << q.value(2); + mAllPics << cur; + } +} + +QList<QList<QVariant> > PicFilesModel::getNextBatch(){ + if(mCurrentBatch * 100 >= mAllPics.count()){ + mCurrentBatch = 0; + } + int start = mCurrentBatch * 100; + QList<QList<QVariant> > res = mAllPics.mid(start, 100); + QList<QList<QVariant> > retval; + for(QList<QList<QVariant> >::const_iterator it = res.constBegin(); it != res.constEnd(); ++it){ + QList<QVariant> c = *it; + QList<QVariant> item; + item << Helper::createArchivePath(c.value(0).toString(), c.value(1).toString()) << c.value(2); + retval << item; + } + ++mCurrentBatch; + return retval; +} + void PicFilesModel::populate(){ SmTreeItem *root = new SmTreeItem(NumFields); QStringList idList; |