Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/iphone
diff options
context:
space:
mode:
authorArsentiy Milchakov <a.milchakov@corp.mail.ru>2016-09-08 14:47:06 +0300
committerArsentiy Milchakov <a.milchakov@corp.mail.ru>2016-09-08 14:47:06 +0300
commit3320c9eddabd67330b6d132ba71cfc822f23fa95 (patch)
tree19ebe2cc9283e86657985e7c2273ee43e4502938 /iphone
parenta43c309fc7adfbd853133debc712a86be3d149f9 (diff)
localized names part 3
Diffstat (limited to 'iphone')
-rw-r--r--iphone/Maps/Classes/Editor/AdditionalNames/MWMEditorAdditionalNamesTableViewController.mm30
-rw-r--r--iphone/Maps/Classes/Editor/MWMEditorViewController.mm11
2 files changed, 29 insertions, 12 deletions
diff --git a/iphone/Maps/Classes/Editor/AdditionalNames/MWMEditorAdditionalNamesTableViewController.mm b/iphone/Maps/Classes/Editor/AdditionalNames/MWMEditorAdditionalNamesTableViewController.mm
index 7b8f4cf1e8..c8d1a714fc 100644
--- a/iphone/Maps/Classes/Editor/AdditionalNames/MWMEditorAdditionalNamesTableViewController.mm
+++ b/iphone/Maps/Classes/Editor/AdditionalNames/MWMEditorAdditionalNamesTableViewController.mm
@@ -27,7 +27,6 @@ additionalSkipLanguageCodes:(vector<NSInteger>)additionalSkipLanguageCodes
self.delegate = delegate;
m_name = name;
m_additionalSkipLanguageCodes = additionalSkipLanguageCodes;
- m_additionalSkipLanguageCodes.push_back(StringUtf8Multilang::kDefaultCode);
self.selectedLanguageCode = selectedLanguageCode;
}
@@ -40,25 +39,34 @@ additionalSkipLanguageCodes:(vector<NSInteger>)additionalSkipLanguageCodes
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
+ auto const getIndex = [](string const & lang) { return StringUtf8Multilang::GetLangIndex(lang); };
StringUtf8Multilang::Languages const & supportedLanguages = StringUtf8Multilang::GetSupportedLanguages();
m_languages.clear();
+ if (self.selectedLanguageCode == StringUtf8Multilang::kDefaultCode ||
+ self.selectedLanguageCode == StringUtf8Multilang::kInternationalCode)
+ {
+ return;
+ }
+ auto const kDefaultCode = StringUtf8Multilang::kDefaultCode;
for (auto const & language : supportedLanguages)
{
- int8_t const languageIndex = StringUtf8Multilang::GetLangIndex(language.m_code);
- string tmpStr;
- if (self.selectedLanguageCode == StringUtf8Multilang::kDefaultCode ||
- self.selectedLanguageCode == StringUtf8Multilang::kInternationalCode ||
- (self.selectedLanguageCode == NSNotFound && m_name.GetString(languageIndex, tmpStr)))
+ auto const langIndex = getIndex(language.m_code);
+ if (self.selectedLanguageCode == NSNotFound && langIndex != kDefaultCode && m_name.HasString(langIndex))
continue;
- auto it = find(m_additionalSkipLanguageCodes.begin(), m_additionalSkipLanguageCodes.end(), languageIndex);
+ auto it = find(m_additionalSkipLanguageCodes.begin(), m_additionalSkipLanguageCodes.end(), langIndex);
if (it == m_additionalSkipLanguageCodes.end())
m_languages.push_back(language);
}
sort(m_languages.begin(), m_languages.end(),
- [](StringUtf8Multilang::Lang const & a, StringUtf8Multilang::Lang const & b)
- {
- return string(a.m_code) < string(b.m_code);
- });
+ [&getIndex, kDefaultCode](StringUtf8Multilang::Lang const & lhs, StringUtf8Multilang::Lang const & rhs) {
+ // Default name can be changed in advanced mode, but it should be last in list of names.
+ if (getIndex(lhs.m_code) == kDefaultCode && getIndex(rhs.m_code) != kDefaultCode)
+ return false;
+ if (getIndex(lhs.m_code) != kDefaultCode && getIndex(rhs.m_code) == kDefaultCode)
+ return true;
+
+ return string(lhs.m_code) < string(rhs.m_code);
+ });
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
diff --git a/iphone/Maps/Classes/Editor/MWMEditorViewController.mm b/iphone/Maps/Classes/Editor/MWMEditorViewController.mm
index 5271ce3a93..063ea2bae8 100644
--- a/iphone/Maps/Classes/Editor/MWMEditorViewController.mm
+++ b/iphone/Maps/Classes/Editor/MWMEditorViewController.mm
@@ -559,10 +559,19 @@ void registerCellsForTableView(vector<MWMPlacePageCellType> const & cells, UITab
{
NSInteger const newAdditionalNameIndex = indexPath.row - localizedNames.size();
NSInteger const langCode = m_newAdditionalLanguages[newAdditionalNameIndex];
+
+ string name;
+ // Default name can be changed in advanced mode.
+ if (langCode == StringUtf8Multilang::kDefaultCode)
+ {
+ name = m_mapObject.GetDefaultName();
+ m_mapObject.EnableNamesAdvancedMode();
+ }
+
[tCell configWithDelegate:self
langCode:langCode
langName:@(StringUtf8Multilang::GetLangNameByCode(langCode))
- name:@""
+ name:@(name.c_str())
keyboardType:UIKeyboardTypeDefault];
}
break;