Fix all Clazy issues up to level 1
This commit is contained in:
		
					parent
					
						
							
								8de329abeb
							
						
					
				
			
			
				commit
				
					
						e98d99a5e1
					
				
			
		
					 10 changed files with 153 additions and 146 deletions
				
			
		| 
						 | 
				
			
			@ -33,25 +33,25 @@ int main(int argc, char *argv[])
 | 
			
		|||
{
 | 
			
		||||
    QApplication app(argc, argv);
 | 
			
		||||
 | 
			
		||||
    QCoreApplication::setApplicationName(QLatin1String("danbooru-client"));
 | 
			
		||||
    QCoreApplication::setApplicationVersion(QLatin1String(DANBOORU_CLIENT_VERSION_STRING));
 | 
			
		||||
    QCoreApplication::setOrganizationDomain(QLatin1String("dennogumi.org"));
 | 
			
		||||
    QCoreApplication::setApplicationName(QStringLiteral("danbooru-client"));
 | 
			
		||||
    QCoreApplication::setApplicationVersion(QStringLiteral(DANBOORU_CLIENT_VERSION_STRING));
 | 
			
		||||
    QCoreApplication::setOrganizationDomain(QStringLiteral("dennogumi.org"));
 | 
			
		||||
    QApplication::setApplicationDisplayName(i18n("Danbooru Client"));
 | 
			
		||||
    KLocalizedString::setApplicationDomain("danbooru-client");
 | 
			
		||||
 | 
			
		||||
    KAboutData aboutData(I18N_NOOP(QLatin1String("danbooru-client")),
 | 
			
		||||
                         i18n("Danbooru Client"),
 | 
			
		||||
                         QLatin1String(DANBOORU_CLIENT_VERSION_STRING),
 | 
			
		||||
                         QStringLiteral(DANBOORU_CLIENT_VERSION_STRING),
 | 
			
		||||
                         i18n("KF5 based Danbooru client"),
 | 
			
		||||
                         KAboutLicense::GPL_V3,
 | 
			
		||||
                         i18n("(C) 2015 Luca Beltrame"),
 | 
			
		||||
                         QString("Using libdanbooru version %1").arg(LIBDANBOORU_VERSION_STRING),
 | 
			
		||||
                         QLatin1String("https://git.dennogumi.org/kde/danbooru-client"),
 | 
			
		||||
                         QLatin1String("https://git.dennogumi.org/kde/danbooru-client")
 | 
			
		||||
                         QStringLiteral("https://git.dennogumi.org/kde/danbooru-client"),
 | 
			
		||||
                         QStringLiteral("https://git.dennogumi.org/kde/danbooru-client")
 | 
			
		||||
                        );
 | 
			
		||||
 | 
			
		||||
    aboutData.addAuthor(i18n("Luca Beltrame"), i18n("Developer"),
 | 
			
		||||
                        QLatin1String("lbeltrame@kde.org")
 | 
			
		||||
                        QStringLiteral("lbeltrame@kde.org")
 | 
			
		||||
                       );
 | 
			
		||||
 | 
			
		||||
    KAboutData::setApplicationData(aboutData);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,14 +38,14 @@ const QMap< QUrl, QString > initBoardSalts()
 | 
			
		|||
 | 
			
		||||
    QMap< QUrl, QString > boardSalts;
 | 
			
		||||
 | 
			
		||||
    boardSalts.insert(QUrl("http://konachan.com"),
 | 
			
		||||
                      QString("So-I-Heard-You-Like-Mupkids-?--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl("http://konachan.net"),
 | 
			
		||||
                      QString("So-I-Heard-You-Like-Mupkids-?--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl("http://yande.re"),
 | 
			
		||||
                      QString("choujin-steiner--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl("http://danbooru.donmai.us"),
 | 
			
		||||
                      QString("choujin-steiner--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl(QStringLiteral("http://konachan.com")),
 | 
			
		||||
                      QStringLiteral("So-I-Heard-You-Like-Mupkids-?--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl(QStringLiteral("http://konachan.net")),
 | 
			
		||||
                      QStringLiteral("So-I-Heard-You-Like-Mupkids-?--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl(QStringLiteral("http://yande.re")),
 | 
			
		||||
                      QStringLiteral("choujin-steiner--%1--"));
 | 
			
		||||
    boardSalts.insert(QUrl(QStringLiteral("http://danbooru.donmai.us")),
 | 
			
		||||
                      QStringLiteral("choujin-steiner--%1--"));
 | 
			
		||||
 | 
			
		||||
    return boardSalts;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ DanbooruConnectWidget::DanbooruConnectWidget(QVector< QUrl > urlList,
 | 
			
		|||
    setupUi(this);
 | 
			
		||||
 | 
			
		||||
    danbooruUrlComboBox->setFocus();
 | 
			
		||||
    closeButton->setIcon(QIcon::fromTheme(QLatin1String("dialog-close")));
 | 
			
		||||
    closeButton->setIcon(QIcon::fromTheme(QStringLiteral("dialog-close")));
 | 
			
		||||
    closeButton->setToolTip(i18n("Close dialog and discard changes"));
 | 
			
		||||
    userLineEdit->setClearButtonEnabled(true);
 | 
			
		||||
    passwdLineEdit->setClearButtonEnabled(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ DanbooruConnectWidget::DanbooruConnectWidget(QVector< QUrl > urlList,
 | 
			
		|||
 | 
			
		||||
    danbooruUrlComboBox->clear();
 | 
			
		||||
 | 
			
		||||
    for (auto item : urlList) {
 | 
			
		||||
    Q_FOREACH(const auto& item, urlList) {
 | 
			
		||||
        danbooruUrlComboBox->insertUrl(urlList.indexOf(item), item);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -128,20 +128,20 @@ void DanbooruConnectWidget::getWalletData()
 | 
			
		|||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        m_username = valueMap[QLatin1String("username")];
 | 
			
		||||
        m_username = valueMap[QStringLiteral("username")];
 | 
			
		||||
 | 
			
		||||
        QString hashedPassword;
 | 
			
		||||
 | 
			
		||||
        // TODO: Handle the case where the "salt" is not known
 | 
			
		||||
        hashedPassword = boardSalts.value(key);
 | 
			
		||||
 | 
			
		||||
        hashedPassword = hashedPassword.arg(valueMap[QLatin1String("password")]);
 | 
			
		||||
        hashedPassword = hashedPassword.arg(valueMap[QStringLiteral("password")]);
 | 
			
		||||
        hashedPassword = QCryptographicHash::hash(hashedPassword.toUtf8(),
 | 
			
		||||
                         QCryptographicHash::Sha1).toHex();
 | 
			
		||||
 | 
			
		||||
        m_password = hashedPassword;
 | 
			
		||||
        userLineEdit->setText(m_username);
 | 
			
		||||
        passwdLineEdit->setText(valueMap[QLatin1String("password")]);
 | 
			
		||||
        passwdLineEdit->setText(valueMap[QStringLiteral("password")]);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +162,7 @@ void DanbooruConnectWidget::setBoards(const QVector<QUrl> &urlList)
 | 
			
		|||
 | 
			
		||||
    danbooruUrlComboBox->clear();
 | 
			
		||||
 | 
			
		||||
    for (auto item : urlList) {
 | 
			
		||||
    Q_FOREACH(const auto& item, urlList) {
 | 
			
		||||
        danbooruUrlComboBox->insertUrl(urlList.indexOf(item), item);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -195,8 +195,8 @@ void DanbooruConnectWidget::accept()
 | 
			
		|||
 | 
			
		||||
        if (m_wallet && !m_wallet->hasEntry(currentBoard)) {
 | 
			
		||||
            QMap<QString, QString> dataMap;
 | 
			
		||||
            dataMap.insert(QLatin1String("username"), m_username);
 | 
			
		||||
            dataMap.insert(QLatin1String("password"), passwdLineEdit->text());
 | 
			
		||||
            dataMap.insert(QStringLiteral("username"), m_username);
 | 
			
		||||
            dataMap.insert(QStringLiteral("password"), passwdLineEdit->text());
 | 
			
		||||
            m_wallet->writeMap(m_boardUrl.url(), dataMap);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,7 +52,7 @@ QStringList DanbooruSearchWidget::selectedTags() const
 | 
			
		|||
void DanbooruSearchWidget::accept()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    m_tags = tagLineEdit->text().split(",");
 | 
			
		||||
    m_tags = tagLineEdit->text().split(QStringLiteral(","));
 | 
			
		||||
    Q_EMIT(accepted());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,10 +25,10 @@ namespace Danbooru
 | 
			
		|||
DanbooruPool::DanbooruPool(const QVariantMap &postData, QObject *parent):
 | 
			
		||||
    QObject(parent), m_posts(QList<int>())
 | 
			
		||||
{
 | 
			
		||||
    m_id = postData.value("id").toInt();
 | 
			
		||||
    m_name = postData.value("name").toString();
 | 
			
		||||
    m_postCount = postData.value("post_count").toInt();
 | 
			
		||||
    m_description = postData.value("description").toString();
 | 
			
		||||
    m_id = postData.value(QStringLiteral("id")).toInt();
 | 
			
		||||
    m_name = postData.value(QStringLiteral("name")).toString();
 | 
			
		||||
    m_postCount = postData.value(QStringLiteral("post_count")).toInt();
 | 
			
		||||
    m_description = postData.value(QStringLiteral("description")).toString();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int DanbooruPool::id() const
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ void DanbooruPool::addPosts(QList< int > posts)
 | 
			
		|||
void DanbooruPool::addPosts(const QStringList &posts)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    for (auto post : posts) {
 | 
			
		||||
    for (auto& post  : posts) {
 | 
			
		||||
        m_posts.append(post.toInt());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,16 +53,16 @@ DanbooruPost::DanbooruPost(QVariantMap postData, QPixmap pixmap,
 | 
			
		|||
    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_tags = QSet<QString>::fromList(postData.value(QStringLiteral("tags")).toString().split(' '));
 | 
			
		||||
    m_id = postData.value(QStringLiteral("id")).toString().toInt();
 | 
			
		||||
    m_height = postData.value(QStringLiteral("height")).toString().toInt();
 | 
			
		||||
    m_width = postData.value(QStringLiteral("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();
 | 
			
		||||
    m_url = postData.value(QStringLiteral("file_url")).toUrl();
 | 
			
		||||
    m_thumbnailUrl = postData.value(QStringLiteral("preview_url")).toUrl();
 | 
			
		||||
    m_size = postData.value(QStringLiteral("file_size")).toInt();
 | 
			
		||||
    m_rating = RATING_MAP.value(postData.value(QStringLiteral("rating")).toString());
 | 
			
		||||
    m_sampleUrl = postData.value(QStringLiteral("sample_url")).toUrl();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -71,17 +71,17 @@ DanbooruPost::DanbooruPost(QXmlStreamAttributes &postData, QPixmap pixmap, QObje
 | 
			
		|||
    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_tags = QSet<QString>::fromList(postData.value(QStringLiteral("tags")).toString().split(' '));
 | 
			
		||||
    m_id = postData.value(QStringLiteral("id")).toString().toInt();
 | 
			
		||||
    m_height = postData.value(QStringLiteral("height")).toString().toInt();
 | 
			
		||||
    m_width = postData.value(QStringLiteral("width")).toString().toInt();
 | 
			
		||||
 | 
			
		||||
    m_url = QUrl::fromUserInput(postData.value("file_url").toString());
 | 
			
		||||
    m_thumbnailUrl = QUrl::fromUserInput(postData.value("preview_url").toString());
 | 
			
		||||
    m_sampleUrl = QUrl::fromUserInput(postData.value("sample_url").toString());
 | 
			
		||||
    m_url = QUrl::fromUserInput(postData.value(QStringLiteral("file_url")).toString());
 | 
			
		||||
    m_thumbnailUrl = QUrl::fromUserInput(postData.value(QStringLiteral("preview_url")).toString());
 | 
			
		||||
    m_sampleUrl = QUrl::fromUserInput(postData.value(QStringLiteral("sample_url")).toString());
 | 
			
		||||
 | 
			
		||||
    m_size = postData.value("file_size").toString().toInt();
 | 
			
		||||
    m_rating = RATING_MAP.value(postData.value("rating").toString());
 | 
			
		||||
    m_size = postData.value(QStringLiteral("file_size")).toString().toInt();
 | 
			
		||||
    m_rating = RATING_MAP.value(postData.value(QStringLiteral("rating")).toString());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DanbooruPost::~DanbooruPost()
 | 
			
		||||
| 
						 | 
				
			
			@ -92,9 +92,9 @@ const QMap< QString, DanbooruPost::Rating > DanbooruPost::initRatingMap()
 | 
			
		|||
{
 | 
			
		||||
 | 
			
		||||
    QMap<QString, DanbooruPost::Rating> map;
 | 
			
		||||
    map.insert("s", Safe);
 | 
			
		||||
    map.insert("q", Questionable);
 | 
			
		||||
    map.insert("e", Explicit);
 | 
			
		||||
    map.insert(QStringLiteral("s"), Safe);
 | 
			
		||||
    map.insert(QStringLiteral("q"), Questionable);
 | 
			
		||||
    map.insert(QStringLiteral("e"), Explicit);
 | 
			
		||||
 | 
			
		||||
    return map;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +112,8 @@ void DanbooruPost::setPixmap(const QPixmap &pixmap)
 | 
			
		|||
 | 
			
		||||
const QString DanbooruPost::toString()
 | 
			
		||||
{
 | 
			
		||||
    QString display = QString("Danbooru Post with ID %1 and URL %2, width %3 height %4 ");
 | 
			
		||||
    // TODO: i18n
 | 
			
		||||
    QString display = QStringLiteral("Danbooru Post with ID %1 and URL %2, width %3 height %4 ");
 | 
			
		||||
    display = display.arg(id()).arg(fileUrl().url()).arg(width()).arg(height());
 | 
			
		||||
    return display;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,12 +46,12 @@ namespace Danbooru
 | 
			
		|||
using KIO::StoredTransferJob;
 | 
			
		||||
using KIO::MultiGetJob;
 | 
			
		||||
 | 
			
		||||
const QString DanbooruService::POST_URL = "post/index.json" ;
 | 
			
		||||
const QString DanbooruService::TAG_URL = "tag/index.xml";
 | 
			
		||||
const QString DanbooruService::POOL_URL = "pool/index.json";
 | 
			
		||||
const QString DanbooruService::ARTIST_URL = "artist/index.json";
 | 
			
		||||
const QString DanbooruService::POOL_DATA_URL = "pool/show.xml";
 | 
			
		||||
const QString DanbooruService::RELATED_TAG_URL = "tag/related.json";
 | 
			
		||||
const QString DanbooruService::POST_URL = QStringLiteral("post/index.json");
 | 
			
		||||
const QString DanbooruService::TAG_URL = QStringLiteral("tag/index.xml");
 | 
			
		||||
const QString DanbooruService::POOL_URL = QStringLiteral("pool/index.json");
 | 
			
		||||
const QString DanbooruService::ARTIST_URL = QStringLiteral("artist/index.json");
 | 
			
		||||
const QString DanbooruService::POOL_DATA_URL = QStringLiteral("pool/show.xml");
 | 
			
		||||
const QString DanbooruService::RELATED_TAG_URL = QStringLiteral("tag/related.json");
 | 
			
		||||
 | 
			
		||||
DanbooruService::DanbooruService(QUrl boardUrl, QString username,
 | 
			
		||||
                                 QString password, KImageCache *cache,
 | 
			
		||||
| 
						 | 
				
			
			@ -81,8 +81,8 @@ void DanbooruService::getPostList()
 | 
			
		|||
 | 
			
		||||
    QMap<QString, QString> parameters;
 | 
			
		||||
 | 
			
		||||
    parameters.insert("limit", QString::number(m_maxPosts));
 | 
			
		||||
    parameters.insert("page", QString::number(m_currentPage));
 | 
			
		||||
    parameters.insert(QStringLiteral("limit"), QString::number(m_maxPosts));
 | 
			
		||||
    parameters.insert(QStringLiteral("page"), QString::number(m_currentPage));
 | 
			
		||||
 | 
			
		||||
    QUrl danbooruUrl = requestUrl(m_url, POST_URL, m_username,
 | 
			
		||||
                                  m_password, parameters, m_tags);
 | 
			
		||||
| 
						 | 
				
			
			@ -102,12 +102,12 @@ void DanbooruService::getPostList()
 | 
			
		|||
void DanbooruService::getTagList(int limit, QString name)
 | 
			
		||||
{
 | 
			
		||||
    QMap<QString, QString> parameters;
 | 
			
		||||
    parameters.insert("limit", QString::number(limit));
 | 
			
		||||
    parameters.insert(QStringLiteral("limit"), QString::number(limit));
 | 
			
		||||
 | 
			
		||||
    if (!name.isEmpty()) {
 | 
			
		||||
        parameters.insert("name", name);
 | 
			
		||||
        parameters.insert(QStringLiteral("name"), name);
 | 
			
		||||
    }
 | 
			
		||||
    parameters.insert("order", "date");
 | 
			
		||||
    parameters.insert(QStringLiteral("order"), QStringLiteral("date"));
 | 
			
		||||
 | 
			
		||||
    QUrl danbooruUrl = requestUrl(m_url, TAG_URL, m_username, m_password,
 | 
			
		||||
                                  parameters);
 | 
			
		||||
| 
						 | 
				
			
			@ -124,10 +124,10 @@ void DanbooruService::getPool(int poolId, int page)
 | 
			
		|||
 | 
			
		||||
    QMap<QString, QString> parameters;
 | 
			
		||||
 | 
			
		||||
    parameters.insert("id", QString::number(poolId));
 | 
			
		||||
    parameters.insert(QStringLiteral("id"), QString::number(poolId));
 | 
			
		||||
 | 
			
		||||
    if (page > 1) {
 | 
			
		||||
        parameters.insert("page", QString::number(page));
 | 
			
		||||
        parameters.insert(QStringLiteral("page"), QString::number(page));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QUrl danbooruUrl = requestUrl(m_url, POOL_DATA_URL, m_username,
 | 
			
		||||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ void DanbooruService::getPoolList()
 | 
			
		|||
        danbooruUrl = requestUrl(m_url, POOL_URL, m_username, m_password);
 | 
			
		||||
    } else {
 | 
			
		||||
        QMap<QString, QString> map;
 | 
			
		||||
        map.insert("page", QString::number(m_currentPage));
 | 
			
		||||
        map.insert(QStringLiteral("page"), QString::number(m_currentPage));
 | 
			
		||||
 | 
			
		||||
        danbooruUrl = requestUrl(m_url, POOL_URL, m_username,
 | 
			
		||||
                                 m_password, map);
 | 
			
		||||
| 
						 | 
				
			
			@ -185,13 +185,12 @@ void DanbooruService::getPoolList()
 | 
			
		|||
        QList<QVariant> poolList = parseDanbooruResult(data,  &ok).toList();
 | 
			
		||||
 | 
			
		||||
        if (!ok) {
 | 
			
		||||
            Q_EMIT(downloadError(QString("Unable to decode data")));
 | 
			
		||||
            Q_EMIT(downloadError(QStringLiteral("Unable to decode data")));
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (auto element : poolList) {
 | 
			
		||||
        Q_FOREACH(const auto & element, poolList) {
 | 
			
		||||
            QVariantMap map = element.toMap();
 | 
			
		||||
 | 
			
		||||
            DanbooruPool *pool = new DanbooruPool(map);
 | 
			
		||||
            Q_EMIT(poolDownloaded(pool));
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -211,24 +210,24 @@ void DanbooruService::getRelatedTags(const QStringList &tags,
 | 
			
		|||
    QString type;
 | 
			
		||||
    switch (tagType) {
 | 
			
		||||
    case DanbooruTag::General:
 | 
			
		||||
        type = "general";
 | 
			
		||||
        type = QStringLiteral("general");
 | 
			
		||||
        break;
 | 
			
		||||
    case DanbooruTag::Artist:
 | 
			
		||||
        type = "artist";
 | 
			
		||||
        type = QStringLiteral("artist");
 | 
			
		||||
        break;
 | 
			
		||||
    case DanbooruTag::Copyright:
 | 
			
		||||
        type = "copyright";
 | 
			
		||||
        type = QStringLiteral("copyright");
 | 
			
		||||
        break;
 | 
			
		||||
    case DanbooruTag::Character:
 | 
			
		||||
        type = "character";
 | 
			
		||||
        type = QStringLiteral("character");
 | 
			
		||||
        break;
 | 
			
		||||
    case DanbooruTag::Unknown:
 | 
			
		||||
        type = "unknown";
 | 
			
		||||
        type = QStringLiteral("unknown");
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    QMap<QString, QString> parameters;
 | 
			
		||||
    parameters.insert("type", type);
 | 
			
		||||
    parameters.insert(QStringLiteral("type"), type);
 | 
			
		||||
 | 
			
		||||
    QUrl danbooruUrl = requestUrl(m_url, RELATED_TAG_URL, m_username,
 | 
			
		||||
                                  m_password, parameters, tags);
 | 
			
		||||
| 
						 | 
				
			
			@ -254,7 +253,7 @@ void DanbooruService::getRelatedTags(const QStringList &tags,
 | 
			
		|||
        QVariantMap tagList = parseDanbooruResult(data, &ok).toMap();
 | 
			
		||||
 | 
			
		||||
        if (!ok) {
 | 
			
		||||
            Q_EMIT(downloadError(QString("Unable to decode data")));
 | 
			
		||||
            Q_EMIT(downloadError(QStringLiteral("Unable to decode data")));
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -273,7 +272,7 @@ void DanbooruService::getRelatedTags(const QStringList &tags,
 | 
			
		|||
                continue;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            for (auto tag : tags) {
 | 
			
		||||
            Q_FOREACH(auto &tag, tags) {
 | 
			
		||||
                // We get the first element in the list, the second is
 | 
			
		||||
                // the ID which is useless (no API methods in Danbooru)
 | 
			
		||||
                QString tagName = tag.toList()[0].toString();
 | 
			
		||||
| 
						 | 
				
			
			@ -298,15 +297,15 @@ const QStringList DanbooruService::allowedRatings() const
 | 
			
		|||
    QStringList ratings;
 | 
			
		||||
 | 
			
		||||
    if (m_maxRating.testFlag(DanbooruPost::Safe)) {
 | 
			
		||||
        ratings.append("Safe");
 | 
			
		||||
        ratings.append(QStringLiteral("Safe"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (m_maxRating.testFlag(DanbooruPost::Questionable)) {
 | 
			
		||||
        ratings.append("Questionable");
 | 
			
		||||
        ratings.append(QStringLiteral("Questionable"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (m_maxRating.testFlag(DanbooruPost::Explicit)) {
 | 
			
		||||
        ratings.append("Explicit");
 | 
			
		||||
        ratings.append(QStringLiteral("Explicit"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return ratings;
 | 
			
		||||
| 
						 | 
				
			
			@ -371,14 +370,15 @@ void DanbooruService::processTagList(KJob *job)
 | 
			
		|||
 | 
			
		||||
    // Most Danbooru implementations return tags in wrong order when
 | 
			
		||||
    // using JSON, so we have to fall back to XML
 | 
			
		||||
    QList<QVariant> tagList = parseDanbooruResult(data, "tag", &ok);
 | 
			
		||||
    QList<QVariant> tagList = parseDanbooruResult(data, QStringLiteral("tag"),
 | 
			
		||||
                                                  &ok);
 | 
			
		||||
 | 
			
		||||
    if (!ok) {
 | 
			
		||||
        Q_EMIT(downloadError(QString("Unable to decode data")));
 | 
			
		||||
        Q_EMIT(downloadError(QStringLiteral("Unable to decode data")));
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (auto element : tagList) {
 | 
			
		||||
    Q_FOREACH(const auto& element, tagList) {
 | 
			
		||||
        QVariantMap map = element.toMap();
 | 
			
		||||
        DanbooruTag *tag = new DanbooruTag(map);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -402,7 +402,7 @@ void DanbooruService::processPostList(KJob *job)
 | 
			
		|||
    StoredTransferJob *jobResult = qobject_cast<StoredTransferJob *>(job);
 | 
			
		||||
 | 
			
		||||
    if (jobResult == 0) {
 | 
			
		||||
        Q_EMIT(downloadError(QString("Internal error")));
 | 
			
		||||
        Q_EMIT(downloadError(QStringLiteral("Internal error")));
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -416,13 +416,13 @@ void DanbooruService::processPostList(KJob *job)
 | 
			
		|||
 | 
			
		||||
    if (needsXML) {
 | 
			
		||||
        // Special cases for pools
 | 
			
		||||
        postList = parseDanbooruResult(data, QString("post"), &ok);
 | 
			
		||||
        postList = parseDanbooruResult(data, QStringLiteral("post"), &ok);
 | 
			
		||||
    } else {
 | 
			
		||||
        postList = parseDanbooruResult(data, &ok).toList();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!ok) {
 | 
			
		||||
        Q_EMIT(downloadError(QString("Unable to decode data")));
 | 
			
		||||
        Q_EMIT(downloadError(QStringLiteral("Unable to decode data")));
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +436,7 @@ void DanbooruService::processPostList(KJob *job)
 | 
			
		|||
 | 
			
		||||
    m_postsToFetch = postList.length();
 | 
			
		||||
 | 
			
		||||
    for (auto element : postList) {
 | 
			
		||||
    Q_FOREACH(const auto& element, postList) {
 | 
			
		||||
 | 
			
		||||
        QVariantMap map = element.toMap();
 | 
			
		||||
        DanbooruPost *post = new DanbooruPost(map);
 | 
			
		||||
| 
						 | 
				
			
			@ -491,7 +491,7 @@ void DanbooruService::processPostList(KJob *job)
 | 
			
		|||
 | 
			
		||||
                if (!pix.loadFromData(jobResult->data()))
 | 
			
		||||
                {
 | 
			
		||||
                    Q_EMIT(downloadError(QString("Pixmap data could not be loaded")));
 | 
			
		||||
                    Q_EMIT(downloadError(QStringLiteral("Pixmap data could not be loaded")));
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -546,7 +546,7 @@ void DanbooruService::setBlacklist(const QStringList &blacklist)
 | 
			
		|||
 | 
			
		||||
    m_blacklist.clear();
 | 
			
		||||
 | 
			
		||||
    for (auto element : blacklist) {
 | 
			
		||||
    for (const auto& element : blacklist) {
 | 
			
		||||
        m_blacklist.insert(element);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,7 +162,7 @@ public:
 | 
			
		|||
     * @param name The name of the tag to retrieve, or an empty string
 | 
			
		||||
     *
 | 
			
		||||
     **/
 | 
			
		||||
    void getTagList(int limit = 10, QString name = "");
 | 
			
		||||
    void getTagList(int limit = 10, QString name = QStringLiteral(""));
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @brief Get tags related to a specific, user supplied list.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,12 +25,12 @@ namespace Danbooru
 | 
			
		|||
DanbooruTag::DanbooruTag(const QVariantMap &postData, QObject *parent):
 | 
			
		||||
    QObject(parent)
 | 
			
		||||
{
 | 
			
		||||
    m_id = postData.value("id").toInt();
 | 
			
		||||
    m_name = postData.value("name").toString();
 | 
			
		||||
    m_count = postData.value("count").toInt();
 | 
			
		||||
    m_ambiguous = postData.value("ambiguous").toBool();
 | 
			
		||||
    m_id = postData.value(QStringLiteral("id")).toInt();
 | 
			
		||||
    m_name = postData.value(QStringLiteral("name")).toString();
 | 
			
		||||
    m_count = postData.value(QStringLiteral("count")).toInt();
 | 
			
		||||
    m_ambiguous = postData.value(QStringLiteral("ambiguous")).toBool();
 | 
			
		||||
 | 
			
		||||
    int type = postData.value("type").toInt();
 | 
			
		||||
    int type = postData.value(QStringLiteral("type")).toInt();
 | 
			
		||||
 | 
			
		||||
    switch (type) {
 | 
			
		||||
    case 0:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ QUrl requestUrl(QUrl &url, const QString &path,
 | 
			
		|||
    // Now, let's add tags should we have them
 | 
			
		||||
 | 
			
		||||
    if (!tags.isEmpty()) {
 | 
			
		||||
        query.addQueryItem("tags", tags.join(" "));
 | 
			
		||||
        query.addQueryItem(QStringLiteral("tags"), tags.join(QStringLiteral(" ")));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    danbooruUrl.setQuery(query);
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +141,7 @@ QList< QVariant > parseDanbooruResult(QByteArray data, QString xlmElement, bool
 | 
			
		|||
 | 
			
		||||
//                 qCDebug(LIBDANBOORU) << attributes;
 | 
			
		||||
 | 
			
		||||
            for (auto attribute : attributes) {
 | 
			
		||||
            Q_FOREACH(const auto& attribute, attributes) {
 | 
			
		||||
                values.insert(attribute.name().toString(),
 | 
			
		||||
                              attribute.value().toString());
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +184,7 @@ bool isPostBlacklisted(DanbooruPost *post, QSet<QString> blacklist, DanbooruPost
 | 
			
		|||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (auto tag : post->tags()) {
 | 
			
		||||
    Q_FOREACH(const auto& tag, post->tags()) {
 | 
			
		||||
 | 
			
		||||
        if (blacklist.contains(tag)) {
 | 
			
		||||
            return true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,16 +119,18 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
    KDeclarative::KDeclarative declarative;
 | 
			
		||||
    declarative.setDeclarativeEngine(m_view->engine());
 | 
			
		||||
    declarative.setupBindings();
 | 
			
		||||
    m_view->setFocusPolicy(Qt::StrongFocus);
 | 
			
		||||
    m_view->setFocus();
 | 
			
		||||
 | 
			
		||||
    auto qmlViewPath = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
 | 
			
		||||
                       qApp->applicationName() +                                             QLatin1String("/danbooruimageview.qml"));
 | 
			
		||||
                       qApp->applicationName() +                                             QStringLiteral("/danbooruimageview.qml"));
 | 
			
		||||
 | 
			
		||||
    QQmlContext *ctxt = m_view->rootContext();
 | 
			
		||||
    ctxt->setContextProperty("danbooruModel", m_model);
 | 
			
		||||
    ctxt->setContextProperty("danbooruService", m_service);
 | 
			
		||||
    ctxt->setContextProperty(QStringLiteral("danbooruModel"), m_model);
 | 
			
		||||
    ctxt->setContextProperty(QStringLiteral("danbooruService"), m_service);
 | 
			
		||||
    m_view->setSource(QUrl::fromLocalFile(qmlViewPath));
 | 
			
		||||
    m_view->rootObject()->setProperty("poolMode", QVariant(false));
 | 
			
		||||
    ctxt->setContextProperty("infiniteScroll", DanbooruSettings::self()->infiniteScrolling());
 | 
			
		||||
    ctxt->setContextProperty(QStringLiteral("infiniteScroll"), DanbooruSettings::self()->infiniteScrolling());
 | 
			
		||||
 | 
			
		||||
    auto rootObj = m_view->rootObject();
 | 
			
		||||
    connect(m_service, SIGNAL(postDownloadFinished()), rootObj, SIGNAL(downloadFinished()));
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +142,8 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
 | 
			
		||||
    // then, setup our actions
 | 
			
		||||
    setupActions();
 | 
			
		||||
    setupGUI(KXmlGuiWindow::ToolBar | Keys | Save | Create, "danbooru-clientui.rc");
 | 
			
		||||
    setupGUI(KXmlGuiWindow::ToolBar | Keys | Save | Create,
 | 
			
		||||
             QStringLiteral("danbooru-clientui.rc"));
 | 
			
		||||
 | 
			
		||||
    // connections
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -154,11 +157,11 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
            m_service->setPassword(m_connectWidget->password());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        actionCollection()->action(QLatin1String("fetch"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QLatin1String("find"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QLatin1String("poolDownload"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QLatin1String("tags"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QLatin1String("morePosts"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("fetch"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("find"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("poolDownload"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("tags"))->setEnabled(true);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("morePosts"))->setEnabled(true);
 | 
			
		||||
 | 
			
		||||
        if (DanbooruSettings::self()->autoDownload()) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +199,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
 | 
			
		||||
    connect(m_searchWidget, &DanbooruSearchWidget::accepted, [this]() {
 | 
			
		||||
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QStringLiteral("SearchView"));
 | 
			
		||||
        searchDockWidget->hide();
 | 
			
		||||
 | 
			
		||||
        handlePostDownload(m_searchWidget->selectedTags(), true /* relatedTags */);
 | 
			
		||||
| 
						 | 
				
			
			@ -204,7 +207,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
    });
 | 
			
		||||
 | 
			
		||||
    connect(m_searchWidget, &DanbooruSearchWidget::rejected, [this]() {
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QStringLiteral("SearchView"));
 | 
			
		||||
        searchDockWidget->hide();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -212,7 +215,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
 | 
			
		||||
        if (m_tagModel->rowCount() == 0) {
 | 
			
		||||
            // Only get tags if we don't have any already
 | 
			
		||||
            for (auto tag : m_model->postTags()) {
 | 
			
		||||
            Q_FOREACH(const auto& tag, m_model->postTags()) {
 | 
			
		||||
                m_service->getTagList(1, tag);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -243,10 +246,11 @@ void DanbooruMainWindow::loadSettings()
 | 
			
		|||
    QVector<QUrl> boardsList;
 | 
			
		||||
 | 
			
		||||
    QStringList::const_iterator it;
 | 
			
		||||
    auto configList = DanbooruSettings::self()->boards();
 | 
			
		||||
 | 
			
		||||
    for (it = DanbooruSettings::self()->boards().constBegin();
 | 
			
		||||
            it != DanbooruSettings::self()->boards().constEnd();
 | 
			
		||||
            ++it) {
 | 
			
		||||
    for (it = configList.constBegin();
 | 
			
		||||
         it != configList.constEnd();
 | 
			
		||||
         ++it) {
 | 
			
		||||
 | 
			
		||||
        boardsList.append(QUrl::fromUserInput(*it));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -260,7 +264,7 @@ void DanbooruMainWindow::loadSettings()
 | 
			
		|||
 | 
			
		||||
    m_tagWidget->setBlackList(DanbooruSettings::self()->tagBlacklist());
 | 
			
		||||
 | 
			
		||||
    m_view->rootContext()->setContextProperty("infiniteScroll",
 | 
			
		||||
    m_view->rootContext()->setContextProperty(QStringLiteral("infiniteScroll"),
 | 
			
		||||
            DanbooruSettings::self()->infiniteScrolling());
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -269,23 +273,23 @@ void DanbooruMainWindow::setupActions()
 | 
			
		|||
{
 | 
			
		||||
 | 
			
		||||
    QAction *connectAction = new QAction(
 | 
			
		||||
        QIcon::fromTheme(QLatin1String("document-open-remote")),
 | 
			
		||||
        QIcon::fromTheme(QStringLiteral("document-open-remote")),
 | 
			
		||||
        i18n("Connect..."),
 | 
			
		||||
        this);
 | 
			
		||||
 | 
			
		||||
    QAction *fetchAction = new QAction(QIcon::fromTheme(QLatin1String("download")),
 | 
			
		||||
    QAction *fetchAction = new QAction(QIcon::fromTheme(QStringLiteral("download")),
 | 
			
		||||
                                       i18n("Download"), this);
 | 
			
		||||
    KToggleAction *findAction = new KToggleAction(QIcon::fromTheme(QLatin1String("edit-find")),
 | 
			
		||||
    KToggleAction *findAction = new KToggleAction(QIcon::fromTheme(QStringLiteral("edit-find")),
 | 
			
		||||
            i18n("Search"), this);
 | 
			
		||||
    KToggleAction *poolAction = new KToggleAction(QIcon::fromTheme(QLatin1String("image-x-generic")),
 | 
			
		||||
    KToggleAction *poolAction = new KToggleAction(QIcon::fromTheme(QStringLiteral("image-x-generic")),
 | 
			
		||||
            i18n("Pools"), this);
 | 
			
		||||
    QAction *nextPageAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")),
 | 
			
		||||
    QAction *nextPageAction = new QAction(QIcon::fromTheme(QStringLiteral("go-next")),
 | 
			
		||||
                                          i18n("More posts"), this);
 | 
			
		||||
    QAction *nextPoolAction = new QAction(QIcon::fromTheme(QLatin1String("go-next")),
 | 
			
		||||
    QAction *nextPoolAction = new QAction(QIcon::fromTheme(QStringLiteral("go-next")),
 | 
			
		||||
                                          i18n("More pools"), this);
 | 
			
		||||
 | 
			
		||||
    KDualAction *tagAction = new KDualAction(i18n("Show tags"), i18n("Hide tags"), this);
 | 
			
		||||
    tagAction->setIconForStates(QIcon::fromTheme(QLatin1String("tag")));
 | 
			
		||||
    tagAction->setIconForStates(QIcon::fromTheme(QStringLiteral("tag")));
 | 
			
		||||
 | 
			
		||||
    fetchAction->setEnabled(false);
 | 
			
		||||
    findAction->setEnabled(false);
 | 
			
		||||
| 
						 | 
				
			
			@ -297,13 +301,13 @@ void DanbooruMainWindow::setupActions()
 | 
			
		|||
    findAction->setChecked(false);
 | 
			
		||||
    tagAction->setEnabled(false);
 | 
			
		||||
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("connect"), connectAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("fetch"), fetchAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("find"), findAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("poolDownload"), poolAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("tags"), tagAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("morePosts"), nextPageAction);
 | 
			
		||||
    actionCollection()->addAction(QLatin1String("morePools"), nextPoolAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("connect"), connectAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("fetch"), fetchAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("find"), findAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("poolDownload"), poolAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("tags"), tagAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("morePosts"), nextPageAction);
 | 
			
		||||
    actionCollection()->addAction(QStringLiteral("morePools"), nextPoolAction);
 | 
			
		||||
 | 
			
		||||
    actionCollection()->setDefaultShortcut(connectAction, KStandardShortcut::Open);
 | 
			
		||||
    actionCollection()->setDefaultShortcut(findAction, KStandardShortcut::Find);
 | 
			
		||||
| 
						 | 
				
			
			@ -319,7 +323,7 @@ void DanbooruMainWindow::setupActions()
 | 
			
		|||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        QDockWidget *poolDockWidget = findChild<QDockWidget *>(QLatin1String("PoolView"));
 | 
			
		||||
        QDockWidget *poolDockWidget = findChild<QDockWidget *>(QStringLiteral("PoolView"));
 | 
			
		||||
 | 
			
		||||
        if (checked) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -329,19 +333,19 @@ void DanbooruMainWindow::setupActions()
 | 
			
		|||
            }
 | 
			
		||||
 | 
			
		||||
            poolDockWidget->show();
 | 
			
		||||
            actionCollection()->action(QLatin1String("morePools"))->setEnabled(true);
 | 
			
		||||
            actionCollection()->action(QStringLiteral("morePools"))->setEnabled(true);
 | 
			
		||||
            m_tableView->show();
 | 
			
		||||
 | 
			
		||||
        } else {
 | 
			
		||||
            poolDockWidget->hide();
 | 
			
		||||
            actionCollection()->action(QLatin1String("morePools"))->setEnabled(false);
 | 
			
		||||
            actionCollection()->action(QStringLiteral("morePools"))->setEnabled(false);
 | 
			
		||||
            m_tableView->hide();
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    connect(findAction, &KToggleAction::toggled, [this](bool checked) {
 | 
			
		||||
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QLatin1String("SearchView"));
 | 
			
		||||
        QDockWidget *searchDockWidget = findChild<QDockWidget *>(QStringLiteral("SearchView"));
 | 
			
		||||
 | 
			
		||||
        if (checked) {
 | 
			
		||||
            searchDockWidget->show();
 | 
			
		||||
| 
						 | 
				
			
			@ -355,7 +359,7 @@ void DanbooruMainWindow::setupActions()
 | 
			
		|||
 | 
			
		||||
    connect(tagAction, &KDualAction::activeChanged, [this](bool checked) {
 | 
			
		||||
 | 
			
		||||
        QDockWidget *tagDockWidget = findChild<QDockWidget *>(QLatin1String("TagView"));
 | 
			
		||||
        QDockWidget *tagDockWidget = findChild<QDockWidget *>(QStringLiteral("TagView"));
 | 
			
		||||
 | 
			
		||||
        if (checked) {
 | 
			
		||||
            tagDockWidget->show();
 | 
			
		||||
| 
						 | 
				
			
			@ -392,7 +396,7 @@ void DanbooruMainWindow::setupDockWidgets()
 | 
			
		|||
    QDockWidget *poolDockWidget = new QDockWidget(i18n("Pools"), this);
 | 
			
		||||
    poolDockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
 | 
			
		||||
    poolDockWidget->setWidget(m_tableView);
 | 
			
		||||
    poolDockWidget->setObjectName("PoolView");
 | 
			
		||||
    poolDockWidget->setObjectName(QStringLiteral("PoolView"));
 | 
			
		||||
 | 
			
		||||
    // Prevent the use of winId() when detached, leads to QQuickWidget bugs
 | 
			
		||||
    poolDockWidget->setFeatures(QDockWidget::DockWidgetClosable);
 | 
			
		||||
| 
						 | 
				
			
			@ -404,7 +408,7 @@ void DanbooruMainWindow::setupDockWidgets()
 | 
			
		|||
    QDockWidget *searchDockWidget = new QDockWidget(QLatin1String(""), this);
 | 
			
		||||
    searchDockWidget->setAllowedAreas(Qt::TopDockWidgetArea);
 | 
			
		||||
    searchDockWidget->setWidget(m_searchWidget);
 | 
			
		||||
    searchDockWidget->setObjectName("SearchView");
 | 
			
		||||
    searchDockWidget->setObjectName(QStringLiteral("SearchView"));
 | 
			
		||||
 | 
			
		||||
    searchDockWidget->setFeatures(QDockWidget::NoDockWidgetFeatures);
 | 
			
		||||
    addDockWidget(Qt::TopDockWidgetArea, searchDockWidget);
 | 
			
		||||
| 
						 | 
				
			
			@ -414,10 +418,10 @@ void DanbooruMainWindow::setupDockWidgets()
 | 
			
		|||
    searchDockWidget->hide();
 | 
			
		||||
    m_searchWidget->hide();
 | 
			
		||||
 | 
			
		||||
    QDockWidget *tagDockWidget = new QDockWidget(QLatin1String("Tags"), this);
 | 
			
		||||
    QDockWidget *tagDockWidget = new QDockWidget(QStringLiteral("Tags"), this);
 | 
			
		||||
    tagDockWidget->setAllowedAreas(Qt::RightDockWidgetArea);
 | 
			
		||||
    tagDockWidget->setWidget(m_tagWidget);
 | 
			
		||||
    tagDockWidget->setObjectName("TagView");
 | 
			
		||||
    tagDockWidget->setObjectName(QStringLiteral("TagView"));
 | 
			
		||||
    tagDockWidget->setFeatures(QDockWidget::DockWidgetClosable);
 | 
			
		||||
    addDockWidget(Qt::RightDockWidgetArea, tagDockWidget);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -427,15 +431,15 @@ void DanbooruMainWindow::setupDockWidgets()
 | 
			
		|||
    // Connections
 | 
			
		||||
 | 
			
		||||
    connect(poolDockWidget, &QDockWidget::visibilityChanged, [this](bool visible) {
 | 
			
		||||
        actionCollection()->action(QLatin1String("poolDownload"))->setChecked(visible);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("poolDownload"))->setChecked(visible);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    connect(searchDockWidget, &QDockWidget::visibilityChanged, [this](bool visible) {
 | 
			
		||||
        actionCollection()->action(QLatin1String("find"))->setChecked(visible);
 | 
			
		||||
        actionCollection()->action(QStringLiteral("find"))->setChecked(visible);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    connect(tagDockWidget, &QDockWidget::visibilityChanged, [this](bool visible) {
 | 
			
		||||
        qobject_cast<KDualAction *>(actionCollection()->action(QLatin1String("tags")))->setActive(visible);
 | 
			
		||||
        qobject_cast<KDualAction *>(actionCollection()->action(QStringLiteral("tags")))->setActive(visible);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -467,13 +471,13 @@ void DanbooruMainWindow::downloadPosts()
 | 
			
		|||
 | 
			
		||||
void DanbooruMainWindow::optionsPreferences()
 | 
			
		||||
{
 | 
			
		||||
    KConfigDialog *dialog = new KConfigDialog(this, "danboorusettings",
 | 
			
		||||
    KConfigDialog *dialog = new KConfigDialog(this, QStringLiteral("danboorusettings"),
 | 
			
		||||
            DanbooruSettings::self());
 | 
			
		||||
 | 
			
		||||
    dialog->addPage(new GeneralPage(DanbooruSettings::self(), this), i18n("General"),
 | 
			
		||||
                    "table");
 | 
			
		||||
                    QStringLiteral("table"));
 | 
			
		||||
    dialog->addPage(new BlacklistPage(DanbooruSettings::self(), this), i18n("Tag blacklist"),
 | 
			
		||||
                    "configure");
 | 
			
		||||
                    QStringLiteral("configure"));
 | 
			
		||||
    connect(dialog, &KConfigDialog::settingsChanged, this, &DanbooruMainWindow::loadSettings);
 | 
			
		||||
    dialog->show();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -506,13 +510,15 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
 | 
			
		|||
        saveDialog->setMimeTypeFilters(filters);
 | 
			
		||||
    }  else {
 | 
			
		||||
        filters.reserve(2);
 | 
			
		||||
        filters << "Images (*.png *.gif *.jpg)" << "All files (*.*)";
 | 
			
		||||
        filters << QStringLiteral("Images (*.png *.gif *.jpg)")
 | 
			
		||||
                << QStringLiteral("All files (*.*)");
 | 
			
		||||
        saveDialog->setNameFilters(filters);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Prevent invalid characters (":" can be a tag in Danbooru)
 | 
			
		||||
    if (remoteFile.contains(":")) {
 | 
			
		||||
        remoteFile.replace(":", "_");
 | 
			
		||||
    if (remoteFile.contains(QStringLiteral(":"))) {
 | 
			
		||||
        remoteFile.replace(QStringLiteral(":"),
 | 
			
		||||
                           QStringLiteral("_"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    saveDialog->selectFile(remoteFile);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue