From fc20d57708b057d424fd1f9647fb5941aba8443a Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Fri, 20 Feb 2015 23:36:08 +0100 Subject: [PATCH] Get tags related to the posts we are actuallly seeing. TODO: Sort by size --- src/mainwindow.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 582aec9..1b47334 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -137,7 +137,6 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent) m_view->rootObject()->setProperty("poolMode", QVariant(false)); m_service->setPostTags(QStringList()); m_service->getPostList(); - m_service->getTagList(30); } m_connectWidget->hide(); statusBar()->hide(); @@ -193,6 +192,7 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent) DanbooruMainWindow::~DanbooruMainWindow() { + disconnect(m_service, &DanbooruService::postDownloadFinished, this, 0); } void DanbooruMainWindow::loadSettings() @@ -375,6 +375,17 @@ void DanbooruMainWindow::setupDockWidgets() { qobject_cast(actionCollection()->action(QLatin1String("tags")))->setActive(visible); }); + connect(m_service, &DanbooruService::postDownloadFinished, [this]() { + + if (m_tagModel->rowCount() == 0) { + // Only get tags if we don't have any already + for (auto tag: m_model->postTags()) { + m_service->getTagList(1, tag); + } + } + + }); + } void DanbooruMainWindow::connectToBoard() @@ -384,7 +395,6 @@ void DanbooruMainWindow::connectToBoard() return; } - clearModels(); m_poolModel->clear(); m_service->reset(); @@ -399,13 +409,11 @@ void DanbooruMainWindow::downloadPosts() return; } - qDebug() << "In download!"; - clearModels(); m_service->setPostTags(QStringList()); m_view->rootObject()->setProperty("poolMode", QVariant(false)); m_service->getPostList(); - m_service->getTagList(30); +// m_service->getRelatedTags(m_model->postTags(), DanbooruTag::General); }