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