1#include "htmlsearch.h"
2
3#include <KDebug>
4#include <KConfig>
5#include <KConfigGroup>
6
7#include "docentry.h"
8
9#include "htmlsearch.moc"
10
11using namespace KHC;
12
13HTMLSearch::HTMLSearch()
14{
15 mConfig = new KConfig("khelpcenterrc");
16}
17
18HTMLSearch::~HTMLSearch()
19{
20 delete mConfig;
21}
22
23void HTMLSearch::setupDocEntry( KHC::DocEntry *entry )
24{
25// kDebug() << "HTMLSearch::setupDocEntry(): " << entry->name();
26
27 if ( entry->searchMethod().toLower() != QLatin1String("htdig") ) return;
28
29 if ( entry->search().isEmpty() )
30 entry->setSearch( defaultSearch( entry ) );
31 if ( entry->indexer().isEmpty() )
32 entry->setIndexer( defaultIndexer( entry ) );
33 if ( entry->indexTestFile().isEmpty() )
34 entry->setIndexTestFile( defaultIndexTestFile( entry ) );
35
36// entry->dump();
37}
38
39QString HTMLSearch::defaultSearch( KHC::DocEntry *entry )
40{
41 QString htsearch = QLatin1String("cgi:");
42 htsearch += mConfig->group("htdig").readPathEntry( "htsearch", QString() );
43 htsearch += "?words=%k&method=and&format=-desc&config=";
44 htsearch += entry->identifier();
45
46 return htsearch;
47}
48
49QString HTMLSearch::defaultIndexer( KHC::DocEntry * )
50{
51 QString indexer = mConfig->group("htdig").readPathEntry( "indexer", QString() );
52 indexer += " --indexdir=%i %f";
53
54 return indexer;
55}
56
57QString HTMLSearch::defaultIndexTestFile( KHC::DocEntry *entry )
58{
59 return entry->identifier() + QLatin1String(".exists");
60}
61
62// vim:ts=2:sw=2:et
63