diff options
Diffstat (limited to 'src/core/file_picker_controller.cpp')
-rw-r--r-- | src/core/file_picker_controller.cpp | 13 |
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() |