aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal/assets
diff options
context:
space:
mode:
authorMaran <maran.hidskes@gmail.com>2014-06-23 22:25:57 +0800
committerMaran <maran.hidskes@gmail.com>2014-06-23 22:25:57 +0800
commitf6aabb7a90903a681eca44976301620756124137 (patch)
tree0acabc8ce58d13ffa4939e54b36f6a3e45308772 /ethereal/assets
parent2408e38218d81c567bdaa4671a542a20c55490b9 (diff)
downloaddexon-f6aabb7a90903a681eca44976301620756124137.tar.gz
dexon-f6aabb7a90903a681eca44976301620756124137.tar.zst
dexon-f6aabb7a90903a681eca44976301620756124137.zip
Implements QML Apps. Implements #47
You are welcome Stephan.
Diffstat (limited to 'ethereal/assets')
-rw-r--r--ethereal/assets/qml/QmlApp.qml22
-rw-r--r--ethereal/assets/qml/test_app.qml81
-rw-r--r--ethereal/assets/qml/wallet.qml10
3 files changed, 89 insertions, 24 deletions
diff --git a/ethereal/assets/qml/QmlApp.qml b/ethereal/assets/qml/QmlApp.qml
new file mode 100644
index 000000000..f5c503f4c
--- /dev/null
+++ b/ethereal/assets/qml/QmlApp.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+import QtQuick.Controls 1.0;
+import QtQuick.Layouts 1.0;
+import Ethereum 1.0
+
+ApplicationWindow {
+ minimumWidth: 500
+ maximumWidth: 500
+ maximumHeight: 400
+ minimumHeight: 400
+
+ function onNewBlockCb(block) {
+ console.log("Please overwrite onNewBlock(block):", block)
+ }
+ function onObjectChangeCb(stateObject) {
+ console.log("Please overwrite onObjectChangeCb(object)", stateObject)
+ }
+ function onStorageChangeCb(storageObject) {
+ var ev = ["storage", storageObject.stateAddress, storageObject.address].join(":");
+ console.log("Please overwrite onStorageChangeCb(object)", ev)
+ }
+}
diff --git a/ethereal/assets/qml/test_app.qml b/ethereal/assets/qml/test_app.qml
index aace4e881..c69587839 100644
--- a/ethereal/assets/qml/test_app.qml
+++ b/ethereal/assets/qml/test_app.qml
@@ -3,33 +3,68 @@ import QtQuick.Controls 1.0;
import QtQuick.Layouts 1.0;
import Ethereum 1.0
-ApplicationWindow {
- minimumWidth: 500
- maximumWidth: 500
- maximumHeight: 100
- minimumHeight: 100
+QmlApp {
+ minimumWidth: 350
+ maximumWidth: 350
+ maximumHeight: 80
+ minimumHeight: 80
- title: "Ethereum Dice"
+ title: "Generic Coin"
- TextField {
- id: textField
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- placeholderText: "Amount"
+ property string contractAddr: "f299f6c74515620e4c4cd8fe3d205b5c4f2e25c8"
+ property string addr: "2ef47100e0787b915105fd5e3f4ff6752079d5cb"
+
+ Component.onCompleted: {
+ eth.watch(contractAddr, addr)
+ eth.watch(addr, contractAddr)
+ setAmount()
+ }
+
+ function onStorageChangeCb(storageObject) {
+ setAmount()
}
- Label {
- id: txHash
- anchors.bottom: textField.top
- anchors.bottomMargin: 5
- anchors.horizontalCenter: parent.horizontalCenter
+
+ function setAmount(){
+ var state = eth.getStateObject(contractAddr)
+ var storage = state.getStorage(addr)
+ amountLabel.text = storage
}
- Button {
- anchors.top: textField.bottom
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.topMargin: 5
- text: "Place bet"
- onClicked: {
- txHash.text = eth.createTx("e6716f9544a56c530d868e4bfbacb172315bdead", textField.text)
+ Column {
+ spacing: 5
+ Row {
+ spacing: 20
+ Label {
+ id: genLabel
+ text: "Generic coin balance:"
+ }
+ Label {
+ id: amountLabel
+ }
+ }
+ Row {
+ spacing: 20
+ TextField {
+ id: address
+ placeholderText: "Address"
+ }
+ TextField {
+ id: amount
+ placeholderText: "Amount"
+ }
+ }
+ Button {
+ text: "Send coins"
+ onClicked: {
+ var privKey = eth.getKey().privateKey
+ if(privKey){
+ var result = eth.transact(privKey, contractAddr, 0,"100000","250", "0x" + address.text + "\n" + amount.text)
+ resultTx.text = result.hash
+ }
+ }
+ }
+ Label {
+ id: resultTx
}
}
+
}
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index a7c03f6d1..454d0f3f0 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -372,7 +372,15 @@ ApplicationWindow {
onAccepted: {
//ui.open(openAppDialog.fileUrl.toString())
//ui.openHtml(Qt.resolvedUrl(ui.assetPath("test.html")))
- ui.openHtml(openAppDialog.fileUrl.toString())
+ var path = openAppDialog.fileUrl.toString()
+ console.log(path)
+ var ext = path.split('.').pop()
+ console.log(ext)
+ if(ext == "html" || ext == "htm") {
+ ui.openHtml(path)
+ }else if(ext == "qml"){
+ ui.openQml(path)
+ }
}
}