diff options
Diffstat (limited to 'pygame/__init__.py')
-rwxr-xr-x | pygame/__init__.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pygame/__init__.py b/pygame/__init__.py index 04bc45a..8dae792 100755 --- a/pygame/__init__.py +++ b/pygame/__init__.py @@ -15,7 +15,7 @@ from .profiledb import ProfileDB from .gamechest.cliactions import run from .gamechest.gamedb import GameDB from .gamechest.statusdb import StatusDB -from .gamechest.gameconfig import config +from .gamechest.gameconfig import config, status from .gamechest.runners.install import Install from .gamechest.runners.remove import Remove @@ -175,8 +175,9 @@ class ProfileData(ObservedSubject): self.profiles_len = len(self.profiledb.get_profiles()) self.current_profile_index = 0 configured_default_profile = config.get_profile_id() + last_loaded_profile = status.last_loaded_profile or configured_default_profile for index, profile in enumerate(self.profiledb.get_profiles()): - if profile['name'] == configured_default_profile: + if profile['name'] == last_loaded_profile: self.current_profile_index = index def change_active_profile(self, new_index): @@ -261,6 +262,10 @@ class GameData(ObservedSubject): self.games_idtitles = list(self.game_db.get_idtitles()) self.games_len = len(self.games_idtitles) self.game_index = 0 + last_loaded_game = status.last_loaded_game + for index, (game_id, _) in enumerate(self.games_idtitles): + if game_id == last_loaded_game: + self.game_index = index def change_active_game(self, new_index): if new_index < 0: @@ -621,6 +626,8 @@ class GuiAppSub1(GuiApp): if not self.status_db.is_installed(game_info): print('Game', game_id, 'is not installed, aborting.', file=sys.stderr) else: + status.set_last_loaded_game(game_id) + status.set_last_loaded_profile(profile_id) command = self.game_db.get_game_command(profile_id, game_id) subprocess.run(command) elif action == 'install': |