X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/39cfd051ef25f3a90fdfa411325829ca119a421c..be51e7233294263e3c2866e101e1151dbc61ccbe:/src/search/dolphinfacetswidget.h diff --git a/src/search/dolphinfacetswidget.h b/src/search/dolphinfacetswidget.h index 46c84ce1a..c7358e212 100644 --- a/src/search/dolphinfacetswidget.h +++ b/src/search/dolphinfacetswidget.h @@ -1,36 +1,19 @@ -/*************************************************************************** - * Copyright (C) 2012 by Peter Penz * - * * - * This program 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 2 of the License, or * - * (at your option) any later version. * - * * - * This program 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 this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2012 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef DOLPHINFACETSWIDGET_H #define DOLPHINFACETSWIDGET_H +#include #include -#include -#ifdef HAVE_BALOO - #include -#endif - -class QButtonGroup; -class QCheckBox; +class QComboBox; class QDate; -class QRadioButton; +class QEvent; +class QToolButton; /** * @brief Allows to filter search-queries by facets. @@ -53,54 +36,49 @@ class DolphinFacetsWidget : public QWidget Q_OBJECT public: - explicit DolphinFacetsWidget(QWidget* parent = 0); - virtual ~DolphinFacetsWidget(); + explicit DolphinFacetsWidget(QWidget *parent = nullptr); + ~DolphinFacetsWidget() override; -#ifdef HAVE_BALOO - Baloo::Term ratingTerm() const; + QStringList searchTerms() const; QString facetType() const; - bool isRatingTerm(const Baloo::Term& term) const; - void setRatingTerm(const Baloo::Term& term); -#endif + bool isSearchTerm(const QString &term) const; + void setSearchTerm(const QString &term); + void resetSearchTerms(); + + void setFacetType(const QString &type); - void setFacetType(const QString& type); + QSize minimumSizeHint() const override; -signals: +Q_SIGNALS: void facetChanged(); +protected: + void changeEvent(QEvent *event) override; + +private Q_SLOTS: + void updateTagsMenu(); + void updateTagsMenuItems(const QUrl &, const KFileItemList &items); + private: void setRating(const int stars); - void setTimespan(const QDate& date); + void setTimespan(const QDate &date); + void addSearchTag(const QString &tag); + void removeSearchTag(const QString &tag); + void resetSearchTags(); - /** - * @return New radiobutton which is connected to the - * slotFacedChanged() slot whenever it has - * been toggled. - */ - QRadioButton* createRadioButton(const QString& text, - QButtonGroup* group); + void initComboBox(QComboBox *combo); + void updateTagsSelector(); private: - QRadioButton* m_anyType; - QRadioButton* m_documents; - QRadioButton* m_images; - QRadioButton* m_audio; - QRadioButton* m_videos; - - QRadioButton* m_anytime; - QRadioButton* m_today; - QRadioButton* m_yesterday; - QRadioButton* m_thisWeek; - QRadioButton* m_thisMonth; - QRadioButton* m_thisYear; - - QRadioButton* m_anyRating; - QRadioButton* m_oneOrMore; - QRadioButton* m_twoOrMore; - QRadioButton* m_threeOrMore; - QRadioButton* m_fourOrMore; - QRadioButton* m_maxRating; + QComboBox *m_typeSelector; + QComboBox *m_dateSelector; + QComboBox *m_ratingSelector; + QToolButton *m_tagsSelector; + + QStringList m_searchTags; + KCoreDirLister m_tagsLister; + QAction *m_clearTagsAction; }; #endif