Feature: add two new config items to control mini window and main window

This commit is contained in:
萌萌哒赫萝
2023-07-19 22:57:07 -07:00
parent 1e0bb25d73
commit 2eff77221e
9 changed files with 84 additions and 0 deletions

View File

@@ -110,6 +110,28 @@
{{ $T('SETTINGS_CLICK_TO_SET') }}
</el-button>
</el-form-item>
<el-form-item
v-if="os !== 'darwin'"
:label="$T('SETTINGS_CLOSE_MINI_WINDOW_SYNC')"
>
<el-switch
v-model="form.autoCloseMiniWindow"
:active-text="$T('SETTINGS_OPEN')"
:inactive-text="$T('SETTINGS_CLOSE')"
@change="handleAutoCloseMiniWindowChange"
/>
</el-form-item>
<el-form-item
v-if="os !== 'darwin'"
:label="$T('SETTINGS_CLOSE_MAIN_WINDOW_SYNC')"
>
<el-switch
v-model="form.autoCloseMainWindow"
:active-text="$T('SETTINGS_OPEN')"
:inactive-text="$T('SETTINGS_CLOSE')"
@change="handleAutoCloseMainWindowChange"
/>
</el-form-item>
<el-form-item
v-if="os !== 'darwin'"
:label="$T('SETTINGS_MINI_WINDOW_ON_TOP')"
@@ -1539,6 +1561,8 @@ const form = reactive<ISettingForm>({
uploadNotification: false,
uploadResultNotification: true,
miniWindowOntop: false,
autoCloseMiniWindow: false,
autoCloseMainWindow: false,
logLevel: ['all'],
autoCopyUrl: true,
checkBetaUpdate: true,
@@ -1693,6 +1717,8 @@ async function initData () {
form.uploadNotification = settings.uploadNotification || false
form.uploadResultNotification = settings.uploadResultNotification === undefined ? true : settings.uploadResultNotification
form.miniWindowOntop = settings.miniWindowOntop || false
form.autoCloseMiniWindow = settings.autoCloseMiniWindow || false
form.autoCloseMainWindow = settings.autoCloseMainWindow || false
form.logLevel = initLogLevel(settings.logLevel || [])
form.autoCopyUrl = settings.autoCopy === undefined ? true : settings.autoCopy
form.checkBetaUpdate = settings.checkBetaUpdate === undefined ? true : settings.checkBetaUpdate
@@ -1993,6 +2019,14 @@ async function confirmWindowSize () {
}
}
function handleAutoCloseMainWindowChange (val: ICheckBoxValueType) {
saveConfig('settings.autoCloseMainWindow', val)
}
function handleAutoCloseMiniWindowChange (val: ICheckBoxValueType) {
saveConfig('settings.autoCloseMiniWindow', val)
}
function handleMiniWindowOntop (val: ICheckBoxValueType) {
saveConfig('settings.miniWindowOntop', val)
$message.info($T('TIPS_NEED_RELOAD'))