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