Implement all common methods
This commit is contained in:
parent
4547000491
commit
0c18e639a9
1 changed files with 185 additions and 0 deletions
|
@ -1 +1,186 @@
|
|||
/*
|
||||
* Copyright 2015 Luca Beltrame <lbeltrame@kde.org>
|
||||
*
|
||||
* This file is part of Danbooru Client.
|
||||
*
|
||||
* Danbooru Client is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Danbooru Client is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "servicebase.h"
|
||||
|
||||
|
||||
namespace Danbooru {
|
||||
|
||||
const QStringList DanbooruServiceBase::allowedRatings() const {
|
||||
|
||||
QStringList ratings;
|
||||
|
||||
if (m_maxRating.testFlag(DanbooruPost::Safe)) {
|
||||
ratings.append("Safe");
|
||||
}
|
||||
|
||||
if (m_maxRating.testFlag(DanbooruPost::Questionable)) {
|
||||
ratings.append("Questionable");
|
||||
}
|
||||
|
||||
if (m_maxRating.testFlag(DanbooruPost::Explicit)) {
|
||||
ratings.append("Explicit");
|
||||
}
|
||||
|
||||
return ratings;
|
||||
|
||||
}
|
||||
|
||||
Danbooru::ApiType DanbooruServiceBase::apiType() const {
|
||||
return Danbooru::ApiType::Unknown;
|
||||
}
|
||||
|
||||
const QSet< QString > DanbooruServiceBase::blacklist() const
|
||||
{
|
||||
return m_blacklist;
|
||||
}
|
||||
|
||||
int DanbooruServiceBase::currentPage() const
|
||||
{
|
||||
return m_currentPage;
|
||||
}
|
||||
|
||||
const DanbooruPost::Ratings DanbooruServiceBase::maximumAllowedRating() const
|
||||
{
|
||||
return m_maxRating;
|
||||
}
|
||||
|
||||
int DanbooruServiceBase::maxPosts() const
|
||||
{
|
||||
return m_maxPosts;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::nextPostPage()
|
||||
{
|
||||
m_currentPage++;
|
||||
getPostList();
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::nextPoolPage()
|
||||
{
|
||||
m_currentPage++;
|
||||
getPoolList();
|
||||
}
|
||||
|
||||
QStringList DanbooruServiceBase::postTags() const
|
||||
{
|
||||
return m_tags;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::reset()
|
||||
{
|
||||
m_currentPage = 1;
|
||||
m_tags = QStringList();
|
||||
|
||||
}
|
||||
|
||||
//////////
|
||||
// Setters
|
||||
//////////
|
||||
|
||||
void DanbooruServiceBase::setBlacklist(const QSet< QString > &blacklist)
|
||||
{
|
||||
|
||||
if (!blacklist.isEmpty()) {
|
||||
m_blacklist = blacklist;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setBlacklist(const QStringList &blacklist)
|
||||
{
|
||||
|
||||
if (blacklist.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_blacklist.clear();
|
||||
|
||||
for (auto element : blacklist) {
|
||||
m_blacklist.insert(element);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setBoardUrl(const QUrl &url)
|
||||
{
|
||||
m_url = url;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setCurrentPage(int page)
|
||||
{
|
||||
m_currentPage = page;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setImageCache(KImageCache *cache)
|
||||
{
|
||||
m_cache = cache;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setMaximumAllowedRating(DanbooruPost::Rating rating)
|
||||
{
|
||||
DanbooruPost::Ratings flags;
|
||||
|
||||
switch (rating) {
|
||||
case DanbooruPost::Safe:
|
||||
flags = DanbooruPost::Safe;
|
||||
break;
|
||||
case DanbooruPost::Questionable:
|
||||
flags = DanbooruPost::Safe | DanbooruPost::Questionable;
|
||||
break;
|
||||
case DanbooruPost::Explicit:
|
||||
flags = DanbooruPost::Safe | DanbooruPost::Questionable | DanbooruPost::Explicit;
|
||||
break;
|
||||
}
|
||||
|
||||
m_maxRating = flags;
|
||||
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setMaxPosts(int number)
|
||||
{
|
||||
m_maxPosts = number < 100 ? number : 100;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setPassword(const QString &password)
|
||||
{
|
||||
if (password.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_password = password;
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setPostTags(const QStringList &tags)
|
||||
{
|
||||
if (!tags.isEmpty()) {
|
||||
m_tags = tags;
|
||||
}
|
||||
}
|
||||
|
||||
void DanbooruServiceBase::setUserName(const QString &username)
|
||||
{
|
||||
if (username.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
m_username = username;
|
||||
}
|
||||
|
||||
} // namespace Danbooru
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue