diff --git a/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.h b/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.h index 38cc2f1619..880635225f 100644 --- a/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.h +++ b/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.h @@ -5,5 +5,6 @@ + (instancetype)header:(TMWMVoidBlock)toggleBlock; - (void)setShowAdditionalNames:(BOOL)showAdditionalNames; +- (void)setAdditionalNamesVisible:(BOOL)visible; @end diff --git a/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.mm b/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.mm index 07f13c332c..fbf0b4718b 100644 --- a/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.mm +++ b/iphone/Maps/Classes/Editor/MWMEditorAdditionalNamesHeader.mm @@ -31,4 +31,9 @@ [self.toggleButton setTitle:showAdditionalNames ? L(@"hide") : L(@"show") forState:UIControlStateNormal]; } +- (void)setAdditionalNamesVisible:(BOOL)visible +{ + self.toggleButton.hidden = !visible; +} + @end diff --git a/iphone/Maps/Classes/Editor/MWMEditorViewController.mm b/iphone/Maps/Classes/Editor/MWMEditorViewController.mm index d77f25bfea..7ed80e8b24 100644 --- a/iphone/Maps/Classes/Editor/MWMEditorViewController.mm +++ b/iphone/Maps/Classes/Editor/MWMEditorViewController.mm @@ -116,18 +116,20 @@ vector cellsForAdditionalNames( vector const & names, vector const & newAdditionalLanguages, BOOL showAdditionalNames) { - if (names.empty() && newAdditionalLanguages.empty()) - return vector(); vector res; - if (showAdditionalNames) + auto const allNamesSize = names.size() + newAdditionalLanguages.size(); + if (allNamesSize != 0) { - res.insert(res.begin(), names.size() + newAdditionalLanguages.size(), - MWMPlacePageCellTypeAdditionalName); - } - else - { - res.push_back(MWMPlacePageCellTypeAdditionalName); - res.push_back(MWMPlacePageCellTypeAddAdditionalNamePlaceholder); + if (showAdditionalNames) + { + res.insert(res.begin(), allNamesSize, MWMPlacePageCellTypeAdditionalName); + } + else + { + res.push_back(MWMPlacePageCellTypeAdditionalName); + if (allNamesSize > 1) + res.push_back(MWMPlacePageCellTypeAddAdditionalNamePlaceholder); + } } res.push_back(MWMPlacePageCellTypeAddAdditionalName); return res; @@ -423,12 +425,10 @@ void registerCellsForTableView(vector const & cells, UITab vector localizedNames = getAdditionalLocalizedNames(m_mapObject); cleanupAdditionalLanguages(localizedNames, m_newAdditionalLanguages); auto const cells = cellsForAdditionalNames(localizedNames, m_newAdditionalLanguages, self.showAdditionalNames); - if (!cells.empty()) - { - m_sections.push_back(MWMEditorSectionAdditionalNames); - m_cells[MWMEditorSectionAdditionalNames] = cells; - registerCellsForTableView(cells, self.tableView); - } + m_sections.push_back(MWMEditorSectionAdditionalNames); + m_cells[MWMEditorSectionAdditionalNames] = cells; + registerCellsForTableView(cells, self.tableView); + [self.additionalNamesHeader setAdditionalNamesVisible:cells.size() > 2]; } if (m_mapObject.IsAddressEditable()) {