diff --git a/src/kde/kioslave/recoll/Makefile b/src/kde/kioslave/recoll/Makefile index bcf2cefe..d0c8acbe 100644 --- a/src/kde/kioslave/recoll/Makefile +++ b/src/kde/kioslave/recoll/Makefile @@ -7,7 +7,7 @@ DEPS_CXXFLAGS = -MT pop3.lo -MD -MP -MF .deps/pop3.Tpo INC_CXXFLAGS = -I. -I/usr/local/include -I/usr/X11R6/include \ -I$(depth)/common -I$(depth)/query -I$(depth)/utils \ - -I$(depth)/qtgui + -I$(depth)/qtgui -I$(depth)/rcldb PIC_CXXFLAGS = -fPIC -DPIC DEBUG_CXXFLAGS = -DNDEBUG -DNO_DEBUG -O2 -O @@ -23,7 +23,7 @@ LDFLAGS = -rpath=/usr/lib:/usr/local/lib \ -Wl,-export-dynamic -Wl,-soname -Wl,kio_recoll.so THREAD_LDFLAGS = -pthread -kio_recoll.so : kio_recoll.o piclib/librcl.a +kio_recoll.so : kio_recoll.o libpic c++ -shared $(LDFLAGS) $(THREAD_LDFLAGS) \ -Wl,--no-undefined \ kio_recoll.o piclib/librcl.a \ @@ -39,7 +39,9 @@ kio_recoll.o : kio_recoll.cpp kio_recoll.h $(THREAD_CXXFLAGS) \ -o kio_recoll.o -piclib/librcl.a: - cd piclib;make +libpic: + cd piclib;test -f Makefile || depth=$(depth)/.. sh $(depth)/../lib/mkMake + cd piclib;$(MAKE) CXXFLAGS="$(CXXFLAGS) $(PIC_CXXFLAGS)" \ + CFLAGS="$(CFLAGS) $(PIC_CXXFLAGS)" -.PHONY: all +.PHONY: all libpic diff --git a/src/kde/kioslave/recoll/kio_recoll.cpp b/src/kde/kioslave/recoll/kio_recoll.cpp index 6cc13504..23d83fdb 100644 --- a/src/kde/kioslave/recoll/kio_recoll.cpp +++ b/src/kde/kioslave/recoll/kio_recoll.cpp @@ -1,5 +1,5 @@ #ifndef lint -static char rcsid[] = "@(#$Id: kio_recoll.cpp,v 1.5 2006-11-13 08:49:57 dockes Exp $ (C) 2005 J.F.Dockes"; +static char rcsid[] = "@(#$Id: kio_recoll.cpp,v 1.6 2007-02-01 12:43:21 dockes Exp $ (C) 2005 J.F.Dockes"; #endif #include @@ -18,8 +18,9 @@ using namespace std; #include "rclconfig.h" #include "rcldb.h" #include "rclinit.h" -#include "docseq.h" +#include "docseqdb.h" #include "pathut.h" +#include "searchdata.h" #include "plaintorich.h" @@ -96,11 +97,12 @@ void RecollProtocol::get(const KURL & url) QString path = url.path(); fprintf(stderr, "RecollProtocol::get:path [%s]\n", path.latin1()); - - Rcl::SearchData sdata; - QCString u8 = path.utf8(); - sdata.orwords = u8; + + RefCntr sdata(new Rcl::SearchData(Rcl::SCLT_OR)); + sdata->addClause(new Rcl::SearchDataClauseSimple(Rcl::SCLT_AND, + (const char *)u8)); + if (!m_rcldb->setQuery(sdata, Rcl::Db::QO_STEM, "english")) { m_reason = "Internal Error: setQuery failed"; outputError(m_reason.c_str()); @@ -111,7 +113,7 @@ void RecollProtocol::get(const KURL & url) if (m_docsource) delete m_docsource; - m_docsource = new DocSequenceDb(m_rcldb, "Query results"); + m_docsource = new DocSequenceDb(m_rcldb, "Query results", sdata); QByteArray output; QTextStream os(output, IO_WriteOnly );