1 /* 2 * SPDX-FileCopyrightText: 2011 Jonathan Thomas <echidnaman@kubuntu.org> 3 * 4 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 5 */ 6 7 #ifndef REVIEW_H 8 #define REVIEW_H 9 10 #include <QDateTime> 11 #include <QVariant> 12 13 #include "ReviewsModel.h" 14 #include "discovercommon_export.h" 15 16 class DISCOVERCOMMON_EXPORT Review 17 { 18 public: 19 Review(QString name, 20 QString pkgName, 21 QString language, 22 QString summary, 23 QString reviewText, 24 QString userName, 25 const QDateTime &date, 26 bool show, 27 quint64 id, 28 int rating, 29 int usefulTotal, 30 int usefulFavorable, 31 QString packageVersion); 32 ~Review(); 33 34 // Creation date determines greater than/less than 35 bool operator<(const Review &rhs) const; 36 bool operator>(const Review &rhs) const; 37 38 QString applicationName() const; 39 QString packageName() const; 40 QString packageVersion() const; 41 QString language() const; 42 QString summary() const; 43 QString reviewText() const; 44 QString reviewer() const; 45 QDateTime creationDate() const; 46 bool shouldShow() const; 47 quint64 id() const; 48 int rating() const; 49 int usefulnessTotal() const; 50 int usefulnessFavorable() const; 51 ReviewsModel::UserChoice usefulChoice() const; 52 void setUsefulChoice(ReviewsModel::UserChoice useful); 53 void addMetadata(const QString &key, const QVariant &value); 54 QVariant getMetadata(const QString &key); 55 56 private: 57 QString m_appName; 58 QDateTime m_creationDate; 59 bool m_shouldShow; 60 quint64 m_id; 61 QString m_language; 62 QString m_packageName; 63 int m_rating; 64 QString m_reviewText; 65 QString m_reviewer; 66 int m_usefulnessTotal; 67 int m_usefulnessFavorable; 68 ReviewsModel::UserChoice m_usefulChoice; 69 QString m_summary; 70 QString m_packageVersion; 71 QVariantMap m_metadata; 72 }; 73 74 #endif 75