diff --git a/qt/aqt/addons.py b/qt/aqt/addons.py index 489405542..facf5262b 100644 --- a/qt/aqt/addons.py +++ b/qt/aqt/addons.py @@ -441,7 +441,7 @@ and have been disabled: %(found)s" log = [] errs = [] - self.mw.progress.start(immediate=True, parent=parent) + self.mw.progress.start(parent=parent) try: for path in paths: base = os.path.basename(path) diff --git a/qt/aqt/deckbrowser.py b/qt/aqt/deckbrowser.py index ce0d5c486..91773f14c 100644 --- a/qt/aqt/deckbrowser.py +++ b/qt/aqt/deckbrowser.py @@ -304,7 +304,7 @@ where id > ?""", (_("Are you sure you wish to delete %s?") % deck["name"]) + extra ) ): - self.mw.progress.start(immediate=True) + self.mw.progress.start() self.mw.col.decks.rem(did, True) self.mw.progress.finish() self.show() diff --git a/qt/aqt/exporting.py b/qt/aqt/exporting.py index 782e4d383..c6716462d 100644 --- a/qt/aqt/exporting.py +++ b/qt/aqt/exporting.py @@ -163,7 +163,7 @@ class ExportDialog(QDialog): future.result() self.on_export_finished() - self.mw.progress.start(immediate=True) + self.mw.progress.start() hooks.media_files_did_export.append(exported_media) self.mw.taskman.run_in_background(do_export, on_done) diff --git a/qt/aqt/importing.py b/qt/aqt/importing.py index dc3a3bc40..ce217287a 100644 --- a/qt/aqt/importing.py +++ b/qt/aqt/importing.py @@ -192,7 +192,7 @@ you can enter it here. Use \\t to represent tab.""" self.importer.model["did"] = did self.mw.col.models.save(self.importer.model, updateReqs=False) self.mw.col.decks.select(did) - self.mw.progress.start(immediate=True) + self.mw.progress.start() self.mw.checkpoint(_("Import")) def on_done(future: Future): diff --git a/qt/aqt/main.py b/qt/aqt/main.py index 681accbd9..adbdcade7 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -532,7 +532,7 @@ close the profile or restart Anki.""" label = _("Closing...") else: label = _("Backing Up...") - self.progress.start(label=label, immediate=True) + self.progress.start(label=label) corrupt = False try: self.maybeOptimize() @@ -618,7 +618,7 @@ from the profile screen." # have two weeks passed? if (intTime() - self.pm.profile["lastOptimize"]) < 86400 * 14: return - self.progress.start(label=_("Optimizing..."), immediate=True) + self.progress.start(label=_("Optimizing...")) self.col.optimize() self.pm.profile["lastOptimize"] = intTime() self.pm.save() @@ -902,14 +902,17 @@ title="%s" %s>%s""" % ( self.media_syncer.start() def can_auto_sync(self) -> bool: - return (self.pm.auto_syncing_enabled() + return ( + self.pm.auto_syncing_enabled() and self.pm.sync_auth() and not self.safeMode - and not self.restoringBackup) + and not self.restoringBackup + ) # legacy def _sync(self): pass + onSync = on_sync_button_clicked # Tools diff --git a/qt/aqt/progress.py b/qt/aqt/progress.py index a6ed79629..0bf80ee91 100644 --- a/qt/aqt/progress.py +++ b/qt/aqt/progress.py @@ -52,7 +52,6 @@ class ProgressManager: # Creating progress dialogs ########################################################################## - # note: immediate is no longer used def start( self, max=0, min=0, label=None, parent=None, immediate=False ) -> Optional[ProgressDialog]: @@ -83,7 +82,7 @@ class ProgressManager: self._updating = False self._show_timer = QTimer(self.mw) self._show_timer.setSingleShot(True) - self._show_timer.start(600) + self._show_timer.start(immediate and 100 or 600) qconnect(self._show_timer.timeout, self._on_show_timer) return self._win diff --git a/qt/aqt/stats.py b/qt/aqt/stats.py index 646d42fd5..0ad23deeb 100644 --- a/qt/aqt/stats.py +++ b/qt/aqt/stats.py @@ -95,7 +95,7 @@ class DeckStats(QDialog): self.refresh() def refresh(self): - self.mw.progress.start(immediate=True, parent=self) + self.mw.progress.start(parent=self) stats = self.mw.col.stats() stats.wholeCollection = self.wholeCollection self.report = stats.report(type=self.period) diff --git a/qt/aqt/sync.py b/qt/aqt/sync.py index d3900425a..331aeab03 100644 --- a/qt/aqt/sync.py +++ b/qt/aqt/sync.py @@ -31,7 +31,7 @@ from aqt.utils import askUser, askUserDialog, showText, showWarning, tr # fixme: catch auth error in other routines, clear sync auth # fixme: sync progress # fixme: curDeck marking collection modified -# fixme: show progress immediately + class FullSyncChoice(enum.Enum): CANCEL = 0 @@ -47,7 +47,9 @@ def get_sync_status(mw: aqt.main.AnkiQt, callback: Callable[[SyncOutput], None]) def on_future_done(fut): callback(fut.result()) - mw.taskman.run_in_background(lambda: mw.col.backend.sync_status(auth), on_future_done) + mw.taskman.run_in_background( + lambda: mw.col.backend.sync_status(auth), on_future_done + ) def sync_collection(mw: aqt.main.AnkiQt, on_done: Callable[[], None]) -> None: @@ -84,6 +86,7 @@ def sync_collection(mw: aqt.main.AnkiQt, on_done: Callable[[], None]) -> None: lambda: mw.col.backend.sync_collection(auth), on_future_done, label=tr(TR.SYNC_CHECKING), + immediate=True, ) @@ -180,6 +183,7 @@ def full_upload(mw: aqt.main.AnkiQt, on_done: Callable[[], None]) -> None: label=tr(TR.SYNC_UPLOADING_TO_ANKIWEB), ) + def sync_login( mw: aqt.main.AnkiQt, on_success: Callable[[], None], username="", password="" ) -> None: diff --git a/qt/aqt/taskman.py b/qt/aqt/taskman.py index 9b9fe4221..b0493a1ab 100644 --- a/qt/aqt/taskman.py +++ b/qt/aqt/taskman.py @@ -67,8 +67,9 @@ class TaskManager(QObject): on_done: Optional[Callable[[Future], None]] = None, parent: Optional[QWidget] = None, label: Optional[str] = None, + immediate: Bool = False, ): - self.mw.progress.start(parent=parent, label=label) + self.mw.progress.start(parent=parent, label=label, immediate=immediate) def wrapped_done(fut): self.mw.progress.finish()