aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-09-23 01:34:07 +0800
committerobscuren <geffobscura@gmail.com>2014-09-23 01:34:07 +0800
commit9ac4e23b662cad275d2cbb8350708ca26e002be9 (patch)
treea6e71cdafb18f011c2472d4792075173c132bee6
parentb4bd70c402e75f933e694e9f9df14912df468e69 (diff)
parentc7d666ad61a76e79867c9f7ae783a2cc44485dd0 (diff)
downloaddexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar.gz
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar.bz2
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar.lz
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar.xz
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.tar.zst
dexon-9ac4e23b662cad275d2cbb8350708ca26e002be9.zip
Merge branch 'release/0.6.5' into develop
-rw-r--r--mist/assets/qml/views/chain.qml2
-rw-r--r--mist/assets/qml/views/jeffcoin/jeff.pngbin0 -> 84076 bytes
-rw-r--r--mist/assets/qml/views/jeffcoin/jeffcoin.qml184
-rw-r--r--mist/assets/qml/wallet.qml27
-rw-r--r--mist/gui.go2
-rw-r--r--mist/main.go2
6 files changed, 203 insertions, 14 deletions
diff --git a/mist/assets/qml/views/chain.qml b/mist/assets/qml/views/chain.qml
index 5bfc4b6c7..130ff8bb9 100644
--- a/mist/assets/qml/views/chain.qml
+++ b/mist/assets/qml/views/chain.qml
@@ -248,7 +248,7 @@ Rectangle {
for(var i = 0; i < block.txs.length; i++) {
transactionModel.insert(0, block.txs.get(i))
}
- if(block.txs.get(0).data){
+ if(block.txs.length > 0 && block.txs.get(0).data){
popup.showContractData(block.txs.get(0))
}
}
diff --git a/mist/assets/qml/views/jeffcoin/jeff.png b/mist/assets/qml/views/jeffcoin/jeff.png
new file mode 100644
index 000000000..2b9c6651a
--- /dev/null
+++ b/mist/assets/qml/views/jeffcoin/jeff.png
Binary files differ
diff --git a/mist/assets/qml/views/jeffcoin/jeffcoin.qml b/mist/assets/qml/views/jeffcoin/jeffcoin.qml
new file mode 100644
index 000000000..6a57791a7
--- /dev/null
+++ b/mist/assets/qml/views/jeffcoin/jeffcoin.qml
@@ -0,0 +1,184 @@
+import QtQuick 2.0
+import QtQuick.Controls 1.0;
+import QtQuick.Layouts 1.0;
+import QtQuick.Dialogs 1.0;
+import QtQuick.Window 2.1;
+import QtQuick.Controls.Styles 1.1
+
+Rectangle {
+ id: root
+ property var title: "JeffCoin"
+ property var iconSource: "./views/jeffcoin/jeff.png"
+ property var menuItem
+ property var filter
+ property var address: "fc0a9436890478bb9b1c6ed7455c2535366f4a99"
+
+ function insertTx(message, blockNumber) {
+ if(!message) return;
+
+ var from = message.from
+ var to = message.input.substr(24, 40)
+ var value = eth.fromNumber(message.input.substr(64, 64))
+
+ var me = eth.key().address;
+ if((to == me|| from == me) && message.input.length == 128) {
+ txModel.insert(0, {confirmations: blockNumber - message.number, from: from, to: to, value: value})
+ }
+ }
+
+ function setBalance() {
+ var jeffCoinAmount = eth.fromNumber(eth.storageAt(address, eth.key().address)) + " JΞF"
+ menuItem.secondaryTitle = jeffCoinAmount
+
+ balance.text = "<b>Balance</b>: " + jeffCoinAmount;
+ }
+
+ function onReady() {
+ setBalance()
+
+ filter = new ethx.watch({latest: -1, to: address})
+ filter.changed(function(messages) {
+ setBalance()
+
+ var blockNumber = eth.block(-1).number;
+ for(var i = 0; i < messages.length; i++) {
+ insertTx(messages.get(i), blockNumber);
+ }
+ });
+
+ var blockNumber = eth.block(-1).number;
+ var messages = filter.messages()
+ for(var i = messages.length-1; i >= 0; i--) {
+ var message = messages.get(i)
+
+ insertTx(message, blockNumber)
+ }
+
+ var chainChanged = ethx.watch("chain")
+ chainChanged.changed(function() {
+ for(var i = 0; i < txModel.count; i++) {
+ var entry = txModel.get(i);
+ entry.confirmations++;
+ }
+ });
+ }
+
+ function onDestroy() {
+ filter.uninstall()
+ }
+
+ ColumnLayout {
+ spacing: 10
+ y: 40
+ anchors.fill: parent
+
+ Text {
+ id: balance
+ text: "<b>Balance</b>: " + eth.fromNumber(eth.storageAt(address, eth.key().address)) + " JΞF"
+ font.pixelSize: 24
+ anchors {
+ horizontalCenter: parent.horizontalCenter
+ top: parent.top
+ topMargin: 20
+ }
+ }
+
+ Rectangle {
+ id: newTxPane
+ color: "#ececec"
+ border.color: "#cccccc"
+ border.width: 1
+ anchors {
+ top: balance.bottom
+ topMargin: 10
+ left: parent.left
+ leftMargin: 5
+ right: parent.right
+ rightMargin: 5
+ }
+ height: 100
+
+ RowLayout {
+ id: amountFields
+ spacing: 10
+ anchors {
+ top: parent.top
+ topMargin: 20
+ left: parent.left
+ leftMargin: 20
+ }
+
+ Text {
+ text: "JΞF "
+ }
+
+ // There's something off with the row layout where textfields won't listen to the width setting
+ Rectangle {
+ width: 50
+ height: 20
+ TextField {
+ id: txValue
+ width: parent.width
+ placeholderText: "0.00"
+ }
+ }
+ }
+
+ RowLayout {
+ id: toFields
+ spacing: 10
+ anchors {
+ top: amountFields.bottom
+ topMargin: 5
+ left: parent.left
+ leftMargin: 20
+ }
+
+ Text {
+ text: "To"
+ }
+
+ Rectangle {
+ width: 200
+ height: 20
+ TextField {
+ id: txTo
+ width: parent.width
+ placeholderText: "Address or name"
+ }
+ }
+
+ Button {
+ text: "Send"
+ onClicked: {
+ eth.transact({from: eth.key().privateKey, to:address, gas: "9000", gasPrice: "100000000000", data: ["0x"+txTo.text, txValue.text]})
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ anchors {
+ left: parent.left
+ right: parent.right
+ top: newTxPane.bottom
+ topMargin: 10
+ bottom: parent.bottom
+ }
+ TableView {
+ id: txTableView
+ anchors.fill : parent
+ TableViewColumn{ role: "value" ; title: "Amount" ; width: 100 }
+ TableViewColumn{ role: "from" ; title: "From" ; width: 280 }
+ TableViewColumn{ role: "to" ; title: "To" ; width: 280 }
+ TableViewColumn{ role: "confirmations" ; title: "Confirmations" ; width: 100 }
+
+ model: ListModel {
+ id: txModel
+ Component.onCompleted: {
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/mist/assets/qml/wallet.qml b/mist/assets/qml/wallet.qml
index c4379cd47..24191eae8 100644
--- a/mist/assets/qml/wallet.qml
+++ b/mist/assets/qml/wallet.qml
@@ -16,8 +16,8 @@ ApplicationWindow {
property var ethx : Eth.ethx
property var web
- width: 1024
- height: 750
+ width: 1200
+ height: 820
minimumHeight: 300
title: "Mist"
@@ -45,8 +45,9 @@ ApplicationWindow {
// Takes care of loading all default plugins
Component.onCompleted: {
- addPlugin("./views/wallet.qml", {noAdd: true, close: false, section: "ethereum", active: true});
- root.web = addPlugin("./webapp.qml", {noAdd: true, close: false, section: "ethereum", active: true});
+ var wallet = addPlugin("./views/wallet.qml", {noAdd: true, close: false, section: "ethereum", active: true});
+ var browser = addPlugin("./webapp.qml", {noAdd: true, close: false, section: "ethereum", active: true});
+ root.web = browser.view;
addPlugin("./views/transaction.qml", {noAdd: true, close: false, section: "legacy"});
addPlugin("./views/chain.qml", {noAdd: true, close: false, section: "legacy"});
@@ -54,6 +55,10 @@ ApplicationWindow {
addPlugin("./views/pending_tx.qml", {noAdd: true, close: false, section: "legacy"});
addPlugin("./views/javascript.qml", {noAdd: true, close: false, section: "legacy"});
+ addPlugin("./views/jeffcoin/jeffcoin.qml", {noAdd: true, close: false, section: "apps"})
+
+ mainSplit.setView(wallet.view, wallet.menuItem);
+
// Call the ready handler
gui.done();
}
@@ -97,7 +102,7 @@ ApplicationWindow {
var view = mainView.createView(component, options)
var views = addViews(view, path, options)
- return views.view
+ return views
} catch(e) {
ethx.note(e)
}
@@ -374,8 +379,8 @@ ApplicationWindow {
********************/
Rectangle {
id: menu
- Layout.minimumWidth: 180
- Layout.maximumWidth: 180
+ Layout.minimumWidth: 210
+ Layout.maximumWidth: 210
anchors.top: parent.top
color: "#ececec"
@@ -394,7 +399,7 @@ ApplicationWindow {
sel.visible = on
}
- width: 176
+ width: 206
height: 28
color: "#00000000"
@@ -801,9 +806,9 @@ ApplicationWindow {
anchors.left: aboutIcon.right
anchors.leftMargin: 10
anchors.top: parent.top
- anchors.topMargin: 40
+ anchors.topMargin: 30
font.pointSize: 12
- text: "<h2>Mist - Amalthea</h2><br><h3>Development</h3>Jeffrey Wilcke<br>Viktor Trón<br>"
+ text: "<h2>Mist (0.6.5)</h2><h4>Amalthea</h4><br><h3>Development</h3>Jeffrey Wilcke<br>Viktor Trón<br><h3>Building</h3>Maran Hidskes"
}
}
@@ -867,7 +872,7 @@ ApplicationWindow {
pastPeers.append({text: ips.get(i)})
}
- pastPeers.insert(0, {text: "54.76.56.74:30303"})
+ pastPeers.insert(0, {text: "poc-6.ethdev.com:30303"})
}
}
diff --git a/mist/gui.go b/mist/gui.go
index 538719703..f80e46761 100644
--- a/mist/gui.go
+++ b/mist/gui.go
@@ -491,7 +491,7 @@ func (gui *Gui) setStatsPane() {
runtime.ReadMemStats(&memStats)
statsPane := gui.getObjectByName("statsPane")
- statsPane.Set("text", fmt.Sprintf(`###### Mist 0.6.4 (%s) #######
+ statsPane.Set("text", fmt.Sprintf(`###### Mist 0.6.5 (%s) #######
eth %d (p2p = %d)
diff --git a/mist/main.go b/mist/main.go
index 6e4554352..747616f8f 100644
--- a/mist/main.go
+++ b/mist/main.go
@@ -12,7 +12,7 @@ import (
const (
ClientIdentifier = "Mist"
- Version = "0.6.7"
+ Version = "0.6.5"
)
var ethereum *eth.Ethereum