diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 17eaab14b..645287c1a 100755 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -16,7 +16,7 @@ from anki.errors import * from anki.sound import hasSound, playFromText, clearAudioQueue, stripSounds from anki.utils import addTags, deleteTags, parseTags, canonifyTags, \ stripHTML, checksum -from anki.media import rebuildMediaDir, downloadMissing +from anki.media import rebuildMediaDir, downloadMissing, downloadRemote from anki.db import OperationalError, SessionHelper, sqlite from anki.stdmodels import BasicModel from anki.hooks import runHook, addHook, removeHook, _hooks, wrap @@ -2478,6 +2478,7 @@ This deck already exists on your computer. Overwrite the local copy?"""), self.connect(m.actionOptimizeDatabase, s, self.onOptimizeDB) self.connect(m.actionCheckMediaDatabase, s, self.onCheckMediaDB) self.connect(m.actionDownloadMissingMedia, s, self.onDownloadMissingMedia) + self.connect(m.actionLocalizeMedia, s, self.onLocalizeMedia) self.connect(m.actionCram, s, self.onCram) self.connect(m.actionOpenPluginFolder, s, self.onOpenPluginFolder) self.connect(m.actionEnableAllPlugins, s, self.onEnableAllPlugins) @@ -3111,6 +3112,13 @@ doubt.""")) msg = _("Unable to download %s\nDownload aborted.") % res[1] ui.utils.showInfo(msg) + def onLocalizeMedia(self): + res = downloadRemote(self.deck) + msg = _("%d successfully downloaded.") % len(res[0]) + if len(res[1]): + msg += "\n\n" + _("Couldn't find:") + "\n" + "\n".join(res[1]) + ui.utils.showText(msg, parent=self, type="text") + def addHook(self, *args): addHook(*args) diff --git a/designer/main.ui b/designer/main.ui index 86939c5ef..a2dbfebba 100644 --- a/designer/main.ui +++ b/designer/main.ui @@ -3083,6 +3083,7 @@ + @@ -3725,6 +3726,11 @@ F2 + + + Localize Media + + easeButton3