File indexing completed on 2024-05-05 17:33:22

0001 /*
0002  *   SPDX-FileCopyrightText: 2012 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 "AbstractReviewsBackend.h"
0008 #include <KConfigGroup>
0009 #include <KSharedConfig>
0010 
0011 AbstractReviewsBackend::AbstractReviewsBackend(QObject *parent)
0012     : QObject(parent)
0013 {
0014 }
0015 
0016 bool AbstractReviewsBackend::isReviewable() const
0017 {
0018     return true;
0019 }
0020 
0021 bool AbstractReviewsBackend::supportsNameChange() const
0022 {
0023     return false;
0024 }
0025 
0026 QString AbstractReviewsBackend::preferredUserName() const
0027 {
0028     if (!supportsNameChange()) {
0029         return userName();
0030     } else {
0031         auto config = KSharedConfig::openConfig();
0032         auto configGroup = KConfigGroup(config, "Identity");
0033         const QString configName = configGroup.readEntry("Name", QString());
0034         return configName.isEmpty() ? userName() : configName;
0035     }
0036 }
0037 
0038 void AbstractReviewsBackend::submitReview(AbstractResource *app,
0039                                           const QString &summary,
0040                                           const QString &review_text,
0041                                           const QString &rating,
0042                                           const QString &userName)
0043 {
0044     if (supportsNameChange() && !userName.isEmpty()) {
0045         auto config = KSharedConfig::openConfig();
0046         auto configGroup = KConfigGroup(config, "Identity");
0047         configGroup.writeEntry("Name", userName);
0048         configGroup.config()->sync();
0049 
0050         Q_EMIT preferredUserNameChanged();
0051     }
0052     sendReview(app, summary, review_text, rating, userName);
0053 }
0054 
0055 QString AbstractReviewsBackend::errorMessage() const
0056 {
0057     return QString();
0058 }