From 08c7cc837379ae4f085a6cc0d44a8b58bdb5a030 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 10 Mar 2012 07:29:20 +0100 Subject: Slide show Implement slide show in Pictureviewer2. Slide over all available files and wrap around when reaching the end of the list. Also added some more artwork. --- pictureswidget.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'pictureswidget.cpp') 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 PicFilesModel::mappingIds(const QList &fileIds){ @@ -325,6 +332,23 @@ QList PicFilesModel::dataList(const QModelIndex &idx) const{ return retval; } +QList > PicFilesModel::allFiles() const { + QList > retval; + if(!mAllFilesQ->exec()){ + return retval; + } + while(mAllFilesQ->next()){ + QList 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 &files){ foreach(QPersistentModelIndex pi, files){ mDeleteFileQ->bindValue(":id", pi.data(IdRole)); -- cgit v1.2.3-70-g09d2