diff options
| author | Vishesh Handa <[email protected]> | 2014-03-19 15:44:35 +0100 |
|---|---|---|
| committer | Vishesh Handa <[email protected]> | 2014-03-19 16:17:06 +0100 |
| commit | 466868efa81ea7597f96d06ff1e2015f4ff8169a (patch) | |
| tree | 4e9730878437b81fe65d361502bfed3a6f925894 /src/search/dolphinfacetswidget.cpp | |
| parent | 53c48af2360f48bb06a8ac8c49f20de8b00ae568 (diff) | |
Dolphin Facet Widgets: Implement date based filtering
This required changes in Baloo which require reindexing. Since the
storage location has changed for Beta 3 everyone should be re-indexing
everything, so it won't be a problem.
Diffstat (limited to 'src/search/dolphinfacetswidget.cpp')
| -rw-r--r-- | src/search/dolphinfacetswidget.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/search/dolphinfacetswidget.cpp b/src/search/dolphinfacetswidget.cpp index b7315a01c..aec84d321 100644 --- a/src/search/dolphinfacetswidget.cpp +++ b/src/search/dolphinfacetswidget.cpp @@ -111,6 +111,9 @@ DolphinFacetsWidget::~DolphinFacetsWidget() #ifdef HAVE_BALOO Baloo::Term DolphinFacetsWidget::ratingTerm() const { + Baloo::Term ratingTerm; + Baloo::Term modifiedTerm; + if (!m_anyRating->isChecked()) { int stars = 1; // represents m_oneOrMore if (m_twoOrMore->isChecked()) { @@ -124,15 +127,9 @@ Baloo::Term DolphinFacetsWidget::ratingTerm() const } const int rating = stars * 2; - - Baloo::Term term("rating", rating, Baloo::Term::GreaterEqual); - return term; + ratingTerm = Baloo::Term("rating", rating, Baloo::Term::GreaterEqual); } - return Baloo::Term(); - - /* - // FIXME: Handle date time filters if (!m_anytime->isChecked()) { QDate date = QDate::currentDate(); // represents m_today if (m_yesterday->isChecked()) { @@ -145,12 +142,22 @@ Baloo::Term DolphinFacetsWidget::ratingTerm() const date = date.addDays(1 - date.dayOfYear()); } - Nepomuk2::Query::ComparisonTerm term(Nepomuk2::Vocabulary::NIE::lastModified(), - Nepomuk2::Query::LiteralTerm(QDateTime(date)), - Nepomuk2::Query::ComparisonTerm::GreaterOrEqual); - andTerm.addSubTerm(term); + modifiedTerm = Baloo::Term("modified", date, Baloo::Term::GreaterEqual); } - */ + + if (ratingTerm.isValid() && modifiedTerm.isValid()) { + Baloo::Term term(Baloo::Term::And); + term.addSubTerm(ratingTerm); + term.addSubTerm(modifiedTerm); + + return term; + } else if (modifiedTerm.isValid()) { + return modifiedTerm; + } else if (ratingTerm.isValid()) { + return ratingTerm; + } + + return Baloo::Term(); } QStringList DolphinFacetsWidget::facetTypes() const |
