Don't schedule summaries on all state changes

Prior to this change we schedule summaries on each state change, i.e.
scanning->idle and idle->scanning, which is unnecessary. Now we only do
it on index updates, plus the immediate one on going syncing->idle.
This commit is contained in:
Jakob Borg 2015-04-14 20:57:42 +09:00
parent 45cbcaca6d
commit 069e8cf122

View File

@ -66,7 +66,9 @@ func (c *folderSummarySvc) listenForUpdates() {
data := ev.Data.(map[string]interface{})
folder := data["folder"].(string)
if ev.Type == events.StateChanged && data["to"].(string) == "idle" && data["from"].(string) == "syncing" {
switch ev.Type {
case events.StateChanged:
if data["to"].(string) == "idle" && data["from"].(string) == "syncing" {
// The folder changed to idle from syncing. We should do an
// immediate refresh to update the GUI. The send to
// c.immediate must be nonblocking so that we can continue
@ -80,7 +82,9 @@ func (c *folderSummarySvc) listenForUpdates() {
default:
}
} else {
}
default:
// This folder needs to be refreshed whenever we do the next
// refresh.