1
0
Fork 0
mirror of synced 2024-06-17 01:54:46 +12:00

RareGame: Move sdl_name to RareGameBase

InstallDialog uses that property so RareEosOverlay should have it too.
Also calculate the base_path for the overlay case instead of passing it as
argument
This commit is contained in:
loathingKernel 2024-01-19 12:09:57 +02:00
parent 7ae06ff5d8
commit a605bddffa
3 changed files with 9 additions and 11 deletions

View file

@ -235,7 +235,8 @@ class InstallDialog(ActionDialog):
self.error_box() self.error_box()
def get_options(self): def get_options(self):
self.__options.base_path = "" if self.rgame.is_installed else self.install_dir_edit.text() base_path = os.path.join(self.install_dir_edit.text(), ".overlay" if self.__options.overlay else "")
self.__options.base_path = "" if self.rgame.is_installed else base_path
self.__options.platform = self.ui.platform_combo.currentText() self.__options.platform = self.ui.platform_combo.currentText()
self.__options.create_shortcut = self.ui.shortcut_check.isChecked() self.__options.create_shortcut = self.ui.shortcut_check.isChecked()
self.__options.max_workers = self.advanced.ui.max_workers_spin.value() self.__options.max_workers = self.advanced.ui.max_workers_spin.value()

View file

@ -8,6 +8,7 @@ from typing import Optional, List, Tuple
from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, QSettings from PyQt5.QtCore import QObject, pyqtSignal, QRunnable, QThreadPool, QSettings
from legendary.lfs import eos from legendary.lfs import eos
from legendary.models.game import SaveGameFile, SaveGameStatus, Game, InstalledGame from legendary.models.game import SaveGameFile, SaveGameStatus, Game, InstalledGame
from legendary.utils.selective_dl import get_sdl_appname
from rare.lgndr.core import LegendaryCore from rare.lgndr.core import LegendaryCore
from rare.models.install import UninstallOptionsModel, InstallOptionsModel from rare.models.install import UninstallOptionsModel, InstallOptionsModel
@ -178,6 +179,10 @@ class RareGameBase(QObject):
except AttributeError: except AttributeError:
return False return False
@property
def sdl_name(self) -> Optional[str]:
return get_sdl_appname(self.app_name)
@property @property
def version(self) -> str: def version(self) -> str:
"""! """!

View file

@ -11,7 +11,6 @@ from PyQt5.QtCore import QRunnable, pyqtSlot, QProcess, QThreadPool
from PyQt5.QtGui import QPixmap from PyQt5.QtGui import QPixmap
from legendary.lfs import eos from legendary.lfs import eos
from legendary.models.game import Game, InstalledGame from legendary.models.game import Game, InstalledGame
from legendary.utils.selective_dl import get_sdl_appname
from rare.lgndr.core import LegendaryCore from rare.lgndr.core import LegendaryCore
from rare.models.base_game import RareGameBase, RareGameSlim from rare.models.base_game import RareGameBase, RareGameSlim
@ -413,10 +412,6 @@ class RareGame(RareGameSlim):
else self.app_title else self.app_title
) )
@property
def sdl_name(self) -> Optional[str]:
return get_sdl_appname(self.app_name)
@property @property
def save_path(self) -> Optional[str]: def save_path(self) -> Optional[str]:
return super(RareGame, self).save_path return super(RareGame, self).save_path
@ -628,7 +623,7 @@ class RareEosOverlay(RareGameBase):
try: try:
eos.add_registry_entries(path, prefix) eos.add_registry_entries(path, prefix)
except PermissionError as e: except PermissionError as e:
logger.error("Exception while writing registry to enable the overlay .") logger.error("Exception while writing registry to enable the overlay.")
logger.error(e) logger.error(e)
return False return False
logger.info(f"Enabled overlay at: {path} for prefix: {prefix}") logger.info(f"Enabled overlay at: {path} for prefix: {prefix}")
@ -652,10 +647,7 @@ class RareEosOverlay(RareGameBase):
if self.is_installed: if self.is_installed:
base_path = self.igame.install_path base_path = self.igame.install_path
else: else:
base_path = os.path.join( base_path = self.core.get_default_install_dir()
self.core.lgd.config.get("Legendary", "install_dir", fallback=os.path.expanduser("~/legendary")),
".overlay"
)
self.signals.game.install.emit( self.signals.game.install.emit(
InstallOptionsModel( InstallOptionsModel(
app_name=self.app_name, base_path=base_path, platform="Windows", overlay=True app_name=self.app_name, base_path=base_path, platform="Windows", overlay=True