[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