forked from organicmaps/organicmaps
[search] Set preferred language.
This commit is contained in:
parent
a0e58e7422
commit
299a9a1118
4 changed files with 23 additions and 4 deletions
|
@ -35,7 +35,8 @@ public:
|
|||
|
||||
Engine::Engine(IndexType const * pIndex, CategoriesHolder * pCategories,
|
||||
ModelReaderPtr polyR, ModelReaderPtr countryR)
|
||||
: m_pIndex(pIndex), m_pData(new EngineData(polyR, countryR))
|
||||
: m_pIndex(pIndex), m_pData(new EngineData(polyR, countryR)),
|
||||
m_preferredLanguage(1) // TODO: Get id for English language properly.
|
||||
{
|
||||
if (pCategories)
|
||||
{
|
||||
|
@ -46,7 +47,8 @@ Engine::Engine(IndexType const * pIndex, CategoriesHolder * pCategories,
|
|||
m_pQuery.reset(new Query(pIndex,
|
||||
&m_pData->m_categories,
|
||||
&m_pData->m_stringsToSuggest,
|
||||
&m_pData->m_infoGetter));
|
||||
&m_pData->m_infoGetter,
|
||||
m_preferredLanguage));
|
||||
}
|
||||
|
||||
Engine::~Engine()
|
||||
|
@ -86,6 +88,11 @@ void Engine::SetViewport(m2::RectD const & viewport)
|
|||
m_pQuery->SetViewport(viewport);
|
||||
}
|
||||
|
||||
void Engine::SetPreferredLanguage(int lang)
|
||||
{
|
||||
m_pQuery->SetPreferredLanguage(lang);
|
||||
}
|
||||
|
||||
void Engine::Search(string const & queryText, function<void (Result const &)> const & f)
|
||||
{
|
||||
LOG(LDEBUG, (queryText));
|
||||
|
|
|
@ -33,11 +33,13 @@ public:
|
|||
~Engine();
|
||||
|
||||
void SetViewport(m2::RectD const & viewport);
|
||||
void SetPreferredLanguage(int lang);
|
||||
void Search(string const & query, function<void (Result const &)> const & f);
|
||||
|
||||
private:
|
||||
void InitializeCategoriesAndSuggestStrings(CategoriesHolder const & categories);
|
||||
|
||||
int m_preferredLanguage;
|
||||
Index const * m_pIndex;
|
||||
scoped_ptr<search::Query> m_pQuery;
|
||||
scoped_ptr<EngineData> m_pData;
|
||||
|
|
|
@ -29,11 +29,13 @@ namespace search
|
|||
Query::Query(Index const * pIndex,
|
||||
CategoriesMapT const * pCategories,
|
||||
StringsToSuggestVectorT const * pStringsToSuggest,
|
||||
storage::CountryInfoGetter const * pInfoGetter)
|
||||
storage::CountryInfoGetter const * pInfoGetter,
|
||||
int preferredLanguage)
|
||||
: m_pIndex(pIndex),
|
||||
m_pCategories(pCategories),
|
||||
m_pStringsToSuggest(pStringsToSuggest),
|
||||
m_pInfoGetter(pInfoGetter),
|
||||
m_preferredLanguage(preferredLanguage),
|
||||
m_viewport(m2::RectD::GetEmptyRect()), m_viewportExtended(m2::RectD::GetEmptyRect()),
|
||||
m_bOffsetsCacheIsValid(false)
|
||||
{
|
||||
|
@ -57,6 +59,11 @@ void Query::SetViewport(m2::RectD const & viewport)
|
|||
}
|
||||
}
|
||||
|
||||
void Query::SetPreferredLanguage(int lang)
|
||||
{
|
||||
m_preferredLanguage = lang;
|
||||
}
|
||||
|
||||
void Query::ClearCache()
|
||||
{
|
||||
m_offsetsInViewport.clear();
|
||||
|
|
|
@ -35,10 +35,12 @@ public:
|
|||
Query(Index const * pIndex,
|
||||
CategoriesMapT const * pCategories,
|
||||
StringsToSuggestVectorT const * pStringsToSuggest,
|
||||
storage::CountryInfoGetter const * pInfoGetter);
|
||||
storage::CountryInfoGetter const * pInfoGetter,
|
||||
int preferredLanguage);
|
||||
~Query();
|
||||
|
||||
void SetViewport(m2::RectD const & viewport);
|
||||
void SetPreferredLanguage(int lang);
|
||||
void Search(string const & query,
|
||||
function<void (Result const &)> const & f,
|
||||
unsigned int resultsNeeded = 10);
|
||||
|
@ -64,6 +66,7 @@ private:
|
|||
CategoriesMapT const * m_pCategories;
|
||||
StringsToSuggestVectorT const * m_pStringsToSuggest;
|
||||
storage::CountryInfoGetter const * m_pInfoGetter;
|
||||
int m_preferredLanguage;
|
||||
|
||||
string m_rawQuery;
|
||||
strings::UniString m_uniQuery;
|
||||
|
|
Loading…
Add table
Reference in a new issue