summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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."));