1
0
Fork 0
mirror of synced 2024-06-02 10:44:40 +12:00

GameDetails: Refactor file structure

`GameInfo` has been renamed to `GameDetails` to align it with
the similar `StoreDetails` page while making the difference clearer.

Remove the `game_` prefix from the file names to reduce noise. The path
should be enough to provide scope.
This commit is contained in:
loathingKernel 2024-05-17 13:31:48 +03:00
parent 3b721fdd13
commit fec4e3c0e1
10 changed files with 173 additions and 164 deletions

View file

@ -8,9 +8,9 @@ from rare.models.game import RareGame
from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton, ArgumentsSingleton
from rare.utils.json_formatter import QJsonModel
from rare.widgets.side_tab import SideTabWidget, SideTabContents
from .game_dlc import GameDlc
from .game_info import GameInfo
from .game_settings import GameSettings
from .dlcs import GameDlcs
from .details import GameDetails
from .settings import GameSettings
from .cloud_saves import CloudSaves
@ -24,9 +24,9 @@ class GameInfoTabs(SideTabWidget):
self.signals = GlobalSignalsSingleton()
self.args = ArgumentsSingleton()
self.info_tab = GameInfo(self)
self.info_tab.import_clicked.connect(self.import_clicked)
self.info_index = self.addTab(self.info_tab, self.tr("Information"))
self.details_tab = GameDetails(self)
self.details_tab.import_clicked.connect(self.import_clicked)
self.details_index = self.addTab(self.details_tab, self.tr("Information"))
self.settings_tab = GameSettings(self)
self.settings_index = self.addTab(self.settings_tab, self.tr("Settings"))
@ -34,8 +34,8 @@ class GameInfoTabs(SideTabWidget):
self.cloud_saves_tab = CloudSaves(self)
self.cloud_saves_index = self.addTab(self.cloud_saves_tab, self.tr("Cloud Saves"))
self.dlc_tab = GameDlc(self)
self.dlc_index = self.addTab(self.dlc_tab, self.tr("Downloadable Content"))
self.dlcs_tab = GameDlcs(self)
self.dlcs_index = self.addTab(self.dlcs_tab, self.tr("Downloadable Content"))
# FIXME: Hiding didn't work, so don't add these tabs in normal mode. Fix this properly later
if self.args.debug:
@ -43,17 +43,19 @@ class GameInfoTabs(SideTabWidget):
self.game_meta_index = self.addTab(self.game_meta_view, self.tr("Game Metadata"))
self.igame_meta_view = GameMetadataView(self)
self.igame_meta_index = self.addTab(self.igame_meta_view, self.tr("InstalledGame Metadata"))
self.rgame_meta_view = GameMetadataView(self)
self.rgame_meta_index = self.addTab(self.rgame_meta_view, self.tr("RareGame Metadata"))
self.setCurrentIndex(self.info_index)
self.setCurrentIndex(self.details_index)
def update_game(self, rgame: RareGame):
self.info_tab.update_game(rgame)
self.details_tab.update_game(rgame)
self.settings_tab.load_settings(rgame)
self.settings_tab.setEnabled(rgame.is_installed or rgame.is_origin)
self.dlc_tab.update_dlcs(rgame)
self.dlc_tab.setEnabled(rgame.is_installed and bool(rgame.owned_dlcs))
self.dlcs_tab.update_dlcs(rgame)
self.dlcs_tab.setEnabled(rgame.is_installed and bool(rgame.owned_dlcs))
self.cloud_saves_tab.update_game(rgame)
# self.cloud_saves_tab.setEnabled(rgame.game.supports_cloud_saves or rgame.game.supports_mac_cloud_saves)
@ -61,8 +63,9 @@ class GameInfoTabs(SideTabWidget):
if self.args.debug:
self.game_meta_view.update_game(rgame, rgame.game)
self.igame_meta_view.update_game(rgame, rgame.igame)
self.rgame_meta_view.update_game(rgame, rgame.metadata)
self.setCurrentIndex(self.info_index)
self.setCurrentIndex(self.details_index)
def keyPressEvent(self, a0: QKeyEvent):
if a0.key() == Qt.Key_Escape:
@ -75,6 +78,7 @@ class GameMetadataView(QTreeView, SideTabContents):
self.implements_scrollarea = True
self.setColumnWidth(0, 300)
self.setWordWrap(True)
self.setEditTriggers(QTreeView.NoEditTriggers)
self.model = QJsonModel()
self.setModel(self.model)
self.rgame: Optional[RareGame] = None

View file

@ -19,7 +19,7 @@ from rare.components.dialogs.selective_dialog import SelectiveDialog
from rare.models.game import RareGame
from rare.shared import RareCore
from rare.shared.workers import VerifyWorker, MoveWorker
from rare.ui.components.tabs.games.game_info.game_info import Ui_GameInfo
from rare.ui.components.tabs.games.game_info.details import Ui_GameDetails
from rare.utils.misc import format_size, qta_icon, style_hyperlink
from rare.widgets.image_widget import ImageWidget, ImageSize
from rare.widgets.side_tab import SideTabContents
@ -28,13 +28,13 @@ from rare.components.dialogs.move_dialog import MoveDialog, is_game_dir
logger = getLogger("GameInfo")
class GameInfo(QWidget, SideTabContents):
class GameDetails(QWidget, SideTabContents):
# str: app_name
import_clicked = pyqtSignal(str)
def __init__(self, parent=None):
super(GameInfo, self).__init__(parent=parent)
self.ui = Ui_GameInfo()
super(GameDetails, self).__init__(parent=parent)
self.ui = Ui_GameDetails()
self.ui.setupUi(self)
# lk: set object names for CSS properties
self.ui.install_button.setObjectName("InstallButton")

View file

@ -6,8 +6,8 @@ from PyQt5.QtWidgets import QFrame, QMessageBox, QToolBox
from rare.models.game import RareGame
from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton
from rare.ui.components.tabs.games.game_info.game_dlc import Ui_GameDlc
from rare.ui.components.tabs.games.game_info.game_dlc_widget import Ui_GameDlcWidget
from rare.ui.components.tabs.games.game_info.dlcs import Ui_GameDlcs
from rare.ui.components.tabs.games.game_info.dlc_widget import Ui_GameDlcWidget
from rare.widgets.image_widget import ImageWidget, ImageSize
from rare.widgets.side_tab import SideTabContents
from rare.utils.misc import widget_object_name, qta_icon
@ -98,12 +98,12 @@ class AvailableGameDlcWidget(GameDlcWidget):
self.rdlc.install()
class GameDlc(QToolBox, SideTabContents):
class GameDlcs(QToolBox, SideTabContents):
def __init__(self, parent=None):
super(GameDlc, self).__init__(parent=parent)
super(GameDlcs, self).__init__(parent=parent)
self.implements_scrollarea = True
self.ui = Ui_GameDlc()
self.ui = Ui_GameDlcs()
self.ui.setupUi(self)
self.core = LegendaryCoreSingleton()
self.signals = GlobalSignalsSingleton()

View file

@ -19,10 +19,9 @@ from rare.widgets.indicator_edit import PathEdit, IndicatorReasonsCommon
if pf.system() != "Windows":
from rare.components.tabs.settings.widgets.wine import WineSettings
if pf.system() in {"Linux", "FreeBSD"}:
from rare.components.tabs.settings.widgets.proton import ProtonSettings
from rare.components.tabs.settings.widgets.overlay import MangoHudSettings
if pf.system() in {"Linux", "FreeBSD"}:
from rare.components.tabs.settings.widgets.proton import ProtonSettings
from rare.components.tabs.settings.widgets.overlay import MangoHudSettings
logger = getLogger("GameSettings")
@ -140,21 +139,18 @@ class GameLaunchSettings(LaunchSettingsBase):
if pf.system() != "Windows":
class GameWineSettings(WineSettings):
def load_settings(self, app_name):
self.app_name = app_name
if pf.system() in {"Linux", "FreeBSD"}:
class GameProtonSettings(ProtonSettings):
def load_settings(self, app_name: str):
self.app_name = app_name
if pf.system() in {"Linux", "FreeBSD"}:
class GameProtonSettings(ProtonSettings):
def load_settings(self, app_name: str):
self.app_name = app_name
class GameMangoHudSettings(MangoHudSettings):
def load_settings(self, app_name: str):
self.app_name = app_name
class GameMangoHudSettings(MangoHudSettings):
def load_settings(self, app_name: str):
self.app_name = app_name
class GameDxvkSettings(DxvkSettings):
@ -169,18 +165,19 @@ class GameEnvVars(EnvVars):
class GameSettings(GameSettingsBase):
def __init__(self, parent=None):
if pf.system() in {"Linux", "FreeBSD"}:
super(GameSettings, self).__init__(
GameLaunchSettings, GameDxvkSettings, GameEnvVars,
GameWineSettings, GameProtonSettings, GameMangoHudSettings,
parent=parent
)
elif pf.system() != "Windows":
super(GameSettings, self).__init__(
GameLaunchSettings, GameDxvkSettings, GameEnvVars,
GameWineSettings,
parent=parent
)
if pf.system() != "Windows":
if pf.system() in {"Linux", "FreeBSD"}:
super(GameSettings, self).__init__(
GameLaunchSettings, GameDxvkSettings, GameEnvVars,
GameWineSettings, GameProtonSettings, GameMangoHudSettings,
parent=parent
)
else:
super(GameSettings, self).__init__(
GameLaunchSettings, GameDxvkSettings, GameEnvVars,
GameWineSettings,
parent=parent
)
else:
super(GameSettings, self).__init__(
GameLaunchSettings, GameDxvkSettings, GameEnvVars,
@ -193,8 +190,8 @@ class GameSettings(GameSettingsBase):
self.launch.load_settings(rgame)
if pf.system() != "Windows":
self.wine.load_settings(rgame.app_name)
if pf.system() in {"Linux", "FreeBSD"}:
self.proton_tool.load_settings(rgame.app_name)
self.mangohud.load_settings(rgame.app_name)
if pf.system() in {"Linux", "FreeBSD"}:
self.proton_tool.load_settings(rgame.app_name)
self.mangohud.load_settings(rgame.app_name)
self.dxvk.load_settings(rgame.app_name)
self.env_vars.load_settings(rgame.app_name)

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_info.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/details.ui'
#
# Created by: PyQt5 UI code generator 5.15.10
#
@ -11,15 +11,16 @@
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GameInfo(object):
def setupUi(self, GameInfo):
GameInfo.setObjectName("GameInfo")
GameInfo.resize(600, 404)
self.main_layout = QtWidgets.QHBoxLayout(GameInfo)
class Ui_GameDetails(object):
def setupUi(self, GameDetails):
GameDetails.setObjectName("GameDetails")
GameDetails.resize(814, 470)
GameDetails.setWindowTitle("GameDetails")
self.main_layout = QtWidgets.QHBoxLayout(GameDetails)
self.main_layout.setObjectName("main_layout")
self.left_layout = QtWidgets.QVBoxLayout()
self.left_layout.setObjectName("left_layout")
self.tags_group = QtWidgets.QGroupBox(GameInfo)
self.tags_group = QtWidgets.QGroupBox(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -59,12 +60,14 @@ class Ui_GameInfo(object):
self.main_layout.addLayout(self.left_layout)
self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout")
self.info_layout = QtWidgets.QFormLayout()
self.info_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.info_layout.setContentsMargins(6, 6, 6, 6)
self.info_layout.setSpacing(12)
self.info_layout.setObjectName("info_layout")
self.lbl_dev = QtWidgets.QLabel(GameInfo)
self.details_layout = QtWidgets.QFormLayout()
self.details_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.details_layout.setFieldGrowthPolicy(QtWidgets.QFormLayout.FieldsStayAtSizeHint)
self.details_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.details_layout.setContentsMargins(6, 6, 6, 6)
self.details_layout.setSpacing(12)
self.details_layout.setObjectName("details_layout")
self.lbl_dev = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -76,13 +79,13 @@ class Ui_GameInfo(object):
self.lbl_dev.setFont(font)
self.lbl_dev.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_dev.setObjectName("lbl_dev")
self.info_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lbl_dev)
self.dev = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.lbl_dev)
self.dev = QtWidgets.QLabel(GameDetails)
self.dev.setText("error")
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dev.setObjectName("dev")
self.info_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.dev)
self.lbl_app_name = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.dev)
self.lbl_app_name = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -94,13 +97,13 @@ class Ui_GameInfo(object):
self.lbl_app_name.setFont(font)
self.lbl_app_name.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_app_name.setObjectName("lbl_app_name")
self.info_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.lbl_app_name)
self.app_name = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.lbl_app_name)
self.app_name = QtWidgets.QLabel(GameDetails)
self.app_name.setText("error")
self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.app_name.setObjectName("app_name")
self.info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.app_name)
self.lbl_version = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.app_name)
self.lbl_version = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -112,13 +115,13 @@ class Ui_GameInfo(object):
self.lbl_version.setFont(font)
self.lbl_version.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_version.setObjectName("lbl_version")
self.info_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.lbl_version)
self.version = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.lbl_version)
self.version = QtWidgets.QLabel(GameDetails)
self.version.setText("error")
self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.version.setObjectName("version")
self.info_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.version)
self.lbl_grade = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.version)
self.lbl_grade = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -130,14 +133,14 @@ class Ui_GameInfo(object):
self.lbl_grade.setFont(font)
self.lbl_grade.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_grade.setObjectName("lbl_grade")
self.info_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.lbl_grade)
self.grade = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.lbl_grade)
self.grade = QtWidgets.QLabel(GameDetails)
self.grade.setText("error")
self.grade.setOpenExternalLinks(True)
self.grade.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.grade.setObjectName("grade")
self.info_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.grade)
self.lbl_install_size = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.grade)
self.lbl_install_size = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -149,13 +152,13 @@ class Ui_GameInfo(object):
self.lbl_install_size.setFont(font)
self.lbl_install_size.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_install_size.setObjectName("lbl_install_size")
self.info_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.lbl_install_size)
self.install_size = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.lbl_install_size)
self.install_size = QtWidgets.QLabel(GameDetails)
self.install_size.setText("error")
self.install_size.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.install_size.setObjectName("install_size")
self.info_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.install_size)
self.lbl_install_path = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.install_size)
self.lbl_install_path = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -167,14 +170,14 @@ class Ui_GameInfo(object):
self.lbl_install_path.setFont(font)
self.lbl_install_path.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_install_path.setObjectName("lbl_install_path")
self.info_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.lbl_install_path)
self.install_path = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.lbl_install_path)
self.install_path = QtWidgets.QLabel(GameDetails)
self.install_path.setText("error")
self.install_path.setWordWrap(True)
self.install_path.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.install_path.setObjectName("install_path")
self.info_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.install_path)
self.lbl_platform = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.install_path)
self.lbl_platform = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -186,12 +189,12 @@ class Ui_GameInfo(object):
self.lbl_platform.setFont(font)
self.lbl_platform.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_platform.setObjectName("lbl_platform")
self.info_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.lbl_platform)
self.platform = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.lbl_platform)
self.platform = QtWidgets.QLabel(GameDetails)
self.platform.setText("error")
self.platform.setObjectName("platform")
self.info_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.platform)
self.lbl_game_actions = QtWidgets.QLabel(GameInfo)
self.details_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.platform)
self.lbl_game_actions = QtWidgets.QLabel(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -203,8 +206,8 @@ class Ui_GameInfo(object):
self.lbl_game_actions.setFont(font)
self.lbl_game_actions.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.lbl_game_actions.setObjectName("lbl_game_actions")
self.info_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.lbl_game_actions)
self.game_actions_stack = QtWidgets.QStackedWidget(GameInfo)
self.details_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.lbl_game_actions)
self.game_actions_stack = QtWidgets.QStackedWidget(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -295,9 +298,9 @@ class Ui_GameInfo(object):
spacerItem = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.uninstalled_layout.addItem(spacerItem)
self.game_actions_stack.addWidget(self.uninstalled_page)
self.info_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.game_actions_stack)
self.right_layout.addLayout(self.info_layout)
self.requirements_group = QtWidgets.QFrame(GameInfo)
self.details_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.game_actions_stack)
self.right_layout.addLayout(self.details_layout)
self.requirements_group = QtWidgets.QFrame(GameDetails)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
@ -313,41 +316,40 @@ class Ui_GameInfo(object):
self.main_layout.addLayout(self.right_layout)
self.main_layout.setStretch(1, 1)
self.retranslateUi(GameInfo)
self.retranslateUi(GameDetails)
self.game_actions_stack.setCurrentIndex(0)
self.verify_stack.setCurrentIndex(0)
self.move_stack.setCurrentIndex(0)
def retranslateUi(self, GameInfo):
def retranslateUi(self, GameDetails):
_translate = QtCore.QCoreApplication.translate
GameInfo.setWindowTitle(_translate("GameInfo", "Game Info"))
self.tags_group.setTitle(_translate("GameInfo", "Tags"))
self.completed_check.setText(_translate("GameInfo", "Completed"))
self.hidden_check.setText(_translate("GameInfo", "Hidden"))
self.favorites_check.setText(_translate("GameInfo", "Favorites"))
self.backlog_check.setText(_translate("GameInfo", "Backlog"))
self.lbl_dev.setText(_translate("GameInfo", "Developer"))
self.lbl_app_name.setText(_translate("GameInfo", "Application Name"))
self.lbl_version.setText(_translate("GameInfo", "Version"))
self.lbl_grade.setText(_translate("GameInfo", "ProtonDB Grade"))
self.lbl_install_size.setText(_translate("GameInfo", "Installation Size"))
self.lbl_install_path.setText(_translate("GameInfo", "Installation Path"))
self.lbl_platform.setText(_translate("GameInfo", "Platform"))
self.lbl_game_actions.setText(_translate("GameInfo", "Actions"))
self.modify_button.setText(_translate("GameInfo", "Modify"))
self.verify_button.setText(_translate("GameInfo", "Verify"))
self.repair_button.setText(_translate("GameInfo", "Repair"))
self.move_button.setText(_translate("GameInfo", "Move"))
self.uninstall_button.setText(_translate("GameInfo", "Uninstall"))
self.install_button.setText(_translate("GameInfo", "Install"))
self.import_button.setText(_translate("GameInfo", "Import"))
self.tags_group.setTitle(_translate("GameDetails", "Tags"))
self.completed_check.setText(_translate("GameDetails", "Completed"))
self.hidden_check.setText(_translate("GameDetails", "Hidden"))
self.favorites_check.setText(_translate("GameDetails", "Favorites"))
self.backlog_check.setText(_translate("GameDetails", "Backlog"))
self.lbl_dev.setText(_translate("GameDetails", "Developer"))
self.lbl_app_name.setText(_translate("GameDetails", "Application Name"))
self.lbl_version.setText(_translate("GameDetails", "Version"))
self.lbl_grade.setText(_translate("GameDetails", "ProtonDB Grade"))
self.lbl_install_size.setText(_translate("GameDetails", "Installation Size"))
self.lbl_install_path.setText(_translate("GameDetails", "Installation Path"))
self.lbl_platform.setText(_translate("GameDetails", "Platform"))
self.lbl_game_actions.setText(_translate("GameDetails", "Actions"))
self.modify_button.setText(_translate("GameDetails", "Modify"))
self.verify_button.setText(_translate("GameDetails", "Verify"))
self.repair_button.setText(_translate("GameDetails", "Repair"))
self.move_button.setText(_translate("GameDetails", "Move"))
self.uninstall_button.setText(_translate("GameDetails", "Uninstall"))
self.install_button.setText(_translate("GameDetails", "Install"))
self.import_button.setText(_translate("GameDetails", "Import"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
GameInfo = QtWidgets.QWidget()
ui = Ui_GameInfo()
ui.setupUi(GameInfo)
GameInfo.show()
GameDetails = QtWidgets.QWidget()
ui = Ui_GameDetails()
ui.setupUi(GameDetails)
GameDetails.show()
sys.exit(app.exec_())

View file

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GameInfo</class>
<widget class="QWidget" name="GameInfo">
<class>GameDetails</class>
<widget class="QWidget" name="GameDetails">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>404</height>
<width>814</width>
<height>470</height>
</rect>
</property>
<property name="windowTitle">
<string>Game Info</string>
<string notr="true">GameDetails</string>
</property>
<layout class="QHBoxLayout" name="main_layout" stretch="0,1">
<item>
@ -87,7 +87,13 @@
<item>
<layout class="QVBoxLayout" name="right_layout">
<item>
<layout class="QFormLayout" name="info_layout">
<layout class="QFormLayout" name="details_layout">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
<property name="fieldGrowthPolicy">
<enum>QFormLayout::FieldsStayAtSizeHint</enum>
</property>
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_dlc_widget.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/dlc_widget.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
# Created by: PyQt5 UI code generator 5.15.10
#
# 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.

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_dlc.ui'
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/dlcs.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
# Created by: PyQt5 UI code generator 5.15.10
#
# 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.
@ -11,16 +11,16 @@
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GameDlc(object):
def setupUi(self, GameDlc):
GameDlc.setObjectName("GameDlc")
GameDlc.resize(271, 139)
GameDlc.setWindowTitle("GameDlc")
GameDlc.setFrameShape(QtWidgets.QFrame.StyledPanel)
GameDlc.setFrameShadow(QtWidgets.QFrame.Sunken)
GameDlc.setLineWidth(0)
class Ui_GameDlcs(object):
def setupUi(self, GameDlcs):
GameDlcs.setObjectName("GameDlcs")
GameDlcs.resize(271, 141)
GameDlcs.setWindowTitle("GameDlcs")
GameDlcs.setFrameShape(QtWidgets.QFrame.StyledPanel)
GameDlcs.setFrameShadow(QtWidgets.QFrame.Sunken)
GameDlcs.setLineWidth(0)
self.installed_dlc_page = QtWidgets.QWidget()
self.installed_dlc_page.setGeometry(QtCore.QRect(0, 0, 267, 79))
self.installed_dlc_page.setGeometry(QtCore.QRect(0, 0, 287, 62))
self.installed_dlc_page.setObjectName("installed_dlc_page")
self.installed_dlc_page_layout = QtWidgets.QVBoxLayout(self.installed_dlc_page)
self.installed_dlc_page_layout.setContentsMargins(0, 0, 0, 0)
@ -35,9 +35,9 @@ class Ui_GameDlc(object):
self.installed_dlc_container_layout.setObjectName("installed_dlc_container_layout")
self.installed_dlc_page_layout.addWidget(self.installed_dlc_container, 0, QtCore.Qt.AlignTop)
self.installed_dlc_page_layout.setStretch(1, 1)
GameDlc.addItem(self.installed_dlc_page, "")
GameDlcs.addItem(self.installed_dlc_page, "")
self.available_dlc_page = QtWidgets.QWidget()
self.available_dlc_page.setGeometry(QtCore.QRect(0, 0, 267, 79))
self.available_dlc_page.setGeometry(QtCore.QRect(0, 0, 271, 83))
self.available_dlc_page.setObjectName("available_dlc_page")
self.available_dlc_page_layou = QtWidgets.QVBoxLayout(self.available_dlc_page)
self.available_dlc_page_layou.setContentsMargins(0, 0, 0, 0)
@ -52,23 +52,23 @@ class Ui_GameDlc(object):
self.available_dlc_container_layout.setObjectName("available_dlc_container_layout")
self.available_dlc_page_layou.addWidget(self.available_dlc_container, 0, QtCore.Qt.AlignTop)
self.available_dlc_page_layou.setStretch(1, 1)
GameDlc.addItem(self.available_dlc_page, "")
GameDlcs.addItem(self.available_dlc_page, "")
self.retranslateUi(GameDlc)
self.retranslateUi(GameDlcs)
def retranslateUi(self, GameDlc):
def retranslateUi(self, GameDlcs):
_translate = QtCore.QCoreApplication.translate
self.installed_dlc_label.setText(_translate("GameDlc", "No Downloadable Content has been installed."))
GameDlc.setItemText(GameDlc.indexOf(self.installed_dlc_page), _translate("GameDlc", "Installed DLCs"))
self.available_dlc_label.setText(_translate("GameDlc", "No Downloadable Content is available"))
GameDlc.setItemText(GameDlc.indexOf(self.available_dlc_page), _translate("GameDlc", "Available DLCs"))
self.installed_dlc_label.setText(_translate("GameDlcs", "No Downloadable Content has been installed."))
GameDlcs.setItemText(GameDlcs.indexOf(self.installed_dlc_page), _translate("GameDlcs", "Installed DLCs"))
self.available_dlc_label.setText(_translate("GameDlcs", "No Downloadable Content is available"))
GameDlcs.setItemText(GameDlcs.indexOf(self.available_dlc_page), _translate("GameDlcs", "Available DLCs"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
GameDlc = QtWidgets.QToolBox()
ui = Ui_GameDlc()
ui.setupUi(GameDlc)
GameDlc.show()
GameDlcs = QtWidgets.QToolBox()
ui = Ui_GameDlcs()
ui.setupUi(GameDlcs)
GameDlcs.show()
sys.exit(app.exec_())

View file

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>GameDlc</class>
<widget class="QToolBox" name="GameDlc">
<class>GameDlcs</class>
<widget class="QToolBox" name="GameDlcs">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>271</width>
<height>139</height>
<height>141</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">GameDlc</string>
<string notr="true">GameDlcs</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
@ -27,8 +27,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>267</width>
<height>79</height>
<width>287</width>
<height>62</height>
</rect>
</property>
<attribute name="label">
@ -79,8 +79,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>267</width>
<height>79</height>
<width>271</width>
<height>83</height>
</rect>
</property>
<attribute name="label">