File indexing completed on 2024-05-19 09:21:26
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Jonathan Thomas <echidnaman@kubuntu.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <QDateTime> 0010 #include <QVariant> 0011 0012 #include "ReviewsModel.h" 0013 #include "discovercommon_export.h" 0014 0015 class DISCOVERCOMMON_EXPORT Review 0016 { 0017 public: 0018 Review(QString name, 0019 QString pkgName, 0020 QString language, 0021 QString summary, 0022 QString reviewText, 0023 QString userName, 0024 const QDateTime &date, 0025 bool show, 0026 quint64 id, 0027 int rating, 0028 int usefulTotal, 0029 int usefulFavorable, 0030 qreal wilsonScore, 0031 QString packageVersion); 0032 ~Review(); 0033 0034 // Creation date determines greater than/less than 0035 bool operator<(const Review &rhs) const; 0036 bool operator>(const Review &rhs) const; 0037 0038 QString applicationName() const; 0039 QString packageName() const; 0040 QString packageVersion() const; 0041 QString language() const; 0042 QString summary() const; 0043 QString reviewText() const; 0044 QString reviewer() const; 0045 QDateTime creationDate() const; 0046 bool shouldShow() const; 0047 quint64 id() const; 0048 int rating() const; 0049 int usefulnessTotal() const; 0050 int usefulnessFavorable() const; 0051 qreal wilsonScore() const; 0052 ReviewsModel::UserChoice usefulChoice() const; 0053 void setUsefulChoice(ReviewsModel::UserChoice useful); 0054 void addMetadata(const QString &key, const QVariant &value); 0055 QVariant getMetadata(const QString &key); 0056 0057 private: 0058 QString m_appName; 0059 QDateTime m_creationDate; 0060 bool m_shouldShow; 0061 quint64 m_id; 0062 QString m_language; 0063 QString m_packageName; 0064 int m_rating; 0065 QString m_reviewText; 0066 QString m_reviewer; 0067 int m_usefulnessTotal; 0068 int m_usefulnessFavorable; 0069 qreal m_wilsonScore; 0070 ReviewsModel::UserChoice m_usefulChoice; 0071 QString m_summary; 0072 QString m_packageVersion; 0073 QVariantMap m_metadata; 0074 };