HaikuDepot: Load Languages from HDS - Fixes
Follow-on changes from recent commit of the same title with some improvements and fixes. Change-Id: Ic4439966340578b920345332669591f6cdfcc203 Reviewed-on: https://review.haiku-os.org/c/1471 Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
38ce902686
commit
4f8d9e120f
@@ -39,7 +39,7 @@ LanguageModel::LanguageModel()
|
|||||||
{
|
{
|
||||||
const Language defaultLanguage = _DeriveDefaultLanguage();
|
const Language defaultLanguage = _DeriveDefaultLanguage();
|
||||||
fSupportedLanguages.Add(LanguageRef(
|
fSupportedLanguages.Add(LanguageRef(
|
||||||
new Language(defaultLanguage)));
|
new Language(defaultLanguage), true));
|
||||||
_SetPreferredLanguage(defaultLanguage);
|
_SetPreferredLanguage(defaultLanguage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "ProcessCoordinatorFactory.h"
|
#include "ProcessCoordinatorFactory.h"
|
||||||
|
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
|
|
||||||
#include <package/Context.h>
|
#include <package/Context.h>
|
||||||
#include <package/PackageRoster.h>
|
#include <package/PackageRoster.h>
|
||||||
@@ -78,6 +79,8 @@ ProcessCoordinatorFactory::CreateBulkLoadCoordinator(
|
|||||||
status_t repoNamesResult = roster.GetRepositoryNames(repoNames);
|
status_t repoNamesResult = roster.GetRepositoryNames(repoNames);
|
||||||
|
|
||||||
if (repoNamesResult == B_OK) {
|
if (repoNamesResult == B_OK) {
|
||||||
|
AutoLocker<BLocker> locker(model->Lock());
|
||||||
|
|
||||||
for (int32 i = 0; i < repoNames.CountStrings(); i++) {
|
for (int32 i = 0; i < repoNames.CountStrings(); i++) {
|
||||||
ProcessNode* processNode = new ProcessNode(
|
ProcessNode* processNode = new ProcessNode(
|
||||||
new ServerPkgDataUpdateProcess(
|
new ServerPkgDataUpdateProcess(
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include <AutoDeleter.h>
|
#include <AutoDeleter.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <FileIO.h>
|
#include <FileIO.h>
|
||||||
#include <Url.h>
|
#include <Url.h>
|
||||||
@@ -63,6 +64,7 @@ BString
|
|||||||
ServerReferenceDataUpdateProcess::UrlPathComponent()
|
ServerReferenceDataUpdateProcess::UrlPathComponent()
|
||||||
{
|
{
|
||||||
BString result;
|
BString result;
|
||||||
|
AutoLocker<BLocker> locker(fModel->Lock());
|
||||||
result.SetToFormat("/__reference/all-%s.json.gz",
|
result.SetToFormat("/__reference/all-%s.json.gz",
|
||||||
fModel->Language().PreferredLanguage().Code());
|
fModel->Language().PreferredLanguage().Code());
|
||||||
return result;
|
return result;
|
||||||
@@ -128,7 +130,10 @@ ServerReferenceDataUpdateProcess::_ProcessNaturalLanguages(
|
|||||||
naturalLanguage->IsPopular())));
|
naturalLanguage->IsPopular())));
|
||||||
}
|
}
|
||||||
|
|
||||||
fModel->Language().AddSupportedLanguages(result);
|
{
|
||||||
|
AutoLocker<BLocker> locker(fModel->Lock());
|
||||||
|
fModel->Language().AddSupportedLanguages(result);
|
||||||
|
}
|
||||||
|
|
||||||
printf("[%s] did add %" B_PRId32 " supported languages\n",
|
printf("[%s] did add %" B_PRId32 " supported languages\n",
|
||||||
Name(), result.CountItems());
|
Name(), result.CountItems());
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include <AutoDeleter.h>
|
#include <AutoDeleter.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <FileIO.h>
|
#include <FileIO.h>
|
||||||
#include <Url.h>
|
#include <Url.h>
|
||||||
@@ -178,6 +179,7 @@ BString
|
|||||||
ServerRepositoryDataUpdateProcess::UrlPathComponent()
|
ServerRepositoryDataUpdateProcess::UrlPathComponent()
|
||||||
{
|
{
|
||||||
BString result;
|
BString result;
|
||||||
|
AutoLocker<BLocker> locker(fModel->Lock());
|
||||||
result.SetToFormat("/__repository/all-%s.json.gz",
|
result.SetToFormat("/__repository/all-%s.json.gz",
|
||||||
fModel->Language().PreferredLanguage().Code());
|
fModel->Language().PreferredLanguage().Code());
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
#include <CheckBox.h>
|
#include <CheckBox.h>
|
||||||
@@ -191,7 +192,7 @@ RatePackageWindow::RatePackageWindow(BWindow* parent, BRect frame,
|
|||||||
fTextEditor(new TextEditor(), true),
|
fTextEditor(new TextEditor(), true),
|
||||||
fRating(RATING_NONE),
|
fRating(RATING_NONE),
|
||||||
fRatingDeterminate(false),
|
fRatingDeterminate(false),
|
||||||
fCommentLanguageCode(fModel.Language().PreferredLanguage().Code()),
|
fCommentLanguageCode(LANGUAGE_DEFAULT_CODE),
|
||||||
fWorkerThread(-1)
|
fWorkerThread(-1)
|
||||||
{
|
{
|
||||||
AddToSubset(parent);
|
AddToSubset(parent);
|
||||||
@@ -242,17 +243,23 @@ RatePackageWindow::RatePackageWindow(BWindow* parent, BRect frame,
|
|||||||
fStability = fStabilityCodes.ItemAt(0).Name();
|
fStability = fStabilityCodes.ItemAt(0).Name();
|
||||||
stabilityMenu->ItemAt(0)->SetMarked(true);
|
stabilityMenu->ItemAt(0)->SetMarked(true);
|
||||||
|
|
||||||
// Construct languages popup
|
|
||||||
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
|
||||||
fCommentLanguageField = new BMenuField("language",
|
|
||||||
B_TRANSLATE("Comment language:"), languagesMenu);
|
|
||||||
|
|
||||||
LanguageMenuUtils::AddLanguagesToMenu(
|
{
|
||||||
fModel.Language().SupportedLanguages(),
|
AutoLocker<BLocker> locker(fModel.Lock());
|
||||||
languagesMenu);
|
fCommentLanguageCode = fModel.Language().PreferredLanguage().Code();
|
||||||
languagesMenu->SetTargetForItems(this);
|
|
||||||
LanguageMenuUtils::MarkLanguageInMenu(fCommentLanguageCode,
|
// Construct languages popup
|
||||||
languagesMenu);
|
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
||||||
|
fCommentLanguageField = new BMenuField("language",
|
||||||
|
B_TRANSLATE("Comment language:"), languagesMenu);
|
||||||
|
|
||||||
|
LanguageMenuUtils::AddLanguagesToMenu(
|
||||||
|
fModel.Language().SupportedLanguages(),
|
||||||
|
languagesMenu);
|
||||||
|
languagesMenu->SetTargetForItems(this);
|
||||||
|
LanguageMenuUtils::MarkLanguageInMenu(fCommentLanguageCode,
|
||||||
|
languagesMenu);
|
||||||
|
}
|
||||||
|
|
||||||
fRatingActiveCheckBox = new BCheckBox("rating active",
|
fRatingActiveCheckBox = new BCheckBox("rating active",
|
||||||
B_TRANSLATE("Other users can see this rating"),
|
B_TRANSLATE("Other users can see this rating"),
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
#include <LayoutBuilder.h>
|
#include <LayoutBuilder.h>
|
||||||
@@ -47,7 +48,7 @@ UserLoginWindow::UserLoginWindow(BWindow* parent, BRect frame, Model& model)
|
|||||||
B_FLOATING_WINDOW_LOOK, B_FLOATING_SUBSET_WINDOW_FEEL,
|
B_FLOATING_WINDOW_LOOK, B_FLOATING_SUBSET_WINDOW_FEEL,
|
||||||
B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS
|
B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS
|
||||||
| B_NOT_RESIZABLE | B_NOT_ZOOMABLE),
|
| B_NOT_RESIZABLE | B_NOT_ZOOMABLE),
|
||||||
fPreferredLanguageCode(model.Language().PreferredLanguage().Code()),
|
fPreferredLanguageCode(LANGUAGE_DEFAULT_CODE),
|
||||||
fModel(model),
|
fModel(model),
|
||||||
fMode(NONE),
|
fMode(NONE),
|
||||||
fWorkerThread(-1)
|
fWorkerThread(-1)
|
||||||
@@ -67,20 +68,24 @@ UserLoginWindow::UserLoginWindow(BWindow* parent, BRect frame, Model& model)
|
|||||||
"", new BMessage(MSG_VALIDATE_FIELDS));
|
"", new BMessage(MSG_VALIDATE_FIELDS));
|
||||||
fRepeatPasswordField->TextView()->HideTyping(true);
|
fRepeatPasswordField->TextView()->HideTyping(true);
|
||||||
|
|
||||||
// Construct languages popup
|
{
|
||||||
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
AutoLocker<BLocker> locker(fModel.Lock());
|
||||||
fLanguageCodeField = new BMenuField("language",
|
fPreferredLanguageCode = fModel.Language().PreferredLanguage().Code();
|
||||||
B_TRANSLATE("Preferred language:"), languagesMenu);
|
// Construct languages popup
|
||||||
|
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
||||||
|
fLanguageCodeField = new BMenuField("language",
|
||||||
|
B_TRANSLATE("Preferred language:"), languagesMenu);
|
||||||
|
|
||||||
LanguageMenuUtils::AddLanguagesToMenu(
|
LanguageMenuUtils::AddLanguagesToMenu(
|
||||||
fModel.Language().SupportedLanguages(),
|
fModel.Language().SupportedLanguages(),
|
||||||
languagesMenu);
|
languagesMenu);
|
||||||
languagesMenu->SetTargetForItems(this);
|
languagesMenu->SetTargetForItems(this);
|
||||||
|
|
||||||
printf("using preferred language code [%s]\n",
|
printf("using preferred language code [%s]\n",
|
||||||
fPreferredLanguageCode.String());
|
fPreferredLanguageCode.String());
|
||||||
LanguageMenuUtils::MarkLanguageInMenu(fPreferredLanguageCode,
|
LanguageMenuUtils::MarkLanguageInMenu(fPreferredLanguageCode,
|
||||||
languagesMenu);
|
languagesMenu);
|
||||||
|
}
|
||||||
|
|
||||||
fEmailField = new BTextControl(B_TRANSLATE("Email address:"), "", NULL);
|
fEmailField = new BTextControl(B_TRANSLATE("Email address:"), "", NULL);
|
||||||
fCaptchaView = new BitmapView("captcha view");
|
fCaptchaView = new BitmapView("captcha view");
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
LanguageMenuUtils::AddLanguagesToMenu(
|
LanguageMenuUtils::AddLanguagesToMenu(
|
||||||
const LanguageList& languages, BMenu* menu)
|
const LanguageList& languages, BMenu* menu)
|
||||||
{
|
{
|
||||||
if (languages.IsEmpty())
|
if (languages.IsEmpty() && Logger::IsInfoEnabled())
|
||||||
printf("there are no languages defined\n");
|
printf("there are no languages defined\n");
|
||||||
|
|
||||||
int32 addedPopular = LanguageMenuUtils::_AddLanguagesToMenu(
|
int32 addedPopular = LanguageMenuUtils::_AddLanguagesToMenu(
|
||||||
|
|||||||
Reference in New Issue
Block a user