if no changes, display no changes only briefly

This commit is contained in:
Damien Elmes 2009-01-09 12:23:16 +09:00
parent 5fc7d08a4a
commit 0a015de0fa

View file

@ -93,6 +93,7 @@ class Sync(QThread):
# need to do anything?
start = time.time()
if client.prepareSync():
changes = True
# summary
self.setStatus(_("Fetching summary from server..."), 0)
sums = client.summaries()
@ -115,11 +116,14 @@ class Sync(QThread):
self.deck.s.flush()
self.deck.s.commit()
else:
changes = False
self.setStatus(_("No changes found."))
# check sources
srcChanged = False
if self.sourcesToCheck:
start = time.time()
self.setStatus(_("<br><br>Checking deck subscriptions..."))
srcChanged = False
for source in self.sourcesToCheck:
proxy.deckName = str(source)
msg = "%s:" % client.syncOneWayDeckName()
@ -129,6 +133,7 @@ class Sync(QThread):
if not client.prepareOneWaySync():
self.setStatus(_(" * %s no changes found.") % msg)
continue
srcChanged = True
self.setStatus(_(" * %s fetching payload...") % msg)
payload = proxy.genOneWayPayload(client.deck.lastSync)
self.setStatus(msg + _(" applied %d modified cards.") %
@ -142,8 +147,10 @@ class Sync(QThread):
# close and send signal to main thread
self.deck.close()
taken = time.time() - start
if taken < 2.5:
if changes or srcChanged and taken < 2.5:
time.sleep(2.5 - taken)
else:
time.sleep(0.25)
self.emit(SIGNAL("syncFinished"))
except Exception, e:
traceback.print_exc()