| 43 | 43 |
dropOnComplete bool
|
| 44 | 44 |
noPop bool
|
| 45 | 45 |
autoRefresh bool
|
|
46 |
manualRefresh bool
|
| 46 | 47 |
aDecorators []decor.Decorator
|
| 47 | 48 |
pDecorators []decor.Decorator
|
| 48 | 49 |
averageDecorators []decor.AverageDecorator
|
|
| 185 | 186 |
if s.current >= s.total {
|
| 186 | 187 |
s.current = s.total
|
| 187 | 188 |
s.completed = true
|
| 188 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
189 |
b.triggerCompletion(s)
|
| 189 | 190 |
} else {
|
| 190 | 191 |
s.triggerComplete = true
|
| 191 | 192 |
}
|
|
| 213 | 214 |
if triggerCompleteNow {
|
| 214 | 215 |
s.current = s.total
|
| 215 | 216 |
s.completed = true
|
| 216 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
217 |
b.triggerCompletion(s)
|
| 217 | 218 |
}
|
| 218 | 219 |
}:
|
| 219 | 220 |
case <-b.done:
|
|
| 231 | 232 |
if s.triggerComplete && s.current >= s.total {
|
| 232 | 233 |
s.current = s.total
|
| 233 | 234 |
s.completed = true
|
| 234 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
235 |
b.triggerCompletion(s)
|
| 235 | 236 |
}
|
| 236 | 237 |
}:
|
| 237 | 238 |
case <-b.done:
|
|
| 253 | 254 |
if s.triggerComplete && s.current >= s.total {
|
| 254 | 255 |
s.current = s.total
|
| 255 | 256 |
s.completed = true
|
| 256 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
257 |
b.triggerCompletion(s)
|
| 257 | 258 |
}
|
| 258 | 259 |
}:
|
| 259 | 260 |
case <-b.done:
|
|
| 281 | 282 |
if s.triggerComplete && s.current >= s.total {
|
| 282 | 283 |
s.current = s.total
|
| 283 | 284 |
s.completed = true
|
| 284 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
285 |
b.triggerCompletion(s)
|
| 285 | 286 |
}
|
| 286 | 287 |
}:
|
| 287 | 288 |
case <-b.done:
|
|
| 311 | 312 |
if s.triggerComplete && s.current >= s.total {
|
| 312 | 313 |
s.current = s.total
|
| 313 | 314 |
s.completed = true
|
| 314 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
315 |
b.triggerCompletion(s)
|
| 315 | 316 |
}
|
| 316 | 317 |
}:
|
| 317 | 318 |
case <-b.done:
|
|
| 349 | 350 |
}
|
| 350 | 351 |
s.aborted = true
|
| 351 | 352 |
s.dropOnComplete = drop
|
| 352 | |
b.triggerCompletion(s.autoRefresh, s.refreshCh)
|
|
353 |
b.triggerCompletion(s)
|
| 353 | 354 |
}:
|
| 354 | 355 |
case <-b.done:
|
| 355 | 356 |
}
|
|
| 448 | 449 |
}
|
| 449 | 450 |
}
|
| 450 | 451 |
|
| 451 | |
func (b *Bar) triggerCompletion(autoRefresh bool, refreshCh chan<- time.Time) {
|
| 452 | |
if autoRefresh {
|
|
452 |
func (b *Bar) triggerCompletion(s *bState) {
|
|
453 |
if s.autoRefresh {
|
| 453 | 454 |
// Technically this call isn't required, but if refresh rate is set to
|
| 454 | 455 |
// one hour for example and bar completes within a few minutes p.Wait()
|
| 455 | 456 |
// will wait for one hour. This call helps to avoid unnecessary waiting.
|
| 456 | |
go b.tryEarlyRefresh(refreshCh)
|
| 457 | |
} else {
|
|
457 |
go b.tryEarlyRefresh(s.refreshCh)
|
|
458 |
} else if !s.manualRefresh {
|
| 458 | 459 |
b.cancel()
|
| 459 | 460 |
}
|
| 460 | 461 |
}
|