diff options
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r-- | filestreewidget.cpp | 23 |
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 ¤t, 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.")); |