forked from organicmaps/organicmaps
[search] Set preferred language in search.
This commit is contained in:
parent
a1b26b8093
commit
a158b14e5e
5 changed files with 13 additions and 15 deletions
|
@ -6,6 +6,7 @@
|
|||
#include "../defines.hpp"
|
||||
|
||||
#include "../platform/settings.hpp"
|
||||
#include "../platform/preferred_languages.hpp"
|
||||
|
||||
#include "../yg/rendercontext.hpp"
|
||||
|
||||
|
@ -615,6 +616,7 @@ search::Engine * Framework::GetSearchEngine()
|
|||
new search::Engine(&m_model.GetIndex(), new CategoriesHolder(*pReader),
|
||||
pl.GetReader(PACKED_POLYGONS_FILE),
|
||||
pl.GetReader(COUNTRIES_FILE)));
|
||||
m_pSearchEngine->SetPreferredLanguage(languages::CurrentLanguage());
|
||||
}
|
||||
}
|
||||
return m_pSearchEngine.get();
|
||||
|
|
|
@ -35,8 +35,7 @@ public:
|
|||
|
||||
Engine::Engine(IndexType const * pIndex, CategoriesHolder * pCategories,
|
||||
ModelReaderPtr polyR, ModelReaderPtr countryR)
|
||||
: m_preferredLanguage(1), // TODO: Get id for English language properly.
|
||||
m_pIndex(pIndex), m_pData(new EngineData(polyR, countryR))
|
||||
: m_pIndex(pIndex), m_pData(new EngineData(polyR, countryR))
|
||||
{
|
||||
if (pCategories)
|
||||
{
|
||||
|
@ -47,8 +46,7 @@ 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_preferredLanguage));
|
||||
&m_pData->m_infoGetter));
|
||||
}
|
||||
|
||||
Engine::~Engine()
|
||||
|
@ -88,7 +86,7 @@ void Engine::SetViewport(m2::RectD const & viewport)
|
|||
m_pQuery->SetViewport(viewport);
|
||||
}
|
||||
|
||||
void Engine::SetPreferredLanguage(int lang)
|
||||
void Engine::SetPreferredLanguage(string const & lang)
|
||||
{
|
||||
m_pQuery->SetPreferredLanguage(lang);
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public:
|
|||
~Engine();
|
||||
|
||||
void SetViewport(m2::RectD const & viewport);
|
||||
void SetPreferredLanguage(int lang);
|
||||
void SetPreferredLanguage(string const & lang);
|
||||
void Search(string const & query, function<void (Result const &)> const & f);
|
||||
|
||||
string GetCountryFile(m2::PointD const & pt) const;
|
||||
|
@ -41,7 +41,6 @@ public:
|
|||
private:
|
||||
void InitializeCategoriesAndSuggestStrings(CategoriesHolder const & categories);
|
||||
|
||||
int m_preferredLanguage;
|
||||
Index const * m_pIndex;
|
||||
scoped_ptr<search::Query> m_pQuery;
|
||||
scoped_ptr<EngineData> m_pData;
|
||||
|
|
|
@ -31,13 +31,12 @@ namespace search
|
|||
Query::Query(Index const * pIndex,
|
||||
CategoriesMapT const * pCategories,
|
||||
StringsToSuggestVectorT const * pStringsToSuggest,
|
||||
storage::CountryInfoGetter const * pInfoGetter,
|
||||
int preferredLanguage)
|
||||
storage::CountryInfoGetter const * pInfoGetter)
|
||||
: m_pIndex(pIndex),
|
||||
m_pCategories(pCategories),
|
||||
m_pStringsToSuggest(pStringsToSuggest),
|
||||
m_pInfoGetter(pInfoGetter),
|
||||
m_preferredLanguage(preferredLanguage),
|
||||
m_preferredLanguage(StringUtf8Multilang::GetLangIndex("en")),
|
||||
m_viewport(m2::RectD::GetEmptyRect()), m_viewportExtended(m2::RectD::GetEmptyRect()),
|
||||
m_bOffsetsCacheIsValid(false)
|
||||
{
|
||||
|
@ -61,9 +60,9 @@ void Query::SetViewport(m2::RectD const & viewport)
|
|||
}
|
||||
}
|
||||
|
||||
void Query::SetPreferredLanguage(int lang)
|
||||
void Query::SetPreferredLanguage(string const & lang)
|
||||
{
|
||||
m_preferredLanguage = lang;
|
||||
m_preferredLanguage = StringUtf8Multilang::GetLangIndex(lang);
|
||||
}
|
||||
|
||||
void Query::ClearCache()
|
||||
|
@ -300,6 +299,7 @@ void Query::SearchFeatures()
|
|||
m_pIndex->GetMwmInfo(mwmInfo);
|
||||
|
||||
unordered_set<int8_t> langs;
|
||||
langs.insert(m_preferredLanguage);
|
||||
langs.insert(StringUtf8Multilang::GetLangIndex("int_name"));
|
||||
langs.insert(StringUtf8Multilang::GetLangIndex("en"));
|
||||
langs.insert(StringUtf8Multilang::GetLangIndex("default"));
|
||||
|
|
|
@ -36,12 +36,11 @@ public:
|
|||
Query(Index const * pIndex,
|
||||
CategoriesMapT const * pCategories,
|
||||
StringsToSuggestVectorT const * pStringsToSuggest,
|
||||
storage::CountryInfoGetter const * pInfoGetter,
|
||||
int preferredLanguage);
|
||||
storage::CountryInfoGetter const * pInfoGetter);
|
||||
~Query();
|
||||
|
||||
void SetViewport(m2::RectD const & viewport);
|
||||
void SetPreferredLanguage(int lang);
|
||||
void SetPreferredLanguage(string const & lang);
|
||||
void Search(string const & query,
|
||||
function<void (Result const &)> const & f,
|
||||
unsigned int resultsNeeded = 10);
|
||||
|
|
Loading…
Add table
Reference in a new issue