diff --git a/src/web-chatview/chatview.js b/src/web-chatview/chatview.js index e0b4d573cbb5798d5f9ad043ae6e5d1f5b283d66..d13ee9bd7d574eadb45c715d066c1878d8149ef4 100644 --- a/src/web-chatview/chatview.js +++ b/src/web-chatview/chatview.js @@ -119,6 +119,11 @@ if (use_qt) { } new QWebChannel(qt.webChannelTransport, function (channel) { window.jsbridge = channel.objects.jsbridge + + // connect to a signal + window.jsbridge.setSendMessageContentRequest.connect(function(content) { + setSendMessageContent(content) + }); }) } @@ -2457,15 +2462,21 @@ function setCaretPosition(elem, caretPos) { } } -function replaceText(text) { - var input = messageBarInput - var currentContent = input.value - var start = input.selectionStart - var end = input.selectionEnd - var output = [currentContent.slice(0, start), text, currentContent.slice(end)].join("") - input.value = output - setCaretPosition(input, start + text.length) - grow_text_area() +function replaceText() { + navigator.clipboard.readText() + .then(text => { + var input = messageBarInput + var currentContent = input.value + var start = input.selectionStart + var end = input.selectionEnd + var output = [currentContent.slice(0, start), text, currentContent.slice(end)].join("") + input.value = output + setCaretPosition(input, start + text.length) + grow_text_area() + }) + .catch(err => { + console.error('Failed to read clipboard contents: ', err) + }) } /**