diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fe4ddbc..33d8450 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(danbooru_client_SRCS danbooruconnectwidget.cpp + danboorusearchwidget.cpp model/danboorupostdelegate.cpp model/danboorupostmodel.cpp model/danboorupoolmodel.cpp @@ -17,7 +18,8 @@ include_directories( ki18n_wrap_ui(danbooru_client_SRCS ui/generalpage.ui - ui/danbooruconnectwidget.ui) + ui/danbooruconnectwidget.ui + ui/searchwidget.ui) kconfig_add_kcfg_files(danbooru_client_SRCS danboorusettings.kcfgc) diff --git a/src/danboorusearchwidget.cpp b/src/danboorusearchwidget.cpp index 8c20414..48e756e 100644 --- a/src/danboorusearchwidget.cpp +++ b/src/danboorusearchwidget.cpp @@ -17,4 +17,41 @@ * along with Danbooru Client. If not, see . */ +#include "danboorusearchwidget.h" +#include +#include + +namespace Danbooru { + +DanbooruSearchWidget::DanbooruSearchWidget(QWidget* parent): QWidget(parent) +{ + setupUi(this); + + connect(searchButton, &QPushButton::clicked, this, &DanbooruSearchWidget::accept); + connect(tagLineEdit, &QLineEdit::returnPressed, this, &DanbooruSearchWidget::accept); + connect(closeButton, &QPushButton::clicked, [this]() { Q_EMIT(rejected()); }); + +} + +DanbooruSearchWidget::~DanbooruSearchWidget() +{ +} + +QStringList DanbooruSearchWidget::selectedTags() const +{ + return m_tags; +} + +void DanbooruSearchWidget::accept() { + + if(tagLineEdit->text().isEmpty()) { + return; + } + + m_tags = tagLineEdit->text().split(","); + Q_EMIT(accepted()); +} + + +} // namespace Danbooru \ No newline at end of file diff --git a/src/danboorusearchwidget.h b/src/danboorusearchwidget.h index 8c20414..9813177 100644 --- a/src/danboorusearchwidget.h +++ b/src/danboorusearchwidget.h @@ -17,4 +17,35 @@ * along with Danbooru Client. If not, see . */ +#ifndef DANBOORU_SEARCHWIDGET_H +#define DANBOORU_SEARCHWIDGET_H +#include "ui_searchwidget.h" + +namespace Danbooru { + + class DanbooruSearchWidget: public QWidget, Ui::SearchWidget { + + Q_OBJECT + + public: + explicit DanbooruSearchWidget(QWidget *parent = 0); + ~DanbooruSearchWidget(); + QStringList selectedTags() const; + + private: + QStringList m_tags; + + private Q_SLOTS: + void accept(); + + Q_SIGNALS: + void accepted(); + void rejected(); + + }; + +} // namespace Danbooru + + +#endif \ No newline at end of file