Move ApiType to the Danbooru namespace to prevent circular includes
Adjust all signatures to match for this change
This commit is contained in:
		
					parent
					
						
							
								e806ab602f
							
						
					
				
			
			
				commit
				
					
						d3da86ff28
					
				
			
		
					 5 changed files with 98 additions and 36 deletions
				
			
		| 
						 | 
					@ -22,6 +22,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "libdanbooru_version.h"
 | 
					#include "libdanbooru_version.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QObject>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @brief The Danbooru namespace.
 | 
					 * @brief The Danbooru namespace.
 | 
				
			||||||
 * @file danbooru.h
 | 
					 * @file danbooru.h
 | 
				
			||||||
| 
						 | 
					@ -30,6 +32,15 @@
 | 
				
			||||||
namespace Danbooru
 | 
					namespace Danbooru
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum ApiType {
 | 
				
			||||||
 | 
					    OriginalDanbooru = 16,
 | 
				
			||||||
 | 
					    KonachanDanbooru = 32,
 | 
				
			||||||
 | 
					    Gelbooru = 64,
 | 
				
			||||||
 | 
					    Unknown = 128
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Danbooru
 | 
					} // namespace Danbooru
 | 
				
			||||||
 | 
					Q_ENUMS(ApiType)
 | 
				
			||||||
 | 
					Q_DECLARE_METATYPE(Danbooru::ApiType)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // DANBOORU_H
 | 
					#endif // DANBOORU_H
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,6 +35,23 @@ namespace Danbooru
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const QMap<QString, DanbooruPost::Rating> DanbooruPost::RATING_MAP = initRatingMap();
 | 
					const QMap<QString, DanbooruPost::Rating> DanbooruPost::RATING_MAP = initRatingMap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DanbooruPost::parseDanbooruKonachan(const QVariantMap &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 = postData.value("file_url").toUrl();
 | 
				
			||||||
 | 
					    m_thumbnailUrl = postData.value("preview_url").toUrl();
 | 
				
			||||||
 | 
					    m_size = postData.value("file_size").toInt();
 | 
				
			||||||
 | 
					    m_rating = RATING_MAP.value(postData.value("rating").toString());
 | 
				
			||||||
 | 
					    m_sampleUrl = postData.value("sample_url").toUrl();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DanbooruPost::parseDanbooruDonmai(const QVariantMap &postData) {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DanbooruPost::DanbooruPost(QObject *parent): QObject(parent)
 | 
					DanbooruPost::DanbooruPost(QObject *parent): QObject(parent)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    m_pixmap = QPixmap();
 | 
					    m_pixmap = QPixmap();
 | 
				
			||||||
| 
						 | 
					@ -47,25 +64,46 @@ DanbooruPost::DanbooruPost(QObject *parent): QObject(parent)
 | 
				
			||||||
    m_rating = Questionable;
 | 
					    m_rating = Questionable;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap pixmap,
 | 
					DanbooruPost::DanbooruPost(QVariantMap postData,Danbooru::ApiType apiType, QPixmap pixmap,
 | 
				
			||||||
                           QObject *parent):
 | 
					                           QObject *parent):
 | 
				
			||||||
    QObject(parent),
 | 
					    QObject(parent),
 | 
				
			||||||
    m_pixmap(pixmap)
 | 
					    m_pixmap(pixmap)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    m_tags = QSet<QString>::fromList(postData.value("tags").toString().split(' '));
 | 
					    switch(apiType) {
 | 
				
			||||||
    m_id = postData.value("id").toString().toInt();
 | 
					        case ApiType::KonachanDanbooru:
 | 
				
			||||||
    m_height = postData.value("height").toString().toInt();
 | 
					            parseDanbooruKonachan(postData);
 | 
				
			||||||
    m_width = postData.value("width").toString().toInt();
 | 
					            break;
 | 
				
			||||||
 | 
					        case ApiType::OriginalDanbooru:
 | 
				
			||||||
 | 
					            parseDanbooruDonmai(postData);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					            parseDanbooruKonachan(postData);
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    m_url = postData.value("file_url").toUrl();
 | 
					 | 
				
			||||||
    m_thumbnailUrl = postData.value("preview_url").toUrl();
 | 
					 | 
				
			||||||
    m_size = postData.value("file_size").toInt();
 | 
					 | 
				
			||||||
    m_rating = RATING_MAP.value(postData.value("rating").toString());
 | 
					 | 
				
			||||||
    m_sampleUrl = postData.value("sample_url").toUrl();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap pixmap,
 | 
				
			||||||
 | 
					//                            QObject *parent):
 | 
				
			||||||
 | 
					//     QObject(parent),
 | 
				
			||||||
 | 
					//     m_pixmap(pixmap)
 | 
				
			||||||
 | 
					// {
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     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 = postData.value("file_url").toUrl();
 | 
				
			||||||
 | 
					//     m_thumbnailUrl = postData.value("preview_url").toUrl();
 | 
				
			||||||
 | 
					//     m_size = postData.value("file_size").toInt();
 | 
				
			||||||
 | 
					//     m_rating = RATING_MAP.value(postData.value("rating").toString());
 | 
				
			||||||
 | 
					//     m_sampleUrl = postData.value("sample_url").toUrl();
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DanbooruPost::DanbooruPost(QXmlStreamAttributes &postData, QPixmap pixmap, QObject *parent):
 | 
					DanbooruPost::DanbooruPost(QXmlStreamAttributes &postData, QPixmap pixmap, QObject *parent):
 | 
				
			||||||
    QObject(parent),
 | 
					    QObject(parent),
 | 
				
			||||||
    m_pixmap(pixmap)
 | 
					    m_pixmap(pixmap)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "danbooru.h"
 | 
					#include "danbooru.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Danbooru
 | 
					namespace Danbooru
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -112,6 +113,10 @@ private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static const QMap< QString, Rating > initRatingMap();
 | 
					    static const QMap< QString, Rating > initRatingMap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void parseDanbooruKonachan(const QVariantMap &postData);
 | 
				
			||||||
 | 
					    void parseDanbooruDonmai(const QVariantMap &postData);
 | 
				
			||||||
 | 
					    void parseGelbooru(QXmlStreamAttributes &postData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					@ -127,9 +132,9 @@ public:
 | 
				
			||||||
     * @param parent A pointer to the parent QObject.
 | 
					     * @param parent A pointer to the parent QObject.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     **/
 | 
					     **/
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
    explicit DanbooruPost(QVariantMap postData, QPixmap pixmap = QPixmap(),
 | 
					    explicit DanbooruPost(QVariantMap postData, QPixmap pixmap = QPixmap(),
 | 
				
			||||||
                          QObject *parent = 0);
 | 
					                          QObject *parent = 0);*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    explicit DanbooruPost(QObject *parent = 0);
 | 
					    explicit DanbooruPost(QObject *parent = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -150,6 +155,10 @@ public:
 | 
				
			||||||
    explicit DanbooruPost(QXmlStreamAttributes &postData,
 | 
					    explicit DanbooruPost(QXmlStreamAttributes &postData,
 | 
				
			||||||
                          QPixmap pixmap = QPixmap(),  QObject *parent = 0);
 | 
					                          QPixmap pixmap = QPixmap(),  QObject *parent = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    explicit DanbooruPost(QVariantMap postData, Danbooru::ApiType apiType=ApiType::KonachanDanbooru,
 | 
				
			||||||
 | 
					                          QPixmap pixmap = QPixmap(),
 | 
				
			||||||
 | 
					                          QObject *parent=0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool operator==(const DanbooruPost &);
 | 
					    bool operator==(const DanbooruPost &);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ~DanbooruPost();
 | 
					    ~DanbooruPost();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,14 +66,16 @@ const QLatin1String KonachanDanbooruService::relatedTagUri() const {
 | 
				
			||||||
// Other methods
 | 
					// Other methods
 | 
				
			||||||
////////////////
 | 
					////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SupportedOperations KonachanDanbooruService::supportedOperations() const {
 | 
					DanbooruServiceBase::SupportedOperations KonachanDanbooruService::supportedOperations() const {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return PostDownload | PoolDownload | TagDownload | TagSearch | RelatedTagSearch;
 | 
					    return SupportedOperations(DanbooruServiceBase::PostDownload | DanbooruServiceBase::PoolDownload |
 | 
				
			||||||
 | 
					           DanbooruServiceBase::TagDownload | DanbooruServiceBase::TagSearch |
 | 
				
			||||||
 | 
					           DanbooruServiceBase::RelatedTagSearch);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ApiType KonachanDanbooruService::apiType() const {
 | 
					Danbooru::ApiType KonachanDanbooruService::apiType() const {
 | 
				
			||||||
    return KonachanDanbooru;
 | 
					    return Danbooru::ApiType::KonachanDanbooru;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
KonachanDanbooruService::~KonachanDanbooruService() {
 | 
					KonachanDanbooruService::~KonachanDanbooruService() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,23 +42,6 @@
 | 
				
			||||||
namespace Danbooru
 | 
					namespace Danbooru
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum ApiType {
 | 
					 | 
				
			||||||
    OriginalDanbooru = 7000,
 | 
					 | 
				
			||||||
    KonachanDanbooru = 7001,
 | 
					 | 
				
			||||||
    Gelbooru = 7002,
 | 
					 | 
				
			||||||
    Unknown = 7003
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum SupportedOperation {
 | 
					 | 
				
			||||||
        PostDownload = 6000,
 | 
					 | 
				
			||||||
        TagDownload = 6001,
 | 
					 | 
				
			||||||
        TagSearch = 6002,
 | 
					 | 
				
			||||||
        PoolDownload = 6003,
 | 
					 | 
				
			||||||
        RelatedTagSearch = 6004
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Q_DECLARE_FLAGS(SupportedOperations, SupportedOperation)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class DanbooruServiceBase: public QObject
 | 
					class DanbooruServiceBase: public QObject
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -94,6 +77,26 @@ protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    enum SupportedOperation {
 | 
				
			||||||
 | 
					        PostDownload = 256,
 | 
				
			||||||
 | 
					        TagDownload = 512,
 | 
				
			||||||
 | 
					        TagSearch = 1024,
 | 
				
			||||||
 | 
					        PoolDownload = 2048,
 | 
				
			||||||
 | 
					        RelatedTagSearch = 4096
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum ApiType {
 | 
				
			||||||
 | 
					    OriginalDanbooru = 16,
 | 
				
			||||||
 | 
					    KonachanDanbooru = 32,
 | 
				
			||||||
 | 
					    Gelbooru = 64,
 | 
				
			||||||
 | 
					    Unknown = 128
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Q_DECLARE_FLAGS(ApiTypes, DanbooruServiceBase::ApiType)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Q_DECLARE_FLAGS(SupportedOperations, DanbooruServiceBase::SupportedOperation)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    explicit DanbooruServiceBase(QUrl boardUrl = QUrl(), QString username = QString(),
 | 
					    explicit DanbooruServiceBase(QUrl boardUrl = QUrl(), QString username = QString(),
 | 
				
			||||||
                    QString password = QString(), KImageCache *cache = 0,
 | 
					                    QString password = QString(), KImageCache *cache = 0,
 | 
				
			||||||
                    QObject *parent = 0);
 | 
					                    QObject *parent = 0);
 | 
				
			||||||
| 
						 | 
					@ -378,9 +381,8 @@ Q_SIGNALS:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Q_DECLARE_OPERATORS_FOR_FLAGS(Danbooru::SupportedOperations)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Q_DECLARE_OPERATORS_FOR_FLAGS(Danbooru::DanbooruServiceBase::SupportedOperations)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue