@@ -266,14 +266,18 @@ func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
266
266
func (gui * Gui ) update () {
267
267
reactor := gui .eth .Reactor ()
268
268
269
- blockChan := make (chan ethutil.React , 1 )
270
- txChan := make (chan ethutil.React , 1 )
271
- objectChan := make (chan ethutil.React , 1 )
272
- peerChan := make (chan ethutil.React , 1 )
269
+ var (
270
+ blockChan = make (chan ethutil.React , 1 )
271
+ txChan = make (chan ethutil.React , 1 )
272
+ objectChan = make (chan ethutil.React , 1 )
273
+ peerChan = make (chan ethutil.React , 1 )
274
+ chainSyncChan = make (chan ethutil.React , 1 )
275
+ )
273
276
274
277
reactor .Subscribe ("newBlock" , blockChan )
275
278
reactor .Subscribe ("newTx:pre" , txChan )
276
279
reactor .Subscribe ("newTx:post" , txChan )
280
+ reactor .Subscribe ("chainSync" , chainSyncChan )
277
281
278
282
nameReg := ethpub .EthereumConfig (gui .eth .StateManager ()).NameReg ()
279
283
if nameReg != nil {
@@ -287,6 +291,7 @@ func (gui *Gui) update() {
287
291
288
292
unconfirmedFunds := new (big.Int )
289
293
gui .win .Root ().Call ("setWalletValue" , fmt .Sprintf ("%v" , ethutil .CurrencyToString (state .GetAccount (gui .address ()).Amount )))
294
+ gui .win .Root ().ObjectByName ("syncProgressIndicator" ).Set ("visible" , ! gui .eth .IsUpToDate ())
290
295
291
296
for {
292
297
select {
@@ -328,6 +333,10 @@ func (gui *Gui) update() {
328
333
329
334
state .UpdateStateObject (object )
330
335
}
336
+ case msg := <- chainSyncChan :
337
+ sync := msg .Resource .(bool )
338
+ gui .win .Root ().ObjectByName ("syncProgressIndicator" ).Set ("visible" , sync )
339
+
331
340
case <- objectChan :
332
341
gui .loadAddressBook ()
333
342
case <- peerChan :
0 commit comments