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);