Skip to content

Commit

Permalink
Merge pull request #5279 from nextcloud/bugfix/fix-full-text-search-i…
Browse files Browse the repository at this point in the history
…tems

Fix full-text search results not being opened in browser
  • Loading branch information
claucambra authored Jan 6, 2023
2 parents 34240e1 + 4812989 commit 382b322
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
24 changes: 13 additions & 11 deletions src/gui/tray/unifiedsearchresultslistmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -579,15 +579,6 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d

QVector<UnifiedSearchResult> 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);
}
return finalResurceUrl;
};

for (const auto &entry : entries) {
const auto entryMap = entry.toMap();
if (entryMap.isEmpty()) {
Expand All @@ -601,10 +592,10 @@ 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);
result._resourceUrl = openableResourceUrl(resourceUrl, accountUrl);
const auto darkIconsData = iconsFromThumbnailAndFallbackIcon(entryMap.value(QStringLiteral("thumbnailUrl")).toString(),
entryMap.value(QStringLiteral("icon")).toString(), accountUrl, true);
const auto lightIconsData = iconsFromThumbnailAndFallbackIcon(entryMap.value(QStringLiteral("thumbnailUrl")).toString(),
Expand All @@ -624,6 +615,17 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d
}
}

QUrl UnifiedSearchResultsListModel::openableResourceUrl(const QUrl &resourceUrl, const QUrl &accountUrl)
{
if (!resourceUrl.isRelative()) {
return resourceUrl;
}

QUrl finalResourceUrl(accountUrl);
finalResourceUrl.setPath(resourceUrl.toString());
return finalResourceUrl;
}

void UnifiedSearchResultsListModel::appendResults(QVector<UnifiedSearchResult> results, const UnifiedSearchProvider &provider)
{
if (provider._cursor > 0 && provider._isPaginated) {
Expand Down
2 changes: 2 additions & 0 deletions src/gui/tray/unifiedsearchresultslistmodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ private slots:
void slotSearchForProviderFinished(const QJsonDocument &json, int statusCode);

private:
static QUrl openableResourceUrl(const QUrl &resourceUrl, const QUrl &accountUrl);

QMap<QString, UnifiedSearchProvider> _providers;
QVector<UnifiedSearchResult> _results;

Expand Down

0 comments on commit 382b322

Please sign in to comment.