linux下粘贴, 多次. 原因:pasteImage会触发paste事件, 导致多次复制

https://github.com/leanote/desktop-app/issues/56
This commit is contained in:
life
2015-10-24 23:45:40 +08:00
parent b49a48b354
commit 682a694d64
2 changed files with 15 additions and 2 deletions

View File

@@ -435,6 +435,7 @@ function pasteImage(e) {
FileService.pasteImage2(dataUrl, function(url) { FileService.pasteImage2(dataUrl, function(url) {
insertImage(url); insertImage(url);
}); });
e && e.preventDefault();
} }
return; return;
@@ -1481,7 +1482,7 @@ function switchAccount() {
var win = new BrowserWindow({ width: 278, height: 326, show: true, frame: false, resizable: false }); var win = new BrowserWindow({ width: 278, height: 326, show: true, frame: false, resizable: false });
win.loadUrl('file://' + __dirname + '/login.html'); win.loadUrl('file://' + __dirname + '/login.html');
} else { } else {
var win = new BrowserWindow({ width: 278, height: 426, show: true, frame: true, resizable: false }); var win = new BrowserWindow({ width: 278, height: 400, show: true, frame: true, resizable: false });
win.loadUrl('file://' + __dirname + '/login.html'); win.loadUrl('file://' + __dirname + '/login.html');
} }
gui.getCurrentWindow().close(); gui.getCurrentWindow().close();

View File

@@ -523,11 +523,23 @@ define("tinymce/pasteplugin/Clipboard", [
document.body.appendChild(img); document.body.appendChild(img);
} }
var ever;
editor.on('paste', function(e) { editor.on('paste', function(e) {
if(inAcePrevent()) { if(inAcePrevent()) {
return; return;
} }
// start
// 以下只是linux需要
// -----
// 为什么要这个, 因为linux的原因, pasteImage会触发paste事件, 导致多次复制
if (ever && new Date().getTime() - ever < 100) {
e.preventDefault();
return;
}
ever = new Date().getTime();
// end
var clipboardContent = getClipboardContent(e); var clipboardContent = getClipboardContent(e);
var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp < 100; var isKeyBoardPaste = new Date().getTime() - keyboardPasteTimeStamp < 100;
var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState; var plainTextMode = self.pasteFormat == "text" || keyboardPastePlainTextState;
@@ -583,7 +595,7 @@ define("tinymce/pasteplugin/Clipboard", [
// paste image // paste image
try { try {
// common.js // common.js
pasteImage(); pasteImage(e);
return; return;
/* /*
if(pasteImage(e)) { if(pasteImage(e)) {