Add option to reload image for uninstalled widgets too
This commit is contained in:
parent
158d98957c
commit
6a01ddef6b
4 changed files with 26 additions and 20 deletions
|
@ -29,7 +29,7 @@ class BaseInstalledWidget(QGroupBox):
|
|||
self.core = core
|
||||
self.game = self.core.get_game(self.igame.app_name)
|
||||
self.image = QLabel()
|
||||
self.image.setPixmap(pixmap.scaled(200, 200 * 4 / 3))
|
||||
self.image.setPixmap(pixmap.scaled(200, int(200 * 4 / 3), transformMode=Qt.SmoothTransformation))
|
||||
self.game_running = False
|
||||
self.offline = offline
|
||||
self.update_available = self.core.get_asset(self.game.app_name, True).build_version != igame.version
|
||||
|
@ -76,7 +76,7 @@ class BaseInstalledWidget(QGroupBox):
|
|||
def reload_image(self):
|
||||
utils.download_image(self.game, True)
|
||||
pm = utils.get_pixmap(self.game.app_name)
|
||||
self.image.setPixmap(pm)
|
||||
self.image.setPixmap(pm.scaled(200, int(200 * 4 / 3), transformMode=Qt.SmoothTransformation))
|
||||
|
||||
def create_desktop_link(self, type_of_link):
|
||||
if platform.system() not in ["Windows", "Linux"]:
|
||||
|
@ -164,7 +164,6 @@ class BaseInstalledWidget(QGroupBox):
|
|||
logger.error(stderr)
|
||||
# QMessageBox.warning(self, "Warning", stderr + "\nSee ~/.cache/rare/logs/")
|
||||
|
||||
|
||||
def finished(self, exit_code):
|
||||
logger.info("Game exited with exit code: " + str(exit_code))
|
||||
self.finish_signal.emit(self.game.app_name)
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
from logging import getLogger
|
||||
|
||||
from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtWidgets import QGroupBox
|
||||
from PyQt5.QtCore import pyqtSignal, Qt
|
||||
from PyQt5.QtWidgets import QGroupBox, QLabel, QAction
|
||||
|
||||
from rare.utils import utils
|
||||
|
||||
logger = getLogger("Uninstalled")
|
||||
|
||||
|
@ -13,10 +15,20 @@ class BaseUninstalledWidget(QGroupBox):
|
|||
super(BaseUninstalledWidget, self).__init__()
|
||||
self.game = game
|
||||
self.core = core
|
||||
self.pixmap = pixmap
|
||||
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.app_name)
|
||||
|
|
|
@ -15,12 +15,7 @@ class IconWidgetUninstalled(BaseUninstalledWidget):
|
|||
super(IconWidgetUninstalled, self).__init__(game, core, pixmap)
|
||||
self.layout = QVBoxLayout()
|
||||
self.setObjectName("game_widget_icon")
|
||||
if self.pixmap:
|
||||
w = 200
|
||||
self.pixmap = self.pixmap.scaled(w, int(w * 4 / 3))
|
||||
self.image = QLabel()
|
||||
self.image.setPixmap(self.pixmap)
|
||||
self.layout.addWidget(self.image)
|
||||
self.layout.addWidget(self.image)
|
||||
|
||||
self.title_label = QLabel(f"<h3>{game.app_title}</h3>")
|
||||
self.title_label.setWordWrap(True)
|
||||
|
@ -33,9 +28,14 @@ class IconWidgetUninstalled(BaseUninstalledWidget):
|
|||
self.setFixedWidth(self.sizeHint().width())
|
||||
|
||||
def mousePressEvent(self, e) -> None:
|
||||
if not self.installing:
|
||||
# left button
|
||||
if e.button() == 1 and not self.installing:
|
||||
self.install()
|
||||
|
||||
# right
|
||||
elif e.button() == 2:
|
||||
pass # self.showMenu(e)
|
||||
|
||||
def enterEvent(self, e):
|
||||
if not self.installing:
|
||||
self.info_label.setText(self.tr("Game Info"))
|
||||
|
|
|
@ -14,12 +14,7 @@ class ListWidgetUninstalled(BaseUninstalledWidget):
|
|||
super(ListWidgetUninstalled, self).__init__(game, core, pixmap)
|
||||
self.layout = QHBoxLayout()
|
||||
|
||||
if self.pixmap:
|
||||
w = 200
|
||||
self.pixmap = self.pixmap.scaled(w, int(w * 4 / 3))
|
||||
self.image = QLabel()
|
||||
self.image.setPixmap(self.pixmap)
|
||||
self.layout.addWidget(self.image)
|
||||
self.layout.addWidget(self.image)
|
||||
|
||||
self.child_layout = QVBoxLayout()
|
||||
|
||||
|
|
Loading…
Reference in a new issue