Skip to content

Commit 07c3475

Browse files
committed
Merge pull request #335 from alexvandesande/ui
Cut, Copy, Undo and Redo working in webview
2 parents 4322632 + acd93c2 commit 07c3475

File tree

4 files changed

+26
-23
lines changed

4 files changed

+26
-23
lines changed

cmd/mist/assets/ext/mist.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,18 @@
2020
console.log("loaded?");
2121

2222
document.onkeydown = function(evt) {
23+
// This functions keeps track of keyboard inputs in order to allow copy, paste and other features
24+
2325
evt = evt || window.event;
2426
if (evt.ctrlKey && evt.keyCode == 67) {
2527
window.document.execCommand("copy");
26-
console.log("Ctrl-C");
2728
} else if (evt.ctrlKey && evt.keyCode == 88) {
2829
window.document.execCommand("cut");
29-
console.log("Ctrl-X");
30-
} if (evt.ctrlKey && evt.keyCode == 86) {
31-
console.log("Ctrl-V");
32-
} if (evt.ctrlKey && evt.keyCode == 90) {
33-
console.log("Ctrl-Z");
30+
} else if (evt.ctrlKey && evt.keyCode == 86) {
31+
window.document.execCommand("paste");
32+
} else if (evt.ctrlKey && evt.keyCode == 90) {
33+
window.document.execCommand("undo");
34+
} else if (evt.ctrlKey && evt.shiftKey && evt.keyCode == 90) {
35+
window.document.execCommand("redo");
3436
}
3537
};

cmd/mist/assets/qml/main.qml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,11 @@ ApplicationWindow {
131131
var existingDomain = matches && matches[1];
132132
if (requestedDomain == existingDomain) {
133133
domainAlreadyOpen = true;
134-
mainSplit.views[i].view.url = url;
134+
135+
if (mainSplit.views[i].view.url != url){
136+
mainSplit.views[i].view.url = url;
137+
}
138+
135139
activeView(mainSplit.views[i].view, mainSplit.views[i].menuItem);
136140
}
137141
}

cmd/mist/assets/qml/views/browser.qml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import QtQuick.Controls 1.0;
33
import QtQuick.Controls.Styles 1.0
44
import QtQuick.Layouts 1.0;
55
import QtWebEngine 1.0
6-
//import QtWebEngine.experimental 1.0
6+
import QtWebEngine.experimental 1.0
77
import QtQuick.Window 2.0;
88

99
Rectangle {
@@ -340,7 +340,7 @@ Rectangle {
340340
WebEngineView {
341341
objectName: "webView"
342342
id: webview
343-
//experimental.settings.javascriptCanAccessClipboard: true
343+
experimental.settings.javascriptCanAccessClipboard: true
344344
//experimental.settings.localContentCanAccessRemoteUrls: true
345345
anchors {
346346
left: parent.left
@@ -399,7 +399,8 @@ Rectangle {
399399

400400
onLoadingChanged: {
401401
if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
402-
webview.runJavaScript("document.title", function(pageTitle) {
402+
403+
webview.runJavaScript("document.title", function(pageTitle) {
403404
menuItem.title = pageTitle;
404405
});
405406

@@ -441,7 +442,8 @@ Rectangle {
441442

442443
webview.runJavaScript(eth.readFile("bignumber.min.js"));
443444
webview.runJavaScript(eth.readFile("ethereum.js/dist/ethereum.js"));
444-
445+
webview.runJavaScript(eth.readFile("mist.js"));
446+
445447
var cleanTitle = webview.url.toString()
446448
var matches = cleanTitle.match(/^[a-z]*\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
447449
var domain = matches && matches[1];

cmd/mist/assets/qml/views/catalog.qml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import QtQuick.Controls 1.0;
33
import QtQuick.Controls.Styles 1.0
44
import QtQuick.Layouts 1.0;
55
import QtWebEngine 1.0
6-
//import QtWebEngine.experimental 1.0
6+
import QtWebEngine.experimental 1.0
77
import QtQuick.Window 2.0;
88

99

@@ -21,8 +21,6 @@ Rectangle {
2121
property alias windowTitle: webview.title
2222
property alias webView: webview
2323

24-
25-
2624
property var cleanPath: false
2725
property var open: function(url) {
2826
if(!window.cleanPath) {
@@ -66,9 +64,6 @@ Rectangle {
6664
}
6765
}
6866

69-
Component.onCompleted: {
70-
}
71-
7267
Item {
7368
objectName: "root"
7469
id: root
@@ -85,7 +80,7 @@ Rectangle {
8580
property var domain: "ethereum-dapp-catalog.meteor.com"
8681
url: protocol + domain
8782

88-
//experimental.settings.javascriptCanAccessClipboard: true
83+
experimental.settings.javascriptCanAccessClipboard: true
8984

9085

9186
onJavaScriptConsoleMessage: {
@@ -112,11 +107,11 @@ Rectangle {
112107

113108
}
114109
}
115-
// onLoadingChanged: {
116-
// if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
117-
// webview.runJavaScript(eth.readFile("mist.js"));
118-
// }
119-
// }
110+
onLoadingChanged: {
111+
if (loadRequest.status == WebEngineView.LoadSucceededStatus) {
112+
webview.runJavaScript(eth.readFile("mist.js"));
113+
}
114+
}
120115
}
121116

122117

0 commit comments

Comments
 (0)