From a844d7a8b99e5bafdfd9e7fb1685d665fef5e868 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 79430cb9..7540efb9 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 ae867bc2..43716507 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 7895fec9..6b2618f3 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: 'en-us-qwerty', label: _i18n.instant('US English keyboard layout') }, + { value: 'en-gb-qwerty', label: _i18n.instant('UK English keyboard layout') }, + { value: 'ja-jp-qwerty', label: _i18n.instant('Japanese keyboard layout') }, + { value: 'fr-fr-azerty', label: _i18n.instant('French keyboard layout') }, + { value: 'fr-ch-qwertz', label: _i18n.instant('Swiss French keyboard layout') }, + { value: 'fr-be-azerty', label: _i18n.instant('Belgian French keyboard layout') }, + { value: 'tr-tr-qwerty', label: _i18n.instant('Turkey keyboard layout') } + ]; } hasLicense() { diff --git a/src/app/model.ts b/src/app/model.ts index a44d4522..695b3ee0 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 = ''; } diff --git a/src/app/services/setting.ts b/src/app/services/setting.ts index adf42679..de510026 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 35ac81a3..bd20f267 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", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", "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 edb6d904..22268052 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": "キーボードレイアウト", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", "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 8705c7da..34f8b889 100644 --- a/src/assets/i18n/zh.json +++ b/src/assets/i18n/zh.json @@ -124,7 +124,15 @@ "General": "基本配置", "Applet connect method": "远程应用连接方式", "Client": "客户端", - + + "Keyboard layout": "键盘布局", + "UK English keyboard layout": "UK English (Qwerty)", + "US English keyboard layout": "US English (Qwerty)", + "Japanese keyboard layout": "Japanese (Qwerty)", + "French keyboard layout": "French (Azerty)", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Belgian French keyboard layout": "Belgian French (Azerty)", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", "Login reminder": "登录提醒", "ACL reject login asset": "本次登录已拒绝,原因是访问控制策略的限制", "Need review for login asset": "本次登录需要进行人工审核,是否继续?",