From 7601483fe5b76afaef16206f8215702e971d11af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Chuailei000=E2=80=9D?= <2280131253@qq.com>
Date: Fri, 5 May 2023 15:28:20 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BE=E5=BD=A2=E5=8C=96=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E6=94=AF=E6=8C=81=E9=94=AE=E7=9B=98=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../elements/setting/setting.component.css | 4 ++
.../elements/setting/setting.component.html | 40 ++++++++++++-------
src/app/elements/setting/setting.component.ts | 10 +++++
src/app/model.ts | 1 +
src/app/services/setting.ts | 8 ++++
src/assets/i18n/en.json | 10 +++++
src/assets/i18n/ja.json | 11 +++++
src/assets/i18n/zh.json | 10 ++++-
8 files changed, 78 insertions(+), 16 deletions(-)
diff --git a/src/app/elements/setting/setting.component.css b/src/app/elements/setting/setting.component.css
index 79430cb90..7540efb92 100644
--- a/src/app/elements/setting/setting.component.css
+++ b/src/app/elements/setting/setting.component.css
@@ -5,3 +5,7 @@
}
.mat-form-field { width: 100%;}
+
+.space {
+ padding-top: 15px;
+}
diff --git a/src/app/elements/setting/setting.component.html b/src/app/elements/setting/setting.component.html
index ae867bc24..437165073 100644
--- a/src/app/elements/setting/setting.component.html
+++ b/src/app/elements/setting/setting.component.html
@@ -11,7 +11,7 @@
-
+
{{s}}
@@ -19,20 +19,31 @@
-
-
- {{ 'Full screen'| translate}}
- {{ 'Driver redirect'| translate}}
-
+
+
+ {{ 'Full screen'| translate}}
+ {{ 'Driver redirect'| translate}}
+
+
+
+
+ Web
+ {{ 'Client' | translate }}
+
-
-
- Web
- {{ 'Client' | translate }}
-
+
+
+
+
+ {{item.label}}
+
+
+
@@ -48,7 +59,6 @@
-
diff --git a/src/app/elements/setting/setting.component.ts b/src/app/elements/setting/setting.component.ts
index 7895fec98..3515abe57 100644
--- a/src/app/elements/setting/setting.component.ts
+++ b/src/app/elements/setting/setting.component.ts
@@ -14,6 +14,7 @@ import {MAT_DIALOG_DATA} from '@angular/material/dialog';
export class ElementSettingComponent implements OnInit {
resolutionsChoices = ['Auto', '1024x768', '1366x768', '1600x900', '1920x1080'];
public boolChoices: any[];
+ public keyboardLayoutOptions: any[];
setting: Setting;
globalSetting: GlobalSetting;
type = 'general';
@@ -26,6 +27,15 @@ export class ElementSettingComponent implements OnInit {
{name: _i18n.instant('Yes'), value: '1'},
{name: _i18n.instant('No'), value: '0'}
];
+ this.keyboardLayoutOptions = [
+ { value: 'ch-qwerty', label: _i18n.instant('Chinese') + '(Qwerty)' },
+ { value: 'en-us-qwerty', label: _i18n.instant('USEnglish') + '(Qwerty)' },
+ { value: 'en-uk-qwerty', label: _i18n.instant('UKEnglish') + '(Qwerty)' },
+ { value: 'ja-qwerty', label: _i18n.instant('Japanese') + '(Qwerty)' },
+ { value: 'fr-azerty', label: _i18n.instant('French') + '(Azerty)' },
+ { value: 'fr-sw-qwertz', label: _i18n.instant('SwissFrench') + '(Qwertz)' },
+ { value: 'fr-be-azerty', label: _i18n.instant('BelgianFrench') + '(Azerty)' }
+ ];
}
hasLicense() {
diff --git a/src/app/model.ts b/src/app/model.ts
index a44d45225..b11231a1b 100644
--- a/src/app/model.ts
+++ b/src/app/model.ts
@@ -281,6 +281,7 @@ export class Setting {
sqlClient = '1';
commandExecution: boolean = true;
appletConnectMethod: string = 'web';
+ keyboardLayout: string = 'en-us-qwerty';
}
diff --git a/src/app/services/setting.ts b/src/app/services/setting.ts
index adf426790..de5100265 100644
--- a/src/app/services/setting.ts
+++ b/src/app/services/setting.ts
@@ -14,6 +14,8 @@ export class SettingService {
private inited = false;
public isLoadTreeAsync$ = new BehaviorSubject(true);
public appletConnectMethod$ = new BehaviorSubject('');
+ public keyboardLayout$ = new BehaviorSubject('');
+
constructor(
private _localStorage: LocalStorageService,
@@ -25,6 +27,7 @@ export class SettingService {
this.setting = settingData;
this.setIsLoadTreeAsync();
this.setAppletConnectMethod();
+ this.setKeyboardLayout();
} else {
this.setting = new Setting();
}
@@ -93,6 +96,7 @@ export class SettingService {
this._localStorage.set(this.settingKey, this.setting);
this.setIsLoadTreeAsync();
this.setAppletConnectMethod();
+ this.setKeyboardLayout();
}
setIsLoadTreeAsync() {
@@ -103,6 +107,10 @@ export class SettingService {
this.appletConnectMethod$.next(this.setting.appletConnectMethod);
}
+ setKeyboardLayout() {
+ this.keyboardLayout$.next(this.setting.keyboardLayout);
+ }
+
// 全局跳过手动输入windows账号密码
globalSkipAllManualPassword(): boolean {
return this.globalSetting.WINDOWS_SKIP_ALL_MANUAL_PASSWORD;
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json
index 35ac81a30..88d2d3cbf 100644
--- a/src/assets/i18n/en.json
+++ b/src/assets/i18n/en.json
@@ -120,7 +120,17 @@
"General": "General",
"GUI": "GUI",
"CLI": "CLI",
+ "Applet connect method": "Applet connect method",
+ "Client": "Client",
+ "Keyboard layout": "Keyboard layout",
+ "Chinese": "Chinese",
+ "UKEnglish": "UK English",
+ "USEnglish": "US English",
+ "Japanese": "Japanese",
+ "French": "French",
+ "SwissFrench": "Swiss french",
+ "BelgianFrench": "Belgian french",
"Login reminder": "Login reminder",
"ACL reject login asset": "This login has been rejected due to access control policy restrictions",
"Need review for login asset": "This login needs manual review. Do you want to continue?",
diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json
index edb6d904c..e77c4e882 100644
--- a/src/assets/i18n/ja.json
+++ b/src/assets/i18n/ja.json
@@ -123,6 +123,17 @@
"Normal accounts": "通常のログインアカウント",
"Special accounts": "特別ログインアカウント",
"Tips": "ヒント",
+ "Applet connect method": "アプレット接続方法",
+ "Client": "お客様",
+
+ "Keyboard layout": "キーボードレイアウト",
+ "Chinese": "簡体中国語",
+ "UKEnglish": "イギリス英語",
+ "USEnglish": "アメリカ英語",
+ "Japanese": "日語",
+ "French": "法語",
+ "SwissFrench": "瑞士法語",
+ "BelgianFrench": "比利时法語",
"Login reminder": "ログインリマインダー",
"ACL reject login asset": "アクセス制御ポリシーの制限により、このログインは拒否されました",
"Need review for login asset": "このログインは手動で確認する必要があります。続行しますか?",
diff --git a/src/assets/i18n/zh.json b/src/assets/i18n/zh.json
index 8705c7daf..f68701f5c 100644
--- a/src/assets/i18n/zh.json
+++ b/src/assets/i18n/zh.json
@@ -124,7 +124,15 @@
"General": "基本配置",
"Applet connect method": "远程应用连接方式",
"Client": "客户端",
-
+
+ "Keyboard layout": "键盘布局",
+ "Chinese": "简体中文",
+ "UKEnglish": "UK英语",
+ "USEnglish": "US英语",
+ "Japanese": "日语",
+ "French": "法语",
+ "SwissFrench": "瑞士法语",
+ "BelgianFrench": "比利时法语",
"Login reminder": "登录提醒",
"ACL reject login asset": "本次登录已拒绝,原因是访问控制策略的限制",
"Need review for login asset": "本次登录需要进行人工审核,是否继续?",