BibleTime
Namespaces | Functions | Variables
cswordmodulesearch.cpp File Reference
#include "cswordmodulesearch.h"
#include <algorithm>
#include <QChar>
#include <QDataStream>
#include <QRegularExpression>
#include <QRegularExpressionMatch>
#include <QStringList>
#include <QtCore>
#include "../util/btassert.h"
#include "config/btconfig.h"
#include "drivers/cswordmoduleinfo.h"
#include "managers/cswordbackend.h"
#include <listkey.h>

Go to the source code of this file.

Namespaces

 CSwordModuleSearch
 
 CSwordModuleSearch::anonymous_namespace{cswordmodulesearch.cpp}
 

Functions

 for (auto const &word :queryParser(searchedText))
 
 for (QRegularExpressionMatch match;;)
 
QString CSwordModuleSearch::highlightSearchedText (QString const &content, QString const &searchedText, bool plainSearchedText)
 
 if (plainSearchedText)
 
return r join (QString())
 
QDataStream & operator<< (QDataStream &out, const CSwordModuleSearch::SearchType &searchType)
 
QDataStream & operator>> (QDataStream &in, CSwordModuleSearch::SearchType &searchType)
 
QString prepareSearchText (QString const &orig, SearchType const searchType)
 
QStringList CSwordModuleSearch::anonymous_namespace{cswordmodulesearch.cpp}::queryParser (QString const &queryString)
 
QStringList r (content.left(bodyIndex))
 
Results CSwordModuleSearch::search (QString const &searchText, BtConstModuleList const &modules, sword::ListKey scope)
 
static QRegularExpression const CSwordModuleSearch::anonymous_namespace{cswordmodulesearch.cpp}::spaceRegexp (spaceRegexpString)
 
static auto const CSwordModuleSearch::anonymous_namespace{cswordmodulesearch.cpp}::spaceRegexpString (QStringLiteral(R"PCRE(\s+)PCRE"))
 

Variables

 else
 
auto fragmentEnd = ret.indexOf(QLatin1Char('<'), fragmentStart)
 
decltype(ret.size()) fragmentSize
 
auto fragmentStart = 0
 
QRegularExpression highlightRegex
 

Function Documentation

◆ for() [1/2]

for ( auto const &word   :queryParsersearchedText)

Definition at line 254 of file cswordmodulesearch.cpp.

References fragmentEnd, fragmentSize, and fragmentStart.

◆ for() [2/2]

for ( QRegularExpressionMatch match;;  )

Definition at line 294 of file cswordmodulesearch.cpp.

References fragmentEnd, fragmentSize, fragmentStart, highlightRegex, and r().

◆ if()

if ( plainSearchedText  )

◆ join()

return r join ( QString()  )

◆ operator<<()

QDataStream& operator<< ( QDataStream &  out,
const CSwordModuleSearch::SearchType searchType 
)

Definition at line 355 of file cswordmodulesearch.cpp.

◆ operator>>()

QDataStream& operator>> ( QDataStream &  in,
CSwordModuleSearch::SearchType searchType 
)

Definition at line 360 of file cswordmodulesearch.cpp.

◆ prepareSearchText()

QString prepareSearchText ( QString const &  orig,
SearchType const  searchType 
)

◆ r()

QStringList r ( content.  leftbodyIndex)

Variable Documentation

◆ else

else
Initial value:
{
QString wordsRegexString

Definition at line 252 of file cswordmodulesearch.cpp.

◆ fragmentEnd

auto fragmentEnd = ret.indexOf(QLatin1Char('<'), fragmentStart)

Definition at line 291 of file cswordmodulesearch.cpp.

Referenced by for().

◆ fragmentSize

decltype(ret.size()) fragmentSize
Initial value:
=
(fragmentEnd < 0 ? ret.size() : fragmentEnd) - fragmentStart
auto fragmentEnd
auto fragmentStart

Definition at line 292 of file cswordmodulesearch.cpp.

Referenced by for().

◆ fragmentStart

auto fragmentStart = 0

Definition at line 290 of file cswordmodulesearch.cpp.

Referenced by for().

◆ highlightRegex

highlightRegex
Initial value:
=
QRegularExpression(
QStringLiteral(R"PCRE(\b(%1)\b)PCRE").arg(wordsRegexString),
QRegularExpression::CaseInsensitiveOption)

Definition at line 246 of file cswordmodulesearch.cpp.

Referenced by for(), and if().