mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-02-02 11:08:13 -05:00
✨ Feature: add two new config items to control mini window and main window
This commit is contained in:
parent
1e0bb25d73
commit
2eff77221e
@ -164,6 +164,8 @@ SETTINGS_CHECK_UPDATE: Check Update
|
||||
SETTINGS_OPEN_UPDATE_HELPER: Open Update Helper
|
||||
SETTINGS_OPEN: Open
|
||||
SETTINGS_CLOSE: Close
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: Close Mini Window When open Main Window
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: Close Main Window When open Mini Window
|
||||
SETTINGS_ACCEPT_BETA_UPDATE: Accept Beta Update
|
||||
SETTINGS_LAUNCH_ON_BOOT: Launch On Boot
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: Rename Before Upload
|
||||
|
@ -166,6 +166,8 @@ SETTINGS_CHECK_UPDATE: 检查更新
|
||||
SETTINGS_OPEN_UPDATE_HELPER: 打开更新助手
|
||||
SETTINGS_OPEN: 开
|
||||
SETTINGS_CLOSE: 关
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: 打开主窗口时关闭mini窗口
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: 打开mini窗口时关闭主窗口
|
||||
SETTINGS_ACCEPT_BETA_UPDATE: 接受Beta版本更新
|
||||
SETTINGS_LAUNCH_ON_BOOT: 开机自启
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: 上传前重命名
|
||||
|
@ -164,6 +164,8 @@ SETTINGS_CHECK_UPDATE: 檢查更新
|
||||
SETTINGS_OPEN_UPDATE_HELPER: 打開更新助手
|
||||
SETTINGS_OPEN: 開
|
||||
SETTINGS_CLOSE: 關
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: 開主窗口同步關閉mini窗口
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: 關mini窗口同步關閉主窗口
|
||||
SETTINGS_ACCEPT_BETA_UPDATE: 接受Beta版本更新
|
||||
SETTINGS_LAUNCH_ON_BOOT: 開機時啟動
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: 上傳前重新命名
|
||||
|
@ -28,6 +28,7 @@ let tray: Tray | null
|
||||
|
||||
export function setDockMenu () {
|
||||
const isListeningClipboard = db.get('settings.isListeningClipboard') || false
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
const dockMenu = Menu.buildFromTemplate([
|
||||
{
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
@ -35,6 +36,9 @@ export function setDockMenu () {
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
settingWindow!.show()
|
||||
settingWindow!.focus()
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW) && autoCloseMiniWindow) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -74,8 +78,12 @@ export function createMenu () {
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
click () {
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
settingWindow!.show()
|
||||
settingWindow!.focus()
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW) && autoCloseMiniWindow) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -135,8 +143,12 @@ export function createContextMenu () {
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
click () {
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
settingWindow!.show()
|
||||
settingWindow!.focus()
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW) && autoCloseMiniWindow) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -206,6 +218,10 @@ export function createContextMenu () {
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
const autoCloseMainWindow = db.get('settings.autoCloseMainWindow') || false
|
||||
if (windowManager.has(IWindowList.SETTING_WINDOW) && autoCloseMainWindow) {
|
||||
windowManager.get(IWindowList.SETTING_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -224,8 +240,12 @@ export function createContextMenu () {
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
click () {
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
settingWindow!.show()
|
||||
settingWindow!.focus()
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW) && autoCloseMiniWindow) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -251,6 +271,10 @@ export function createContextMenu () {
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
const autoCloseMainWindow = db.get('settings.autoCloseMainWindow') || false
|
||||
if (windowManager.has(IWindowList.SETTING_WINDOW) && autoCloseMainWindow) {
|
||||
windowManager.get(IWindowList.SETTING_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -358,8 +382,12 @@ export function createTray () {
|
||||
windowManager.get(IWindowList.TRAY_WINDOW)!.hide()
|
||||
}
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
settingWindow!.show()
|
||||
settingWindow!.focus()
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW) && autoCloseMiniWindow) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -214,6 +214,12 @@ export default {
|
||||
|
||||
ipcMain.on('openSettingWindow', () => {
|
||||
windowManager.get(IWindowList.SETTING_WINDOW)!.show()
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
if (autoCloseMiniWindow) {
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW)) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
ipcMain.on('openMiniWindow', () => {
|
||||
|
@ -30,6 +30,12 @@ const buildMiniPageMenu = () => {
|
||||
label: T('OPEN_MAIN_WINDOW'),
|
||||
click () {
|
||||
windowManager.get(IWindowList.SETTING_WINDOW)!.show()
|
||||
const autoCloseMiniWindow = db.get('settings.autoCloseMiniWindow') || false
|
||||
if (autoCloseMiniWindow) {
|
||||
if (windowManager.has(IWindowList.MINI_WINDOW)) {
|
||||
windowManager.get(IWindowList.MINI_WINDOW)!.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -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'))
|
||||
|
2
src/universal/types/i18n.d.ts
vendored
2
src/universal/types/i18n.d.ts
vendored
@ -159,6 +159,8 @@ interface ILocales {
|
||||
SETTINGS_OPEN_UPDATE_HELPER: string
|
||||
SETTINGS_OPEN: string
|
||||
SETTINGS_CLOSE: string
|
||||
SETTINGS_CLOSE_MINI_WINDOW_SYNC: string
|
||||
SETTINGS_CLOSE_MAIN_WINDOW_SYNC: string
|
||||
SETTINGS_ACCEPT_BETA_UPDATE: string
|
||||
SETTINGS_LAUNCH_ON_BOOT: string
|
||||
SETTINGS_RENAME_BEFORE_UPLOAD: string
|
||||
|
2
src/universal/types/view.d.ts
vendored
2
src/universal/types/view.d.ts
vendored
@ -7,6 +7,8 @@ interface ISettingForm {
|
||||
uploadNotification: boolean
|
||||
uploadResultNotification: boolean
|
||||
miniWindowOntop: boolean
|
||||
autoCloseMiniWindow: boolean
|
||||
autoCloseMainWindow: boolean
|
||||
logLevel: string[]
|
||||
autoCopyUrl: boolean
|
||||
checkBetaUpdate: boolean
|
||||
|
Loading…
Reference in New Issue
Block a user