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 }