File indexing completed on 2024-05-05 05:29:12

0001 /*
0002  *   SPDX-FileCopyrightText: 2022 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "OdrsAppsModel.h"
0008 #include <ReviewsBackend/Rating.h>
0009 #include <appstream/OdrsReviewsBackend.h>
0010 #include <utils.h>
0011 
0012 using namespace Qt::StringLiterals;
0013 
0014 OdrsAppsModel::OdrsAppsModel()
0015 {
0016     auto x = OdrsReviewsBackend::global();
0017     connect(x.get(), &OdrsReviewsBackend::ratingsReady, this, &OdrsAppsModel::refresh);
0018     if (!x->top().isEmpty()) {
0019         refresh();
0020     }
0021 }
0022 
0023 void OdrsAppsModel::refresh()
0024 {
0025     const auto top = OdrsReviewsBackend::global()->top();
0026     setUris(kTransform<QVector<QUrl>>(top, [](auto r) {
0027         return QUrl("appstream://"_L1 + r->packageName());
0028     }));
0029 }