aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/dialogs/DefaultFileDialog.qml5
-rw-r--r--src/imports/folderlistmodel/qquickfolderlistmodel.cpp5
-rw-r--r--src/imports/folderlistmodel/qquickfolderlistmodel.h3
3 files changed, 9 insertions, 4 deletions
diff --git a/src/imports/dialogs/DefaultFileDialog.qml b/src/imports/dialogs/DefaultFileDialog.qml
index 2cdb34cc03..fb6996b80c 100644
--- a/src/imports/dialogs/DefaultFileDialog.qml
+++ b/src/imports/dialogs/DefaultFileDialog.qml
@@ -107,11 +107,10 @@ AbstractFileDialog {
selectedIndices.map(function(idx) {
if (view.model.isFolder(idx)) {
if (selectFolder)
- // TODO after QTBUG-32039: should not need to convert pathToUrl here
- addSelection(pathToUrl(view.model.get(idx, "filePath")))
+ addSelection(view.model.get(idx, "fileURL"))
} else {
if (!selectFolder)
- addSelection(pathToUrl(view.model.get(idx, "filePath")))
+ addSelection(view.model.get(idx, "fileURL"))
}
})
}
diff --git a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
index 4dbbcf359d..016c96e0bf 100644
--- a/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
+++ b/src/imports/folderlistmodel/qquickfolderlistmodel.cpp
@@ -325,6 +325,7 @@ QQuickFolderListModel::QQuickFolderListModel(QObject *parent)
d->roleNames[FileLastModifiedRole] = "fileModified";
d->roleNames[FileLastReadRole] = "fileAccessed";
d->roleNames[FileIsDirRole] = "fileIsDir";
+ d->roleNames[FileUrlRole] = "fileURL";
d->init();
}
@@ -366,6 +367,9 @@ QVariant QQuickFolderListModel::data(const QModelIndex &index, int role) const
case FileIsDirRole:
rv = d->data.at(index.row()).isDir();
break;
+ case FileUrlRole:
+ rv = QUrl::fromLocalFile(d->data.at(index.row()).filePath());
+ break;
default:
break;
}
@@ -753,6 +757,7 @@ void QQuickFolderListModel::setShowOnlyReadable(bool on)
\list
\li \c fileName
\li \c filePath
+ \li \c fileURL
\li \c fileBaseName
\li \c fileSuffix
\li \c fileSize
diff --git a/src/imports/folderlistmodel/qquickfolderlistmodel.h b/src/imports/folderlistmodel/qquickfolderlistmodel.h
index 43af77adf5..68541f1735 100644
--- a/src/imports/folderlistmodel/qquickfolderlistmodel.h
+++ b/src/imports/folderlistmodel/qquickfolderlistmodel.h
@@ -90,7 +90,8 @@ public:
FileSizeRole = Qt::UserRole + 5,
FileLastModifiedRole = Qt::UserRole + 6,
FileLastReadRole = Qt::UserRole +7,
- FileIsDirRole = Qt::UserRole + 8
+ FileIsDirRole = Qt::UserRole + 8,
+ FileUrlRole = Qt::UserRole + 9
};
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;