Download indicator

This commit is contained in:
obscuren 2014-09-24 19:57:22 +02:00
parent acfb5b85fb
commit 6ecbbe4006
2 changed files with 23 additions and 13 deletions

View File

@ -254,6 +254,7 @@ ApplicationWindow {
statusBar: StatusBar { statusBar: StatusBar {
height: 32 height: 32
id: statusBar
RowLayout { RowLayout {
Button { Button {
id: miningButton id: miningButton
@ -294,16 +295,16 @@ ApplicationWindow {
} }
ProgressBar { ProgressBar {
id: syncProgressIndicator id: downloadIndicator
visible: false value: 0
objectName: "syncProgressIndicator" visible: true
objectName: "downloadIndicator"
y: 3 y: 3
width: 140 x: statusBar.width / 2 - this.width / 2
indeterminate: true width: 160
anchors.right: peerGroup.left
anchors.rightMargin: 5
} }
RowLayout { RowLayout {
id: peerGroup id: peerGroup
y: 7 y: 7

View File

@ -385,14 +385,13 @@ func (gui *Gui) update() {
) )
peerUpdateTicker := time.NewTicker(5 * time.Second) peerUpdateTicker := time.NewTicker(5 * time.Second)
generalUpdateTicker := time.NewTicker(1 * time.Second) generalUpdateTicker := time.NewTicker(500 * time.Millisecond)
statsUpdateTicker := time.NewTicker(5 * time.Second) statsUpdateTicker := time.NewTicker(5 * time.Second)
state := gui.eth.StateManager().TransState() state := gui.eth.StateManager().TransState()
unconfirmedFunds := new(big.Int) unconfirmedFunds := new(big.Int)
gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(state.GetAccount(gui.address()).Balance))) 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") lastBlockLabel := gui.getObjectByName("lastBlockLabel")
miningLabel := gui.getObjectByName("miningLabel") miningLabel := gui.getObjectByName("miningLabel")
@ -439,9 +438,6 @@ func (gui *Gui) update() {
state.UpdateStateObject(object) state.UpdateStateObject(object)
} }
case msg := <-chainSyncChan:
sync := msg.Resource.(bool)
gui.win.Root().ObjectByName("syncProgressIndicator").Set("visible", sync)
case <-objectChan: case <-objectChan:
gui.loadAddressBook() gui.loadAddressBook()
@ -464,9 +460,22 @@ func (gui *Gui) update() {
miningLabel.Set("text", "Mining @ "+strconv.FormatInt(pow.GetHashrate(), 10)+"Khash") 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: case <-statsUpdateTicker.C:
gui.setStatsPane() gui.setStatsPane()
} }
} }
}() }()