Cut, Copy, Undo and Redo working in webview

This commit is contained in:
Alexandre Van de Sande 2015-02-17 17:37:26 +01:00
parent abb9b7f46f
commit 0e2f6691bf
3 changed files with 20 additions and 18 deletions

View File

@ -27,9 +27,14 @@ document.onkeydown = function(evt) {
} else if (evt.ctrlKey && evt.keyCode == 88) { } else if (evt.ctrlKey && evt.keyCode == 88) {
window.document.execCommand("cut"); window.document.execCommand("cut");
console.log("Ctrl-X"); console.log("Ctrl-X");
} if (evt.ctrlKey && evt.keyCode == 86) { } else if (evt.ctrlKey && evt.keyCode == 86) {
window.document.execCommand("paste");
console.log("Ctrl-V"); console.log("Ctrl-V");
} if (evt.ctrlKey && evt.keyCode == 90) { } else if (evt.ctrlKey && evt.keyCode == 90) {
window.document.execCommand("undo");
console.log("Ctrl-Z");
} else if (evt.ctrlKey && evt.shiftKey && evt.keyCode == 90) {
window.document.execCommand("redo");
console.log("Ctrl-Z"); console.log("Ctrl-Z");
} }
}; };

View File

@ -3,7 +3,7 @@ import QtQuick.Controls 1.0;
import QtQuick.Controls.Styles 1.0 import QtQuick.Controls.Styles 1.0
import QtQuick.Layouts 1.0; import QtQuick.Layouts 1.0;
import QtWebEngine 1.0 import QtWebEngine 1.0
//import QtWebEngine.experimental 1.0 import QtWebEngine.experimental 1.0
import QtQuick.Window 2.0; import QtQuick.Window 2.0;
Rectangle { Rectangle {
@ -340,7 +340,7 @@ Rectangle {
WebEngineView { WebEngineView {
objectName: "webView" objectName: "webView"
id: webview id: webview
//experimental.settings.javascriptCanAccessClipboard: true experimental.settings.javascriptCanAccessClipboard: true
//experimental.settings.localContentCanAccessRemoteUrls: true //experimental.settings.localContentCanAccessRemoteUrls: true
anchors { anchors {
left: parent.left left: parent.left
@ -399,7 +399,8 @@ Rectangle {
onLoadingChanged: { onLoadingChanged: {
if (loadRequest.status == WebEngineView.LoadSucceededStatus) { if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
webview.runJavaScript("document.title", function(pageTitle) {
webview.runJavaScript("document.title", function(pageTitle) {
menuItem.title = pageTitle; menuItem.title = pageTitle;
}); });
@ -441,7 +442,8 @@ Rectangle {
webview.runJavaScript(eth.readFile("bignumber.min.js")); webview.runJavaScript(eth.readFile("bignumber.min.js"));
webview.runJavaScript(eth.readFile("ethereum.js/dist/ethereum.js")); webview.runJavaScript(eth.readFile("ethereum.js/dist/ethereum.js"));
webview.runJavaScript(eth.readFile("mist.js"));
var cleanTitle = webview.url.toString() var cleanTitle = webview.url.toString()
var matches = cleanTitle.match(/^[a-z]*\:\/\/([^\/?#]+)(?:[\/?#]|$)/i); var matches = cleanTitle.match(/^[a-z]*\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
var domain = matches && matches[1]; var domain = matches && matches[1];

View File

@ -3,7 +3,7 @@ import QtQuick.Controls 1.0;
import QtQuick.Controls.Styles 1.0 import QtQuick.Controls.Styles 1.0
import QtQuick.Layouts 1.0; import QtQuick.Layouts 1.0;
import QtWebEngine 1.0 import QtWebEngine 1.0
//import QtWebEngine.experimental 1.0 import QtWebEngine.experimental 1.0
import QtQuick.Window 2.0; import QtQuick.Window 2.0;
@ -21,8 +21,6 @@ Rectangle {
property alias windowTitle: webview.title property alias windowTitle: webview.title
property alias webView: webview property alias webView: webview
property var cleanPath: false property var cleanPath: false
property var open: function(url) { property var open: function(url) {
if(!window.cleanPath) { if(!window.cleanPath) {
@ -66,9 +64,6 @@ Rectangle {
} }
} }
Component.onCompleted: {
}
Item { Item {
objectName: "root" objectName: "root"
id: root id: root
@ -85,7 +80,7 @@ Rectangle {
property var domain: "ethereum-dapp-catalog.meteor.com" property var domain: "ethereum-dapp-catalog.meteor.com"
url: protocol + domain url: protocol + domain
//experimental.settings.javascriptCanAccessClipboard: true experimental.settings.javascriptCanAccessClipboard: true
onJavaScriptConsoleMessage: { onJavaScriptConsoleMessage: {
@ -112,11 +107,11 @@ Rectangle {
} }
} }
// onLoadingChanged: { onLoadingChanged: {
// if (loadRequest.status == WebEngineView.LoadSucceededStatus) { if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
// webview.runJavaScript(eth.readFile("mist.js")); webview.runJavaScript(eth.readFile("mist.js"));
// } }
// } }
} }