mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
close current deck only if user decides to download a new one
This commit is contained in:
parent
1899b3cca6
commit
fb0a7da397
2 changed files with 7 additions and 10 deletions
|
@ -31,7 +31,6 @@ class GetShared(QDialog):
|
|||
restoreGeom(self, "getshared")
|
||||
self.setupTable()
|
||||
self.onChangeType(type)
|
||||
self.ok = False
|
||||
if type == 0:
|
||||
self.setWindowTitle(_("Download Shared Deck"))
|
||||
else:
|
||||
|
@ -163,6 +162,8 @@ class GetShared(QDialog):
|
|||
self.form.table.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
|
||||
def accept(self):
|
||||
if not self.parent.saveAndClose(hideWelcome=True, parent=self):
|
||||
return QDialog.accept(self)
|
||||
h = QHttp(self)
|
||||
h.connect(h, SIGNAL("requestFinished(int,bool)"), self.onReqFin2)
|
||||
h.connect(h, SIGNAL("proxyAuthenticationRequired(QNetworkProxy,"
|
||||
|
@ -216,7 +217,6 @@ class GetShared(QDialog):
|
|||
open(os.path.join(dd, tit + ".media",
|
||||
os.path.basename(l)),"wb").write(z.read(l))
|
||||
self.parent.loadDeck(dpath)
|
||||
self.ok = True
|
||||
else:
|
||||
pd = self.parent.pluginsFolder()
|
||||
if z:
|
||||
|
@ -232,7 +232,6 @@ class GetShared(QDialog):
|
|||
write(z.read(l.filename))
|
||||
else:
|
||||
open(os.path.join(pd, tit + ext), "wb").write(data)
|
||||
self.ok = True
|
||||
showInfo(_("Plugin downloaded. Please restart Anki."),
|
||||
parent=self)
|
||||
return
|
||||
|
|
|
@ -745,8 +745,10 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
|
|||
else:
|
||||
self.app.activeWindow().close()
|
||||
|
||||
def saveAndClose(self, hideWelcome=False):
|
||||
def saveAndClose(self, hideWelcome=False, parent=None):
|
||||
"(Auto)save and close. Prompt if necessary. True if okay to proceed."
|
||||
if not parent:
|
||||
parent = self
|
||||
self.hideWelcome = hideWelcome
|
||||
self.closeAllDeckWindows()
|
||||
if self.deck is not None:
|
||||
|
@ -758,7 +760,7 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
|
|||
not self.config['syncOnClose'])):
|
||||
# backed in memory or autosave/sync off, must confirm
|
||||
while 1:
|
||||
res = ui.unsaved.ask(self)
|
||||
res = ui.unsaved.ask(parent)
|
||||
if res == ui.unsaved.save:
|
||||
if self.save(required=True):
|
||||
break
|
||||
|
@ -856,11 +858,7 @@ To upgrade an old deck, download Anki 0.9.8.7."""))
|
|||
|
||||
def onGetSharedDeck(self):
|
||||
if not self.inMainWindow(): return
|
||||
if not self.saveAndClose(hideWelcome=True): return
|
||||
s = ui.getshared.GetShared(self, 0)
|
||||
if not s.ok:
|
||||
self.deck = None
|
||||
self.moveToState("initial")
|
||||
ui.getshared.GetShared(self, 0)
|
||||
|
||||
def onGetSharedPlugin(self):
|
||||
if not self.inMainWindow(): return
|
||||
|
|
Loading…
Reference in a new issue