Extract makeResourceUrl lambda into separate static openableUrl method
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 16 Dec 2022 14:28:31 +0000 (15:28 +0100)
committerClaudio Cambra <claudio.cambra@gmail.com>
Fri, 6 Jan 2023 17:49:13 +0000 (18:49 +0100)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/tray/unifiedsearchresultslistmodel.cpp
src/gui/tray/unifiedsearchresultslistmodel.h

index 0cee175912440dc25a6f9f12dad7ddb96891fdc0..5f951c07c44ac7ea3c0f898086308101f74e2d0b 100644 (file)
@@ -579,16 +579,6 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d
 
     QVector<UnifiedSearchResult> newEntries;
 
-    const auto makeResourceUrl = [](const QUrl &resourceUrl, const QUrl &accountUrl) {
-        if (!resourceUrl.isRelative()) {
-            return resourceUrl;
-        }
-
-        QUrl finalResourceUrl(accountUrl);
-        finalResourceUrl.setPath(resourceUrl.toString());
-        return finalResourceUrl;
-    };
-
     for (const auto &entry : entries) {
         const auto entryMap = entry.toMap();
         if (entryMap.isEmpty()) {
@@ -605,7 +595,7 @@ void UnifiedSearchResultsListModel::parseResultsForProvider(const QJsonObject &d
         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(),
@@ -625,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) {
index 4feadf2a333ccca70bb86b4522cbedb307f4ada6..539b4f59c719bc0eaf7342e02cc24502f15eb178 100644 (file)
@@ -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;