diff --git a/src/imagefoldermodel.h b/src/imagefoldermodel.h --- a/src/imagefoldermodel.h +++ b/src/imagefoldermodel.h @@ -53,7 +53,7 @@ QHash roleNames() const override; - void setUrl(const QString& url); + void setUrl(QString& url); QString url() const; QVariant data(const QModelIndex &index, int role) const; diff --git a/src/imagefoldermodel.cpp b/src/imagefoldermodel.cpp --- a/src/imagefoldermodel.cpp +++ b/src/imagefoldermodel.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include @@ -76,20 +76,25 @@ return dirLister()->url().toString(); } -void ImageFolderModel::setUrl(const QString& url) +void ImageFolderModel::setUrl(QString& url) { + qDebug() << "setting url" << url; if (url.isEmpty()) { return; } + if( url.startsWith("file://")) { + url = url.remove(0,7); + } + QString directoryUrl; - if( !QFileInfo(url).isDir()) { + if( QDir(url).exists()) { + directoryUrl = "file://" + url; + } else { m_imagePath = url; - directoryUrl = url.left(url.lastIndexOf('/')); + directoryUrl = "file://" + url.left(url.lastIndexOf('/')); emit showImageViewer( indexForUrl(m_imagePath)); - } else { - directoryUrl = "file://" + url; } if (dirLister()->url().path() == directoryUrl) {