ソースを参照

Fix faulty decoding of local filenames

Change-Id: I65c13a03a8943a5ad26304899977f1a843aeccab
Donald Carr 9 年 前
コミット
a1cabd4d09
2 ファイル変更4 行追加3 行削除
  1. 2 2
      src/picturemodel.cpp
  2. 2 1
      src/picturemodel.h

+ 2 - 2
src/picturemodel.cpp

@@ -64,12 +64,12 @@ int PictureModel::rowCount(const QModelIndex &parent) const
     return files.length();
 }
 
-QString PictureModel::randomPicture() const
+QUrl PictureModel::randomPicture() const
 {
     if (files.size() <= 0)
         return QString("qrc:///qt_logo_green_rgb.png");
 
-    return QString("file://").append(qualifyNode(files.at(qrand()%files.size())));
+    return QUrl::fromLocalFile(qualifyNode(files.at(qrand()%files.size())));
 }
 
 QVariant PictureModel::data(const QModelIndex &index, int role) const

+ 2 - 1
src/picturemodel.h

@@ -2,6 +2,7 @@
 #define PICTUREMODEL_H
 
 #include <QAbstractListModel>
+#include <QUrl>
 
 class FSNode;
 
@@ -18,7 +19,7 @@ public:
 
     int rowCount(const QModelIndex & parent = QModelIndex()) const;
 
-    Q_INVOKABLE QString randomPicture() const;
+    Q_INVOKABLE QUrl randomPicture() const;
     QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
 
     Q_INVOKABLE void setModelRoot(const QString &root);