1
0
Fork 0
mirror of synced 2024-06-26 18:20:50 +12:00

GameInfo: Refactor the move game stack to re-use the existing widgets

instead of adding them again to the layout. Move game should still
switch to RareGame, similar to the way it works for verifing.

Also add non-functional "Import Game" button
This commit is contained in:
loathingKernel 2023-01-24 18:16:23 +02:00
parent 915c41309d
commit b02483eb80
4 changed files with 211 additions and 129 deletions

View file

@ -7,14 +7,12 @@ from typing import Optional, Union
from PyQt5.QtCore import (
Qt,
pyqtSignal,
QThreadPool,
pyqtSlot,
)
from PyQt5.QtWidgets import (
QHBoxLayout,
QMenu,
QProgressBar,
QPushButton,
QWidget,
QMessageBox,
@ -43,9 +41,6 @@ logger = getLogger("GameInfo")
class GameInfo(QWidget):
# verification_finished = pyqtSignal(InstalledGame)
# uninstalled = pyqtSignal(str)
def __init__(self, game_utils, parent=None):
super(GameInfo, self).__init__(parent=parent)
self.ui = Ui_GameInfo()
@ -58,8 +53,6 @@ class GameInfo(QWidget):
self.game_utils = game_utils
self.rgame: Optional[RareGame] = None
# self.game: Optional[Game] = None
# self.igame: Optional[InstalledGame] = None
self.image = ImageWidget(self)
self.image.setFixedSize(ImageSize.Display)
@ -94,19 +87,11 @@ class GameInfo(QWidget):
self.ui.move_button.setMenu(QMenu())
self.ui.move_button.menu().addAction(self.move_action)
self.progress_of_moving = QProgressBar()
self.existing_game_dir = False
self.is_moving = False
self.game_moving = None
self.dest_path_with_suffix = None
self.widget_container = QWidget()
box_layout = QHBoxLayout()
box_layout.setContentsMargins(0, 0, 0, 0)
box_layout.addWidget(self.ui.move_button)
self.widget_container.setLayout(box_layout)
index = self.ui.move_stack.addWidget(self.widget_container)
self.ui.move_stack.setCurrentIndex(index)
self.move_game_pop_up.browse_done.connect(self.show_menu_after_browse)
self.move_game_pop_up.move_clicked.connect(self.ui.move_button.menu().close)
self.move_game_pop_up.move_clicked.connect(self.move_game)
@ -195,7 +180,7 @@ class GameInfo(QWidget):
self.verify_game(self.rgame)
def verify_game(self, rgame: RareGame):
self.ui.verify_widget.setCurrentIndex(1)
self.ui.verify_stack.setCurrentWidget(self.ui.verify_progress_page)
verify_worker = VerifyWorker(self.core, self.args, rgame)
verify_worker.signals.progress.connect(self.__on_verify_progress)
verify_worker.signals.result.connect(self.__on_verify_result)
@ -207,7 +192,7 @@ class GameInfo(QWidget):
def verify_cleanup(self, rgame: RareGame):
rgame.active_worker = None
self.ui.verify_widget.setCurrentIndex(0)
self.ui.verify_stack.setCurrentWidget(self.ui.verify_button_page)
self.ui.move_button.setEnabled(True)
self.ui.verify_button.setEnabled(True)
@ -235,7 +220,6 @@ class GameInfo(QWidget):
self.tr("<b>{}</b> has been verified successfully. "
"No missing or corrupt files found").format(rgame.title),
)
# self.verification_finished.emit(rgame.igame)
else:
ans = QMessageBox.question(
self,
@ -283,8 +267,7 @@ class GameInfo(QWidget):
else:
return
self.ui.move_stack.addWidget(self.progress_of_moving)
self.ui.move_stack.setCurrentWidget(self.progress_of_moving)
self.ui.move_stack.setCurrentWidget(self.ui.move_progress)
self.game_moving = self.rgame.app_name
self.is_moving = True
@ -299,8 +282,8 @@ class GameInfo(QWidget):
shutil.move(self.rgame.igame.install_path, dest_path)
self.set_new_game(self.dest_path_with_suffix)
def update_progressbar(self, progress_int):
self.progress_of_moving.setValue(progress_int)
def __on_move_progress(self, progress_int):
self.ui.move_progress.setValue(progress_int)
def start_copy_diff_drive(self):
copy_worker = CopyGameInstallation(
@ -310,13 +293,13 @@ class GameInfo(QWidget):
igame=self.rgame.igame,
)
copy_worker.signals.progress.connect(self.update_progressbar)
copy_worker.signals.progress.connect(self.__on_move_progress)
copy_worker.signals.finished.connect(self.set_new_game)
copy_worker.signals.no_space_left.connect(self.warn_no_space_left)
QThreadPool.globalInstance().start(copy_worker)
def move_helper_clean_up(self):
self.ui.move_stack.setCurrentWidget(self.ui.move_button)
self.ui.move_stack.setCurrentWidget(self.ui.move_button_page)
self.move_game_pop_up.refresh_indicator()
self.is_moving = False
self.game_moving = None
@ -364,11 +347,11 @@ class GameInfo(QWidget):
self.rgame.signals.game.uninstalled.connect(self.update_game)
if (worker := self.rgame.active_worker) is not None:
if isinstance(worker, VerifyWorker):
self.ui.verify_widget.setCurrentIndex(1)
self.ui.verify_stack.setCurrentWidget(self.ui.verify_progress_page)
self.ui.verify_progress.setValue(self.rgame.progress)
worker.signals.progress.connect(self.__on_verify_progress)
else:
self.ui.verify_widget.setCurrentIndex(0)
self.ui.verify_stack.setCurrentWidget(self.ui.verify_button_page)
self.title.setTitle(self.rgame.app_title)
self.image.setPixmap(rgame.pixmap)
@ -394,20 +377,20 @@ class GameInfo(QWidget):
self.ui.verify_button.setEnabled(bool(self.rgame.igame))
self.ui.repair_button.setEnabled(bool(self.rgame.igame))
if not self.rgame.igame:
self.ui.game_actions_stack.setCurrentIndex(1)
if not self.rgame.is_installed or self.rgame.is_origin:
self.ui.game_actions_stack.setCurrentWidget(self.ui.uninstalled_page)
if self.rgame.is_origin:
self.ui.version.setText("N/A")
self.ui.version.setEnabled(False)
self.ui.install_button.setText(self.tr("Link to Origin/Launch"))
else:
self.ui.install_button.setText(self.tr("Install"))
self.ui.install_button.setText(self.tr("Install Game"))
else:
if not self.args.offline:
self.ui.repair_button.setDisabled(
not os.path.exists(os.path.join(self.core.lgd.get_tmp_path(), f"{self.rgame.app_name}.repair"))
)
self.ui.game_actions_stack.setCurrentIndex(0)
self.ui.game_actions_stack.setCurrentWidget(self.ui.installed_page)
grade_visible = not self.rgame.is_unreal and platform.system() != "Windows"
self.ui.grade.setVisible(grade_visible)
@ -422,11 +405,9 @@ class GameInfo(QWidget):
# Otherwhise, we show the move tool button.
if self.rgame.igame is not None:
if self.game_moving == self.rgame.app_name:
index = self.ui.move_stack.addWidget(self.progress_of_moving)
self.ui.move_stack.setCurrentIndex(index)
self.ui.move_stack.setCurrentWidget(self.ui.move_progress_page)
else:
index = self.ui.move_stack.addWidget(self.ui.move_button)
self.ui.move_stack.setCurrentIndex(index)
self.ui.move_stack.setCurrentWidget(self.ui.move_button_page)
# If a game is verifying or moving, disable both verify and moving buttons.
if rgame.active_worker is not None:

View file

@ -21,22 +21,21 @@ class MoveGamePopUp(QWidget):
def __init__(self, parent=None):
super(MoveGamePopUp, self).__init__(parent=parent)
layout: QVBoxLayout = QVBoxLayout()
self.install_path = str()
self.core = LegendaryCoreSingleton()
self.move_path_edit = PathEdit(str(), QFileDialog.Directory, edit_func=self.edit_func_move_game)
self.install_path = ""
self.move_path_edit = PathEdit("", QFileDialog.Directory, edit_func=self.edit_func_move_game)
self.move_path_edit.path_select.clicked.connect(self.emit_browse_done_signal)
self.move_game = QPushButton(self.tr("Move"))
self.move_game.setMaximumWidth(50)
self.move_game.clicked.connect(self.emit_move_game_signal)
self.move_button = QPushButton(self.tr("Move"))
self.move_button.setFixedSize(self.move_path_edit.path_select.sizeHint())
self.move_button.clicked.connect(self.emit_move_game_signal)
self.warn_overwriting = QLabel()
middle_layout = QHBoxLayout()
middle_layout.setAlignment(Qt.AlignRight)
middle_layout.addWidget(self.warn_overwriting, stretch=1)
middle_layout.addWidget(self.move_game)
middle_layout.addWidget(self.move_button)
bottom_layout = QVBoxLayout()
self.aval_space_label = QLabel()
@ -44,6 +43,7 @@ class MoveGamePopUp(QWidget):
bottom_layout.addWidget(self.aval_space_label)
bottom_layout.addWidget(self.req_space_label)
layout: QVBoxLayout = QVBoxLayout()
layout.addWidget(self.move_path_edit)
layout.addLayout(middle_layout)
layout.addLayout(bottom_layout)
@ -67,11 +67,11 @@ class MoveGamePopUp(QWidget):
return os.stat(dir1).st_dev != os.stat(dir2).st_dev
def edit_func_move_game(self, dir_selected):
self.move_game.setEnabled(True)
self.move_button.setEnabled(True)
self.warn_overwriting.setHidden(True)
def helper_func(reason: str) -> Tuple[bool, str, str]:
self.move_game.setEnabled(False)
self.move_button.setEnabled(False)
return False, dir_selected, self.tr(reason)
if not self.install_path or not dir_selected:
@ -124,7 +124,7 @@ class MoveGamePopUp(QWidget):
return helper_func("Not enough space available on drive.")
# Fallback
self.move_game.setEnabled(True)
self.move_button.setEnabled(True)
return True, dir_selected, str()
def update_game(self, app_name):

View file

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'rare/ui/components/tabs/games/game_info/game_info.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
# Created by: PyQt5 UI code generator 5.15.7
#
# 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,20 +14,20 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GameInfo(object):
def setupUi(self, GameInfo):
GameInfo.setObjectName("GameInfo")
GameInfo.resize(791, 583)
GameInfo.resize(533, 441)
self.layout_game_info = QtWidgets.QHBoxLayout(GameInfo)
self.layout_game_info.setObjectName("layout_game_info")
self.layout_game_info_form = QtWidgets.QGridLayout()
self.layout_game_info_form.setContentsMargins(6, 6, 6, 6)
self.layout_game_info_form.setSpacing(12)
self.layout_game_info_form.setObjectName("layout_game_info_form")
spacerItem = QtWidgets.QSpacerItem(0, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.layout_game_info_form.addItem(spacerItem, 8, 1, 1, 1)
self.game_info_layout = QtWidgets.QGridLayout()
self.game_info_layout.setContentsMargins(6, 6, 6, 6)
self.game_info_layout.setSpacing(12)
self.game_info_layout.setObjectName("game_info_layout")
spacerItem = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.game_info_layout.addItem(spacerItem, 8, 1, 1, 1)
self.dev = QtWidgets.QLabel(GameInfo)
self.dev.setText("error")
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dev.setObjectName("dev")
self.layout_game_info_form.addWidget(self.dev, 0, 1, 1, 1)
self.game_info_layout.addWidget(self.dev, 0, 1, 1, 1)
self.lbl_dev = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -39,18 +39,18 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_dev.setFont(font)
self.lbl_dev.setObjectName("lbl_dev")
self.layout_game_info_form.addWidget(self.lbl_dev, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_dev, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.app_name = QtWidgets.QLabel(GameInfo)
self.app_name.setText("error")
self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.app_name.setObjectName("app_name")
self.layout_game_info_form.addWidget(self.app_name, 1, 1, 1, 1)
self.game_info_layout.addWidget(self.app_name, 1, 1, 1, 1)
self.install_path = QtWidgets.QLabel(GameInfo)
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.layout_game_info_form.addWidget(self.install_path, 5, 1, 1, 1)
self.game_info_layout.addWidget(self.install_path, 5, 1, 1, 1)
self.lbl_platform = QtWidgets.QLabel(GameInfo)
font = QtGui.QFont()
font.setBold(True)
@ -58,12 +58,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.layout_game_info_form.addWidget(self.lbl_platform, 6, 0, 1, 1)
self.game_info_layout.addWidget(self.lbl_platform, 6, 0, 1, 1)
self.version = QtWidgets.QLabel(GameInfo)
self.version.setText("error")
self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.version.setObjectName("version")
self.layout_game_info_form.addWidget(self.version, 2, 1, 1, 1)
self.game_info_layout.addWidget(self.version, 2, 1, 1, 1)
self.lbl_install_path = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -75,7 +75,7 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_install_path.setFont(font)
self.lbl_install_path.setObjectName("lbl_install_path")
self.layout_game_info_form.addWidget(self.lbl_install_path, 5, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_install_path, 5, 0, 1, 1, QtCore.Qt.AlignRight)
self.lbl_install_size = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -87,69 +87,80 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_install_size.setFont(font)
self.lbl_install_size.setObjectName("lbl_install_size")
self.layout_game_info_form.addWidget(self.lbl_install_size, 4, 0, 1, 1, QtCore.Qt.AlignRight)
spacerItem1 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.layout_game_info_form.addItem(spacerItem1, 8, 0, 1, 1)
self.game_info_layout.addWidget(self.lbl_install_size, 4, 0, 1, 1, QtCore.Qt.AlignRight)
spacerItem1 = QtWidgets.QSpacerItem(0, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.game_info_layout.addItem(spacerItem1, 8, 0, 1, 1)
self.platform = QtWidgets.QLabel(GameInfo)
self.platform.setText("error")
self.platform.setObjectName("platform")
self.layout_game_info_form.addWidget(self.platform, 6, 1, 1, 1)
self.game_info_layout.addWidget(self.platform, 6, 1, 1, 1)
self.game_actions_stack = QtWidgets.QStackedWidget(GameInfo)
self.game_actions_stack.setMinimumSize(QtCore.QSize(250, 0))
self.game_actions_stack.setMaximumSize(QtCore.QSize(250, 16777215))
self.game_actions_stack.setObjectName("game_actions_stack")
self.installed_page = QtWidgets.QWidget()
self.installed_page.setObjectName("installed_page")
self.installed_layout = QtWidgets.QVBoxLayout(self.installed_page)
self.installed_layout.setContentsMargins(0, 0, 0, 0)
self.installed_layout.setObjectName("installed_layout")
self.verify_widget = QtWidgets.QStackedWidget(self.installed_page)
self.verify_widget.setObjectName("verify_widget")
self.page_verify_button = QtWidgets.QWidget()
self.page_verify_button.setObjectName("page_verify_button")
self.layout_verify_button = QtWidgets.QVBoxLayout(self.page_verify_button)
self.layout_verify_button.setContentsMargins(0, 0, 0, 0)
self.layout_verify_button.setSpacing(0)
self.layout_verify_button.setObjectName("layout_verify_button")
self.verify_button = QtWidgets.QPushButton(self.page_verify_button)
self.verify_stack = QtWidgets.QStackedWidget(self.installed_page)
self.verify_stack.setObjectName("verify_stack")
self.verify_button_page = QtWidgets.QWidget()
self.verify_button_page.setObjectName("verify_button_page")
self.verify_page_layout = QtWidgets.QHBoxLayout(self.verify_button_page)
self.verify_page_layout.setContentsMargins(0, 0, 0, 0)
self.verify_page_layout.setSpacing(0)
self.verify_page_layout.setObjectName("verify_page_layout")
self.verify_button = QtWidgets.QPushButton(self.verify_button_page)
self.verify_button.setObjectName("verify_button")
self.layout_verify_button.addWidget(self.verify_button)
self.verify_widget.addWidget(self.page_verify_button)
self.page_verify_progress = QtWidgets.QWidget()
self.page_verify_progress.setObjectName("page_verify_progress")
self.layout_verify_progress = QtWidgets.QVBoxLayout(self.page_verify_progress)
self.layout_verify_progress.setContentsMargins(0, 0, 0, 0)
self.layout_verify_progress.setSpacing(0)
self.layout_verify_progress.setObjectName("layout_verify_progress")
self.verify_progress = QtWidgets.QProgressBar(self.page_verify_progress)
self.verify_page_layout.addWidget(self.verify_button)
self.verify_stack.addWidget(self.verify_button_page)
self.verify_progress_page = QtWidgets.QWidget()
self.verify_progress_page.setObjectName("verify_progress_page")
self.verify_progress_layout = QtWidgets.QHBoxLayout(self.verify_progress_page)
self.verify_progress_layout.setContentsMargins(0, 0, 0, 0)
self.verify_progress_layout.setSpacing(0)
self.verify_progress_layout.setObjectName("verify_progress_layout")
self.verify_progress = QtWidgets.QProgressBar(self.verify_progress_page)
self.verify_progress.setProperty("value", 24)
self.verify_progress.setObjectName("verify_progress")
self.layout_verify_progress.addWidget(self.verify_progress)
self.verify_widget.addWidget(self.page_verify_progress)
self.installed_layout.addWidget(self.verify_widget)
self.verify_progress_layout.addWidget(self.verify_progress)
self.verify_stack.addWidget(self.verify_progress_page)
self.installed_layout.addWidget(self.verify_stack)
self.repair_button = QtWidgets.QPushButton(self.installed_page)
self.repair_button.setObjectName("repair_button")
self.installed_layout.addWidget(self.repair_button)
self.move_stack = QtWidgets.QStackedWidget(self.installed_page)
self.move_stack.setMinimumSize(QtCore.QSize(0, 20))
self.move_stack.setObjectName("move_stack")
self.page = QtWidgets.QWidget()
self.page.setObjectName("page")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.page)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.move_button = QtWidgets.QToolButton(self.page)
self.move_button_page = QtWidgets.QWidget()
self.move_button_page.setObjectName("move_button_page")
self.move_button_layout = QtWidgets.QHBoxLayout(self.move_button_page)
self.move_button_layout.setContentsMargins(0, 0, 0, 0)
self.move_button_layout.setSpacing(0)
self.move_button_layout.setObjectName("move_button_layout")
self.move_button = QtWidgets.QToolButton(self.move_button_page)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.move_button.sizePolicy().hasHeightForWidth())
self.move_button.setSizePolicy(sizePolicy)
self.move_button.setPopupMode(QtWidgets.QToolButton.InstantPopup)
self.move_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
self.move_button.setArrowType(QtCore.Qt.DownArrow)
self.move_button.setObjectName("move_button")
self.horizontalLayout_2.addWidget(self.move_button)
self.move_stack.addWidget(self.page)
self.page_2 = QtWidgets.QWidget()
self.page_2.setObjectName("page_2")
self.move_stack.addWidget(self.page_2)
self.move_button_layout.addWidget(self.move_button)
self.move_stack.addWidget(self.move_button_page)
self.move_progress_page = QtWidgets.QWidget()
self.move_progress_page.setObjectName("move_progress_page")
self.move_progress_layout = QtWidgets.QHBoxLayout(self.move_progress_page)
self.move_progress_layout.setContentsMargins(0, 0, 0, 0)
self.move_progress_layout.setSpacing(0)
self.move_progress_layout.setObjectName("move_progress_layout")
self.move_progress = QtWidgets.QProgressBar(self.move_progress_page)
self.move_progress.setProperty("value", 24)
self.move_progress.setObjectName("move_progress")
self.move_progress_layout.addWidget(self.move_progress)
self.move_stack.addWidget(self.move_progress_page)
self.installed_layout.addWidget(self.move_stack)
self.uninstall_button = QtWidgets.QPushButton(self.installed_page)
self.uninstall_button.setStyleSheet("")
@ -159,18 +170,28 @@ class Ui_GameInfo(object):
self.uninstalled_page = QtWidgets.QWidget()
self.uninstalled_page.setObjectName("uninstalled_page")
self.uninstalled_layout = QtWidgets.QVBoxLayout(self.uninstalled_page)
self.uninstalled_layout.setContentsMargins(0, 0, 0, 0)
self.uninstalled_layout.setObjectName("uninstalled_layout")
spacerItem2 = QtWidgets.QSpacerItem(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.uninstalled_layout.addItem(spacerItem2)
self.install_button = QtWidgets.QPushButton(self.uninstalled_page)
self.install_button.setStyleSheet("")
self.install_button.setObjectName("install_button")
self.uninstalled_layout.addWidget(self.install_button)
self.import_button = QtWidgets.QPushButton(self.uninstalled_page)
self.import_button.setObjectName("import_button")
self.uninstalled_layout.addWidget(self.import_button)
spacerItem3 = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.uninstalled_layout.addItem(spacerItem3)
self.uninstalled_layout.setStretch(0, 1)
self.uninstalled_layout.setStretch(3, 1)
self.game_actions_stack.addWidget(self.uninstalled_page)
self.layout_game_info_form.addWidget(self.game_actions_stack, 7, 1, 1, 1, QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.game_info_layout.addWidget(self.game_actions_stack, 7, 1, 1, 1)
self.install_size = QtWidgets.QLabel(GameInfo)
self.install_size.setText("error")
self.install_size.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.install_size.setObjectName("install_size")
self.layout_game_info_form.addWidget(self.install_size, 4, 1, 1, 1)
self.game_info_layout.addWidget(self.install_size, 4, 1, 1, 1)
self.lbl_version = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -182,7 +203,7 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_version.setFont(font)
self.lbl_version.setObjectName("lbl_version")
self.layout_game_info_form.addWidget(self.lbl_version, 2, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_version, 2, 0, 1, 1, QtCore.Qt.AlignRight)
self.lbl_game_actions = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -194,14 +215,14 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_game_actions.setFont(font)
self.lbl_game_actions.setObjectName("lbl_game_actions")
self.layout_game_info_form.addWidget(self.lbl_game_actions, 7, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_game_actions, 7, 0, 1, 1, QtCore.Qt.AlignRight)
self.lbl_grade = QtWidgets.QLabel(GameInfo)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.lbl_grade.setFont(font)
self.lbl_grade.setObjectName("lbl_grade")
self.layout_game_info_form.addWidget(self.lbl_grade, 3, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_grade, 3, 0, 1, 1, QtCore.Qt.AlignRight)
self.lbl_app_name = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@ -213,17 +234,20 @@ class Ui_GameInfo(object):
font.setWeight(75)
self.lbl_app_name.setFont(font)
self.lbl_app_name.setObjectName("lbl_app_name")
self.layout_game_info_form.addWidget(self.lbl_app_name, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.game_info_layout.addWidget(self.lbl_app_name, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.grade = QtWidgets.QLabel(GameInfo)
self.grade.setText("error")
self.grade.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.grade.setObjectName("grade")
self.layout_game_info_form.addWidget(self.grade, 3, 1, 1, 1)
self.layout_game_info.addLayout(self.layout_game_info_form)
self.game_info_layout.addWidget(self.grade, 3, 1, 1, 1)
self.game_info_layout.setColumnStretch(1, 1)
self.game_info_layout.setRowStretch(8, 1)
self.layout_game_info.addLayout(self.game_info_layout)
self.retranslateUi(GameInfo)
self.game_actions_stack.setCurrentIndex(0)
self.verify_widget.setCurrentIndex(0)
self.verify_stack.setCurrentIndex(0)
self.move_stack.setCurrentIndex(0)
def retranslateUi(self, GameInfo):
_translate = QtCore.QCoreApplication.translate
@ -237,6 +261,7 @@ class Ui_GameInfo(object):
self.move_button.setText(_translate("GameInfo", "Move Installation"))
self.uninstall_button.setText(_translate("GameInfo", "Uninstall Game"))
self.install_button.setText(_translate("GameInfo", "Install Game"))
self.import_button.setText(_translate("GameInfo", "Import Game"))
self.lbl_version.setText(_translate("GameInfo", "Version"))
self.lbl_game_actions.setText(_translate("GameInfo", "Actions"))
self.lbl_grade.setText(_translate("GameInfo", "ProtonDB Grade"))

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>791</width>
<height>583</height>
<width>533</width>
<height>441</height>
</rect>
</property>
<property name="windowTitle">
@ -15,7 +15,7 @@
</property>
<layout class="QHBoxLayout" name="layout_game_info">
<item>
<layout class="QGridLayout" name="layout_game_info_form">
<layout class="QGridLayout" name="game_info_layout" rowstretch="0,0,0,0,0,0,0,0,1" columnstretch="0,1">
<property name="leftMargin">
<number>6</number>
</property>
@ -32,14 +32,14 @@
<number>12</number>
</property>
<item row="8" column="1">
<spacer name="hs_game_info_form">
<spacer name="game_info_hspacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>20</height>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
@ -161,14 +161,14 @@
</widget>
</item>
<item row="8" column="0">
<spacer name="vs_game_info_form">
<spacer name="game_info_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
<width>0</width>
<height>20</height>
</size>
</property>
</spacer>
@ -180,7 +180,7 @@
</property>
</widget>
</item>
<item row="7" column="1" alignment="Qt::AlignLeft|Qt::AlignTop">
<item row="7" column="1">
<widget class="QStackedWidget" name="game_actions_stack">
<property name="minimumSize">
<size>
@ -188,6 +188,12 @@
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>16777215</height>
</size>
</property>
<property name="currentIndex">
<number>0</number>
</property>
@ -206,12 +212,12 @@
<number>0</number>
</property>
<item>
<widget class="QStackedWidget" name="verify_widget">
<widget class="QStackedWidget" name="verify_stack">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_verify_button">
<layout class="QVBoxLayout" name="layout_verify_button">
<widget class="QWidget" name="verify_button_page">
<layout class="QHBoxLayout" name="verify_page_layout">
<property name="spacing">
<number>0</number>
</property>
@ -236,8 +242,8 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="page_verify_progress">
<layout class="QVBoxLayout" name="layout_verify_progress">
<widget class="QWidget" name="verify_progress_page">
<layout class="QHBoxLayout" name="verify_progress_layout">
<property name="spacing">
<number>0</number>
</property>
@ -273,14 +279,14 @@
</item>
<item>
<widget class="QStackedWidget" name="move_stack">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<widget class="QWidget" name="move_button_page">
<layout class="QHBoxLayout" name="move_button_layout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
@ -307,11 +313,42 @@
<property name="popupMode">
<enum>QToolButton::InstantPopup</enum>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextOnly</enum>
</property>
<property name="arrowType">
<enum>Qt::DownArrow</enum>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="move_progress_page">
<layout class="QHBoxLayout" name="move_progress_layout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QProgressBar" name="move_progress">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2"/>
</widget>
</item>
<item>
@ -327,7 +364,26 @@
</layout>
</widget>
<widget class="QWidget" name="uninstalled_page">
<layout class="QVBoxLayout" name="uninstalled_layout">
<layout class="QVBoxLayout" name="uninstalled_layout" stretch="1,0,0,1">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="uninstalled_page_top_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="install_button">
<property name="styleSheet">
@ -338,6 +394,26 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="import_button">
<property name="text">
<string>Import Game</string>
</property>
</widget>
</item>
<item>
<spacer name="uninstalled_page_bot_vspacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>