From ba077600f9091cba14e87b47a2921f90629e16d4 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Thu, 13 Oct 2016 17:27:38 +0100 Subject: [PATCH] Minor refactor of Language constructors --- src/backend/helpers/language.cpp | 30 +++++++++++++----------------- src/backend/helpers/language.h | 2 +- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/backend/helpers/language.cpp b/src/backend/helpers/language.cpp index 41df0fe8..86cf159b 100644 --- a/src/backend/helpers/language.cpp +++ b/src/backend/helpers/language.cpp @@ -39,23 +39,7 @@ const std::vector Language::codes({ LanguageCode::korean }); -Language::Language(LanguageCode code) { - Construct(code); -} - -Language::Language(const std::string& locale) { - for (LanguageCode code : codes) { - if (locale == Language(code).GetLocale()) { - Construct(code); - return; - } - } - - Construct(LanguageCode::english); -} - -void Language::Construct(const LanguageCode code) { - code_ = code; +Language::Language(LanguageCode code) : code_(code) { if (code_ == LanguageCode::spanish) { name_ = "EspaƱol"; locale_ = "es"; @@ -93,6 +77,18 @@ void Language::Construct(const LanguageCode code) { } } +Language::Language(const std::string& locale) : Language(GetCode(locale)) {} + +LanguageCode Language::GetCode(const std::string& locale) { + for (LanguageCode code : codes) { + if (locale == Language(code).GetLocale()) { + return code; + } + } + + return LanguageCode::english; +} + LanguageCode Language::GetCode() const { return code_; } diff --git a/src/backend/helpers/language.h b/src/backend/helpers/language.h index e5f17c52..3e422f05 100644 --- a/src/backend/helpers/language.h +++ b/src/backend/helpers/language.h @@ -44,7 +44,7 @@ public: std::string GetName() const; std::string GetLocale() const; private: - void Construct(const LanguageCode code); + static LanguageCode GetCode(const std::string& locale); LanguageCode code_; std::string name_;