From 9bf220a613d18aa8475a5fff8ade32fffa43994a Mon Sep 17 00:00:00 2001 From: VladiMihaylenko Date: Fri, 8 Apr 2016 16:36:20 +0300 Subject: [PATCH] [qt] Fixed qt build. --- qt/editor_dialog.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/qt/editor_dialog.cpp b/qt/editor_dialog.cpp index 846a85e165..a7e7cac377 100644 --- a/qt/editor_dialog.cpp +++ b/qt/editor_dialog.cpp @@ -81,15 +81,18 @@ EditorDialog::EditorDialog(QWidget * parent, osm::EditableMapObject & emo) if (emo.IsAddressEditable()) { // Address rows. - vector nearbyStreets = emo.GetNearbyStreets(); + auto nearbyStreets = emo.GetNearbyStreets(); // If feature does not have a specified street, display empty combo box. - if (emo.GetStreet().empty()) - nearbyStreets.insert(nearbyStreets.begin(), ""); + if (emo.GetStreet().m_defaultName.empty()) + nearbyStreets.insert(nearbyStreets.begin(), {}); grid->addWidget(new QLabel(kStreetObjectName), row, 0); QComboBox * cmb = new QComboBox(); for (int i = 0; i < nearbyStreets.size(); ++i) { - cmb->addItem(nearbyStreets[i].c_str()); + string street = nearbyStreets[i].m_defaultName; + if (!nearbyStreets[i].m_localizedName.empty()) + street += " / " + nearbyStreets[i].m_localizedName; + cmb->addItem(street.c_str()); if (emo.GetStreet() == nearbyStreets[i]) cmb->setCurrentIndex(i); } @@ -195,7 +198,10 @@ void EditorDialog::OnSave() if (m_feature.IsAddressEditable()) { m_feature.SetHouseNumber(findChild(kHouseNumberObjectName)->text().toStdString()); - m_feature.SetStreet(findChild(kStreetObjectName)->currentText().toStdString()); + QString const editedStreet = findChild(kStreetObjectName)->currentText(); + QStringList const names = editedStreet.split(" / ", QString::SkipEmptyParts); + QString const localized = names.size() > 1 ? names.at(1) : QString(); + m_feature.SetStreet({names.at(0).toStdString(), localized.toStdString()}); m_feature.SetPostcode(findChild(kPostcodeObjectName)->text().toStdString()); }