1
0
Fork 0
mirror of synced 2024-06-26 18:20:50 +12:00

RareCore: keep configuration when uninstalling a game at startup

We don't need to lose the `install_tags` or any other settings because
a disk might be not mounted.
This commit is contained in:
loathingKernel 2023-03-14 01:20:13 +02:00
parent b7d499f3e1
commit 0cc521ba0b
No known key found for this signature in database
GPG key ID: CE0C72D0B53821FD

View file

@ -194,12 +194,12 @@ class RareCore(QObject):
for dlc in rgame.owned_dlcs:
if dlc.is_installed:
logger.info(f'Uninstalling DLC "{dlc.app_name}" ({dlc.app_title})...')
uninstall_game(self.__core, dlc.app_name, keep_files=True)
uninstall_game(self.__core, dlc.app_name, keep_files=True, keep_config=True)
dlc.igame = None
logger.info(
f'Removing "{rgame.app_title}" because "{rgame.igame.install_path}" does not exist...'
)
uninstall_game(self.__core, rgame.app_name, keep_files=True)
uninstall_game(self.__core, rgame.app_name, keep_files=True, keep_config=True)
logger.info(f"Uninstalled {rgame.app_title}, because no game files exist")
rgame.igame = None
return
@ -247,6 +247,7 @@ class RareCore(QObject):
rgame = RareGame(self.__core, self.__image_manager, game)
return rgame
def __add_games_and_dlcs(self, games: List[Game], dlcs_dict: Dict[str, List]) -> None:
length = len(games)
for idx, game in enumerate(games):
@ -265,9 +266,9 @@ class RareCore(QObject):
rdlc.signals.progress.finish.connect(rgame.signals.progress.finish)
rgame.owned_dlcs.append(rdlc)
self.__add_game(rdlc)
time.sleep(0.005)
self.progress.emit(int(idx/length * 80) + 20, f"Loaded <b>{rgame.app_title}</b>")
self.__add_game(rgame)
self.progress.emit(int(idx/length * 80) + 20, f"Loaded <b>{rgame.app_title}</b>")
time.sleep(0.005)
@pyqtSlot(object, int)
def handle_result(self, result: object, res_type: int):
@ -316,7 +317,7 @@ class RareCore(QObject):
QThreadPool.globalInstance().start(non_asset_worker)
def fetch_saves(self):
def __fetch_saves() -> None:
def __fetch() -> None:
start_time = time.time()
saves_dict: Dict[str, List[SaveGameFile]] = {}
try:
@ -334,11 +335,11 @@ class RareCore(QObject):
logger.debug(f"Saves: {len(saves_dict)}")
logger.debug(f"Request saves: {time.time() - start_time} seconds")
saves_worker = QRunnable.create(__fetch_saves)
saves_worker = QRunnable.create(__fetch)
QThreadPool.globalInstance().start(saves_worker)
def fetch_entitlements(self) -> None:
def __fetch_entitlements() -> None:
def __fetch() -> None:
start_time = time.time()
try:
entitlements = self.__core.egs.get_user_entitlements()
@ -351,7 +352,7 @@ class RareCore(QObject):
logger.debug(f"Entitlements: {len(list(entitlements))}")
logger.debug(f"Request Entitlements: {time.time() - start_time} seconds")
entitlements_worker = QRunnable.create(__fetch_entitlements)
entitlements_worker = QRunnable.create(__fetch)
QThreadPool.globalInstance().start(entitlements_worker)
def resolve_origin(self) -> None: