Use kdelibs coding style

This commit is contained in:
Luca Beltrame 2015-03-21 23:05:57 +01:00
parent 0084798a2c
commit d965371d23
31 changed files with 201 additions and 234 deletions

View file

@ -20,7 +20,8 @@
#include "blacklistpage.h" #include "blacklistpage.h"
#include "danboorusettings.h" #include "danboorusettings.h"
namespace Danbooru { namespace Danbooru
{
BlacklistPage::BlacklistPage(DanbooruSettings *preferences, QWidget *parent): QWidget(parent) BlacklistPage::BlacklistPage(DanbooruSettings *preferences, QWidget *parent): QWidget(parent)
{ {
@ -29,10 +30,8 @@ BlacklistPage::BlacklistPage(DanbooruSettings *preferences, QWidget *parent): QW
} }
BlacklistPage::~BlacklistPage() BlacklistPage::~BlacklistPage()
{ {
} }
} // namespace Danbooru } // namespace Danbooru

View file

@ -22,22 +22,22 @@
#include "ui_blacklistpage.h" #include "ui_blacklistpage.h"
namespace Danbooru { namespace Danbooru
{
class DanbooruSettings; class DanbooruSettings;
class BlacklistPage: public QWidget, public Ui::BlacklistPage { class BlacklistPage: public QWidget, public Ui::BlacklistPage
{
Q_OBJECT Q_OBJECT
public: public:
explicit BlacklistPage(DanbooruSettings *preferences, QWidget* parent=0); explicit BlacklistPage(DanbooruSettings *preferences, QWidget *parent = 0);
~BlacklistPage(); ~BlacklistPage();
}; };
} // namespace Danbooru } // namespace Danbooru
#endif #endif

View file

@ -51,8 +51,8 @@ int main(int argc, char *argv[])
); );
aboutData.addAuthor(i18n("Luca Beltrame"), i18n("Developer"), aboutData.addAuthor(i18n("Luca Beltrame"), i18n("Developer"),
QLatin1String("lbeltrame@kde.org") QLatin1String("lbeltrame@kde.org")
); );
KAboutData::setApplicationData(aboutData); KAboutData::setApplicationData(aboutData);
@ -63,7 +63,7 @@ int main(int argc, char *argv[])
cmdParser.process(app); cmdParser.process(app);
aboutData.processCommandLine(&cmdParser); aboutData.processCommandLine(&cmdParser);
Danbooru::DanbooruMainWindow* window = new Danbooru::DanbooruMainWindow(); Danbooru::DanbooruMainWindow *window = new Danbooru::DanbooruMainWindow();
window->setObjectName("danbooruMainWindow"); window->setObjectName("danbooruMainWindow");
window->show(); window->show();

View file

@ -20,4 +20,3 @@
#include "danbooru_client_debug.h" #include "danbooru_client_debug.h"
Q_LOGGING_CATEGORY(DANBOORU_CLIENT, "org.dennogumi.danbooru_client") Q_LOGGING_CATEGORY(DANBOORU_CLIENT, "org.dennogumi.danbooru_client")

View file

@ -89,7 +89,9 @@ DanbooruConnectWidget::DanbooruConnectWidget(QVector< QUrl > urlList,
connect(anonCheckBox, &QCheckBox::stateChanged, this, &DanbooruConnectWidget::toggleLineEdits); connect(anonCheckBox, &QCheckBox::stateChanged, this, &DanbooruConnectWidget::toggleLineEdits);
connect(buttonBox, &QDialogButtonBox::accepted, this, &DanbooruConnectWidget::accept); connect(buttonBox, &QDialogButtonBox::accepted, this, &DanbooruConnectWidget::accept);
connect(closeButton, &QPushButton::clicked, [this]() {Q_EMIT(rejected());} ); connect(closeButton, &QPushButton::clicked, [this]() {
Q_EMIT(rejected());
});
} }
@ -155,7 +157,8 @@ void DanbooruConnectWidget::toggleLineEdits(int state)
} }
} }
void DanbooruConnectWidget::setBoards(const QVector<QUrl> &urlList) { void DanbooruConnectWidget::setBoards(const QVector<QUrl> &urlList)
{
danbooruUrlComboBox->clear(); danbooruUrlComboBox->clear();
@ -187,8 +190,8 @@ void DanbooruConnectWidget::accept()
QString currentBoard = danbooruUrlComboBox->currentText(); QString currentBoard = danbooruUrlComboBox->currentText();
if (!userLineEdit->text().isEmpty() && if (!userLineEdit->text().isEmpty() &&
!passwdLineEdit->text().isEmpty() && !passwdLineEdit->text().isEmpty() &&
!anonCheckBox->isChecked()) { !anonCheckBox->isChecked()) {
if (m_wallet && !m_wallet->hasEntry(currentBoard)) { if (m_wallet && !m_wallet->hasEntry(currentBoard)) {
QMap<QString, QString> dataMap; QMap<QString, QString> dataMap;
@ -203,7 +206,7 @@ void DanbooruConnectWidget::accept()
QString hashedPassword = boardSalts.value(danbooruUrlComboBox->currentText()); QString hashedPassword = boardSalts.value(danbooruUrlComboBox->currentText());
hashedPassword = hashedPassword.arg(currentBoard); hashedPassword = hashedPassword.arg(currentBoard);
hashedPassword = QCryptographicHash::hash(hashedPassword.toUtf8(), hashedPassword = QCryptographicHash::hash(hashedPassword.toUtf8(),
QCryptographicHash::Sha1).toHex(); QCryptographicHash::Sha1).toHex();
m_password = hashedPassword; m_password = hashedPassword;
} }
} }
@ -212,7 +215,8 @@ void DanbooruConnectWidget::accept()
Q_EMIT(accepted()); Q_EMIT(accepted());
} }
bool DanbooruConnectWidget::isAnonymous() const { bool DanbooruConnectWidget::isAnonymous() const
{
return anonCheckBox->isChecked(); return anonCheckBox->isChecked();

View file

@ -22,15 +22,18 @@
#include <QPushButton> #include <QPushButton>
#include <QLineEdit> #include <QLineEdit>
namespace Danbooru { namespace Danbooru
{
DanbooruSearchWidget::DanbooruSearchWidget(QWidget* parent): QWidget(parent) DanbooruSearchWidget::DanbooruSearchWidget(QWidget *parent): QWidget(parent)
{ {
setupUi(this); setupUi(this);
connect(searchButton, &QPushButton::clicked, this, &DanbooruSearchWidget::accept); connect(searchButton, &QPushButton::clicked, this, &DanbooruSearchWidget::accept);
connect(tagLineEdit, &QLineEdit::returnPressed, this, &DanbooruSearchWidget::accept); connect(tagLineEdit, &QLineEdit::returnPressed, this, &DanbooruSearchWidget::accept);
connect(closeButton, &QPushButton::clicked, [this]() { Q_EMIT(rejected()); }); connect(closeButton, &QPushButton::clicked, [this]() {
Q_EMIT(rejected());
});
} }
@ -43,9 +46,10 @@ QStringList DanbooruSearchWidget::selectedTags() const
return m_tags; return m_tags;
} }
void DanbooruSearchWidget::accept() { void DanbooruSearchWidget::accept()
{
if(tagLineEdit->text().isEmpty()) { if (tagLineEdit->text().isEmpty()) {
return; return;
} }
@ -53,5 +57,4 @@ void DanbooruSearchWidget::accept() {
Q_EMIT(accepted()); Q_EMIT(accepted());
} }
} // namespace Danbooru } // namespace Danbooru

View file

@ -22,30 +22,31 @@
#include "ui_searchwidget.h" #include "ui_searchwidget.h"
namespace Danbooru { namespace Danbooru
{
class DanbooruSearchWidget: public QWidget, Ui::SearchWidget { class DanbooruSearchWidget: public QWidget, Ui::SearchWidget
{
Q_OBJECT Q_OBJECT
public: public:
explicit DanbooruSearchWidget(QWidget *parent = 0); explicit DanbooruSearchWidget(QWidget *parent = 0);
~DanbooruSearchWidget(); ~DanbooruSearchWidget();
QStringList selectedTags() const; QStringList selectedTags() const;
private: private:
QStringList m_tags; QStringList m_tags;
private Q_SLOTS: private Q_SLOTS:
void accept(); void accept();
Q_SIGNALS: Q_SIGNALS:
void accepted(); void accepted();
void rejected(); void rejected();
}; };
} // namespace Danbooru } // namespace Danbooru
#endif #endif

View file

@ -21,7 +21,8 @@
#include "model/danboorutagmodel.h" #include "model/danboorutagmodel.h"
#include "libdanbooru/danboorutag.h" #include "libdanbooru/danboorutag.h"
namespace Danbooru { namespace Danbooru
{
DanbooruTagWidget::DanbooruTagWidget(QWidget *parent): QListView(parent) DanbooruTagWidget::DanbooruTagWidget(QWidget *parent): QListView(parent)
{ {
@ -38,7 +39,7 @@ void DanbooruTagWidget::addTag(DanbooruTag *tag)
return; return;
} }
qobject_cast<DanbooruTagModel*>(model())->addTag(tag); qobject_cast<DanbooruTagModel *>(model())->addTag(tag);
} }

View file

@ -23,22 +23,23 @@
#include <QListView> #include <QListView>
#include <QStringList> #include <QStringList>
namespace Danbooru { namespace Danbooru
{
class DanbooruTag; class DanbooruTag;
class DanbooruTagWidget: public QListView class DanbooruTagWidget: public QListView
{ {
Q_OBJECT Q_OBJECT
private: private:
QStringList m_blacklist; QStringList m_blacklist;
public: public:
explicit DanbooruTagWidget(QWidget *parent=0); explicit DanbooruTagWidget(QWidget *parent = 0);
~DanbooruTagWidget(); ~DanbooruTagWidget();
void setBlackList(const QStringList& blacklist); void setBlackList(const QStringList &blacklist);
public Q_SLOTS: public Q_SLOTS:
void addTag(DanbooruTag *tag); void addTag(DanbooruTag *tag);

View file

@ -27,14 +27,15 @@
static QLatin1String urlRegex("(http|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&amp;:/~\\+#]*[\\w\\-\\@?^=%&amp;/~\\+#])?"); static QLatin1String urlRegex("(http|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&amp;:/~\\+#]*[\\w\\-\\@?^=%&amp;/~\\+#])?");
namespace Danbooru { namespace Danbooru
{
GeneralPage::GeneralPage(DanbooruSettings* preferences, QWidget* parent): QWidget(parent) GeneralPage::GeneralPage(DanbooruSettings *preferences, QWidget *parent): QWidget(parent)
{ {
setupUi(this); setupUi(this);
kcfg_Boards->insertStringList(preferences->boards()); kcfg_Boards->insertStringList(preferences->boards());
QRegularExpression regex(urlRegex); QRegularExpression regex(urlRegex);
QRegularExpressionValidator* validator = new QRegularExpressionValidator(regex); QRegularExpressionValidator *validator = new QRegularExpressionValidator(regex);
kcfg_Boards->lineEdit()->setValidator(validator); kcfg_Boards->lineEdit()->setValidator(validator);
kcfg_MaxRating->setCurrentIndex(preferences->maxRating()); kcfg_MaxRating->setCurrentIndex(preferences->maxRating());
@ -44,5 +45,4 @@ GeneralPage::~GeneralPage()
{ {
} }
} // namespace Danbooru } // namespace Danbooru

View file

@ -22,16 +22,18 @@
#include "ui_generalpage.h" #include "ui_generalpage.h"
namespace Danbooru { namespace Danbooru
{
class DanbooruSettings; class DanbooruSettings;
class GeneralPage: public QWidget, public Ui::GeneralPage { class GeneralPage: public QWidget, public Ui::GeneralPage
{
Q_OBJECT Q_OBJECT
public: public:
explicit GeneralPage(DanbooruSettings* preferences, QWidget* parent=0); explicit GeneralPage(DanbooruSettings *preferences, QWidget *parent = 0);
~GeneralPage(); ~GeneralPage();
}; };

View file

@ -17,13 +17,11 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORU_H #ifndef DANBOORU_H
#define DANBOORU_H #define DANBOORU_H
#include "libdanbooru_version.h" #include "libdanbooru_version.h"
/** /**
* @brief The Danbooru namespace. * @brief The Danbooru namespace.
* @file danbooru.h * @file danbooru.h

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "danboorupool.h" #include "danboorupool.h"
namespace Danbooru namespace Danbooru

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORUPOOL_H #ifndef DANBOORUPOOL_H
#define DANBOORUPOOL_H #define DANBOORUPOOL_H
@ -104,6 +103,6 @@ public:
} // namespace Danbooru } // namespace Danbooru
Q_DECLARE_METATYPE(Danbooru::DanbooruPool*) Q_DECLARE_METATYPE(Danbooru::DanbooruPool *)
#endif // DANBOORUPOOL_H #endif // DANBOORUPOOL_H

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
// Qt // Qt
#include <QtCore/QString> #include <QtCore/QString>
@ -36,7 +35,7 @@ namespace Danbooru
const QMap<QString, DanbooruPost::Rating> DanbooruPost::RATING_MAP = initRatingMap(); const QMap<QString, DanbooruPost::Rating> DanbooruPost::RATING_MAP = initRatingMap();
DanbooruPost::DanbooruPost(QObject* parent): QObject(parent) DanbooruPost::DanbooruPost(QObject *parent): QObject(parent)
{ {
m_pixmap = QPixmap(); m_pixmap = QPixmap();
m_tags = QSet<QString>(); m_tags = QSet<QString>();
@ -48,7 +47,6 @@ DanbooruPost::DanbooruPost(QObject* parent): QObject(parent)
m_rating = Questionable; m_rating = Questionable;
} }
DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap pixmap, DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap pixmap,
QObject *parent): QObject *parent):
QObject(parent), QObject(parent),
@ -149,7 +147,6 @@ const QUrl DanbooruPost::sampleUrl() const
return m_sampleUrl; return m_sampleUrl;
} }
QPixmap DanbooruPost::pixmap() const QPixmap DanbooruPost::pixmap() const
{ {
return m_pixmap; return m_pixmap;

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORUPOST_H #ifndef DANBOORUPOST_H
#define DANBOORUPOST_H #define DANBOORUPOST_H
@ -90,7 +89,6 @@ public:
Q_DECLARE_FLAGS(Ratings, DanbooruPost::Rating) Q_DECLARE_FLAGS(Ratings, DanbooruPost::Rating)
Q_ENUMS(Rating) Q_ENUMS(Rating)
private: private:
QPixmap m_pixmap; QPixmap m_pixmap;
@ -133,7 +131,7 @@ public:
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);
/** /**
* @brief Construct a Danbooru post from XML attributes * @brief Construct a Danbooru post from XML attributes
@ -227,6 +225,5 @@ Q_DECLARE_METATYPE(Danbooru::DanbooruPost *)
Q_DECLARE_METATYPE(Danbooru::DanbooruPost::Rating) Q_DECLARE_METATYPE(Danbooru::DanbooruPost::Rating)
Q_DECLARE_METATYPE(QSet<QString>) Q_DECLARE_METATYPE(QSet<QString>)
#endif // DANBOORUPOST_H #endif // DANBOORUPOST_H

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
// STL // STL
#include <algorithm> #include <algorithm>
@ -100,7 +99,6 @@ void DanbooruService::getPostList()
} }
void DanbooruService::getTagList(int limit, QString name) void DanbooruService::getTagList(int limit, QString name)
{ {
QMap<QString, QString> parameters; QMap<QString, QString> parameters;
@ -202,7 +200,7 @@ void DanbooruService::getPoolList()
Q_EMIT(poolDownloadFinished()); Q_EMIT(poolDownloadFinished());
} }
); );
} }
@ -237,7 +235,6 @@ void DanbooruService::getRelatedTags(const QStringList &tags,
// qCDebug(LIBDANBOORU) << "Final constructed related tag URL" << danbooruUrl; // qCDebug(LIBDANBOORU) << "Final constructed related tag URL" << danbooruUrl;
StoredTransferJob *job = KIO::storedGet( StoredTransferJob *job = KIO::storedGet(
danbooruUrl, KIO::NoReload, danbooruUrl, KIO::NoReload,
KIO::HideProgressInfo KIO::HideProgressInfo
@ -291,7 +288,6 @@ void DanbooruService::getRelatedTags(const QStringList &tags,
} }
const QSet< QString > DanbooruService::blacklist() const const QSet< QString > DanbooruService::blacklist() const
{ {
return m_blacklist; return m_blacklist;
@ -322,7 +318,6 @@ int DanbooruService::currentPage() const
return m_currentPage; return m_currentPage;
} }
const DanbooruPost::Ratings DanbooruService::maximumAllowedRating() const const DanbooruPost::Ratings DanbooruService::maximumAllowedRating() const
{ {
@ -347,7 +342,6 @@ void DanbooruService::nextPoolPage()
getPoolList(); getPoolList();
} }
QStringList DanbooruService::postTags() const QStringList DanbooruService::postTags() const
{ {
return m_tags; return m_tags;
@ -362,7 +356,8 @@ void DanbooruService::reset()
// Slots // Slots
void DanbooruService::processTagList(KJob *job) { void DanbooruService::processTagList(KJob *job)
{
if (job->error()) { if (job->error()) {
Q_EMIT(downloadError(job->errorString())); Q_EMIT(downloadError(job->errorString()));
@ -387,7 +382,7 @@ void DanbooruService::processTagList(KJob *job) {
QVariantMap map = element.toMap(); QVariantMap map = element.toMap();
DanbooruTag *tag = new DanbooruTag(map); DanbooruTag *tag = new DanbooruTag(map);
if(!tag) { if (!tag) {
continue; continue;
} }
@ -437,7 +432,6 @@ void DanbooruService::processPostList(KJob *job)
for (auto element : postList) { for (auto element : postList) {
QVariantMap map = element.toMap(); QVariantMap map = element.toMap();
DanbooruPost *post = new DanbooruPost(map); DanbooruPost *post = new DanbooruPost(map);
@ -469,7 +463,6 @@ void DanbooruService::processPostList(KJob *job)
StoredTransferJob *pixmapJob = KIO::storedGet(post->thumbnailUrl(), StoredTransferJob *pixmapJob = KIO::storedGet(post->thumbnailUrl(),
KIO::NoReload, KIO::HideProgressInfo); KIO::NoReload, KIO::HideProgressInfo);
// We don't want to overload the servers, so set some rational // We don't want to overload the servers, so set some rational
// priority // priority
@ -523,7 +516,6 @@ void DanbooruService::processPostList(KJob *job)
} }
void DanbooruService::downloadAllTags(KJob *job) void DanbooruService::downloadAllTags(KJob *job)
{ {
Q_UNUSED(job) Q_UNUSED(job)
@ -554,7 +546,7 @@ void DanbooruService::setBlacklist(const QStringList &blacklist)
} }
void DanbooruService::setBoardUrl(const QUrl& url) void DanbooruService::setBoardUrl(const QUrl &url)
{ {
m_url = url; m_url = url;
} }
@ -579,7 +571,7 @@ void DanbooruService::setMaximumAllowedRating(DanbooruPost::Rating rating)
} }
void DanbooruService::setUserName(const QString& username) void DanbooruService::setUserName(const QString &username)
{ {
if (username.isEmpty()) { if (username.isEmpty()) {
return; return;
@ -587,34 +579,36 @@ void DanbooruService::setUserName(const QString& username)
m_username = username; m_username = username;
} }
void DanbooruService::setPassword(const QString& password) void DanbooruService::setPassword(const QString &password)
{ {
if(password.isEmpty()) { if (password.isEmpty()) {
return; return;
} }
m_password = password; m_password = password;
} }
void DanbooruService::setPostTags(const QStringList& tags) void DanbooruService::setPostTags(const QStringList &tags)
{ {
if (!tags.isEmpty()) { if (!tags.isEmpty()) {
m_tags = tags; m_tags = tags;
} }
} }
void DanbooruService::setImageCache(KImageCache* cache) void DanbooruService::setImageCache(KImageCache *cache)
{ {
m_cache = cache; m_cache = cache;
} }
void DanbooruService::setMaxPosts(int number) { void DanbooruService::setMaxPosts(int number)
{
m_maxPosts = number < 100 ? number : 100; m_maxPosts = number < 100 ? number : 100;
} }
void DanbooruService::setCurrentPage(int page) { void DanbooruService::setCurrentPage(int page)
{
m_currentPage = page; m_currentPage = page;
} }

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORUSERVICE_H #ifndef DANBOORUSERVICE_H
#define DANBOORUSERVICE_H #define DANBOORUSERVICE_H
@ -102,7 +101,6 @@ private:
public: public:
/** /**
* @brief Construct a default instance of the service. * @brief Construct a default instance of the service.
* *
@ -114,7 +112,7 @@ public:
* @param parent The parent QObject * @param parent The parent QObject
* *
**/ **/
DanbooruService(QUrl boardUrl=QUrl(), QString username = QString(), DanbooruService(QUrl boardUrl = QUrl(), QString username = QString(),
QString password = QString(), KImageCache *cache = 0, QString password = QString(), KImageCache *cache = 0,
QObject *parent = 0); QObject *parent = 0);
@ -222,16 +220,16 @@ public:
* @param blacklist A QSet<QString> including unwanted tags. * @param blacklist A QSet<QString> including unwanted tags.
* *
**/ **/
void setBlacklist(const QStringList& blacklist); void setBlacklist(const QStringList &blacklist);
/** /**
* @brief Set the tag blacklist. * @brief Set the tag blacklist.
* *
* If a tag is in the blacklist, posts tagged with it will not be downloaded. * If a tag is in the blacklist, posts tagged with it will not be downloaded.
* *
**/ **/
void setBlacklist(const QSet<QString>& blacklist); void setBlacklist(const QSet<QString> &blacklist);
/** /**
* @brief Set the maximum allowed rating for the board. * @brief Set the maximum allowed rating for the board.
@ -248,7 +246,7 @@ public:
* @param url The URL to connect to. * @param url The URL to connect to.
* @return void * @return void
*/ */
void setBoardUrl(const QUrl& url); void setBoardUrl(const QUrl &url);
/** /**
* @brief Set an image cache to use. * @brief Set an image cache to use.
@ -264,7 +262,7 @@ public:
* @param username The username to use. * @param username The username to use.
* *
**/ **/
void setUserName(const QString& username); void setUserName(const QString &username);
/** /**
* @brief Set the password used for login. * @brief Set the password used for login.
@ -276,14 +274,13 @@ public:
* @param password The salted password to use. * @param password The salted password to use.
* *
**/ **/
void setPassword(const QString& password); void setPassword(const QString &password);
void setMaxPosts(int number); void setMaxPosts(int number);
void setCurrentPage(int page); void setCurrentPage(int page);
void setPostTags(const QStringList& tags); void setPostTags(const QStringList &tags);
private Q_SLOTS: private Q_SLOTS:
void processPostList(KJob *job); void processPostList(KJob *job);

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "danboorutag.h" #include "danboorutag.h"
namespace Danbooru namespace Danbooru

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORUTAG_H #ifndef DANBOORUTAG_H
#define DANBOORUTAG_H #define DANBOORUTAG_H
@ -78,5 +77,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(TagTypes)
Q_DECLARE_METATYPE(Danbooru::DanbooruTag *) Q_DECLARE_METATYPE(Danbooru::DanbooruTag *)
#endif // DANBOORUTAG_H #endif // DANBOORUTAG_H

View file

@ -20,4 +20,3 @@
#include "libdanbooru_debug.h" #include "libdanbooru_debug.h"
Q_LOGGING_CATEGORY(LIBDANBOORU, "org.dennogumi.libdanbooru") Q_LOGGING_CATEGORY(LIBDANBOORU, "org.dennogumi.libdanbooru")

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
// Own // Own
#include "utils.h" #include "utils.h"
@ -69,7 +68,6 @@ QUrl requestUrl(QUrl &url, const QString &path,
danbooruUrl.setPassword(password); danbooruUrl.setPassword(password);
} }
return danbooruUrl; return danbooruUrl;
} }
@ -118,7 +116,7 @@ QUrl requestUrl(QUrl &url, const QString &path, const QString &username,
return danbooruUrl; return danbooruUrl;
} }
QList< QVariant > parseDanbooruResult(QByteArray data, QString xlmElement, bool* result) QList< QVariant > parseDanbooruResult(QByteArray data, QString xlmElement, bool *result)
{ {
QXmlStreamReader reader; QXmlStreamReader reader;

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef UTILS_H #ifndef UTILS_H
#define UTILS_H #define UTILS_H

View file

@ -108,7 +108,6 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
m_tableView->setModel(m_poolModel); m_tableView->setModel(m_poolModel);
m_tagWidget->setModel(m_proxyModel); m_tagWidget->setModel(m_proxyModel);
// Set up declarative bindings for the QQuickWidget // Set up declarative bindings for the QQuickWidget
m_view->setResizeMode(QQuickWidget::SizeRootObjectToView); m_view->setResizeMode(QQuickWidget::SizeRootObjectToView);
@ -117,7 +116,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
declarative.setupBindings(); declarative.setupBindings();
auto qmlViewPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, auto qmlViewPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
qApp->applicationName() + QLatin1String("/danbooruimageview.qml")); qApp->applicationName() + QLatin1String("/danbooruimageview.qml"));
QQmlContext *ctxt = m_view->rootContext(); QQmlContext *ctxt = m_view->rootContext();
ctxt->setContextProperty("danbooruModel", m_model); ctxt->setContextProperty("danbooruModel", m_model);
@ -136,7 +135,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
// then, setup our actions // then, setup our actions
setupActions(); setupActions();
setupGUI(KXmlGuiWindow::ToolBar|Keys|Save|Create, "danbooru-clientui.rc"); setupGUI(KXmlGuiWindow::ToolBar | Keys | Save | Create, "danbooru-clientui.rc");
// connections // connections
@ -144,7 +143,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
m_service->setBoardUrl(m_connectWidget->boardUrl()); m_service->setBoardUrl(m_connectWidget->boardUrl());
if (!m_connectWidget->isAnonymous() && !m_connectWidget->username().isEmpty() if (!m_connectWidget->isAnonymous() && !m_connectWidget->username().isEmpty()
&& !m_connectWidget->password().isEmpty()) { && !m_connectWidget->password().isEmpty()) {
m_service->setUserName(m_connectWidget->username()); m_service->setUserName(m_connectWidget->username());
m_service->setPassword(m_connectWidget->password()); m_service->setPassword(m_connectWidget->password());
@ -178,8 +177,8 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
&DanbooruTagModel::addTag); &DanbooruTagModel::addTag);
connect(m_service, &Danbooru::DanbooruService::poolDownloadFinished, [this]() { connect(m_service, &Danbooru::DanbooruService::poolDownloadFinished, [this]() {
m_tableView->resizeColumnsToContents(); m_tableView->resizeColumnsToContents();
} }
); );
connect(m_tableView, &QTableView::doubleClicked, [this](QModelIndex index) { connect(m_tableView, &QTableView::doubleClicked, [this](QModelIndex index) {
auto pool = m_poolModel->poolAt(index.row()); auto pool = m_poolModel->poolAt(index.row());
@ -192,15 +191,15 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
connect(m_searchWidget, &DanbooruSearchWidget::accepted, [this]() { connect(m_searchWidget, &DanbooruSearchWidget::accepted, [this]() {
QDockWidget* searchDockWidget = findChild<QDockWidget*>(QLatin1String("SearchView")); QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
searchDockWidget->hide(); searchDockWidget->hide();
handlePostDownload(m_searchWidget->selectedTags(), true /* relatedTags */); handlePostDownload(m_searchWidget->selectedTags(), true /* relatedTags */);
}); });
connect(m_searchWidget, &DanbooruSearchWidget::rejected, [this]() { connect(m_searchWidget, &DanbooruSearchWidget::rejected, [this]() {
QDockWidget* searchDockWidget = findChild<QDockWidget*>(QLatin1String("SearchView")); QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
searchDockWidget->hide(); searchDockWidget->hide();
}); });
@ -208,7 +207,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
if (m_tagModel->rowCount() == 0) { if (m_tagModel->rowCount() == 0) {
// Only get tags if we don't have any already // Only get tags if we don't have any already
for (auto tag: m_model->postTags()) { for (auto tag : m_model->postTags()) {
m_service->getTagList(1, tag); m_service->getTagList(1, tag);
} }
} }
@ -216,8 +215,8 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
}); });
connect(m_view->rootObject(), SIGNAL(downloadRequested(const QUrl&, QVariant)), this, connect(m_view->rootObject(), SIGNAL(downloadRequested(QUrl,QVariant)), this,
SLOT(slotHandleDownload(const QUrl&, QVariant))); SLOT(slotHandleDownload(QUrl,QVariant)));
connect(m_tagWidget, &QListView::doubleClicked, this, &DanbooruMainWindow::searchTag); connect(m_tagWidget, &QListView::doubleClicked, this, &DanbooruMainWindow::searchTag);
@ -240,9 +239,9 @@ void DanbooruMainWindow::loadSettings()
QStringList::const_iterator it; QStringList::const_iterator it;
for(it = DanbooruSettings::self()->boards().constBegin(); for (it = DanbooruSettings::self()->boards().constBegin();
it != DanbooruSettings::self()->boards().constEnd(); it != DanbooruSettings::self()->boards().constEnd();
++it) { ++it) {
boardsList.append(QUrl::fromUserInput(*it)); boardsList.append(QUrl::fromUserInput(*it));
@ -257,11 +256,10 @@ void DanbooruMainWindow::loadSettings()
m_tagWidget->setBlackList(DanbooruSettings::self()->tagBlacklist()); m_tagWidget->setBlackList(DanbooruSettings::self()->tagBlacklist());
m_view->rootContext()->setContextProperty("infiniteScroll", m_view->rootContext()->setContextProperty("infiniteScroll",
DanbooruSettings::self()->infiniteScrolling()); DanbooruSettings::self()->infiniteScrolling());
} }
void DanbooruMainWindow::setupActions() void DanbooruMainWindow::setupActions()
{ {
@ -273,15 +271,15 @@ void DanbooruMainWindow::setupActions()
QAction *fetchAction = new QAction(QIcon::fromTheme(QLatin1String("download")), QAction *fetchAction = new QAction(QIcon::fromTheme(QLatin1String("download")),
i18n("Download"), this); i18n("Download"), this);
KToggleAction *findAction = new KToggleAction(QIcon::fromTheme(QLatin1String("edit-find")), KToggleAction *findAction = new KToggleAction(QIcon::fromTheme(QLatin1String("edit-find")),
i18n("Search"), this); i18n("Search"), this);
KToggleAction *poolAction = new KToggleAction(QIcon::fromTheme(QLatin1String("image-x-generic")), KToggleAction *poolAction = new KToggleAction(QIcon::fromTheme(QLatin1String("image-x-generic")),
i18n("Pools"), this); i18n("Pools"), this);
QAction *nextPageAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")), QAction *nextPageAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")),
i18n("More posts"), this); i18n("More posts"), this);
QAction *nextPoolAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")), QAction *nextPoolAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")),
i18n("More pools"), this); i18n("More pools"), this);
KDualAction* tagAction = new KDualAction(i18n("Show tags"), i18n("Hide tags"), this); KDualAction *tagAction = new KDualAction(i18n("Show tags"), i18n("Hide tags"), this);
tagAction->setIconForStates(QIcon::fromTheme(QLatin1String("tag"))); tagAction->setIconForStates(QIcon::fromTheme(QLatin1String("tag")));
fetchAction->setEnabled(false); fetchAction->setEnabled(false);
@ -316,7 +314,7 @@ void DanbooruMainWindow::setupActions()
return; return;
} }
QDockWidget* poolDockWidget = findChild<QDockWidget*>(QLatin1String("PoolView")); QDockWidget *poolDockWidget = findChild<QDockWidget *>(QLatin1String("PoolView"));
if (checked) { if (checked) {
@ -329,7 +327,6 @@ void DanbooruMainWindow::setupActions()
actionCollection()->action(QLatin1String("morePools"))->setEnabled(true); actionCollection()->action(QLatin1String("morePools"))->setEnabled(true);
m_tableView->show(); m_tableView->show();
} else { } else {
poolDockWidget->hide(); poolDockWidget->hide();
actionCollection()->action(QLatin1String("morePools"))->setEnabled(false); actionCollection()->action(QLatin1String("morePools"))->setEnabled(false);
@ -339,7 +336,7 @@ void DanbooruMainWindow::setupActions()
connect(findAction, &KToggleAction::toggled, [this](bool checked) { connect(findAction, &KToggleAction::toggled, [this](bool checked) {
QDockWidget* searchDockWidget = findChild<QDockWidget*>(QLatin1String("SearchView")); QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
if (checked) { if (checked) {
searchDockWidget->show(); searchDockWidget->show();
@ -353,7 +350,7 @@ void DanbooruMainWindow::setupActions()
connect(tagAction, &KDualAction::activeChanged, [this](bool checked) { connect(tagAction, &KDualAction::activeChanged, [this](bool checked) {
QDockWidget* tagDockWidget = findChild<QDockWidget*>(QLatin1String("TagView")); QDockWidget *tagDockWidget = findChild<QDockWidget *>(QLatin1String("TagView"));
if (checked) { if (checked) {
tagDockWidget->show(); tagDockWidget->show();
@ -373,21 +370,21 @@ void DanbooruMainWindow::setupActions()
QMetaObject::invokeMethod(m_view->rootObject(), "downloadStarted"); QMetaObject::invokeMethod(m_view->rootObject(), "downloadStarted");
m_service->nextPostPage(); m_service->nextPostPage();
} }
); );
connect(nextPoolAction, &QAction::triggered, [this]() { connect(nextPoolAction, &QAction::triggered, [this]() {
m_service->nextPoolPage(); m_service->nextPoolPage();
} }
); );
} }
void DanbooruMainWindow::setupDockWidgets()
void DanbooruMainWindow::setupDockWidgets() { {
// Set up PoolWidget // Set up PoolWidget
QDockWidget* poolDockWidget = new QDockWidget(i18n("Pools"), this); QDockWidget *poolDockWidget = new QDockWidget(i18n("Pools"), this);
poolDockWidget->setAllowedAreas(Qt::BottomDockWidgetArea); poolDockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
poolDockWidget->setWidget(m_tableView); poolDockWidget->setWidget(m_tableView);
poolDockWidget->setObjectName("PoolView"); poolDockWidget->setObjectName("PoolView");
@ -433,7 +430,7 @@ void DanbooruMainWindow::setupDockWidgets() {
}); });
connect(tagDockWidget, &QDockWidget::visibilityChanged, [this](bool visible) { connect(tagDockWidget, &QDockWidget::visibilityChanged, [this](bool visible) {
qobject_cast<KDualAction*>(actionCollection()->action(QLatin1String("tags")))->setActive(visible); qobject_cast<KDualAction *>(actionCollection()->action(QLatin1String("tags")))->setActive(visible);
}); });
} }
@ -459,30 +456,29 @@ void DanbooruMainWindow::downloadPosts()
return; return;
} }
handlePostDownload(QStringList(), false); handlePostDownload(QStringList(), false);
} }
void DanbooruMainWindow::optionsPreferences() void DanbooruMainWindow::optionsPreferences()
{ {
KConfigDialog* dialog = new KConfigDialog(this, "danboorusettings", KConfigDialog *dialog = new KConfigDialog(this, "danboorusettings",
DanbooruSettings::self()); DanbooruSettings::self());
dialog->addPage(new GeneralPage(DanbooruSettings::self(), this), i18n("General"), dialog->addPage(new GeneralPage(DanbooruSettings::self(), this), i18n("General"),
"table"); "table");
dialog->addPage(new BlacklistPage(DanbooruSettings::self(), this), i18n("Tag blacklist"), dialog->addPage(new BlacklistPage(DanbooruSettings::self(), this), i18n("Tag blacklist"),
"configure"); "configure");
connect(dialog, &KConfigDialog::settingsChanged, this, &DanbooruMainWindow::loadSettings); connect(dialog, &KConfigDialog::settingsChanged, this, &DanbooruMainWindow::loadSettings);
dialog->show(); dialog->show();
} }
void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags) { void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags)
{
QStringList tagList = tags.toStringList(); QStringList tagList = tags.toStringList();
KIO::MimetypeJob* mimeJob = KIO::mimetype(url, KIO::HideProgressInfo); KIO::MimetypeJob *mimeJob = KIO::mimetype(url, KIO::HideProgressInfo);
QString filters; QString filters;
QString remoteFile = url.fileName(); QString remoteFile = url.fileName();
@ -498,14 +494,13 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
remoteFile.replace(":", "_"); remoteFile.replace(":", "_");
} }
QUrl localFile = QFileDialog::getSaveFileUrl( QUrl localFile = QFileDialog::getSaveFileUrl(
this, this,
i18n("Save file"), i18n("Save file"),
QDir::homePath() + QLatin1Char('/') + remoteFile, QDir::homePath() + QLatin1Char('/') + remoteFile,
filters filters
);
);
// TODO: Remember last user directory - settings? // TODO: Remember last user directory - settings?
@ -513,17 +508,17 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
KIO::FileCopyJob *job = KIO::file_copy(url, localFile, -1, KIO::DefaultFlags); KIO::FileCopyJob *job = KIO::file_copy(url, localFile, -1, KIO::DefaultFlags);
connect(job, &KIO::Job::result, [this, localFile, tagList](KJob *job) { connect(job, &KIO::Job::result, [this, localFile, tagList](KJob * job) {
if (job->error()) { if (job->error()) {
return; return;
} }
#ifdef WITH_KFILEMETADATA #ifdef WITH_KFILEMETADATA
qCDebug(DANBOORU_CLIENT) << "Local file" << localFile.toLocalFile(); qCDebug(DANBOORU_CLIENT) << "Local file" << localFile.toLocalFile();
KFileMetaData::UserMetaData meta(localFile.toLocalFile()); KFileMetaData::UserMetaData meta(localFile.toLocalFile());
meta.setTags(tagList); meta.setTags(tagList);
#endif #endif
}); });
@ -554,14 +549,13 @@ void DanbooruMainWindow::clearModels()
} }
void DanbooruMainWindow::handlePostDownload(const QStringList &tags, bool relatedTags) void DanbooruMainWindow::handlePostDownload(const QStringList &tags, bool relatedTags)
{ {
clearModels(); clearModels();
m_view->rootObject()->setProperty("poolMode", QVariant(false)); m_view->rootObject()->setProperty("poolMode", QVariant(false));
m_service->setPostTags(tags); m_service->setPostTags(tags);
if(relatedTags) { if (relatedTags) {
m_service->getRelatedTags(tags); m_service->getRelatedTags(tags);
} }

View file

@ -32,12 +32,9 @@
#include <KSharedDataCache> #include <KSharedDataCache>
#include <KImageCache> #include <KImageCache>
class QQuickWidget; class QQuickWidget;
class QSortFilterProxyModel; class QSortFilterProxyModel;
namespace Danbooru namespace Danbooru
{ {
@ -81,7 +78,7 @@ public:
/** /**
* Default Constructor * Default Constructor
*/ */
DanbooruMainWindow(QWidget* parent=0); DanbooruMainWindow(QWidget *parent = 0);
/** /**
* Default Destructor * Default Destructor
@ -93,7 +90,7 @@ private:
void setupDockWidgets(); void setupDockWidgets();
void setupConnections(); void setupConnections();
void clearModels(); void clearModels();
void handlePostDownload(const QStringList& tags = QStringList(), bool relatedTags = false); void handlePostDownload(const QStringList &tags = QStringList(), bool relatedTags = false);
private Q_SLOTS: private Q_SLOTS:
void connectToBoard(); void connectToBoard();

View file

@ -24,14 +24,16 @@
#include <KLocalizedString> #include <KLocalizedString>
namespace Danbooru { namespace Danbooru
{
DanbooruPoolModel::DanbooruPoolModel(QObject* parent): QAbstractTableModel(parent) DanbooruPoolModel::DanbooruPoolModel(QObject *parent): QAbstractTableModel(parent)
{ {
} }
const QStringList DanbooruPoolModel::m_headerNames = { i18n("ID"), const QStringList DanbooruPoolModel::m_headerNames = { i18n("ID"),
i18n("Name"), i18n("Posts"), i18n("Description") }; i18n("Name"), i18n("Posts"), i18n("Description")
};
DanbooruPoolModel::~DanbooruPoolModel() DanbooruPoolModel::~DanbooruPoolModel()
{ {
@ -60,7 +62,7 @@ int DanbooruPoolModel::columnCount(const QModelIndex &parent) const
return 4; return 4;
} }
QVariant DanbooruPoolModel::data(const QModelIndex& index, int role) const QVariant DanbooruPoolModel::data(const QModelIndex &index, int role) const
{ {
if (!index.isValid()) { if (!index.isValid()) {
return QVariant(); return QVariant();
@ -74,7 +76,7 @@ QVariant DanbooruPoolModel::data(const QModelIndex& index, int role) const
return QVariant(); return QVariant();
} }
DanbooruPool* pool = m_items.at(index.row()); DanbooruPool *pool = m_items.at(index.row());
if (role == Qt::DisplayRole) { if (role == Qt::DisplayRole) {
@ -105,7 +107,7 @@ QVariant DanbooruPoolModel::headerData(int section, Qt::Orientation orientation,
void DanbooruPoolModel::clear() void DanbooruPoolModel::clear()
{ {
if (m_items.isEmpty()) { if (m_items.isEmpty()) {
return; return;
} }
@ -115,11 +117,9 @@ void DanbooruPoolModel::clear()
endResetModel(); endResetModel();
} }
DanbooruPool* DanbooruPoolModel::poolAt(int index) const DanbooruPool *DanbooruPoolModel::poolAt(int index) const
{ {
return m_items.at(index); return m_items.at(index);
} }
} // namespace Danbooru } // namespace Danbooru

View file

@ -23,7 +23,8 @@
#include <QVector> #include <QVector>
#include <QAbstractTableModel> #include <QAbstractTableModel>
namespace Danbooru { namespace Danbooru
{
class DanbooruPool; class DanbooruPool;
@ -32,7 +33,7 @@ class DanbooruPoolModel: public QAbstractTableModel
Q_OBJECT Q_OBJECT
public: public:
DanbooruPoolModel(QObject* parent=0); DanbooruPoolModel(QObject *parent = 0);
~DanbooruPoolModel(); ~DanbooruPoolModel();
int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
@ -40,8 +41,7 @@ public:
QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE; QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
QVariant headerData(int section, Qt::Orientation orientation, int role) const Q_DECL_OVERRIDE; QVariant headerData(int section, Qt::Orientation orientation, int role) const Q_DECL_OVERRIDE;
void clear(); void clear();
DanbooruPool* poolAt(int index) const; DanbooruPool *poolAt(int index) const;
private: private:
QVector<DanbooruPool *> m_items; QVector<DanbooruPool *> m_items;
@ -52,9 +52,6 @@ public Q_SLOTS:
}; };
} // namespace Danbooru } // namespace Danbooru
#endif #endif

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
// Own // Own
#include "danboorupostmodel.h" #include "danboorupostmodel.h"
@ -80,41 +79,38 @@ QVariant DanbooruPostModel::data(const QModelIndex &index, int role) const
return QVariant(); return QVariant();
} }
switch(role) { switch (role) {
case Qt::DisplayRole: case Qt::DisplayRole: {
{ QVariant variant;
QVariant variant; variant.setValue(post);
variant.setValue(post);
return variant; return variant;
} }
case Qt::DecorationRole: case Qt::DecorationRole: {
{ const QPixmap pixmap = post->pixmap();
const QPixmap pixmap = post->pixmap(); return pixmap;
return pixmap; }
} case Qt::ToolTipRole:
case Qt::ToolTipRole: return post->fileUrl().fileName();
return post->fileUrl().fileName(); case FileUrlRole:
case FileUrlRole: return post->fileUrl();
return post->fileUrl(); case ThumbUrlRole:
case ThumbUrlRole: return post->thumbnailUrl();
return post->thumbnailUrl(); case SizeRole:
case SizeRole: return post->size();
return post->size(); case ResolutionRole:
case ResolutionRole: return QSize(post->width(), post->height());
return QSize(post->width(), post->height()); case RatingRole:
case RatingRole: return post->rating();
return post->rating(); case TagRole: {
case TagRole: QStringList tagList = post->tags().toList();
{ return tagList;
QStringList tagList = post->tags().toList(); }
return tagList; case SampleUrlRole:
} return post->sampleUrl();
case SampleUrlRole: default:
return post->sampleUrl(); return QVariant();
default:
return QVariant();
} }
return QVariant(); return QVariant();

View file

@ -17,7 +17,6 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef DANBOORUPOSTMODEL_H #ifndef DANBOORUPOSTMODEL_H
#define DANBOORUPOSTMODEL_H #define DANBOORUPOSTMODEL_H

View file

@ -17,14 +17,14 @@
* along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>. * along with Danbooru Client. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "danboorutagmodel.h" #include "danboorutagmodel.h"
#include "libdanbooru/danboorutag.h" #include "libdanbooru/danboorutag.h"
#include "danbooru_client_debug.h" #include "danbooru_client_debug.h"
#include <KLocalizedString> #include <KLocalizedString>
namespace Danbooru { namespace Danbooru
{
DanbooruTagModel::DanbooruTagModel(QObject *parent): QAbstractListModel(parent) DanbooruTagModel::DanbooruTagModel(QObject *parent): QAbstractListModel(parent)
{ {
@ -38,7 +38,6 @@ DanbooruTagModel::~DanbooruTagModel()
} }
} }
int DanbooruTagModel::rowCount(const QModelIndex &parent) const int DanbooruTagModel::rowCount(const QModelIndex &parent) const
{ {
Q_UNUSED(parent); Q_UNUSED(parent);
@ -51,7 +50,7 @@ QVariant DanbooruTagModel::data(const QModelIndex &index, int role) const
return QVariant(); return QVariant();
} }
DanbooruTag* tag = m_items.at(index.row()); DanbooruTag *tag = m_items.at(index.row());
if (role == Qt::DisplayRole) { if (role == Qt::DisplayRole) {
return i18np("%1 (%2 post)", "%1 (%2 posts)", tag->name(), tag->count()); return i18np("%1 (%2 post)", "%1 (%2 posts)", tag->name(), tag->count());
@ -66,18 +65,18 @@ QVariant DanbooruTagModel::data(const QModelIndex &index, int role) const
return QVariant(); return QVariant();
} }
DanbooruTag* DanbooruTagModel::itemAt(int index) const DanbooruTag *DanbooruTagModel::itemAt(int index) const
{ {
return m_items.at(index); return m_items.at(index);
} }
void DanbooruTagModel::addTag(DanbooruTag* tag) void DanbooruTagModel::addTag(DanbooruTag *tag)
{ {
if (!tag) { if (!tag) {
return; return;
} }
if(tag->count() == 0) { if (tag->count() == 0) {
return; return;
} }
@ -86,9 +85,10 @@ void DanbooruTagModel::addTag(DanbooruTag* tag)
endInsertRows(); endInsertRows();
} }
void DanbooruTagModel::clear() { void DanbooruTagModel::clear()
{
if (m_items.isEmpty()) { if (m_items.isEmpty()) {
return; return;
} }

View file

@ -23,22 +23,23 @@
#include <QAbstractListModel> #include <QAbstractListModel>
#include <QVector> #include <QVector>
namespace Danbooru { namespace Danbooru
{
class DanbooruTag; class DanbooruTag;
class DanbooruTagModel: public QAbstractListModel class DanbooruTagModel: public QAbstractListModel
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit DanbooruTagModel(QObject* parent=0); explicit DanbooruTagModel(QObject *parent = 0);
~DanbooruTagModel(); ~DanbooruTagModel();
int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE; int rowCount(const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;
QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE; QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
void clear(); void clear();
DanbooruTag* itemAt(int index) const; DanbooruTag *itemAt(int index) const;
enum TagRoles { enum TagRoles {
// Needed for sorting through the proxy model // Needed for sorting through the proxy model
@ -46,14 +47,13 @@ public:
}; };
private: private:
QVector<DanbooruTag*> m_items; QVector<DanbooruTag *> m_items;
public Q_SLOTS: public Q_SLOTS:
void addTag(Danbooru::DanbooruTag* tag); void addTag(Danbooru::DanbooruTag *tag);
}; };
} // namespace Danbooru } // namespace Danbooru
#endif #endif