From 8e80c1d6dc1ede9b0a44ea1bd949487280c17064 Mon Sep 17 00:00:00 2001 From: Ismael Asensio Date: Sun, 15 Dec 2019 17:18:18 +0100 Subject: [dolphin/search] Search by (multiple) tags Summary: Adds a tag selector in the extended filters of the search box. Selected tag or tags are added to the search query along with the other filters (type, date, rating). FEATURE: 412564 CCBUG: 356062 Test Plan: - Menu shows the user tags - Picking any tag/s filters the search to that specific tag/s {F7727909} Reviewers: elvisangelaccio, ngraham, #dolphin, #vdg Reviewed By: elvisangelaccio, ngraham, #dolphin, #vdg Subscribers: kfm-devel Tags: #dolphin Maniphest Tasks: T9094 Differential Revision: https://phabricator.kde.org/D25130 --- src/search/dolphinfacetswidget.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/search/dolphinfacetswidget.h') diff --git a/src/search/dolphinfacetswidget.h b/src/search/dolphinfacetswidget.h index 0a8a5161f..5325074c6 100644 --- a/src/search/dolphinfacetswidget.h +++ b/src/search/dolphinfacetswidget.h @@ -21,10 +21,12 @@ #define DOLPHINFACETSWIDGET_H #include +#include class QComboBox; class QDate; class QEvent; +class QToolButton; /** * @brief Allows to filter search-queries by facets. @@ -66,15 +68,27 @@ signals: protected: void changeEvent(QEvent* event) override; +private slots: + void updateTagsMenu(); + void updateTagsMenuItems(const QUrl&, const KFileItemList& items); + private: void setRating(const int stars); void setTimespan(const QDate& date); + void addSearchTag(const QString& tag); + void removeSearchTag(const QString& tag); + void initComboBox(QComboBox* combo); + void updateTagsSelector(); private: QComboBox* m_typeSelector; QComboBox* m_dateSelector; QComboBox* m_ratingSelector; + QToolButton* m_tagsSelector; + + QStringList m_searchTags; + KCoreDirLister m_tagsLister; }; #endif -- cgit v1.3