]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Dolphin Facet Widgets: Implement date based filtering
authorVishesh Handa <me@vhanda.in>
Wed, 19 Mar 2014 14:44:35 +0000 (15:44 +0100)
committerVishesh Handa <me@vhanda.in>
Wed, 19 Mar 2014 15:17:06 +0000 (16:17 +0100)
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.

src/search/dolphinfacetswidget.cpp
src/search/dolphinsearchbox.cpp

index b7315a01c31ceae3476732d0f70a9085b7965e4b..aec84d321ec53ae502a5cf4016198bfccacc6254 100644 (file)
@@ -111,6 +111,9 @@ DolphinFacetsWidget::~DolphinFacetsWidget()
 #ifdef HAVE_BALOO
 Baloo::Term DolphinFacetsWidget::ratingTerm() const
 {
 #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()) {
     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;
         }
 
         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()) {
     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());
         }
 
             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
 }
 
 QStringList DolphinFacetsWidget::facetTypes() const
index c78ab78dc9889074c9bf5c79c32a864cb125830e..e6b738a9314e91ffea14ea702721d0c30c156077 100644 (file)
@@ -448,7 +448,7 @@ KUrl DolphinSearchBox::balooUrlForSearching() const
     if (m_contentButton->isChecked()) {
         query.setSearchString(text);
     } else {
     if (m_contentButton->isChecked()) {
         query.setSearchString(text);
     } else {
-        term.addSubTerm(Baloo::Term("filename", text));
+        term.addSubTerm(Baloo::Term(QLatin1String("filename"), text));
     }
 
     if (m_fromHereButton->isChecked()) {
     }
 
     if (m_fromHereButton->isChecked()) {