From 0d526abde190a0af29f93c5283dcd310a7360665 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 6 Jun 2017 17:10:15 +0200 Subject: [PATCH] feat(ui/scripts/Utils/utils): provide a `getPathFromUri` function --- .../Common/Form/Buttons/FileChooserButton.qml | 2 +- linphone-desktop/ui/scripts/Utils/utils.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/linphone-desktop/ui/modules/Common/Form/Buttons/FileChooserButton.qml b/linphone-desktop/ui/modules/Common/Form/Buttons/FileChooserButton.qml index 8f458c627..c44c282cd 100644 --- a/linphone-desktop/ui/modules/Common/Form/Buttons/FileChooserButton.qml +++ b/linphone-desktop/ui/modules/Common/Form/Buttons/FileChooserButton.qml @@ -82,7 +82,7 @@ TextField { } onAccepted: { - textField.selectedFile = fileUrl.toString().substring(7) + textField.selectedFile = Utils.getPathFromUri(fileUrl) textField.accepted(textField.selectedFile) } diff --git a/linphone-desktop/ui/scripts/Utils/utils.js b/linphone-desktop/ui/scripts/Utils/utils.js index 67803cba1..fbb48b85b 100644 --- a/linphone-desktop/ui/scripts/Utils/utils.js +++ b/linphone-desktop/ui/scripts/Utils/utils.js @@ -155,6 +155,25 @@ function openWindow (window, parent, options) { // ----------------------------------------------------------------------------- +function getPathFromUri (uri) { + var str = uri.toString() + if (startsWith(str, 'file://')) { + str = str.substring(7) + + // Absolute path. + if (str.charAt(0) === '/') { + var os = Qt.platform.os + return os === 'windows' || os === 'winrt' + ? str.substring(1) + : str + } + } + + return str +} + +// ----------------------------------------------------------------------------- + // Test if a point is in a item. // // `source` is the item that generated the point.