diff options
Diffstat (limited to 'pictureswidget.cpp')
-rw-r--r-- | pictureswidget.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pictureswidget.cpp b/pictureswidget.cpp index ac44229..8492dd2 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -170,6 +170,11 @@ void PictureView::setPVData(int replace){ mPV->addFiles(pics, replace); } +void PictureView::setPVAll(){ + PicDataList data = mModel->allFiles(); + mPV->addFiles(data, true); +} + void PictureView::hideEvent(QHideEvent *){ QByteArray pvHeader = header()->saveState(); QSettings s; @@ -253,6 +258,8 @@ 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"); } QList<int> PicFilesModel::mappingIds(const QList<QVariant> &fileIds){ @@ -325,6 +332,23 @@ QList<QVariant> PicFilesModel::dataList(const QModelIndex &idx) const{ return retval; } +QList<QList<QVariant> > PicFilesModel::allFiles() const { + QList<QList<QVariant> > retval; + if(!mAllFilesQ->exec()){ + return retval; + } + while(mAllFilesQ->next()){ + QList<QVariant> 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()); + retval << data; + } + return retval; +} + void PicFilesModel::removeFiles(const QList<QPersistentModelIndex> &files){ foreach(QPersistentModelIndex pi, files){ mDeleteFileQ->bindValue(":id", pi.data(IdRole)); |