┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/search/dolphinfacetswidget.cpp
diff options
context:
space:
mode:
authorVishesh Handa <[email protected]>2014-03-19 15:44:35 +0100
committerVishesh Handa <[email protected]>2014-03-19 16:17:06 +0100
commit466868efa81ea7597f96d06ff1e2015f4ff8169a (patch)
tree4e9730878437b81fe65d361502bfed3a6f925894 /src/search/dolphinfacetswidget.cpp
parent53c48af2360f48bb06a8ac8c49f20de8b00ae568 (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.cpp31
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