diff --git a/rare/components/tabs/games/game_info/__init__.py b/rare/components/tabs/games/game_info/__init__.py
index 465fd8b6..b9729dfa 100644
--- a/rare/components/tabs/games/game_info/__init__.py
+++ b/rare/components/tabs/games/game_info/__init__.py
@@ -7,7 +7,7 @@ from PyQt5.QtWidgets import QWidget, QTabWidget, QMessageBox
from qtawesome import icon
from custom_legendary.core import LegendaryCore
-from custom_legendary.models.game import InstalledGame, Game
+from custom_legendary.models.game import Game, InstalledGame
from rare.components.tabs.games.game_info.dlcs import DlcTab
from rare.components.tabs.games.game_info.game_settings import GameSettings
from rare.ui.components.tabs.games.game_info.game_info import Ui_GameInfo
@@ -65,22 +65,26 @@ class GameInfo(QWidget, Ui_GameInfo):
def __init__(self, core: LegendaryCore, parent):
super(GameInfo, self).__init__(parent=parent)
self.setupUi(self)
- self.ratings = {"platinum": self.tr("Platimum"),
+ self.core = core
+
+ self.ratings = {"platinum": self.tr("Platinum"),
"gold": self.tr("Gold"),
"silver": self.tr("Silver"),
"bronze": self.tr("Bronze"),
- "fail": self.tr("Could not get grade from ProtonDB"),
- "pending": "Not enough reports"}
+ "fail": self.tr("Could not get grade"),
+ "pending": self.tr("Not enough reports")}
if os.path.exists(p := os.path.expanduser("~/.cache/rare/game_list.json")):
self.grade_table = json.load(open(p))
else:
self.grade_table = {}
- self.widget = QWidget()
- self.core = core
+
if os.name == "nt":
self.lbl_grade.setVisible(False)
self.grade.setVisible(False)
+ self.game_actions_stack.setCurrentIndex(0)
+ self.game_actions_stack.resize(self.game_actions_stack.minimumSize())
+
self.uninstall_button.clicked.connect(self.uninstall)
self.verify_button.clicked.connect(self.verify)
self.repair_button.clicked.connect(self.repair)
@@ -153,14 +157,15 @@ class GameInfo(QWidget, Ui_GameInfo):
if os.name != "nt" and self.grade_table:
try:
- grade = self.ratings.get(self.grade_table[app_name].get("grade"))
+ grade = self.grade_table[app_name]["grade"]
except KeyError:
- grade = (self.tr("Error"))
- self.grade.setText(grade)
+ grade = "fail"
+ self.grade.setText(self.ratings[grade])
if len(self.verify_threads.keys()) == 0 or not self.verify_threads.get(app_name):
self.verify_widget.setCurrentIndex(0)
elif self.verify_threads.get(app_name):
self.verify_widget.setCurrentIndex(1)
self.verify_progress.setValue(
- self.verify_threads[app_name].num / self.verify_threads[app_name].total * 100)
+ self.verify_threads[app_name].num / self.verify_threads[app_name].total * 100
+ )
diff --git a/rare/components/tabs/games/game_info/uninstalled_info.py b/rare/components/tabs/games/game_info/uninstalled_info.py
index fcb5b781..8a230516 100644
--- a/rare/components/tabs/games/game_info/uninstalled_info.py
+++ b/rare/components/tabs/games/game_info/uninstalled_info.py
@@ -1,15 +1,17 @@
import json
import os
-from PyQt5.QtCore import pyqtSignal, QSettings, Qt
+from PyQt5.QtCore import Qt, pyqtSignal
from PyQt5.QtGui import QPixmap, QKeyEvent
-from PyQt5.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QTabWidget, QTreeView
+from PyQt5.QtWidgets import QWidget, QTabWidget, QTreeView
from qtawesome import icon
from custom_legendary.core import LegendaryCore
from custom_legendary.models.game import Game
+from rare.ui.components.tabs.games.game_info.game_info import Ui_GameInfo
from rare.utils.extra_widgets import SideTabBar
from rare.utils.json_formatter import QJsonModel
+from rare.utils.utils import IMAGE_DIR
class UninstalledTabInfo(QTabWidget):
@@ -18,7 +20,6 @@ class UninstalledTabInfo(QTabWidget):
self.app_name = ""
self.core = core
self.setTabBar(SideTabBar())
-
self.setTabPosition(QTabWidget.West)
self.addTab(QWidget(), icon("mdi.keyboard-backspace", color="white"), self.tr("Back"))
@@ -49,69 +50,44 @@ class UninstalledTabInfo(QTabWidget):
self.parent().layout.setCurrentIndex(0)
-class UninstalledInfo(QWidget):
+class UninstalledInfo(QWidget, Ui_GameInfo):
game: Game
install_game = pyqtSignal(str)
- def __init__(self, core: LegendaryCore, parent):
+ def __init__(self, core: LegendaryCore, parent=None):
super(UninstalledInfo, self).__init__(parent=parent)
- self.layout = QVBoxLayout()
-
- if os.path.exists(p := os.path.expanduser("~/.cache/rare/game_list.json")):
- self.grade_table = json.load(open(p))
- else:
- self.grade_table = {}
+ self.setupUi(self)
+ self.core = core
self.ratings = {"platinum": self.tr("Platinum"),
"gold": self.tr("Gold"),
"silver": self.tr("Silver"),
"bronze": self.tr("Bronze"),
- "fail": self.tr("Could not get grade from ProtonDB"),
- "pending": "Not enough reports"}
+ "fail": self.tr("Could not get grade"),
+ "pending": self.tr("Not enough reports")}
+ if os.path.exists(p := os.path.expanduser("~/.cache/rare/game_list.json")):
+ self.grade_table = json.load(open(p))
+ else:
+ self.grade_table = {}
- self.core = core
+ if os.name == "nt":
+ self.lbl_grade.setVisible(False)
+ self.grade.setVisible(False)
- self.settings = QSettings()
+ self.install_size.setEnabled(False)
+ self.lbl_install_size.setEnabled(False)
+ self.install_path.setEnabled(False)
+ self.lbl_install_path.setEnabled(False)
- self.top_layout = QHBoxLayout()
- left_layout = QVBoxLayout()
- self.image = QLabel()
- left_layout.addWidget(self.image)
- left_layout.addStretch(1)
- self.top_layout.addLayout(left_layout)
- self.right_layout = QVBoxLayout()
+ self.game_actions_stack.setCurrentIndex(1)
+ self.game_actions_stack.resize(self.game_actions_stack.minimumSize())
- self.title = QLabel("Error")
- self.right_layout.addWidget(self.title)
-
- self.app_name = QLabel("Error")
- self.right_layout.addWidget(self.app_name)
- if os.name != "nt":
- self.rating = QLabel("Rating: Error")
- self.right_layout.addWidget(self.rating)
-
- self.install_button = QPushButton(self.tr("Install"))
- self.install_button.setFixedWidth(300)
- self.install_button.setStyleSheet("""background-color: #090""")
self.install_button.clicked.connect(lambda: self.install_game.emit(self.game.app_name))
- self.right_layout.addWidget(self.install_button)
- self.version = QLabel("Error")
- self.right_layout.addWidget(self.version)
- self.right_layout.addStretch(1)
- self.top_layout.addLayout(self.right_layout)
-
- self.top_layout.addStretch(1)
- self.layout.addLayout(self.top_layout)
-
- self.setLayout(self.layout)
def update_game(self, app_name):
self.game = self.core.get_game(app_name)
- self.title.setText(f"
{self.game.app_title}
")
- self.app_name.setText("Appname: " + app_name)
-
- IMAGE_DIR = self.settings.value("img_dir", os.path.expanduser("~/.cache/rare/images"), str)
+ self.game_title.setText(f"{self.game.app_title}
")
if os.path.exists(f"{IMAGE_DIR}/{self.game.app_name}/FinalArt.png"):
pixmap = QPixmap(f"{IMAGE_DIR}/{self.game.app_name}/FinalArt.png")
@@ -127,13 +103,15 @@ class UninstalledInfo(QWidget):
pixmap = pixmap.scaled(w, int(w * 4 / 3))
self.image.setPixmap(pixmap)
- self.version.setText(self.game.asset_info.build_version)
- if self.grade_table and (not os.name == "nt"):
+ self.app_name.setText(self.game.app_name)
+ self.version.setText(self.game.app_version)
+ self.dev.setText(self.game.metadata["developer"])
+ self.install_size.setText("N/A")
+ self.install_path.setText("N/A")
+
+ if os.name != "nt" and self.grade_table:
try:
- rating = self.grade_table[app_name]["grade"]
+ grade = self.grade_table[app_name]["grade"]
except KeyError:
- rating = "fail"
- if rating not in ["fail", "pending"]:
- self.rating.setText(self.tr("Rating from ProtonDB: ") + self.ratings[rating])
- else:
- self.rating.setText(self.ratings[rating])
+ grade = "fail"
+ self.grade.setText(self.ratings[grade])
diff --git a/rare/ui/components/tabs/games/game_info/game_info.py b/rare/ui/components/tabs/games/game_info/game_info.py
index 11f5b1d9..d320f7a9 100644
--- a/rare/ui/components/tabs/games/game_info/game_info.py
+++ b/rare/ui/components/tabs/games/game_info/game_info.py
@@ -22,7 +22,7 @@ class Ui_GameInfo(object):
self.layout_game_info_form.setObjectName("layout_game_info_form")
self.install_size = QtWidgets.QLabel(GameInfo)
self.install_size.setText("error")
- self.install_size.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
+ 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.lbl_dev = QtWidgets.QLabel(GameInfo)
@@ -39,7 +39,7 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_dev, 0, 0, 1, 1, QtCore.Qt.AlignRight)
self.version = QtWidgets.QLabel(GameInfo)
self.version.setText("error")
- self.version.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
+ 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.lbl_install_path = QtWidgets.QLabel(GameInfo)
@@ -70,43 +70,6 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addItem(spacerItem, 7, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.layout_game_info_form.addItem(spacerItem1, 7, 0, 1, 1)
- self.wg_game_actions = QtWidgets.QWidget(GameInfo)
- self.wg_game_actions.setMinimumSize(QtCore.QSize(250, 0))
- self.wg_game_actions.setObjectName("wg_game_actions")
- self.layout_game_actions = QtWidgets.QVBoxLayout(self.wg_game_actions)
- self.layout_game_actions.setContentsMargins(0, 0, 0, 0)
- self.layout_game_actions.setObjectName("layout_game_actions")
- self.uninstall_button = QtWidgets.QPushButton(self.wg_game_actions)
- self.uninstall_button.setObjectName("uninstall_button")
- self.layout_game_actions.addWidget(self.uninstall_button)
- self.verify_widget = QtWidgets.QStackedWidget(self.wg_game_actions)
- 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_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_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.layout_game_actions.addWidget(self.verify_widget)
- self.repair_button = QtWidgets.QPushButton(self.wg_game_actions)
- self.repair_button.setObjectName("repair_button")
- self.layout_game_actions.addWidget(self.repair_button)
- self.layout_game_info_form.addWidget(self.wg_game_actions, 6, 1, 1, 1, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
self.lbl_version = QtWidgets.QLabel(GameInfo)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
@@ -133,18 +96,18 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_app_name, 1, 0, 1, 1, QtCore.Qt.AlignRight)
self.dev = QtWidgets.QLabel(GameInfo)
self.dev.setText("error")
- self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
+ 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.app_name = QtWidgets.QLabel(GameInfo)
self.app_name.setText("error")
- self.app_name.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
+ 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.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.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.lbl_game_actions = QtWidgets.QLabel(GameInfo)
@@ -168,23 +131,74 @@ class Ui_GameInfo(object):
self.layout_game_info_form.addWidget(self.lbl_grade, 3, 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.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.grade.setObjectName("grade")
self.layout_game_info_form.addWidget(self.grade, 3, 1, 1, 1)
+ self.game_actions_stack = QtWidgets.QStackedWidget(GameInfo)
+ self.game_actions_stack.setMinimumSize(QtCore.QSize(250, 0))
+ 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_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_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.repair_button = QtWidgets.QPushButton(self.installed_page)
+ self.repair_button.setObjectName("repair_button")
+ self.installed_layout.addWidget(self.repair_button)
+ self.uninstall_button = QtWidgets.QPushButton(self.installed_page)
+ self.uninstall_button.setStyleSheet("background-color: #900")
+ self.uninstall_button.setObjectName("uninstall_button")
+ self.installed_layout.addWidget(self.uninstall_button)
+ self.game_actions_stack.addWidget(self.installed_page)
+ self.uninstalled_page = QtWidgets.QWidget()
+ self.uninstalled_page.setObjectName("uninstalled_page")
+ self.uninstalled_layout = QtWidgets.QVBoxLayout(self.uninstalled_page)
+ self.uninstalled_layout.setObjectName("uninstalled_layout")
+ self.install_button = QtWidgets.QPushButton(self.uninstalled_page)
+ self.install_button.setStyleSheet("background-color: #090")
+ self.install_button.setObjectName("install_button")
+ self.uninstalled_layout.addWidget(self.install_button)
+ self.game_actions_stack.addWidget(self.uninstalled_page)
+ self.layout_game_info_form.addWidget(self.game_actions_stack, 6, 1, 1, 1, QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.layout_game_info.addLayout(self.layout_game_info_form, 2, 1, 1, 1)
self.image = QtWidgets.QLabel(GameInfo)
self.image.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.image.setFrameShadow(QtWidgets.QFrame.Sunken)
self.image.setText("")
self.image.setObjectName("image")
- self.layout_game_info.addWidget(self.image, 2, 0, 1, 1, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
+ self.layout_game_info.addWidget(self.image, 2, 0, 1, 1, QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
self.game_title = QtWidgets.QLabel(GameInfo)
self.game_title.setText("error")
- self.game_title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByMouse)
+ self.game_title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.game_title.setObjectName("game_title")
self.layout_game_info.addWidget(self.game_title, 0, 0, 1, 3)
self.retranslateUi(GameInfo)
+ self.game_actions_stack.setCurrentIndex(0)
self.verify_widget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(GameInfo)
@@ -194,18 +208,18 @@ class Ui_GameInfo(object):
self.lbl_dev.setText(_translate("GameInfo", "Developer"))
self.lbl_install_path.setText(_translate("GameInfo", "Installation Path"))
self.lbl_install_size.setText(_translate("GameInfo", "Installation Size"))
- self.uninstall_button.setText(_translate("GameInfo", "Uninstall Game"))
- self.verify_button.setText(_translate("GameInfo", "Verify Installation"))
- self.repair_button.setText(_translate("GameInfo", "Repair Instalation"))
self.lbl_version.setText(_translate("GameInfo", "Version"))
self.lbl_app_name.setText(_translate("GameInfo", "Application Name"))
self.lbl_game_actions.setText(_translate("GameInfo", "Actions"))
self.lbl_grade.setText(_translate("GameInfo", "ProtonDB Grade"))
+ self.verify_button.setText(_translate("GameInfo", "Verify Installation"))
+ self.repair_button.setText(_translate("GameInfo", "Repair Instalation"))
+ self.uninstall_button.setText(_translate("GameInfo", "Uninstall Game"))
+ self.install_button.setText(_translate("GameInfo", "Install Game"))
if __name__ == "__main__":
import sys
-
app = QtWidgets.QApplication(sys.argv)
GameInfo = QtWidgets.QWidget()
ui = Ui_GameInfo()
diff --git a/rare/ui/components/tabs/games/game_info/game_info.ui b/rare/ui/components/tabs/games/game_info/game_info.ui
index 1d1926b6..edec48ef 100644
--- a/rare/ui/components/tabs/games/game_info/game_info.ui
+++ b/rare/ui/components/tabs/games/game_info/game_info.ui
@@ -1,376 +1,390 @@
- GameInfo
-
-
-
- 0
- 0
- 436
- 317
-
-
-
- Game Info
-
-
- -
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 12
-
-
-
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Developer
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Installation Path
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Installation Size
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 0
- 20
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 0
-
-
-
-
- -
-
-
-
- 250
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- Uninstall Game
-
-
-
- -
-
-
- 0
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
- Verify Installation
-
-
-
-
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
- 24
-
-
-
-
-
-
-
- -
-
-
- Repair Instalation
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Version
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Application Name
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
- error
-
-
- true
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 75
- true
-
-
-
- Actions
-
-
-
- -
-
-
-
- 75
- true
-
-
-
- ProtonDB Grade
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QFrame::Sunken
-
-
-
-
-
-
- -
-
-
- error
-
-
- Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
-
-
-
+ GameInfo
+
+
+ Game Info
+
+
+ -
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Developer
+
+
+
+ -
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Installation Path
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Installation Size
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 0
+ 20
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 0
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Version
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Application Name
+
+
+
+ -
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+ error
+
+
+ true
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ Actions
+
+
+
+ -
+
+
+
+ 75
+ true
+
+
+
+ ProtonDB Grade
+
+
+
+ -
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+ -
+
+
+
+ 250
+ 0
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ 0
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Verify Installation
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ 24
+
+
+
+
+
+
+
+ -
+
+
+ Repair Instalation
+
+
+
+ -
+
+
+ background-color: #900
+
+
+ Uninstall Game
+
+
+
+
+
+
+ -
+
+
+ background-color: #090
+
+
+ Install Game
+
+
+
+
+
+
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Sunken
+
+
+
+
-
-
+
+ -
+
+
+ error
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+
+
+
+