[Debtags-commits] [svn] r2038 - in debtags-edit/1.2: . src

Enrico Zini enrico at alioth.debian.org
Tue Oct 31 22:38:16 CET 2006


Author: enrico
Date: Tue Oct 31 22:38:15 2006
New Revision: 2038

Modified:
   debtags-edit/1.2/   (props changed)
   debtags-edit/1.2/src/FilterPanel.cc
Log:
 r3582 at viaza:  enrico | 2006-10-31 22:37:46 +0100
 Tokenize the full text search properly instead of searching the full phrase literally
 Changing the status filter now turns on the Search button


Modified: debtags-edit/1.2/src/FilterPanel.cc
==============================================================================
--- debtags-edit/1.2/src/FilterPanel.cc	(original)
+++ debtags-edit/1.2/src/FilterPanel.cc	Tue Oct 31 22:38:15 2006
@@ -25,6 +25,8 @@
 #include <sstream>
 #include <iostream>
 
+#include <wibble/regexp.h>
+
 #include <tagcoll/stream/filters.h>
 #include <tagcoll/stream/expression.h>
 
@@ -115,7 +117,7 @@
 	maintFilter.signal_activate().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::updateList));
 	ftextFilter.signal_changed().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::filterChanged));
 	ftextFilter.signal_activate().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::updateList));
-	//statusFilter.signal_changed().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::filterChanged));
+	statusFilter.signal_changed().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::filterChanged));
 	//specialQuery.signal_clicked().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::on_specialQuery_clicked));
 	tagSelector.signal_changed().connect(sigc::mem_fun(*this, &FilterPanel<DOC>::updateList));
 	/*
@@ -617,8 +619,11 @@
 	}
 	if (!desc_f.empty())
 	{
-		p = p and (match::Package::shortDescription(desc_f) or
-					match::Package::longDescription(desc_f));
+		wibble::Tokenizer tok(desc_f, "[^[:blank:]]+", REG_EXTENDED);
+		for (wibble::Tokenizer::const_iterator i = tok.begin();
+				i != tok.end(); ++i)
+			p = p and (match::Package::shortDescription(*i) or
+						match::Package::longDescription(*i));
 		filters = true;
 	}
 	if (!maint_f.empty())
@@ -683,7 +688,10 @@
 		*/
 	}
 
-	doc.setFilter(p);
+	if (filters)
+		doc.setFilter(p);
+	else
+		doc.resetFilter();
 
 /*
 	if (specialID != 0)



More information about the Debtags-commits mailing list