From 44ab1963f98fc4a39384343daa2f22081a149bf9 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Tue, 2 Oct 2012 11:52:44 +0200 Subject: [PATCH] dont highlight snippet page number matching search term --- src/query/reslistpager.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/query/reslistpager.cpp b/src/query/reslistpager.cpp index 973be313..0d242e38 100644 --- a/src/query/reslistpager.cpp +++ b/src/query/reslistpager.cpp @@ -204,14 +204,22 @@ void ResListPager::displayDoc(RclConfig *config, int i, Rcl::Doc& doc, if (needabstract && m_docSource.isNotNull()) { vector vabs; m_docSource->getAbstract(doc, vabs); + m_hiliter->set_inputhtml(false); for (vector::const_iterator it = vabs.begin(); it != vabs.end(); it++) { if (!it->empty()) { // No need to call escapeHtml(), plaintorich handles it list lr; - m_hiliter->set_inputhtml(false); - m_hiliter->plaintorich(*it, lr, hdata); + // There may be data like page numbers before the snippet text. + // will be in brackets. + string::size_type bckt = it->find("]"); + if (bckt == string::npos) { + m_hiliter->plaintorich(*it, lr, hdata); + } else { + m_hiliter->plaintorich(it->substr(bckt), lr, hdata); + lr.front() = it->substr(0, bckt) + lr.front(); + } richabst += lr.front(); richabst += absSep(); }