From 6ecbbe4006b8d1c5b40e3b268cd78a6b57605018 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Wed, 24 Sep 2014 19:57:22 +0200
Subject: 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()
-
 			}
 		}
 	}()
-- 
cgit v1.2.3


From 96fd1ce270b7e6ab98497b612c3c3dce39670fcc Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Wed, 24 Sep 2014 20:04:14 +0200
Subject: 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
-- 
cgit v1.2.3


From 1cb12296f6a0107acd0ed18b28c1d5e414c10bcf Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Wed, 24 Sep 2014 20:40:18 +0200
Subject: 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()
-- 
cgit v1.2.3