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

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