From 6ecbbe4006b8d1c5b40e3b268cd78a6b57605018 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 24 Sep 2014 19:57:22 +0200 Subject: [PATCH 1/3] Download indicator --- mist/assets/qml/wallet.qml | 15 ++++++++------- mist/gui.go | 21 +++++++++++++++------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/mist/assets/qml/wallet.qml b/mist/assets/qml/wallet.qml index 6075b621b..885d09116 100644 --- a/mist/assets/qml/wallet.qml +++ b/mist/assets/qml/wallet.qml @@ -254,6 +254,7 @@ ApplicationWindow { statusBar: StatusBar { height: 32 + id: statusBar RowLayout { Button { id: miningButton @@ -294,16 +295,16 @@ ApplicationWindow { } ProgressBar { - id: syncProgressIndicator - visible: false - objectName: "syncProgressIndicator" + id: downloadIndicator + value: 0 + visible: true + objectName: "downloadIndicator" y: 3 - width: 140 - indeterminate: true - anchors.right: peerGroup.left - anchors.rightMargin: 5 + x: statusBar.width / 2 - this.width / 2 + width: 160 } + RowLayout { id: peerGroup y: 7 diff --git a/mist/gui.go b/mist/gui.go index f80e46761..299a441c0 100644 --- a/mist/gui.go +++ b/mist/gui.go @@ -385,14 +385,13 @@ func (gui *Gui) update() { ) peerUpdateTicker := time.NewTicker(5 * time.Second) - generalUpdateTicker := time.NewTicker(1 * time.Second) + generalUpdateTicker := time.NewTicker(500 * time.Millisecond) statsUpdateTicker := time.NewTicker(5 * time.Second) state := gui.eth.StateManager().TransState() unconfirmedFunds := new(big.Int) gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(state.GetAccount(gui.address()).Balance))) - gui.getObjectByName("syncProgressIndicator").Set("visible", !gui.eth.IsUpToDate()) lastBlockLabel := gui.getObjectByName("lastBlockLabel") miningLabel := gui.getObjectByName("miningLabel") @@ -439,9 +438,6 @@ func (gui *Gui) update() { state.UpdateStateObject(object) } - case msg := <-chainSyncChan: - sync := msg.Resource.(bool) - gui.win.Root().ObjectByName("syncProgressIndicator").Set("visible", sync) case <-objectChan: gui.loadAddressBook() @@ -464,9 +460,22 @@ func (gui *Gui) update() { miningLabel.Set("text", "Mining @ "+strconv.FormatInt(pow.GetHashrate(), 10)+"Khash") } + blockLength := gui.eth.BlockPool().BlocksProcessed + chainLength := gui.eth.BlockPool().ChainLength + + var ( + pct float64 = 1.0 / float64(chainLength) * float64(blockLength) + dlWidget = gui.win.Root().ObjectByName("downloadIndicator") + ) + if pct < 1.0 { + dlWidget.Set("visible", true) + dlWidget.Set("value", pct) + } else { + dlWidget.Set("visible", false) + } + case <-statsUpdateTicker.C: gui.setStatsPane() - } } }() From 96fd1ce270b7e6ab98497b612c3c3dce39670fcc Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 24 Sep 2014 20:04:14 +0200 Subject: [PATCH 2/3] Bump --- README.md | 2 +- ethereum/main.go | 2 +- mist/main.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8cdcfe2a6..85906d436 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Status](http://cpt-obvious.ethercasts.com:8010/buildstatusimage?builder=go-ether Ethereum Go Client © 2014 Jeffrey Wilcke. -Current state: Proof of Concept 0.6.5. +Current state: Proof of Concept 0.6.6. For the development package please see the [eth-go package](https://github.com/ethereum/eth-go). diff --git a/ethereum/main.go b/ethereum/main.go index df9737c1f..8cc043a4f 100644 --- a/ethereum/main.go +++ b/ethereum/main.go @@ -13,7 +13,7 @@ import ( const ( ClientIdentifier = "Ethereum(G)" - Version = "0.6.5" + Version = "0.6.6" ) var logger = ethlog.NewLogger("CLI") diff --git a/mist/main.go b/mist/main.go index 747616f8f..094246c1a 100644 --- a/mist/main.go +++ b/mist/main.go @@ -12,7 +12,7 @@ import ( const ( ClientIdentifier = "Mist" - Version = "0.6.5" + Version = "0.6.6" ) var ethereum *eth.Ethereum From 1cb12296f6a0107acd0ed18b28c1d5e414c10bcf Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 24 Sep 2014 20:40:18 +0200 Subject: [PATCH 3/3] Temp work around --- mist/assets/qml/views/jeffcoin/jeffcoin.qml | 6 +++--- mist/assets/qml/views/wallet.qml | 2 +- mist/ui_lib.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mist/assets/qml/views/jeffcoin/jeffcoin.qml b/mist/assets/qml/views/jeffcoin/jeffcoin.qml index dc8678d1c..6506b53b8 100644 --- a/mist/assets/qml/views/jeffcoin/jeffcoin.qml +++ b/mist/assets/qml/views/jeffcoin/jeffcoin.qml @@ -47,9 +47,9 @@ Rectangle { }); var blockNumber = eth.block(-1).number; - var messages = filter.messages() - for(var i = messages.length-1; i >= 0; i--) { - var message = messages.get(i) + var msgs = filter.messages() + for(var i = msgs.length-1; i >= 0; i--) { + var message = JSON.parse(msgs.getAsJson(i)) insertTx(message, blockNumber) } diff --git a/mist/assets/qml/views/wallet.qml b/mist/assets/qml/views/wallet.qml index fbe1dfd0e..a3a4a6e7c 100644 --- a/mist/assets/qml/views/wallet.qml +++ b/mist/assets/qml/views/wallet.qml @@ -151,7 +151,7 @@ Rectangle { model: ListModel { id: txModel Component.onCompleted: { - var filter = ethx.watch({latest: -1, from: eth.key().address}); + var filter = ethx.watch({latest: -1, from: eth.key().address}); filter.changed(addTxs) addTxs(filter.messages()) diff --git a/mist/ui_lib.go b/mist/ui_lib.go index e5ddd38c8..e1963aa86 100644 --- a/mist/ui_lib.go +++ b/mist/ui_lib.go @@ -188,9 +188,9 @@ func (self *UiLib) NewFilterString(typ string) int { func (self *UiLib) Messages(id int) *ethutil.List { filter := self.eth.GetFilter(id) if filter != nil { - messages := filter.Find() + messages := ethpipe.ToJSMessages(filter.Find()) - return ethpipe.ToJSMessages(messages) + return messages } return ethutil.EmptyList()