From: Claudio Cambra Date: Fri, 16 Dec 2022 14:19:11 +0000 (+0100) Subject: Fix existing check and completion for relative resource URLs X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~11^2~39^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=92667560ab327e2482e5dc576a6abedfb5e64e10;p=nextcloud-desktop.git Fix existing check and completion for relative resource URLs Signed-off-by: Claudio Cambra --- diff --git a/src/gui/tray/unifiedsearchresultslistmodel.cpp b/src/gui/tray/unifiedsearchresultslistmodel.cpp index d2345da99..8eefbd66b 100644 --- a/src/gui/tray/unifiedsearchresultslistmodel.cpp +++ b/src/gui/tray/unifiedsearchresultslistmodel.cpp @@ -579,13 +579,13 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d QVector newEntries; - const auto makeResourceUrl = [](const QString &resourceUrl, const QUrl &accountUrl) { - QUrl finalResurceUrl(resourceUrl); - if (finalResurceUrl.scheme().isEmpty() && accountUrl.scheme().isEmpty()) { - finalResurceUrl = accountUrl; - finalResurceUrl.setPath(resourceUrl); + const auto makeResourceUrl = [](const QUrl &resourceUrl, const QUrl &accountUrl) { + QUrl finalResourceUrl(resourceUrl); + if (finalResourceUrl.isRelative() && !accountUrl.isRelative()) { + finalResourceUrl = accountUrl; + finalResourceUrl.setPath(resourceUrl.toString()); } - return finalResurceUrl; + return finalResourceUrl; }; for (const auto &entry : entries) { @@ -601,7 +601,7 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d result._title = entryMap.value(QStringLiteral("title")).toString(); result._subline = entryMap.value(QStringLiteral("subline")).toString(); - const auto resourceUrl = entryMap.value(QStringLiteral("resourceUrl")).toString(); + const auto resourceUrl = entryMap.value(QStringLiteral("resourceUrl")).toUrl(); const auto accountUrl = (_accountState && _accountState->account()) ? _accountState->account()->url() : QUrl(); result._resourceUrl = makeResourceUrl(resourceUrl, accountUrl);