diff options
author | Maran <maran.hidskes@gmail.com> | 2014-06-23 22:25:57 +0800 |
---|---|---|
committer | Maran <maran.hidskes@gmail.com> | 2014-06-23 22:25:57 +0800 |
commit | f6aabb7a90903a681eca44976301620756124137 (patch) | |
tree | 0acabc8ce58d13ffa4939e54b36f6a3e45308772 /ethereal/assets | |
parent | 2408e38218d81c567bdaa4671a542a20c55490b9 (diff) | |
download | dexon-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.qml | 22 | ||||
-rw-r--r-- | ethereal/assets/qml/test_app.qml | 81 | ||||
-rw-r--r-- | ethereal/assets/qml/wallet.qml | 10 |
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) + } } } |