From 76b3b3b23dfd19eeb01090269cf0d3d9200bcd9f Mon Sep 17 00:00:00 2001 From: lyswhut Date: Fri, 3 Apr 2020 20:42:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=98=E7=9B=98=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=98=BE=E7=A4=BA=E9=9A=90=E8=97=8FBug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/modules/tray.js | 2 +- src/main/rendererEvents/tray.js | 17 ++++++----------- src/main/rendererEvents/winEvent.js | 7 ++++++- src/renderer/components/core/Toolbar.vue | 4 +--- src/renderer/views/Setting.vue | 2 +- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/modules/tray.js b/src/main/modules/tray.js index 5337c21c..8a8305da 100644 --- a/src/main/modules/tray.js +++ b/src/main/modules/tray.js @@ -11,7 +11,7 @@ global.lx_event.tray.on(TRAY_EVENT_NAME.destroy, () => { let tray function createTray() { - if (tray && !tray.isDestroyed() && global.appSetting.tray && global.appSetting.tray.isShow) return + if ((tray && !tray.isDestroyed()) || !global.appSetting.tray || !global.appSetting.tray.isShow) return const iconPath = path.join(global.__static, 'images/tray', isWin ? '256x256.ico' : isMac ? '512x512.icns' : '512x512.png') diff --git a/src/main/rendererEvents/tray.js b/src/main/rendererEvents/tray.js index 127abf4f..91d69daa 100644 --- a/src/main/rendererEvents/tray.js +++ b/src/main/rendererEvents/tray.js @@ -1,17 +1,12 @@ // const { app } = require('electron') const { mainOn } = require('../../common/ipc') -mainOn('changeTray', (event, params) => { - switch (params.action) { - case 'create': - global.lx_event.tray.create() - break - case 'destroy': - global.lx_event.tray.destroy() - break - - default: - break +mainOn('changeTray', (event, setting) => { + global.appSetting.tray = setting + if (setting.isToTray) { + global.lx_event.tray.create() + } else { + global.lx_event.tray.destroy() } }) diff --git a/src/main/rendererEvents/winEvent.js b/src/main/rendererEvents/winEvent.js index e3f8442b..30a28744 100644 --- a/src/main/rendererEvents/winEvent.js +++ b/src/main/rendererEvents/winEvent.js @@ -1,5 +1,10 @@ module.exports = mainWindow => { - mainWindow.on('close', () => { + mainWindow.on('close', event => { + if (global.appSetting.tray.isToTray) { + event.preventDefault() + mainWindow.hide() + return + } mainWindow.setProgressBar(-1) }) diff --git a/src/renderer/components/core/Toolbar.vue b/src/renderer/components/core/Toolbar.vue index 15a3242f..f778c611 100644 --- a/src/renderer/components/core/Toolbar.vue +++ b/src/renderer/components/core/Toolbar.vue @@ -119,9 +119,7 @@ export default { rendererSend('max') }, close() { - rendererSend('close', { - isToTray: this.setting.tray.isToTray, - }) + rendererSend('close') }, }, } diff --git a/src/renderer/views/Setting.vue b/src/renderer/views/Setting.vue index 13d875eb..44458cfd 100644 --- a/src/renderer/views/Setting.vue +++ b/src/renderer/views/Setting.vue @@ -628,7 +628,7 @@ export default { }, handleToTrayChange(isToTray) { this.current_setting.tray.isShow = isToTray - rendererSend('changeTray', { action: isToTray ? 'create' : 'destroy' }) + rendererSend('changeTray', this.current_setting.tray) }, }, }