summaryrefslogtreecommitdiffstats
path: root/pictureswidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-03-10 07:29:20 +0100
committerArno <am@disconnect.de>2012-03-10 07:29:20 +0100
commit08c7cc837379ae4f085a6cc0d44a8b58bdb5a030 (patch)
tree50e3a3a69a2abc68d2cbb18f5e8668dba374a40c /pictureswidget.cpp
parent8aae1eea458695a19a7ff36bdffbe59c9e7d4cf2 (diff)
downloadSheMov-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.cpp24
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));