mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-05-12 02:20:46 +08:00
🐛 Fix: fix repeated upload bug when listening clipboard
This commit is contained in:
@@ -58,6 +58,7 @@ export function setDockMenu () {
|
||||
click () {
|
||||
db.set('settings.isListeningClipboard', false)
|
||||
clipboardPoll.stopListening()
|
||||
clipboardPoll.removeAllListeners()
|
||||
setDockMenu()
|
||||
},
|
||||
enabled: isListeningClipboard
|
||||
@@ -152,6 +153,7 @@ export function createContextMenu () {
|
||||
click () {
|
||||
db.set('settings.isListeningClipboard', false)
|
||||
ClipboardWatcher.stopListening()
|
||||
ClipboardWatcher.removeAllListeners()
|
||||
createContextMenu()
|
||||
},
|
||||
enabled: isListeningClipboard
|
||||
@@ -175,7 +177,7 @@ export function createContextMenu () {
|
||||
label: T('OPEN_MINI_WINDOW'),
|
||||
click () {
|
||||
const miniWindow = windowManager.get(IWindowList.MINI_WINDOW)!
|
||||
|
||||
miniWindow.removeAllListeners()
|
||||
if (db.get('settings.miniWindowOntop')) {
|
||||
miniWindow.setAlwaysOnTop(true)
|
||||
}
|
||||
@@ -186,14 +188,12 @@ export function createContextMenu () {
|
||||
} else {
|
||||
miniWindow.setPosition(width - 100, height - 100)
|
||||
}
|
||||
miniWindow.on('close', () => {
|
||||
const setPositionFunc = () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
miniWindow.on('move', () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
}
|
||||
miniWindow.on('close', setPositionFunc)
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
}
|
||||
@@ -225,7 +225,7 @@ export function createContextMenu () {
|
||||
label: T('OPEN_MINI_WINDOW'),
|
||||
click () {
|
||||
const miniWindow = windowManager.get(IWindowList.MINI_WINDOW)!
|
||||
|
||||
miniWindow.removeAllListeners()
|
||||
if (db.get('settings.miniWindowOntop')) {
|
||||
miniWindow.setAlwaysOnTop(true)
|
||||
}
|
||||
@@ -236,14 +236,12 @@ export function createContextMenu () {
|
||||
} else {
|
||||
miniWindow.setPosition(width - 100, height - 100)
|
||||
}
|
||||
miniWindow.on('close', () => {
|
||||
const setPositionFunc = () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
miniWindow.on('move', () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
}
|
||||
miniWindow.on('close', setPositionFunc)
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
}
|
||||
@@ -266,6 +264,7 @@ export function createContextMenu () {
|
||||
click () {
|
||||
db.set('settings.isListeningClipboard', false)
|
||||
ClipboardWatcher.stopListening()
|
||||
ClipboardWatcher.removeAllListeners()
|
||||
createContextMenu()
|
||||
},
|
||||
enabled: isListeningClipboard
|
||||
|
||||
@@ -168,7 +168,7 @@ export default {
|
||||
ipcMain.on('openMiniWindow', () => {
|
||||
const miniWindow = windowManager.get(IWindowList.MINI_WINDOW)!
|
||||
const settingWindow = windowManager.get(IWindowList.SETTING_WINDOW)!
|
||||
|
||||
miniWindow.removeAllListeners()
|
||||
if (db.get('settings.miniWindowOntop')) {
|
||||
miniWindow.setAlwaysOnTop(true)
|
||||
}
|
||||
@@ -179,14 +179,12 @@ export default {
|
||||
} else {
|
||||
miniWindow.setPosition(width - 100, height - 100)
|
||||
}
|
||||
miniWindow.on('close', () => {
|
||||
const setPositionFunc = () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
miniWindow.on('move', () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
}
|
||||
miniWindow.on('close', setPositionFunc)
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
settingWindow.hide()
|
||||
|
||||
@@ -190,6 +190,7 @@ class LifeCycle {
|
||||
if (startMode === 'mini') {
|
||||
windowManager.create(IWindowList.MINI_WINDOW)
|
||||
const miniWindow = windowManager.get(IWindowList.MINI_WINDOW)!
|
||||
miniWindow.removeAllListeners()
|
||||
if (db.get('settings.miniWindowOntop')) {
|
||||
miniWindow.setAlwaysOnTop(true)
|
||||
}
|
||||
@@ -200,14 +201,12 @@ class LifeCycle {
|
||||
} else {
|
||||
miniWindow.setPosition(width - 100, height - 100)
|
||||
}
|
||||
miniWindow.on('close', () => {
|
||||
const setPositionFunc = () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
miniWindow.on('move', () => {
|
||||
const position = miniWindow.getPosition()
|
||||
db.set('settings.miniWindowPosition', position)
|
||||
})
|
||||
}
|
||||
miniWindow.on('close', setPositionFunc)
|
||||
miniWindow.on('move', setPositionFunc)
|
||||
miniWindow.show()
|
||||
miniWindow.focus()
|
||||
} else if (startMode === 'main') {
|
||||
@@ -269,8 +268,6 @@ class LifeCycle {
|
||||
globalShortcut.unregisterAll()
|
||||
bus.removeAllListeners()
|
||||
server.shutdown()
|
||||
const clipboardWatcher = process.platform === 'darwin' ? clipboardPoll : clipboardListener
|
||||
clipboardWatcher.stopListening()
|
||||
})
|
||||
// Exit cleanly on request from parent process in development mode.
|
||||
if (isDevelopment) {
|
||||
|
||||
@@ -13,7 +13,6 @@ class ClipboardWatcher extends EventEmitter {
|
||||
|
||||
startListening (watchDelay = 500) {
|
||||
this.stopListening()
|
||||
console.log('timer', this.timer)
|
||||
|
||||
const image = clipboard.readImage()
|
||||
if (!image.isEmpty()) {
|
||||
@@ -40,12 +39,10 @@ class ClipboardWatcher extends EventEmitter {
|
||||
this.lastImage = currentImage
|
||||
this.emit('change', currentImage)
|
||||
}, watchDelay)
|
||||
console.log('start timer', this.timer)
|
||||
}
|
||||
|
||||
stopListening () {
|
||||
if (this.timer) {
|
||||
console.log('stop timer')
|
||||
clearInterval(this.timer)
|
||||
this.timer = null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user