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/editor
diff options
context:
space:
mode:
authorIlya Zverev <zverik@textual.ru>2016-03-24 14:53:43 +0300
committerIlya Zverev <zverik@textual.ru>2016-03-24 15:12:45 +0300
commitd2580fc84dc4d90f6c4a8ccffb35be80fe03036f (patch)
tree5f86605fbb0443d2be37bef1630942419d42a520 /editor
parent337ad12f120127a707eb17cfa28a775524559593 (diff)
[editor] Fix name:int_name
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_tests/xml_feature_test.cpp4
-rw-r--r--editor/xml_feature.cpp13
-rw-r--r--editor/xml_feature.hpp2
3 files changed, 17 insertions, 2 deletions
diff --git a/editor/editor_tests/xml_feature_test.cpp b/editor/editor_tests/xml_feature_test.cpp
index dd6f19091e..d92d7c619c 100644
--- a/editor/editor_tests/xml_feature_test.cpp
+++ b/editor/editor_tests/xml_feature_test.cpp
@@ -53,6 +53,7 @@ UNIT_TEST(XMLFeature_Setters)
feature.SetName("Gorki Park");
feature.SetName("en", "Gorki Park");
feature.SetName("ru", "Парк Горького");
+ feature.SetName("int_name", "Gorky Park");
feature.SetHouse("10");
feature.SetTagValue("opening_hours", "Mo-Fr 08:15-17:30");
@@ -66,6 +67,7 @@ UNIT_TEST(XMLFeature_Setters)
<tag k="name" v="Gorki Park" />
<tag k="name:en" v="Gorki Park" />
<tag k="name:ru" v="Парк Горького" />
+ <tag k="int_name" v="Gorky Park" />
<tag k="addr:housenumber" v="10" />
<tag k="opening_hours" v="Mo-Fr 08:15-17:30" />
<tag k="amenity" v="atm" />
@@ -140,6 +142,7 @@ auto const kTestNode = R"(<?xml version="1.0"?>
<tag k="name" v="Gorki Park" />
<tag k="name:en" v="Gorki Park" />
<tag k="name:ru" v="Парк Горького" />
+ <tag k="int_name" v="Gorky Park" />
<tag k="addr:housenumber" v="10" />
<tag k="opening_hours" v="Mo-Fr 08:15-17:30" />
<tag k="amenity" v="atm" />
@@ -165,6 +168,7 @@ UNIT_TEST(XMLFeature_FromXml)
TEST_EQUAL(feature.GetName("default"), "Gorki Park", ());
TEST_EQUAL(feature.GetName("en"), "Gorki Park", ());
TEST_EQUAL(feature.GetName("ru"), "Парк Горького", ());
+ TEST_EQUAL(feature.GetName("int_name"), "Gorky Park", ());
TEST_EQUAL(feature.GetName("No such language"), "", ());
TEST_EQUAL(feature.GetTagValue("opening_hours"), "Mo-Fr 08:15-17:30", ());
diff --git a/editor/xml_feature.cpp b/editor/xml_feature.cpp
index 3b7abad3b6..2367f036eb 100644
--- a/editor/xml_feature.cpp
+++ b/editor/xml_feature.cpp
@@ -64,6 +64,8 @@ namespace editor
char const * const XMLFeature::kDefaultLang =
StringUtf8Multilang::GetLangByCode(StringUtf8Multilang::kDefaultCode);
+char const * const XMLFeature::kIntlLang =
+ StringUtf8Multilang::GetLangByCode(StringUtf8Multilang::kInternationalCode);
XMLFeature::XMLFeature(Type const type)
{
@@ -228,6 +230,8 @@ XMLFeature::TMercatorGeometry XMLFeature::GetGeometry() const
string XMLFeature::GetName(string const & lang) const
{
+ if (lang == kIntlLang)
+ return GetTagValue(kIntlName);
auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang;
return GetTagValue(kDefaultName + suffix);
}
@@ -244,8 +248,13 @@ void XMLFeature::SetName(string const & name)
void XMLFeature::SetName(string const & lang, string const & name)
{
- auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang;
- SetTagValue(kDefaultName + suffix, name);
+ if (lang == kIntlLang)
+ SetTagValue(kIntlName, name);
+ else
+ {
+ auto const suffix = (lang == kDefaultLang || lang.empty()) ? "" : ":" + lang;
+ SetTagValue(kDefaultName + suffix, name);
+ }
}
void XMLFeature::SetName(uint8_t const langCode, string const & name)
diff --git a/editor/xml_feature.hpp b/editor/xml_feature.hpp
index 09043e9f75..f6f09240fd 100644
--- a/editor/xml_feature.hpp
+++ b/editor/xml_feature.hpp
@@ -25,8 +25,10 @@ DECLARE_EXCEPTION(NoHeader, XMLFeatureError);
class XMLFeature
{
static constexpr char const * kDefaultName = "name";
+ static constexpr char const * kIntlName = "int_name";
static constexpr char const * kLocalName = "name:";
static char const * const kDefaultLang;
+ static char const * const kIntlLang;
public:
// Used in point to string serialization.