Feature: add autoCopy option for users to use or not

This commit is contained in:
Molunerfinn
2020-03-19 21:03:21 +08:00
parent cd70a1a5cc
commit 67e526f163
10 changed files with 51 additions and 17 deletions

View File

@@ -15,6 +15,7 @@ import { IWindowList } from '~/main/apis/window/constants'
import picgo from '~/main/apis/picgo'
import pasteTemplate from '#/utils/pasteTemplate'
import pkg from 'root/package.json'
import { handleCopyUrl } from '~/main/utils/common'
let contextMenu: Menu | null
let menu: Menu | null
let tray: Tray | null
@@ -148,8 +149,9 @@ export function createTray () {
.setWebContents(trayWindow.webContents)
.upload(files)
if (imgs !== false) {
let pasteText = ''
for (let i = 0; i < imgs.length; i++) {
clipboard.writeText(pasteTemplate(pasteStyle, imgs[i]))
pasteText += pasteTemplate(pasteStyle, imgs[i]) + '\r\n'
const notification = new Notification({
title: '上传成功',
body: imgs[i].imgUrl!,
@@ -160,6 +162,7 @@ export function createTray () {
}, i * 100)
db.insert('uploaded', imgs[i])
}
handleCopyUrl(pasteText)
trayWindow.webContents.send('dragFiles', imgs)
}
})

View File

@@ -19,6 +19,7 @@ import {
uploadChoosedFiles
} from '~/main/apis/uploader/api'
import picgoCoreIPC from './picgoCoreIPC'
import { handleCopyUrl } from '~/main/utils/common'
export default {
listen () {
@@ -29,7 +30,7 @@ export default {
const img = await uploader.setWebContents(trayWindow.webContents).upload()
if (img !== false) {
const pasteStyle = db.get('settings.pasteStyle') || 'markdown'
clipboard.writeText(pasteTemplate(pasteStyle, img[0]))
handleCopyUrl(pasteTemplate(pasteStyle, img[0]))
const notification = new Notification({
title: '上传成功',
body: img[0].imgUrl!,

View File

@@ -8,6 +8,7 @@ import {
import db from '#/datastore'
import uploader from '../uploader'
import pasteTemplate from '#/utils/pasteTemplate'
import { handleCopyUrl } from '~/main/utils/common'
import {
getWindowId,
getSettingWindowId
@@ -79,7 +80,7 @@ class GuiApi implements IGuiApi {
}, i * 100)
db.insert('uploaded', imgs[i])
}
clipboard.writeText(pasteText)
handleCopyUrl(pasteText)
webContents.send('uploadFiles', imgs)
webContents.send('updateGallery')
return imgs

View File

@@ -1,5 +1,4 @@
import {
clipboard,
Notification,
WebContents
} from 'electron'
@@ -8,6 +7,7 @@ import { IWindowList } from '~/main/apis/window/constants'
import uploader from './'
import pasteTemplate from '#/utils/pasteTemplate'
import db from '#/datastore'
import { handleCopyUrl } from '~/main/utils/common'
export const uploadClipboardFiles = async (): Promise<string> => {
const win = windowManager.getAvailableWindow()
let img = await uploader.setWebContents(win!.webContents).upload()
@@ -15,7 +15,7 @@ export const uploadClipboardFiles = async (): Promise<string> => {
if (img.length > 0) {
const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW)!
const pasteStyle = db.get('settings.pasteStyle') || 'markdown'
clipboard.writeText(pasteTemplate(pasteStyle, img[0]))
handleCopyUrl(pasteTemplate(pasteStyle, img[0]))
const notification = new Notification({
title: '上传成功',
body: img[0].imgUrl!,
@@ -62,7 +62,7 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW
db.insert('uploaded', imgs[i])
result.push(imgs[i].imgUrl!)
}
clipboard.writeText(pasteText)
handleCopyUrl(pasteText)
windowManager.get(IWindowList.TRAY_WINDOW)!.webContents.send('uploadFiles', imgs)
if (windowManager.has(IWindowList.SETTING_WINDOW)) {
windowManager.get(IWindowList.SETTING_WINDOW)!.webContents.send('updateGallery')

View File

@@ -12,8 +12,8 @@ export const TRAY_WINDOW_URL = isDevelopment
: `picgo://./index.html`
export const SETTING_WINDOW_URL = isDevelopment
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#setting/upload`
: `picgo://./index.html#setting/upload`
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#main-page/upload`
: `picgo://./index.html#main-page/upload`
export const MINI_WINDOW_URL = isDevelopment
? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#mini-page`