diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py
index 678e90163..e7218b54f 100644
--- a/ankiqt/ui/main.py
+++ b/ankiqt/ui/main.py
@@ -222,6 +222,7 @@ Please do not file a bug report with Anki.
""")
if 'state' != 'noDeck' and state != 'editCurrentFact':
self.switchToReviewScreen()
if state == "noDeck":
+ self.deck = None
self.switchToWelcomeScreen()
self.help.hide()
self.currentCard = None
@@ -1606,13 +1607,11 @@ day = :d""", d=yesterday)
name = ui.sync.DeckChooser(self, decks, create).getName()
self.syncName = name
if name:
- if name == self.syncName:
- self.syncDeck(create=True, interactive=False)
- else:
- self.syncDeck(interactive=False)
+ # name chosen
+ onlyMerge = self.loadAfterSync == 2
+ self.syncDeck(create=True, interactive=False, onlyMerge=onlyMerge)
else:
if not create:
- # called via 'new' - close
self.cleanNewDeck()
else:
self.syncFinished()
diff --git a/ankiqt/ui/sync.py b/ankiqt/ui/sync.py
index acd5478b8..fe48b7fe8 100644
--- a/ankiqt/ui/sync.py
+++ b/ankiqt/ui/sync.py
@@ -49,10 +49,10 @@ class Sync(QThread):
msg=_("Please double-check your username/password.")
elif error.data.get('status') == "oldVersion":
msg=_("The sync protocol has changed. Please upgrade.")
- elif error.data.get('type') == "noResponse":
- msg=_("Server is down or operation failed.")
else:
- msg=_("Unknown error: %s") % `error.data`
+ msg=_("""\
+Syncing failed. Please try again in a few minutes.
+If the problem persists, please report it on the forum.""")
return msg
def connect(self, *args):
@@ -153,14 +153,14 @@ class Sync(QThread):
time.sleep(0.25)
self.emit(SIGNAL("syncFinished"))
except Exception, e:
- traceback.print_exc()
+ self.ok = False
+ #traceback.print_exc()
self.deck.close()
# cheap hack to ensure message is displayed
err = `getattr(e, 'data', None) or e`
self.setStatus(_("Syncing failed: %(a)s") % {
'a': err})
- time.sleep(3)
- self.emit(SIGNAL("syncFinished"))
+ self.error(e)
def doBulkDownload(self, deckname):
self.emit(SIGNAL("openSyncProgress"))