1
0
Fork 0
mirror of synced 2024-06-24 01:00:43 +12:00

Add tab widget to system requirements in shop_game_info

This commit is contained in:
Dummerle 2021-12-04 01:52:55 +01:00
parent 026d5374a3
commit 2bc09b957e
No known key found for this signature in database
GPG key ID: AB68CC59CA39F2F1

View file

@ -3,7 +3,7 @@ import webbrowser
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QFont
from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QHBoxLayout, QSpacerItem, QGroupBox
from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QHBoxLayout, QSpacerItem, QGroupBox, QTabWidget, QGridLayout
from qtawesome import icon
from rare import shared
@ -75,7 +75,9 @@ class ShopGameInfo(QWidget, Ui_shop_info):
self.open_store_button.setText(self.tr("Buy Game in Epic Games Store"))
self.owned_label.setVisible(False)
self.dev.setText(self.tr("Loading"))
for i in range(self.req_group_box.layout().count()):
self.req_group_box.layout().itemAt(i).widget().deleteLater()
self.price.setText(self.tr("Loading"))
self.wishlist_button.setVisible(False)
# self.title.setText(self.tr("Loading"))
@ -124,6 +126,7 @@ class ShopGameInfo(QWidget, Ui_shop_info):
self.dev.setText(self.data.get("seller", {}).get("name", ""))
return
self.title.setText(self.game.title)
self.price.setFont(QFont())
if self.game.price == "0" or self.game.price == 0:
self.price.setText(self.tr("Free"))
@ -141,22 +144,28 @@ class ShopGameInfo(QWidget, Ui_shop_info):
bold_font = QFont()
bold_font.setBold(True)
min_label = QLabel(self.tr("Minimum"))
min_label.setFont(bold_font)
rec_label = QLabel(self.tr("Recommend"))
rec_label.setFont(bold_font)
if self.game.reqs:
self.req_group_box.layout().addWidget(min_label, 0, 1)
self.req_group_box.layout().addWidget(rec_label, 0, 2)
for i, (key, value) in enumerate(self.game.reqs.get("Windows", {}).items()):
self.req_group_box.layout().addWidget(QLabel(key), i + 1, 0)
min_label = QLabel(value[0])
min_label.setWordWrap(True)
self.req_group_box.layout().addWidget(min_label, i + 1, 1)
rec_label = QLabel(value[1])
rec_label.setWordWrap(True)
self.req_group_box.layout().addWidget(rec_label, i + 1, 2)
req_tabs = QTabWidget()
for system in self.game.reqs:
min_label = QLabel(self.tr("Minimum"))
min_label.setFont(bold_font)
rec_label = QLabel(self.tr("Recommend"))
rec_label.setFont(bold_font)
req_widget = QWidget()
req_widget.setLayout(QGridLayout())
req_widget.layout().addWidget(min_label, 0, 1)
req_widget.layout().addWidget(rec_label, 0, 2)
for i, (key, value) in enumerate(self.game.reqs.get(system, {}).items()):
req_widget.layout().addWidget(QLabel(key), i + 1, 0)
min_label = QLabel(value[0])
min_label.setWordWrap(True)
req_widget.layout().addWidget(min_label, i + 1, 1)
rec_label = QLabel(value[1])
rec_label.setWordWrap(True)
req_widget.layout().addWidget(rec_label, i + 1, 2)
req_tabs.addTab(req_widget, system)
self.req_group_box.layout().addWidget(req_tabs)
else:
self.req_group_box.layout().addWidget(QLabel(self.tr("Could not get requirements")))
self.req_group_box.setVisible(True)