diff --git a/rare/components/tabs/games/game_info/game_dlc.py b/rare/components/tabs/games/game_info/game_dlc.py
index e95a629d..bdd066f3 100644
--- a/rare/components/tabs/games/game_info/game_dlc.py
+++ b/rare/components/tabs/games/game_info/game_dlc.py
@@ -1,4 +1,5 @@
-from PyQt5.QtCore import pyqtSignal
+from PyQt5.QtCore import Qt, pyqtSignal
+from PyQt5.QtGui import QPixmap, QResizeEvent
from PyQt5.QtWidgets import QFrame, QWidget, QMessageBox
from legendary.models.game import Game
@@ -84,24 +85,36 @@ class GameDlcWidget(QFrame, Ui_GameDlcWidget):
self.setupUi(self)
self.dlc = dlc
- pixmap = get_pixmap(dlc.app_name)
- self.image.setPixmap(pixmap.scaledToHeight(int(pixmap.height() * 0.5)))
-
self.dlc_name.setText(dlc.app_title)
self.version.setText(dlc.app_version)
self.app_name.setText(dlc.app_name)
+ self.pixmap = get_pixmap(dlc.app_name)
+
if installed:
self.action_button.setProperty("uninstall", 1)
self.action_button.clicked.connect(self.uninstall_dlc)
- self.status.setText(self.tr("Installed"))
self.action_button.setText(self.tr("Uninstall DLC"))
else:
self.action_button.setProperty("install", 1)
self.action_button.clicked.connect(self.install_game)
- self.status.setText(self.tr("Not installed"))
self.action_button.setText(self.tr("Install DLC"))
+ def resizeEvent(self, a0: QResizeEvent) -> None:
+ self.image.clear()
+ super(GameDlcWidget, self).resizeEvent(a0)
+ self.setPixmap(self.pixmap)
+
+ def setPixmap(self, a0: QPixmap) -> None:
+ self.pixmap = a0
+ self.image.setPixmap(
+ self.pixmap.scaledToHeight(
+ self.dlc_info.size().height() - (self.image.contentsMargins().top() +
+ self.image.contentsMargins().bottom() +
+ self.image.lineWidth()*2),
+ Qt.SmoothTransformation))
+ self.image.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
+
def uninstall_dlc(self):
self.action_button.setDisabled(True)
self.action_button.setText(self.tr("Uninstalling"))
diff --git a/rare/ui/components/tabs/games/game_info/game_dlc_widget.py b/rare/ui/components/tabs/games/game_info/game_dlc_widget.py
index de90784a..723a14f5 100644
--- a/rare/ui/components/tabs/games/game_info/game_dlc_widget.py
+++ b/rare/ui/components/tabs/games/game_info/game_dlc_widget.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_dlc_widget.ui'
#
-# Created by: PyQt5 UI code generator 5.15.4
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GameDlcWidget(object):
def setupUi(self, GameDlcWidget):
GameDlcWidget.setObjectName("GameDlcWidget")
- GameDlcWidget.resize(424, 163)
+ GameDlcWidget.resize(517, 70)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -22,21 +22,22 @@ class Ui_GameDlcWidget(object):
GameDlcWidget.setSizePolicy(sizePolicy)
GameDlcWidget.setWindowTitle("GameDlcWidget")
GameDlcWidget.setFrameShape(QtWidgets.QFrame.StyledPanel)
- GameDlcWidget.setFrameShadow(QtWidgets.QFrame.Raised)
+ GameDlcWidget.setFrameShadow(QtWidgets.QFrame.Plain)
self.dlc_layout = QtWidgets.QHBoxLayout(GameDlcWidget)
self.dlc_layout.setObjectName("dlc_layout")
self.image = QtWidgets.QLabel(GameDlcWidget)
self.image.setFrameShape(QtWidgets.QFrame.StyledPanel)
- self.image.setFrameShadow(QtWidgets.QFrame.Sunken)
- self.image.setText("")
+ self.image.setFrameShadow(QtWidgets.QFrame.Plain)
+ self.image.setText("image")
self.image.setObjectName("image")
self.dlc_layout.addWidget(self.image)
- self.dlc_info_layout = QtWidgets.QFormLayout()
+ self.dlc_info = QtWidgets.QWidget(GameDlcWidget)
+ self.dlc_info.setObjectName("dlc_info")
+ self.dlc_info_layout = QtWidgets.QFormLayout(self.dlc_info)
self.dlc_info_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.dlc_info_layout.setContentsMargins(6, 6, 6, 6)
- self.dlc_info_layout.setSpacing(12)
+ self.dlc_info_layout.setContentsMargins(0, 0, 0, 0)
self.dlc_info_layout.setObjectName("dlc_info_layout")
- self.dlc_name_label = QtWidgets.QLabel(GameDlcWidget)
+ self.dlc_name_label = QtWidgets.QLabel(self.dlc_info)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -48,12 +49,13 @@ class Ui_GameDlcWidget(object):
self.dlc_name_label.setFont(font)
self.dlc_name_label.setObjectName("dlc_name_label")
self.dlc_info_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.dlc_name_label)
- self.dlc_name = QtWidgets.QLabel(GameDlcWidget)
- self.dlc_name.setText("error")
+ self.dlc_name = QtWidgets.QLabel(self.dlc_info)
+ self.dlc_name.setMinimumSize(QtCore.QSize(160, 0))
+ self.dlc_name.setText("dlc_name")
self.dlc_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dlc_name.setObjectName("dlc_name")
self.dlc_info_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.dlc_name)
- self.version_label = QtWidgets.QLabel(GameDlcWidget)
+ self.version_label = QtWidgets.QLabel(self.dlc_info)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -65,53 +67,13 @@ class Ui_GameDlcWidget(object):
self.version_label.setFont(font)
self.version_label.setObjectName("version_label")
self.dlc_info_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.version_label)
- self.version = QtWidgets.QLabel(GameDlcWidget)
- self.version.setText("error")
+ self.version = QtWidgets.QLabel(self.dlc_info)
+ self.version.setMinimumSize(QtCore.QSize(160, 0))
+ self.version.setText("version")
self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.version.setObjectName("version")
self.dlc_info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.version)
- self.status_label = QtWidgets.QLabel(GameDlcWidget)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.status_label.sizePolicy().hasHeightForWidth())
- self.status_label.setSizePolicy(sizePolicy)
- font = QtGui.QFont()
- font.setBold(True)
- font.setWeight(75)
- self.status_label.setFont(font)
- self.status_label.setObjectName("status_label")
- self.dlc_info_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.status_label)
- self.status = QtWidgets.QLabel(GameDlcWidget)
- self.status.setText("error")
- self.status.setWordWrap(True)
- self.status.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
- self.status.setObjectName("status")
- self.dlc_info_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.status)
- self.actions_label = QtWidgets.QLabel(GameDlcWidget)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.actions_label.sizePolicy().hasHeightForWidth())
- self.actions_label.setSizePolicy(sizePolicy)
- font = QtGui.QFont()
- font.setBold(True)
- font.setWeight(75)
- self.actions_label.setFont(font)
- self.actions_label.setObjectName("actions_label")
- self.dlc_info_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.actions_label)
- self.action_button = QtWidgets.QPushButton(GameDlcWidget)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.action_button.sizePolicy().hasHeightForWidth())
- self.action_button.setSizePolicy(sizePolicy)
- self.action_button.setMinimumSize(QtCore.QSize(250, 0))
- self.action_button.setStyleSheet("")
- self.action_button.setText("Action")
- self.action_button.setObjectName("action_button")
- self.dlc_info_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.action_button)
- self.app_name_label = QtWidgets.QLabel(GameDlcWidget)
+ self.app_name_label = QtWidgets.QLabel(self.dlc_info)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@@ -123,14 +85,27 @@ class Ui_GameDlcWidget(object):
self.app_name_label.setFont(font)
self.app_name_label.setObjectName("app_name_label")
self.dlc_info_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.app_name_label)
- self.app_name = QtWidgets.QLabel(GameDlcWidget)
- self.app_name.setText("error")
+ self.app_name = QtWidgets.QLabel(self.dlc_info)
+ self.app_name.setMinimumSize(QtCore.QSize(160, 0))
+ self.app_name.setText("app_name")
self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.app_name.setObjectName("app_name")
self.dlc_info_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.app_name)
- self.dlc_layout.addLayout(self.dlc_info_layout)
+ self.dlc_layout.addWidget(self.dlc_info)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.dlc_layout.addItem(spacerItem)
+ self.action_button = QtWidgets.QPushButton(GameDlcWidget)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.action_button.sizePolicy().hasHeightForWidth())
+ self.action_button.setSizePolicy(sizePolicy)
+ self.action_button.setMinimumSize(QtCore.QSize(160, 0))
+ self.action_button.setStyleSheet("")
+ self.action_button.setText("Action")
+ self.action_button.setObjectName("action_button")
+ self.dlc_layout.addWidget(self.action_button, 0, QtCore.Qt.AlignTop)
+ self.dlc_layout.setStretch(2, 1)
self.retranslateUi(GameDlcWidget)
QtCore.QMetaObject.connectSlotsByName(GameDlcWidget)
@@ -139,8 +114,6 @@ class Ui_GameDlcWidget(object):
_translate = QtCore.QCoreApplication.translate
self.dlc_name_label.setText(_translate("GameDlcWidget", "DLC Name"))
self.version_label.setText(_translate("GameDlcWidget", "Version"))
- self.status_label.setText(_translate("GameDlcWidget", "Status"))
- self.actions_label.setText(_translate("GameDlcWidget", "Actions"))
self.app_name_label.setText(_translate("GameDlcWidget", "Application"))
diff --git a/rare/ui/components/tabs/games/game_info/game_dlc_widget.ui b/rare/ui/components/tabs/games/game_info/game_dlc_widget.ui
index a3680aff..33ae4ef8 100644
--- a/rare/ui/components/tabs/games/game_info/game_dlc_widget.ui
+++ b/rare/ui/components/tabs/games/game_info/game_dlc_widget.ui
@@ -6,8 +6,8 @@
0
0
- 424
- 163
+ 517
+ 70
@@ -23,206 +23,147 @@
QFrame::StyledPanel
- QFrame::Raised
+ QFrame::Plain
-
+
-
QFrame::StyledPanel
- QFrame::Sunken
+ QFrame::Plain
-
+ image
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 12
-
-
- 12
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- DLC Name
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Version
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Status
-
-
-
- -
-
-
- error
-
-
- true
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Actions
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 250
- 0
-
-
-
-
-
-
- Action
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Application
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
-
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ DLC Name
+
+
+
+ -
+
+
+
+ 160
+ 0
+
+
+
+ dlc_name
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Version
+
+
+
+ -
+
+
+
+ 160
+ 0
+
+
+
+ version
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Application
+
+
+
+ -
+
+
+
+ 160
+ 0
+
+
+
+ app_name
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+
+
-
@@ -237,6 +178,28 @@
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 160
+ 0
+
+
+
+
+
+
+ Action
+
+
+