Implement ratings, blacklists, add some const correctness

This commit is contained in:
Luca Beltrame 2013-03-17 11:59:15 +01:00
parent f442c2f605
commit 816b370302
2 changed files with 60 additions and 14 deletions

View file

@ -36,13 +36,15 @@
namespace Danbooru {
const QMap<QString, Rating> DanbooruPost::RATING_MAP = initRatingMap();
DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap* pixmap,
QObject* parent):
QObject(parent),
m_pixmap(pixmap)
{
m_tags = postData.value("tags").toString().split(' ');
m_tags = QSet<QString>::fromList(postData.value("tags").toString().split(' '));
m_id = postData.value("id").toString().toInt();
m_height = postData.value("height").toString().toInt();
m_width = postData.value("width").toString().toInt();
@ -50,6 +52,7 @@ namespace Danbooru {
m_url = KUrl(postData.value("file_url").toUrl() );
m_thumbnailUrl = KUrl(postData.value("preview_url").toUrl());
m_size = postData.value("file_size").toInt();
m_rating = RATING_MAP.value(postData.value("rating").toString());
}
@ -59,7 +62,16 @@ namespace Danbooru {
QObject(parent),
m_pixmap(pixmap)
{
Q_UNUSED(postData)
m_tags = QSet<QString>::fromList(postData.value("tags").toString().split(' '));
m_id = postData.value("id").toString().toInt();
m_height = postData.value("height").toString().toInt();
m_width = postData.value("width").toString().toInt();
m_url = KUrl(postData.value("file_url").toString());
m_thumbnailUrl = KUrl(postData.value("preview_url").toString());
m_size = postData.value("file_size").toString().toInt();
m_rating = RATING_MAP.value(postData.value("rating").toString());
}
@ -69,13 +81,25 @@ namespace Danbooru {
}
const QMap< QString, Rating > DanbooruPost::initRatingMap()
{
QMap<QString, Rating> map;
map.insert("s", Safe);
map.insert("q", Questionable);
map.insert("e", Explicit);
return map;
}
bool DanbooruPost::operator==(const Danbooru::DanbooruPost& other)
{
return m_url == other.m_url && m_id == other.m_id;
}
void DanbooruPost::setPixmap(QPixmap* pixmap)
void DanbooruPost::setPixmap(const QPixmap* pixmap)
{
m_pixmap = pixmap;
}
@ -102,7 +126,7 @@ namespace Danbooru {
return m_width;
}
QStringList DanbooruPost::tags() const
const QSet< QString > DanbooruPost::tags() const
{
return m_tags;
}
@ -112,7 +136,7 @@ namespace Danbooru {
return m_thumbnailUrl;
}
QPixmap* DanbooruPost::pixmap() const
const QPixmap* DanbooruPost::pixmap() const
{
return m_pixmap;
}
@ -127,6 +151,12 @@ namespace Danbooru {
return m_url;
}
const Ratings DanbooruPost::rating() const
{
return m_rating;
}
} // namespace Danbooru