summaryrefslogtreecommitdiffstats
path: root/src/core/file_picker_controller.cpp
diff options
context:
space:
mode:
authorSzabolcs David <davidsz@inf.u-szeged.hu>2020-03-23 18:15:55 +0100
committerSzabolcs David <davidsz@inf.u-szeged.hu>2020-03-24 11:36:49 +0100
commit06523f14700ccb898625254cb0c939e807b14dbe (patch)
tree24e3c1c46793875b5a105c4dd2793df16a580bec /src/core/file_picker_controller.cpp
parented4a363f17158b8e6553d12ba55e43325ba43449 (diff)
Fix default file dialogs in QML
QVariant::toStringList() never worked in that case where the variant stores QList<QUrl>. Bring back the old logic from 5.12 and unwrap URLs "manually". Task-number: QTWB-46 Change-Id: I8d690c092e1a9bd459ab55cd4d5934d633e907e1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
Diffstat (limited to 'src/core/file_picker_controller.cpp')
-rw-r--r--src/core/file_picker_controller.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/file_picker_controller.cpp b/src/core/file_picker_controller.cpp
index 62e02e126..3c81a977c 100644
--- a/src/core/file_picker_controller.cpp
+++ b/src/core/file_picker_controller.cpp
@@ -100,10 +100,19 @@ void FilePickerController::accepted(const QStringList &files)
void FilePickerController::accepted(const QVariant &files)
{
- if (!files.canConvert(QVariant::StringList))
+ QStringList stringList;
+
+ if (files.canConvert(QVariant::StringList)) {
+ stringList = files.toStringList();
+ } else if (files.canConvert<QList<QUrl> >()) {
+ const QList<QUrl> urls = files.value<QList<QUrl>>();
+ for (const QUrl &url : urls)
+ stringList.append(url.toLocalFile());
+ } else {
qWarning("An unhandled type '%s' was provided in FilePickerController::accepted(QVariant)", files.typeName());
+ }
- accepted(files.toStringList());
+ accepted(stringList);
}
void FilePickerController::rejected()