From 9d4d605acf90231fd1459c03cbccc4d97902a20f Mon Sep 17 00:00:00 2001 From: Molunerfinn Date: Sat, 28 Dec 2019 16:23:16 +0800 Subject: [PATCH] :sparkles: Feature: only shows visible pic-beds ISSUES CLOSED: #310 --- src/background.ts | 26 +++++++++++++------------- src/main/utils/getPicBeds.ts | 4 +--- src/renderer/pages/MiniPage.vue | 2 +- src/renderer/pages/Upload.vue | 2 +- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/background.ts b/src/background.ts index edab74ac..9e27ca3f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -63,7 +63,7 @@ fixPath() function createContextMenu () { const picBeds = getPicBeds() - const submenu = picBeds.map(item => { + const submenu = picBeds.filter(item => item.visible).map(item => { return { label: item.name, type: 'radio', @@ -147,20 +147,20 @@ function createTray () { }) tray.on('click', (event, bounds) => { if (process.platform === 'darwin') { - let img = clipboard.readImage() - let obj: ImgInfo[] = [] - if (!img.isEmpty()) { - // 从剪贴板来的图片默认转为png - // @ts-ignore - const imgUrl = 'data:image/png;base64,' + Buffer.from(img.toPNG(), 'binary').toString('base64') - obj.push({ - width: img.getSize().width, - height: img.getSize().height, - imgUrl - }) - } toggleWindow(bounds) setTimeout(() => { + let img = clipboard.readImage() + let obj: ImgInfo[] = [] + if (!img.isEmpty()) { + // 从剪贴板来的图片默认转为png + // @ts-ignore + const imgUrl = 'data:image/png;base64,' + Buffer.from(img.toPNG(), 'binary').toString('base64') + obj.push({ + width: img.getSize().width, + height: img.getSize().height, + imgUrl + }) + } window!.webContents.send('clipboardFiles', obj) }, 0) } else { diff --git a/src/main/utils/getPicBeds.ts b/src/main/utils/getPicBeds.ts index 06a17d85..20889b2f 100644 --- a/src/main/utils/getPicBeds.ts +++ b/src/main/utils/getPicBeds.ts @@ -1,9 +1,8 @@ -import db from '#/datastore' import picgo from './picgo' const getPicBeds = () => { const picBedTypes = picgo.helper.uploader.getIdList() - const picBedFromDB = db.get('picBed.list') || [] + const picBedFromDB = picgo.getConfig('picBed.list') || [] const picBeds = picBedTypes.map((item: string) => { const visible = picBedFromDB.find((i: IPicBedType) => i.type === item) // object or undefined return { @@ -12,7 +11,6 @@ const getPicBeds = () => { visible: visible ? visible.visible : true } }) as IPicBedType[] - picgo.cmd.program.removeAllListeners() return picBeds } diff --git a/src/renderer/pages/MiniPage.vue b/src/renderer/pages/MiniPage.vue index 1de798c6..7a6741fe 100644 --- a/src/renderer/pages/MiniPage.vue +++ b/src/renderer/pages/MiniPage.vue @@ -137,7 +137,7 @@ export default class extends Vue { } buildMenu () { const _this = this - const submenu = this.picBed.map(item => { + const submenu = this.picBed.filter(item => item.visible).map(item => { return { label: item.name, type: 'radio', diff --git a/src/renderer/pages/Upload.vue b/src/renderer/pages/Upload.vue index 994ac87a..54e9eb0a 100644 --- a/src/renderer/pages/Upload.vue +++ b/src/renderer/pages/Upload.vue @@ -160,7 +160,7 @@ export default class extends Vue { } buildMenu () { const _this = this - const submenu = this.picBed.map(item => { + const submenu = this.picBed.filter(item => item.visible).map(item => { return { label: item.name, type: 'radio',