diff --git a/qt/aqt/main.py b/qt/aqt/main.py index e5e049d38..45d0a262f 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -282,8 +282,12 @@ class AnkiQt(QMainWindow): if not self.pm.name: # if there's a single profile, load it automatically profs = self.pm.profiles() + name = self.pm.last_loaded_profile_name() if len(profs) == 1: self.pm.load(profs[0]) + elif name in profs: + self.pm.load(name) + if not self.pm.name: self.showProfileManager() else: diff --git a/qt/aqt/profiles.py b/qt/aqt/profiles.py index 6d00fb6a3..0aa5bb27c 100644 --- a/qt/aqt/profiles.py +++ b/qt/aqt/profiles.py @@ -220,6 +220,7 @@ class ProfileManager: print("resetting corrupt profile") self.profile = profileConf.copy() self.save() + self.set_last_loaded_profile_name(name) return True def save(self) -> None: @@ -544,6 +545,12 @@ create table if not exists profiles def set_new_import_export(self, enabled: bool) -> None: self.meta["new_import_export"] = enabled + def last_loaded_profile_name(self) -> str | None: + return self.meta.get("last_loaded_profile_name") + + def set_last_loaded_profile_name(self, name: str) -> None: + self.meta["last_loaded_profile_name"] = name + # Profile-specific ######################################################################