File indexing completed on 2024-09-29 12:01:30
0001 /* 0002 This file is part of KDE. 0003 0004 SPDX-FileCopyrightText: 2010 Intel Corporation 0005 SPDX-FileContributor: Mateu Batle Sastre <mbatle@collabora.co.uk> 0006 0007 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0008 */ 0009 0010 #include "comment.h" 0011 0012 #include <QMap> 0013 0014 using namespace Attica; 0015 0016 QString Comment::commentTypeToString(const Comment::Type type) 0017 { 0018 switch (type) { 0019 case ContentComment: 0020 return QStringLiteral("1"); 0021 case ForumComment: 0022 return QStringLiteral("4"); 0023 case KnowledgeBaseComment: 0024 return QStringLiteral("7"); 0025 case EventComment: 0026 return QStringLiteral("8"); 0027 } 0028 0029 Q_ASSERT(false); 0030 return QString(); 0031 } 0032 0033 class Q_DECL_HIDDEN Comment::Private : public QSharedData 0034 { 0035 public: 0036 QString m_id; 0037 QString m_subject; 0038 QString m_text; 0039 int m_childCount; 0040 QString m_user; 0041 QDateTime m_date; 0042 int m_score; 0043 QList<Comment> m_children; 0044 0045 Private() 0046 : m_childCount(0) 0047 , m_score(0) 0048 { 0049 } 0050 }; 0051 0052 Comment::Comment() 0053 : d(new Private) 0054 { 0055 } 0056 0057 Comment::Comment(const Comment &other) 0058 : d(other.d) 0059 { 0060 } 0061 0062 Comment &Comment::operator=(const Attica::Comment &other) 0063 { 0064 d = other.d; 0065 return *this; 0066 } 0067 0068 Comment::~Comment() 0069 { 0070 } 0071 0072 void Comment::setId(const QString &id) 0073 { 0074 d->m_id = id; 0075 } 0076 0077 QString Comment::id() const 0078 { 0079 return d->m_id; 0080 } 0081 0082 void Comment::setSubject(const QString &subject) 0083 { 0084 d->m_subject = subject; 0085 } 0086 0087 QString Comment::subject() const 0088 { 0089 return d->m_subject; 0090 } 0091 0092 void Comment::setText(const QString &text) 0093 { 0094 d->m_text = text; 0095 } 0096 0097 QString Comment::text() const 0098 { 0099 return d->m_text; 0100 } 0101 0102 void Comment::setChildCount(const int childCount) 0103 { 0104 d->m_childCount = childCount; 0105 } 0106 0107 int Comment::childCount() const 0108 { 0109 return d->m_childCount; 0110 } 0111 0112 void Comment::setUser(const QString &user) 0113 { 0114 d->m_user = user; 0115 } 0116 0117 QString Comment::user() const 0118 { 0119 return d->m_user; 0120 } 0121 0122 void Comment::setDate(const QDateTime &date) 0123 { 0124 d->m_date = date; 0125 } 0126 0127 QDateTime Comment::date() const 0128 { 0129 return d->m_date; 0130 } 0131 0132 void Comment::setScore(const int score) 0133 { 0134 d->m_score = score; 0135 } 0136 0137 int Comment::score() const 0138 { 0139 return d->m_score; 0140 } 0141 0142 void Comment::setChildren(QList<Comment> children) 0143 { 0144 d->m_children = std::move(children); // TODO KF6 Make QList const & and remove the std::move 0145 } 0146 0147 QList<Comment> Comment::children() const 0148 { 0149 return d->m_children; 0150 } 0151 0152 bool Comment::isValid() const 0153 { 0154 return !(d->m_id.isEmpty()); 0155 }