From d07ca0696d4e5253ce7952cae6333742897da623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Fri, 19 Sep 2014 23:24:47 +0200 Subject: [PATCH] HaikuDepot::Model: Set preferred language earlier Added accessor for preferred language. --- src/apps/haikudepot/Model.cpp | 23 +++++++++++------------ src/apps/haikudepot/Model.h | 3 +++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/apps/haikudepot/Model.cpp b/src/apps/haikudepot/Model.cpp index ae81f13af5..2b5b86a09b 100644 --- a/src/apps/haikudepot/Model.cpp +++ b/src/apps/haikudepot/Model.cpp @@ -327,6 +327,17 @@ Model::Model() // get the defined categories and their translated names. // This should then be used instead of hard-coded // categories and translations in the app. + + fPreferredLanguage = "en"; + BLocaleRoster* localeRoster = BLocaleRoster::Default(); + if (localeRoster != NULL) { + BMessage preferredLanguages; + if (localeRoster->GetPreferredLanguages(&preferredLanguages) == B_OK) { + BString language; + if (preferredLanguages.FindString("language", 0, &language) == B_OK) + language.CopyInto(fPreferredLanguage, 0, 2); + } + } } @@ -634,18 +645,6 @@ int32 Model::_PopulateAllPackagesEntry(void* cookie) { Model* model = static_cast(cookie); - - model->fPreferredLanguage = "en"; - BLocaleRoster* localeRoster = BLocaleRoster::Default(); - if (localeRoster != NULL) { - BMessage preferredLanguages; - if (localeRoster->GetPreferredLanguages(&preferredLanguages) == B_OK) { - BString language; - if (preferredLanguages.FindString("language", 0, &language) == B_OK) - language.CopyInto(model->fPreferredLanguage, 0, 2); - } - } - model->_PopulateAllPackagesThread(true); model->_PopulateAllPackagesThread(false); return 0; diff --git a/src/apps/haikudepot/Model.h b/src/apps/haikudepot/Model.h index 543492c040..ca8c67a501 100644 --- a/src/apps/haikudepot/Model.h +++ b/src/apps/haikudepot/Model.h @@ -102,6 +102,9 @@ public: void PopulateAllPackages(); void StopPopulatingAllPackages(); + const BString& PreferredLanguage() const + { return fPreferredLanguage; } + private: static int32 _PopulateAllPackagesEntry(void* cookie); void _PopulateAllPackagesThread(bool fromCacheOnly);