From 718d6b4f6850d93d220769ef7db55435b5ba9ec6 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Fri, 26 Jun 2015 16:12:42 +0100 Subject: [PATCH] Simplified Language constructor. Passing the language name string was never required, so removed the option. --- src/backend/helpers/language.cpp | 48 ++++++++++++++++---------------- src/backend/helpers/language.h | 4 +-- src/gui/handler.cpp | 7 +++-- 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/backend/helpers/language.cpp b/src/backend/helpers/language.cpp index 425e5846..eb301295 100644 --- a/src/backend/helpers/language.cpp +++ b/src/backend/helpers/language.cpp @@ -29,28 +29,28 @@ namespace loot { Construct(code); } - Language::Language(const std::string& nameOrCode) { - if (nameOrCode == Language(Language::english).Name() || nameOrCode == Language(Language::english).Locale()) + Language::Language(const std::string& locale) { + if (locale == Language(Language::english).Locale()) Construct(Language::english); - else if (nameOrCode == Language(Language::spanish).Name() || nameOrCode == Language(Language::spanish).Locale()) + else if (locale == Language(Language::spanish).Locale()) Construct(Language::spanish); - else if (nameOrCode == Language(Language::russian).Name() || nameOrCode == Language(Language::russian).Locale()) + else if (locale == Language(Language::russian).Locale()) Construct(Language::russian); - else if (nameOrCode == Language(Language::french).Name() || nameOrCode == Language(Language::french).Locale()) + else if (locale == Language(Language::french).Locale()) Construct(Language::french); - else if (nameOrCode == Language(Language::chinese).Name() || nameOrCode == Language(Language::chinese).Locale()) + else if (locale == Language(Language::chinese).Locale()) Construct(Language::chinese); - else if (nameOrCode == Language(Language::polish).Name() || nameOrCode == Language(Language::polish).Locale()) + else if (locale == Language(Language::polish).Locale()) Construct(Language::polish); - else if (nameOrCode == Language(Language::brazilian_portuguese).Name() || nameOrCode == Language(Language::brazilian_portuguese).Locale()) + else if (locale == Language(Language::brazilian_portuguese).Locale()) Construct(Language::brazilian_portuguese); - else if (nameOrCode == Language(Language::finnish).Name() || nameOrCode == Language(Language::finnish).Locale()) + else if (locale == Language(Language::finnish).Locale()) Construct(Language::finnish); - else if (nameOrCode == Language(Language::german).Name() || nameOrCode == Language(Language::german).Locale()) + else if (locale == Language(Language::german).Locale()) Construct(Language::german); - else if (nameOrCode == Language(Language::danish).Name() || nameOrCode == Language(Language::danish).Locale()) + else if (locale == Language(Language::danish).Locale()) Construct(Language::danish); - else if (nameOrCode == Language(Language::korean).Name() || nameOrCode == Language(Language::korean).Locale()) + else if (locale == Language(Language::korean).Locale()) Construct(Language::korean); else Construct(Language::english); @@ -116,17 +116,17 @@ namespace loot { return _locale; } - const std::vector Language::Names({ - Language(Language::english).Name(), - Language(Language::spanish).Name(), - Language(Language::russian).Name(), - Language(Language::french).Name(), - Language(Language::chinese).Name(), - Language(Language::polish).Name(), - Language(Language::brazilian_portuguese).Name(), - Language(Language::finnish).Name(), - Language(Language::german).Name(), - Language(Language::danish).Name(), - Language(Language::korean).Name() + const std::vector Language::Codes({ + Language::english, + Language::spanish, + Language::russian, + Language::french, + Language::chinese, + Language::polish, + Language::brazilian_portuguese, + Language::finnish, + Language::german, + Language::danish, + Language::korean }); } diff --git a/src/backend/helpers/language.h b/src/backend/helpers/language.h index b37db15c..703be6c2 100644 --- a/src/backend/helpers/language.h +++ b/src/backend/helpers/language.h @@ -33,7 +33,7 @@ namespace loot { class Language { public: Language(const unsigned int code); - Language(const std::string& nameOrCode); + Language(const std::string& locale); unsigned int Code() const; std::string Name() const; @@ -52,7 +52,7 @@ namespace loot { static const unsigned int danish = 10; static const unsigned int korean = 11; - static const std::vector Names; + static const std::vector Codes; private: unsigned int _code; std::string _name; diff --git a/src/gui/handler.cpp b/src/gui/handler.cpp index 96acce73..55038fa4 100644 --- a/src/gui/handler.cpp +++ b/src/gui/handler.cpp @@ -584,10 +584,11 @@ namespace loot { BOOST_LOG_TRIVIAL(info) << "Getting LOOT's supported languages."; // Need to get an array of language names and their corresponding codes. YAML::Node temp; - for (const auto& name : Language::Names) { + for (const auto& code : Language::Codes) { YAML::Node lang; - lang["name"] = name; - lang["locale"] = Language(name).Locale(); + Language language(code); + lang["name"] = language.Name(); + lang["locale"] = language.Locale(); temp.push_back(lang); } return JSON::stringify(temp);