from logging import getLogger from PyQt5.QtCore import pyqtSignal from PyQt5.QtWidgets import QWidget, QGroupBox from rare.components.dialogs.install_dialog import InstallDialog from rare.utils.models import InstallOptions logger = getLogger("Uninstalled") class BaseUninstalledWidget(QGroupBox): install_game = pyqtSignal(InstallOptions) def __init__(self, game, core, pixmap): super(BaseUninstalledWidget, self).__init__() self.game = game self.core = core self.pixmap = pixmap self.installing = False self.setContentsMargins(0, 0, 0, 0) def install(self): infos = InstallDialog(self.game.app_name, self.core).get_information() if infos != 0: path, max_workers, force, ignore_free_space = infos self.install_game.emit(InstallOptions(app_name=self.game.app_name, max_workers=max_workers, path=path, force=force, ignore_free_space=ignore_free_space))