summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-12-05 09:00:08 +0100
committerArno <am@disconnect.de>2010-12-05 09:00:08 +0100
commitcb4d80e6a642ef0cd3180aed2155d86144c83395 (patch)
tree5576306497e7a95c2a7031bd8c0a0b3776f1a965
parent856d83fb194ca26099e38aaf5e5f4a022d3d23fa (diff)
downloadSheMov-cb4d80e6a642ef0cd3180aed2155d86144c83395.tar.gz
SheMov-cb4d80e6a642ef0cd3180aed2155d86144c83395.tar.bz2
SheMov-cb4d80e6a642ef0cd3180aed2155d86144c83395.zip
Fix doubleclick on pictures with DvdNo
Display the picture in PictureViewer if the file is actually available on the filesystem and don't show a critical error if there's a DvdNo associated with it. Also fix the error dialog: show FileNameRole instead of data().
-rw-r--r--filestreewidget.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index 4ed9662..9ca20d0 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -234,18 +234,21 @@ void FilesTreeWidget::fileSelectionChanged(const QModelIndex &current, const QMo
}
void FilesTreeWidget::itemDoubleClicked(const QModelIndex &index){
- int dvdNo = index.data(FilesTreeModel::DvdNoRole).toInt();
- if(dvdNo != -1){
- QString msg = QString(tr("%1 is archived on DVD %2.")).arg(index.data().toString()).arg(QString::number(index.data(FilesTreeModel::DvdNoRole).toInt()));
- QMessageBox::critical(this, tr("Error"), msg);
- return;
- }
QString file = index.data(FilesTreeModel::FullPathRole).toString();
- QString mimeType = Helper::mimeType(file);
- if(mimeType.startsWith("image")){
- mPictureViewer->showPic(file);
- return;
+ QFileInfo fi(file);
+ if(fi.exists()){
+ QString mimeType = Helper::mimeType(file);
+ if(mimeType.startsWith("image")){
+ mPictureViewer->showPic(file);
+ return;
+ }
}else{
+ int dvdNo = index.data(FilesTreeModel::DvdNoRole).toInt();
+ if(dvdNo != -1){
+ QString msg = QString(tr("%1 is archived on DVD %2.")).arg(index.data(FilesTreeModel::FileNameRole).toString()).arg(QString::number(index.data(FilesTreeModel::DvdNoRole).toInt()));
+ QMessageBox::critical(this, tr("Error"), msg);
+ return;
+ }
QPair<QString, QStringList> data = Helper::programData("movieviewer", QString());
if(data.first.isEmpty()){
QMessageBox::critical(this, tr("Error"), tr("No viedeo viewer configured."));