From 0000324e1d3d58ccd23747ff92f93e1f8d4b863f Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 14 Feb 2022 08:27:17 +0100 Subject: [PATCH] Repair locale support --- .../src/org/argeo/cms/swt/auth/CmsLogin.java | 13 +++++++------ .../src/org/argeo/cms/swt/auth/CmsLoginShell.java | 9 +++++---- .../src/org/argeo/cms/ui/util/UserMenu.java | 3 ++- .../src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java | 3 ++- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLogin.java b/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLogin.java index 9c8680c4d..43e57396b 100644 --- a/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLogin.java +++ b/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLogin.java @@ -62,13 +62,14 @@ public class CmsLogin implements CmsStyles, CallbackHandler { // optional subject to be set explicitly private Subject subject = null; - public CmsLogin(CmsView cmsView) { + private CmsContext cmsContext; + + public CmsLogin(CmsView cmsView, CmsContext cmsContext) { this.cmsView = cmsView; - CmsContext nodeState = null;// = Activator.getNodeState(); - // FIXME reactivate locales - if (nodeState != null) { - defaultLocale = nodeState.getDefaultLocale(); - List locales = nodeState.getLocales(); + this.cmsContext = cmsContext; + if (this.cmsContext != null) { + defaultLocale = this.cmsContext.getDefaultLocale(); + List locales = this.cmsContext.getLocales(); if (locales != null) localeChoice = new LocaleChoice(locales, defaultLocale); } else { diff --git a/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLoginShell.java b/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLoginShell.java index f6a35f136..a4d7c0770 100644 --- a/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLoginShell.java +++ b/eclipse/org.argeo.cms.swt/src/org/argeo/cms/swt/auth/CmsLoginShell.java @@ -1,5 +1,6 @@ package org.argeo.cms.swt.auth; +import org.argeo.api.cms.CmsContext; import org.argeo.api.cms.CmsView; import org.argeo.cms.swt.CmsSwtUtils; import org.eclipse.swt.SWT; @@ -11,8 +12,8 @@ import org.eclipse.swt.widgets.Shell; public class CmsLoginShell extends CmsLogin { private final Shell shell; - public CmsLoginShell(CmsView cmsView) { - super(cmsView); + public CmsLoginShell(CmsView cmsView, CmsContext cmsContext) { + super(cmsView, cmsContext); shell = createShell(); // createUi(shell); } @@ -65,8 +66,8 @@ public class CmsLoginShell extends CmsLogin { public Shell getShell() { return shell; } - - public void createUi(){ + + public void createUi() { createUi(shell); } } diff --git a/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/util/UserMenu.java b/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/util/UserMenu.java index 316cb51c0..008ec2c16 100644 --- a/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/util/UserMenu.java +++ b/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/util/UserMenu.java @@ -17,7 +17,8 @@ public class UserMenu extends CmsLoginShell { private final Node context; public UserMenu(Control source, Node context) { - super(CmsUiUtils.getCmsView()); + // FIXME pass CMS context + super(CmsUiUtils.getCmsView(), null); this.context = context; createUi(); if (source == null) diff --git a/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java b/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java index ac9ab1dbe..95be53d5f 100644 --- a/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java +++ b/rap/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsLoginLifecycle.java @@ -62,7 +62,8 @@ public class CmsLoginLifecycle implements CmsView { Subject subject = Subject.getSubject(AccessController.getContext()); Display display = Display.getCurrent(); // UiContext.setData(CmsView.KEY, this); - CmsLoginShell loginShell = new CmsLoginShell(this); + // FIXME get CMS context + CmsLoginShell loginShell = new CmsLoginShell(this, null); CmsSwtUtils.registerCmsView(loginShell.getShell(), this); loginShell.setSubject(subject); try { -- 2.30.2