aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethereal/assets/qml/views/chain.qml7
-rw-r--r--ethereal/assets/qml/views/info.qml41
-rw-r--r--ethereal/assets/qml/wallet.qml11
-rw-r--r--ethereal/gui.go5
4 files changed, 64 insertions, 0 deletions
diff --git a/ethereal/assets/qml/views/chain.qml b/ethereal/assets/qml/views/chain.qml
index 270018eb2..9fbc02954 100644
--- a/ethereal/assets/qml/views/chain.qml
+++ b/ethereal/assets/qml/views/chain.qml
@@ -74,6 +74,13 @@ Rectangle {
MenuSeparator{}
MenuItem {
+ text: "Copy"
+ onTriggered: {
+ copyToClipboard(blockModel.get(this.row).hash)
+ }
+ }
+
+ MenuItem {
text: "Dump State"
onTriggered: {
generalFileDialog.show(false, function(path) {
diff --git a/ethereal/assets/qml/views/info.qml b/ethereal/assets/qml/views/info.qml
index 3335a306a..60b6a62ec 100644
--- a/ethereal/assets/qml/views/info.qml
+++ b/ethereal/assets/qml/views/info.qml
@@ -57,6 +57,47 @@ Rectangle {
TableViewColumn{ role: "address"; title: "address"; width: 300}
model: addressModel
+ itemDelegate: Item {
+ Text {
+ anchors {
+ left: parent.left
+ right: parent.right
+ leftMargin: 10
+ verticalCenter: parent.verticalCenter
+ }
+ color: styleData.textColor
+ elide: styleData.elideMode
+ text: styleData.value
+ font.pixelSize: 11
+ MouseArea {
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ propagateComposedEvents: true
+ anchors.fill: parent
+ onClicked: {
+ addressView.selection.clear()
+ addressView.selection.select(styleData.row)
+
+ if(mouse.button == Qt.RightButton) {
+ contextMenu.row = styleData.row;
+ contextMenu.popup()
+ }
+ }
+ }
+ }
+
+ }
+
+ Menu {
+ id: contextMenu
+ property var row;
+
+ MenuItem {
+ text: "Copy"
+ onTriggered: {
+ copyToClipboard(addressModel.get(this.row).address)
+ }
+ }
+ }
}
property var logModel: ListModel {
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index 30e1071f7..45514f7c1 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -17,6 +17,17 @@ ApplicationWindow {
title: "Ethereal"
+ TextField {
+ id: copyElementHax
+ visible: false
+ }
+
+ function copyToClipboard(text) {
+ copyElementHax.text = text
+ copyElementHax.selectAll()
+ copyElementHax.copy()
+ }
+
// Takes care of loading all default plugins
Component.onCompleted: {
var historyView = addPlugin("./views/history.qml", {title: "History"})
diff --git a/ethereal/gui.go b/ethereal/gui.go
index 6149b39b7..7a36a8b02 100644
--- a/ethereal/gui.go
+++ b/ethereal/gui.go
@@ -482,6 +482,11 @@ func (gui *Gui) update() {
reactor.Subscribe("peerList", peerChan)
}
+func (gui *Gui) CopyToClipboard(data string) {
+ //clipboard.WriteAll("test")
+ fmt.Println("COPY currently BUGGED. Here are the contents:\n", data)
+}
+
func (gui *Gui) setPeerInfo() {
gui.win.Root().Call("setPeers", fmt.Sprintf("%d / %d", gui.eth.PeerCount(), gui.eth.MaxPeers))