diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1e6926d..e4db146 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,6 +3,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(danbooru_client_SRCS danbooruconnectwidget.cpp danboorusearchwidget.cpp + danboorutagwidget.cpp model/danboorupostmodel.cpp model/danboorupoolmodel.cpp model/danboorutagmodel.cpp diff --git a/src/danboorutagwidget.cpp b/src/danboorutagwidget.cpp new file mode 100644 index 0000000..8649507 --- /dev/null +++ b/src/danboorutagwidget.cpp @@ -0,0 +1,50 @@ +/* + * Copyright 2015 Luca Beltrame + * + * This file is part of Danbooru Client. + * + * Danbooru Client is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Danbooru Client is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Danbooru Client. If not, see . + */ + +#include "danboorutagwidget.h" +#include "model/danboorutagmodel.h" +#include "libdanbooru/danboorutag.h" + +namespace Danbooru { + +DanbooruTagWidget::DanbooruTagWidget(QWidget *parent): QListView(parent) +{ +} + +DanbooruTagWidget::~DanbooruTagWidget() +{ +} + +void DanbooruTagWidget::addTag(DanbooruTag *tag) +{ + + if (m_blacklist.contains(tag->name())) { + return; + } + + qobject_cast(model())->addTag(tag); + +} + +void DanbooruTagWidget::setBlackList(const QStringList &blackList) +{ + m_blacklist = blackList; +} + +} // namespace Danbooru diff --git a/src/danboorutagwidget.h b/src/danboorutagwidget.h new file mode 100644 index 0000000..b8f285e --- /dev/null +++ b/src/danboorutagwidget.h @@ -0,0 +1,48 @@ +/* + * Copyright 2015 Luca Beltrame + * + * This file is part of Danbooru Client. + * + * Danbooru Client is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Danbooru Client is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Danbooru Client. If not, see . + */ + +#ifndef DANBOORU_TAGWIDGET_H +#define DANBOORU_TAGWIDGET_H + +#include +#include + +namespace Danbooru { + +class DanbooruTag; + +class DanbooruTagWidget: public QListView +{ + +Q_OBJECT + +private: + QStringList m_blacklist; + +public: + explicit DanbooruTagWidget(QWidget *parent=0); + ~DanbooruTagWidget(); + void setBlackList(const QStringList& blacklist); + +public Q_SLOTS: + void addTag(DanbooruTag *tag); +}; +} // namespace Danbooru + +#endif