diff options
author | Arno <am@disconnect.de> | 2012-03-10 07:29:20 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2012-03-10 07:29:20 +0100 |
commit | 08c7cc837379ae4f085a6cc0d44a8b58bdb5a030 (patch) | |
tree | 50e3a3a69a2abc68d2cbb18f5e8668dba374a40c /pictureswidget.cpp | |
parent | 8aae1eea458695a19a7ff36bdffbe59c9e7d4cf2 (diff) | |
download | SheMov-08c7cc837379ae4f085a6cc0d44a8b58bdb5a030.tar.gz SheMov-08c7cc837379ae4f085a6cc0d44a8b58bdb5a030.tar.bz2 SheMov-08c7cc837379ae4f085a6cc0d44a8b58bdb5a030.zip |
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.
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)); |