diff options
author | Arno <am@disconnect.de> | 2013-08-16 16:17:21 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-08-16 16:17:21 +0200 |
commit | d94c6526eb4e27a873fa811d72e99d42b85a81c4 (patch) | |
tree | 32bfceed18848e3236cfb4acb7244bcdddfb09e3 /archivecontroller.cpp | |
parent | 7b374095aaec92e0fb7044550903aa8e10522677 (diff) | |
download | SheMov-d94c6526eb4e27a873fa811d72e99d42b85a81c4.tar.gz SheMov-d94c6526eb4e27a873fa811d72e99d42b85a81c4.tar.bz2 SheMov-d94c6526eb4e27a873fa811d72e99d42b85a81c4.zip |
Fix preview
* Show :/picgone.png if movie is not available
* Show cover if preview is called on a picture
Diffstat (limited to 'archivecontroller.cpp')
-rw-r--r-- | archivecontroller.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/archivecontroller.cpp b/archivecontroller.cpp index 185b770..c0ecb0c 100644 --- a/archivecontroller.cpp +++ b/archivecontroller.cpp @@ -181,13 +181,23 @@ void ArchiveController::showPreview(){ if(sel.isEmpty()){ return; } - QModelIndex first = sel.first(); - QPixmap preview = Helper::preview(first.data().toString()); - if(!preview.isNull()){ - PictureViewer2 *pv = SmGlobals::instance()->pictureViewer(); - pv->setPixmap(preview); - pv->show(); + QString first = sel.first().data().toString(); + PictureViewer2 *pv = SmGlobals::instance()->pictureViewer(); + QFileInfo fi(first); + if(!fi.exists()){ + pv->setFile(); + }else if(sel.first().data(ArchiveFilesModel::FileTypeRole).toInt() == ArchiveFilesModel::Movie){ + QPixmap preview = Helper::preview(first); + if(!preview.isNull()){ + pv->setPixmap(preview); + pv->show(); + }else{ + pv->setFile(); + } + }else{ + pv->setFile(first); } + pv->show(); } void ArchiveController::addActionForTree(QAction *a){ |