fix gui minor-bugs (#54)

1. cannot persist locale setting.
2. set forcus after show from tray icon
This commit is contained in:
Sijie.Sun
2024-04-21 10:00:01 +08:00
committed by GitHub
parent 0ddcda1b31
commit 39021d7b1b
4 changed files with 19 additions and 9 deletions

View File

@@ -286,6 +286,7 @@ fn toggle_window_visibility(window: &Window) {
window.hide().unwrap();
} else {
window.show().unwrap();
window.set_focus().unwrap();
}
}
@@ -305,8 +306,8 @@ fn main() {
if !check_sudo() {
process::exit(0);
}
let quit = CustomMenuItem::new("quit".to_string(), "Quit");
let hide = CustomMenuItem::new("hide".to_string(), "Show / Hide");
let quit = CustomMenuItem::new("quit".to_string(), "退出 Quit");
let hide = CustomMenuItem::new("hide".to_string(), "显示 Show / 隐藏 Hide");
let tray_menu = SystemTrayMenu::new()
.add_item(quit)
.add_native_item(SystemTrayMenuItem::Separator)

View File

@@ -147,7 +147,7 @@ const toggle_setting_menu = (event: any) => {
onMounted(async () => {
networkStore.loadFromLocalStorage();
loadLocaleFromLocalStorage();
changeLocale(loadLocaleFromLocalStorage());
});
</script>
@@ -205,7 +205,7 @@ onMounted(async () => {
<Status :instance-id="networkStore.curNetworkId" />
</div>
<div class="flex pt-4 justify-content-center">
<Button label="Stop Network" severity="danger" icon="pi pi-arrow-left"
<Button :label="$t('stop_network')" severity="danger" icon="pi pi-arrow-left"
@click="stopNetworkCb(networkStore.curNetwork, prevCallback)" />
</div>
</template>

View File

@@ -145,7 +145,7 @@ const presetPublicServers = [
<div class="flex pt-4 justify-content-center">
<Button label="Run Network" icon="pi pi-arrow-right" iconPos="right" @click="$emit('runNetwork', curNetwork)"
<Button :label="$t('run_network')" icon="pi pi-arrow-right" iconPos="right" @click="$emit('runNetwork', curNetwork)"
:disabled="configInvalid" />
</div>
</div>

View File

@@ -235,7 +235,6 @@ const messages = {
"instance_id": "Instance ID",
"network_infos": "Network Infos",
"parse_network_config": "Parse Network Config",
"run_network_instance": "Run Network Instance",
"retain_network_instance": "Retain Network Instance",
"collect_network_infos": "Collect Network Infos",
"settings": "Settings",
@@ -262,6 +261,9 @@ const messages = {
"upload_bytes": "Upload",
"download_bytes": "Download",
"loss_rate": "Loss Rate",
"run_network": "Run Network",
"stop_network": "Stop Network",
},
cn: {
"network": "网络",
@@ -292,7 +294,6 @@ const messages = {
"instance_id": "实例ID",
"network_infos": "网络信息",
"parse_network_config": "解析网络配置",
"run_network_instance": "运行网络实例",
"retain_network_instance": "保留网络实例",
"collect_network_infos": "收集网络信息",
"settings": "设置",
@@ -317,6 +318,9 @@ const messages = {
"upload_bytes": "上传",
"download_bytes": "下载",
"loss_rate": "丢包率",
"run_network": "运行网络",
"stop_network": "停止网络",
}
}
@@ -324,8 +328,13 @@ function saveLocaleToLocalStorage(locale: string) {
localStorage.setItem("locale", locale);
}
export function loadLocaleFromLocalStorage(): string {
return localStorage.getItem("locale") || "en";
export function loadLocaleFromLocalStorage(): 'en' | 'cn' {
const v = localStorage.getItem("locale")
if (v === 'en' || v === 'cn') {
return v;
} else {
return 'en';
}
}
export const i18n = createI18n({