35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from logging import getLogger
|
|
|
|
from PyQt5.QtCore import pyqtSignal, Qt
|
|
from PyQt5.QtWidgets import QGroupBox, QLabel, QAction
|
|
from legendary.models.game import Game
|
|
|
|
from rare.utils import utils
|
|
|
|
logger = getLogger("Uninstalled")
|
|
|
|
|
|
class BaseUninstalledWidget(QGroupBox):
|
|
show_uninstalled_info = pyqtSignal(Game)
|
|
|
|
def __init__(self, game, core, pixmap):
|
|
super(BaseUninstalledWidget, self).__init__()
|
|
self.game = game
|
|
self.core = core
|
|
self.image = QLabel()
|
|
self.image.setPixmap(pixmap.scaled(200, int(200 * 4 / 3), transformMode=Qt.SmoothTransformation))
|
|
self.installing = False
|
|
self.setContextMenuPolicy(Qt.ActionsContextMenu)
|
|
self.setContentsMargins(0, 0, 0, 0)
|
|
|
|
reload_image = QAction(self.tr("Reload Image"), self)
|
|
reload_image.triggered.connect(self.reload_image)
|
|
self.addAction(reload_image)
|
|
|
|
def reload_image(self):
|
|
utils.download_image(self.game, True)
|
|
pm = utils.get_uninstalled_pixmap(self.game.app_name)
|
|
self.image.setPixmap(pm.scaled(200, int(200 * 4 / 3), transformMode=Qt.SmoothTransformation))
|
|
|
|
def install(self):
|
|
self.show_uninstalled_info.emit(self.game)
|