ShopGameInfo: Design it to me similar to GameInfo
This commit is contained in:
parent
247b2c947a
commit
7246078df3
|
@ -17,7 +17,7 @@ class StoreTab(SideTabWidget):
|
||||||
self.init = False
|
self.init = False
|
||||||
|
|
||||||
self.core = core
|
self.core = core
|
||||||
self.rcore = RareCore.instance()
|
# self.rcore = RareCore.instance()
|
||||||
self.api_core = ShopApiCore(
|
self.api_core = ShopApiCore(
|
||||||
self.core.egs.session.headers["Authorization"],
|
self.core.egs.session.headers["Authorization"],
|
||||||
self.core.language_code,
|
self.core.language_code,
|
||||||
|
@ -35,7 +35,8 @@ class StoreTab(SideTabWidget):
|
||||||
# self.search.back_button.clicked.connect(lambda: self.setCurrentIndex(self.shop_index))
|
# self.search.back_button.clicked.connect(lambda: self.setCurrentIndex(self.shop_index))
|
||||||
|
|
||||||
self.info = ShopGameInfo(
|
self.info = ShopGameInfo(
|
||||||
[i.asset_infos["Windows"].namespace for i in self.rcore.game_list if bool(i.asset_infos)],
|
# [i.asset_infos["Windows"].namespace for i in self.rcore.game_list if bool(i.asset_infos)],
|
||||||
|
[],
|
||||||
self.api_core,
|
self.api_core,
|
||||||
parent=self
|
parent=self
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ from PyQt5.QtWidgets import (
|
||||||
from rare.components.tabs.store.shop_models import ShopGame
|
from rare.components.tabs.store.shop_models import ShopGame
|
||||||
from rare.shared import LegendaryCoreSingleton
|
from rare.shared import LegendaryCoreSingleton
|
||||||
from rare.shared.image_manager import ImageSize
|
from rare.shared.image_manager import ImageSize
|
||||||
from rare.ui.components.tabs.store.shop_game_info import Ui_ShopGameInfo
|
from rare.ui.components.tabs.store.shop_game_info import Ui_ShopInfo
|
||||||
from rare.utils.misc import icon
|
from rare.utils.misc import icon
|
||||||
from rare.widgets.side_tab import SideTabWidget, SideTabContents
|
from rare.widgets.side_tab import SideTabWidget, SideTabContents
|
||||||
from rare.widgets.elide_label import ElideLabel
|
from rare.widgets.elide_label import ElideLabel
|
||||||
|
@ -22,30 +22,31 @@ from .image_widget import ShopImageWidget
|
||||||
logger = logging.getLogger("ShopInfo")
|
logger = logging.getLogger("ShopInfo")
|
||||||
|
|
||||||
|
|
||||||
class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
class ShopGameInfo(QWidget, SideTabContents):
|
||||||
|
|
||||||
# TODO Design
|
# TODO Design
|
||||||
def __init__(self, installed_titles: list, api_core, parent=None):
|
def __init__(self, installed_titles: list, api_core, parent=None):
|
||||||
super(ShopGameInfo, self).__init__(parent=parent)
|
super(ShopGameInfo, self).__init__(parent=parent)
|
||||||
self.setupUi(self)
|
self.ui = Ui_ShopInfo()
|
||||||
self.core = LegendaryCoreSingleton()
|
self.ui.setupUi(self)
|
||||||
|
# self.core = LegendaryCoreSingleton()
|
||||||
self.api_core = api_core
|
self.api_core = api_core
|
||||||
self.installed = installed_titles
|
self.installed = installed_titles
|
||||||
self.open_store_button.clicked.connect(self.button_clicked)
|
self.ui.open_store_button.clicked.connect(self.button_clicked)
|
||||||
self.image = ShopImageWidget(self)
|
self.image = ShopImageWidget(self)
|
||||||
self.image.setFixedSize(ImageSize.Normal)
|
self.image.setFixedSize(ImageSize.Normal)
|
||||||
self.image_info_layout.insertWidget(0, self.image)
|
self.ui.left_layout.insertWidget(0, self.image, alignment=Qt.AlignTop)
|
||||||
|
|
||||||
self.game: ShopGame = None
|
self.game: ShopGame = None
|
||||||
self.data: dict = {}
|
self.data: dict = {}
|
||||||
|
|
||||||
self.wishlist_button.clicked.connect(self.add_to_wishlist)
|
self.ui.wishlist_button.clicked.connect(self.add_to_wishlist)
|
||||||
self.in_wishlist = False
|
self.in_wishlist = False
|
||||||
self.wishlist = []
|
self.wishlist = []
|
||||||
|
|
||||||
self.requirements_tabs: SideTabWidget = SideTabWidget(parent=self.requirements_group)
|
self.requirements_tabs: SideTabWidget = SideTabWidget(parent=self.ui.requirements_group)
|
||||||
self.requirements_tabs.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
self.requirements_tabs.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
|
||||||
self.requirements_layout.addWidget(self.requirements_tabs)
|
self.ui.requirements_layout.addWidget(self.requirements_tabs)
|
||||||
|
|
||||||
self.setDisabled(True)
|
self.setDisabled(True)
|
||||||
|
|
||||||
|
@ -55,15 +56,15 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
self.wishlist = [i["offer"]["title"] for i in data]
|
self.wishlist = [i["offer"]["title"] for i in data]
|
||||||
if self.title_str in self.wishlist:
|
if self.title_str in self.wishlist:
|
||||||
self.in_wishlist = True
|
self.in_wishlist = True
|
||||||
self.wishlist_button.setVisible(True)
|
self.ui.wishlist_button.setVisible(True)
|
||||||
self.wishlist_button.setText(self.tr("Remove from Wishlist"))
|
self.ui.wishlist_button.setText(self.tr("Remove from Wishlist"))
|
||||||
else:
|
else:
|
||||||
self.in_wishlist = False
|
self.in_wishlist = False
|
||||||
self.wishlist_button.setVisible(False)
|
self.ui.wishlist_button.setVisible(False)
|
||||||
|
|
||||||
def update_game(self, data: dict):
|
def update_game(self, data: dict):
|
||||||
self.set_title.emit(data["title"])
|
self.set_title.emit(data["title"])
|
||||||
self.title.setText(data["title"])
|
self.ui.title.setText(data["title"])
|
||||||
self.title_str = data["title"]
|
self.title_str = data["title"]
|
||||||
self.id_str = data["id"]
|
self.id_str = data["id"]
|
||||||
self.api_core.get_wishlist(self.handle_wishlist_update)
|
self.api_core.get_wishlist(self.handle_wishlist_update)
|
||||||
|
@ -86,14 +87,14 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
self.slug = slug
|
self.slug = slug
|
||||||
|
|
||||||
if data["namespace"] in self.installed:
|
if data["namespace"] in self.installed:
|
||||||
self.open_store_button.setText(self.tr("Show Game on Epic Page"))
|
self.ui.open_store_button.setText(self.tr("Show Game on Epic Page"))
|
||||||
self.owned_label.setVisible(True)
|
self.ui.owned_label.setVisible(True)
|
||||||
else:
|
else:
|
||||||
self.open_store_button.setText(self.tr("Buy Game in Epic Games Store"))
|
self.ui.open_store_button.setText(self.tr("Buy Game in Epic Games Store"))
|
||||||
self.owned_label.setVisible(False)
|
self.ui.owned_label.setVisible(False)
|
||||||
|
|
||||||
self.price.setText(self.tr("Loading"))
|
self.ui.price.setText(self.tr("Loading"))
|
||||||
self.wishlist_button.setVisible(False)
|
self.ui.wishlist_button.setVisible(False)
|
||||||
# self.title.setText(self.tr("Loading"))
|
# self.title.setText(self.tr("Loading"))
|
||||||
# self.image.setPixmap(QPixmap())
|
# self.image.setPixmap(QPixmap())
|
||||||
self.data = data
|
self.data = data
|
||||||
|
@ -118,9 +119,9 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
self.api_core.remove_from_wishlist(
|
self.api_core.remove_from_wishlist(
|
||||||
self.game.namespace,
|
self.game.namespace,
|
||||||
self.game.offer_id,
|
self.game.offer_id,
|
||||||
lambda success: self.wishlist_button.setVisible(False)
|
lambda success: self.ui.wishlist_button.setVisible(False)
|
||||||
if success
|
if success
|
||||||
else self.wishlist_button.setText("Something goes wrong"),
|
else self.ui.wishlist_button.setText("Something goes wrong"),
|
||||||
)
|
)
|
||||||
|
|
||||||
def data_received(self, game):
|
def data_received(self, game):
|
||||||
|
@ -148,23 +149,23 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
return
|
return
|
||||||
# self.title.setText(self.game.title)
|
# self.title.setText(self.game.title)
|
||||||
|
|
||||||
self.price.setFont(QFont())
|
self.ui.price.setFont(QFont())
|
||||||
if self.game.price == "0" or self.game.price == 0:
|
if self.game.price == "0" or self.game.price == 0:
|
||||||
self.price.setText(self.tr("Free"))
|
self.ui.price.setText(self.tr("Free"))
|
||||||
else:
|
else:
|
||||||
self.price.setText(self.game.price)
|
self.ui.price.setText(self.game.price)
|
||||||
if self.game.price != self.game.discount_price:
|
if self.game.price != self.game.discount_price:
|
||||||
font = QFont()
|
font = QFont()
|
||||||
font.setStrikeOut(True)
|
font.setStrikeOut(True)
|
||||||
self.price.setFont(font)
|
self.ui.price.setFont(font)
|
||||||
self.discount_price.setText(
|
self.ui.discount_price.setText(
|
||||||
self.game.discount_price
|
self.game.discount_price
|
||||||
if self.game.discount_price != "0"
|
if self.game.discount_price != "0"
|
||||||
else self.tr("Free")
|
else self.tr("Free")
|
||||||
)
|
)
|
||||||
self.discount_price.setVisible(True)
|
self.ui.discount_price.setVisible(True)
|
||||||
else:
|
else:
|
||||||
self.discount_price.setVisible(False)
|
self.ui.discount_price.setVisible(False)
|
||||||
|
|
||||||
bold_font = QFont()
|
bold_font = QFont()
|
||||||
bold_font.setBold(True)
|
bold_font.setBold(True)
|
||||||
|
@ -211,16 +212,16 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
# self.image_stack.setCurrentIndex(0)
|
# self.image_stack.setCurrentIndex(0)
|
||||||
try:
|
try:
|
||||||
if isinstance(self.game.developer, list):
|
if isinstance(self.game.developer, list):
|
||||||
self.dev.setText(", ".join(self.game.developer))
|
self.ui.dev.setText(", ".join(self.game.developer))
|
||||||
else:
|
else:
|
||||||
self.dev.setText(self.game.developer)
|
self.ui.dev.setText(self.game.developer)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
self.tags.setText(", ".join(self.game.tags))
|
self.ui.tags.setText(", ".join(self.game.tags))
|
||||||
|
|
||||||
# clear Layout
|
# clear Layout
|
||||||
for b in self.social_group.findChildren(SocialButton, options=Qt.FindDirectChildrenOnly):
|
for b in self.ui.social_group.findChildren(SocialButton, options=Qt.FindDirectChildrenOnly):
|
||||||
self.social_layout.removeWidget(b)
|
self.ui.social_layout.removeWidget(b)
|
||||||
b.deleteLater()
|
b.deleteLater()
|
||||||
|
|
||||||
link_count = 0
|
link_count = 0
|
||||||
|
@ -235,11 +236,11 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
logger.error(str(e))
|
logger.error(str(e))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
button = SocialButton(icn, url, parent=self.social_group)
|
button = SocialButton(icn, url, parent=self.ui.social_group)
|
||||||
self.social_layout.addWidget(button)
|
self.ui.social_layout.addWidget(button)
|
||||||
link_count += 1
|
link_count += 1
|
||||||
|
|
||||||
self.social_group.setEnabled(bool(link_count))
|
self.ui.social_group.setEnabled(bool(link_count))
|
||||||
|
|
||||||
self.setEnabled(True)
|
self.setEnabled(True)
|
||||||
|
|
||||||
|
@ -249,6 +250,7 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents):
|
||||||
self.wishlist.append(game["offer"]["title"])
|
self.wishlist.append(game["offer"]["title"])
|
||||||
|
|
||||||
def button_clicked(self):
|
def button_clicked(self):
|
||||||
|
return
|
||||||
QDesktopServices.openUrl(QUrl(f"https://www.epicgames.com/store/{self.core.language_code}/p/{self.slug}"))
|
QDesktopServices.openUrl(QUrl(f"https://www.epicgames.com/store/{self.core.language_code}/p/{self.slug}"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,93 +2,64 @@ import logging
|
||||||
|
|
||||||
from PyQt5 import QtGui
|
from PyQt5 import QtGui
|
||||||
from PyQt5.QtCore import pyqtSignal, Qt
|
from PyQt5.QtCore import pyqtSignal, Qt
|
||||||
from PyQt5.QtGui import QFont
|
from PyQt5.QtGui import QFont, QMouseEvent
|
||||||
from PyQt5.QtNetwork import QNetworkAccessManager
|
from PyQt5.QtWidgets import QWidget
|
||||||
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QHBoxLayout, QSizePolicy
|
|
||||||
|
|
||||||
from rare.components.tabs.store.shop_models import ImageUrlModel
|
from rare.components.tabs.store.shop_models import ImageUrlModel
|
||||||
from rare.shared.image_manager import ImageSize
|
from rare.shared.image_manager import ImageSize
|
||||||
from rare.ui.components.tabs.store.wishlist_widget import Ui_WishlistWidget
|
from rare.ui.components.tabs.store.wishlist_widget import Ui_WishlistWidget
|
||||||
from rare.utils.extra_widgets import ImageLabel
|
from rare.utils.extra_widgets import ImageLabel
|
||||||
from rare.utils.misc import qta_icon
|
from rare.utils.misc import qta_icon
|
||||||
from rare.widgets.elide_label import ElideLabel
|
|
||||||
from .image_widget import ShopImageWidget
|
from .image_widget import ShopImageWidget
|
||||||
|
|
||||||
logger = logging.getLogger("GameWidgets")
|
logger = logging.getLogger("GameWidgets")
|
||||||
|
|
||||||
|
|
||||||
class GameWidget(QWidget):
|
class GameWidget(ShopImageWidget):
|
||||||
show_info = pyqtSignal(dict)
|
show_info = pyqtSignal(dict)
|
||||||
|
|
||||||
def __init__(self, path, json_info=None):
|
def __init__(self, path, json_info=None, parent=None):
|
||||||
super(GameWidget, self).__init__()
|
super(GameWidget, self).__init__(parent=parent)
|
||||||
self.manager = QNetworkAccessManager()
|
self.setFixedSize(ImageSize.Wide)
|
||||||
|
self.ui.setupUi(self)
|
||||||
self.path = path
|
self.path = path
|
||||||
|
self.json_info = json_info
|
||||||
if json_info:
|
if json_info:
|
||||||
self.init_ui(json_info)
|
self.init_ui(json_info)
|
||||||
|
|
||||||
def init_ui(self, json_info):
|
def init_ui(self, json_info):
|
||||||
self.layout = QVBoxLayout()
|
|
||||||
self.layout.setSizeConstraint(QVBoxLayout.SetFixedSize)
|
|
||||||
self.image = ShopImageWidget(self)
|
|
||||||
self.image.setFixedSize(ImageSize.Wide)
|
|
||||||
self.layout.addWidget(self.image)
|
|
||||||
mini_layout = QHBoxLayout()
|
|
||||||
self.layout.addLayout(mini_layout)
|
|
||||||
|
|
||||||
if not json_info:
|
if not json_info:
|
||||||
self.layout.addWidget(QLabel("An error occurred"))
|
self.ui.title_label.setText(self.tr("An error occurred"))
|
||||||
self.setLayout(self.layout)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
self.title_label = ElideLabel(json_info.get("title"), parent=self)
|
self.ui.title_label.setText(json_info.get("title"))
|
||||||
self.title_label.setWordWrap(False)
|
|
||||||
mini_layout.addWidget(self.title_label)
|
|
||||||
# mini_layout.addStretch(1)
|
|
||||||
|
|
||||||
price = json_info["price"]["totalPrice"]["fmtPrice"]["originalPrice"]
|
price = json_info["price"]["totalPrice"]["fmtPrice"]["originalPrice"]
|
||||||
discount_price = json_info["price"]["totalPrice"]["fmtPrice"]["discountPrice"]
|
discount_price = json_info["price"]["totalPrice"]["fmtPrice"]["discountPrice"]
|
||||||
price_label = QLabel(price)
|
self.ui.price_label.setText(f'{price if price != "0" else self.tr("Free")}')
|
||||||
if price != discount_price:
|
if price != discount_price:
|
||||||
font = QFont()
|
font = self.ui.price_label.font()
|
||||||
font.setStrikeOut(True)
|
font.setStrikeOut(True)
|
||||||
price_label.setFont(font)
|
self.ui.price_label.setFont(font)
|
||||||
free_label = QLabel(discount_price if discount_price != "0" else self.tr("Free"))
|
self.ui.discount_label.setText(f'{discount_price if discount_price != "0" else self.tr("Free")}')
|
||||||
free_label.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
|
||||||
free_label.setAlignment(Qt.AlignRight)
|
|
||||||
mini_layout.addWidget(free_label)
|
|
||||||
else:
|
else:
|
||||||
if price == "0":
|
self.ui.discount_label.setVisible(False)
|
||||||
price_label.setText(self.tr("Free"))
|
|
||||||
price_label.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
|
|
||||||
price_label.setAlignment(Qt.AlignRight)
|
|
||||||
mini_layout.addWidget(price_label)
|
|
||||||
|
|
||||||
for c in r'<>?":|\/*':
|
for c in r'<>?":|\/*':
|
||||||
json_info["title"] = json_info["title"].replace(c, "")
|
json_info["title"] = json_info["title"].replace(c, "")
|
||||||
|
|
||||||
self.json_info = json_info
|
|
||||||
self.slug = json_info["productSlug"]
|
|
||||||
|
|
||||||
self.title = json_info["title"]
|
|
||||||
for img in json_info["keyImages"]:
|
for img in json_info["keyImages"]:
|
||||||
if img["type"] in [
|
if img["type"] in ["DieselStoreFrontWide", "OfferImageWide", "VaultClosed", "ProductLogo",]:
|
||||||
"DieselStoreFrontWide",
|
if img["type"] == "VaultClosed" and json_info["title"] != "Mystery Game":
|
||||||
"OfferImageWide",
|
|
||||||
"VaultClosed",
|
|
||||||
"ProductLogo",
|
|
||||||
]:
|
|
||||||
if img["type"] == "VaultClosed" and self.title != "Mystery Game":
|
|
||||||
continue
|
continue
|
||||||
self.image.fetchPixmap(img["url"], json_info["id"], json_info["title"])
|
self.fetchPixmap(img["url"], json_info["id"], json_info["title"])
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
logger.info(", ".join([img["type"] for img in json_info["keyImages"]]))
|
logger.info(", ".join([img["type"] for img in json_info["keyImages"]]))
|
||||||
|
|
||||||
self.setLayout(self.layout)
|
def mousePressEvent(self, a0: QMouseEvent) -> None:
|
||||||
|
if a0.button() == Qt.LeftButton:
|
||||||
def mousePressEvent(self, a0: QtGui.QMouseEvent) -> None:
|
a0.accept()
|
||||||
self.show_info.emit(self.json_info)
|
self.show_info.emit(self.json_info)
|
||||||
|
|
||||||
|
|
||||||
class WishlistWidget(QWidget, Ui_WishlistWidget):
|
class WishlistWidget(QWidget, Ui_WishlistWidget):
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'rare/ui/components/tabs/store/shop_game_info.ui'
|
# Form implementation generated from reading ui file 'rare/ui/components/tabs/store/shop_game_info.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.7
|
# Created by: PyQt5 UI code generator 5.15.9
|
||||||
#
|
#
|
||||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
# 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.
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
|
@ -11,105 +11,178 @@
|
||||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||||
|
|
||||||
|
|
||||||
class Ui_ShopGameInfo(object):
|
class Ui_ShopInfo(object):
|
||||||
def setupUi(self, ShopGameInfo):
|
def setupUi(self, ShopInfo):
|
||||||
ShopGameInfo.setObjectName("ShopGameInfo")
|
ShopInfo.setObjectName("ShopInfo")
|
||||||
ShopGameInfo.resize(702, 468)
|
ShopInfo.resize(434, 250)
|
||||||
ShopGameInfo.setWindowTitle("ShopGameInfo")
|
ShopInfo.setWindowTitle("ShopGameInfo")
|
||||||
self.shop_game_info_layout = QtWidgets.QVBoxLayout(ShopGameInfo)
|
self.main_layout = QtWidgets.QHBoxLayout(ShopInfo)
|
||||||
self.shop_game_info_layout.setObjectName("shop_game_info_layout")
|
self.main_layout.setObjectName("main_layout")
|
||||||
self.image_info_layout = QtWidgets.QHBoxLayout()
|
self.left_layout = QtWidgets.QVBoxLayout()
|
||||||
self.image_info_layout.setObjectName("image_info_layout")
|
self.left_layout.setObjectName("left_layout")
|
||||||
self.info_layout = QtWidgets.QGridLayout()
|
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.info_layout.setObjectName("info_layout")
|
||||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
self.title_label = QtWidgets.QLabel(ShopInfo)
|
||||||
self.info_layout.addItem(spacerItem, 6, 1, 1, 1)
|
|
||||||
self.tags = QtWidgets.QLabel(ShopGameInfo)
|
|
||||||
self.tags.setText("tags")
|
|
||||||
self.tags.setObjectName("tags")
|
|
||||||
self.info_layout.addWidget(self.tags, 5, 0, 1, 2)
|
|
||||||
self.discount_price = QtWidgets.QLabel(ShopGameInfo)
|
|
||||||
self.discount_price.setText("discount")
|
|
||||||
self.discount_price.setObjectName("discount_price")
|
|
||||||
self.info_layout.addWidget(self.discount_price, 4, 0, 1, 2)
|
|
||||||
self.title = QtWidgets.QLabel(ShopGameInfo)
|
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setPointSize(18)
|
font.setBold(True)
|
||||||
self.title.setFont(font)
|
font.setWeight(75)
|
||||||
|
self.title_label.setFont(font)
|
||||||
|
self.title_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.title_label.setObjectName("title_label")
|
||||||
|
self.info_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.title_label)
|
||||||
|
self.title = QtWidgets.QLabel(ShopInfo)
|
||||||
self.title.setText("title")
|
self.title.setText("title")
|
||||||
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
||||||
self.title.setObjectName("title")
|
self.title.setObjectName("title")
|
||||||
self.info_layout.addWidget(self.title, 0, 0, 1, 2)
|
self.info_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.title)
|
||||||
self.button_layout = QtWidgets.QVBoxLayout()
|
self.developer_label = QtWidgets.QLabel(ShopInfo)
|
||||||
self.button_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
|
||||||
self.button_layout.setObjectName("button_layout")
|
|
||||||
self.open_store_button = QtWidgets.QPushButton(ShopGameInfo)
|
|
||||||
self.open_store_button.setObjectName("open_store_button")
|
|
||||||
self.button_layout.addWidget(self.open_store_button)
|
|
||||||
self.wishlist_button = QtWidgets.QPushButton(ShopGameInfo)
|
|
||||||
self.wishlist_button.setObjectName("wishlist_button")
|
|
||||||
self.button_layout.addWidget(self.wishlist_button)
|
|
||||||
self.info_layout.addLayout(self.button_layout, 6, 0, 1, 1)
|
|
||||||
self.dev = QtWidgets.QLabel(ShopGameInfo)
|
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setPointSize(14)
|
font.setBold(True)
|
||||||
self.dev.setFont(font)
|
font.setWeight(75)
|
||||||
|
self.developer_label.setFont(font)
|
||||||
|
self.developer_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.developer_label.setObjectName("developer_label")
|
||||||
|
self.info_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.developer_label)
|
||||||
|
self.dev = QtWidgets.QLabel(ShopInfo)
|
||||||
self.dev.setText("dev")
|
self.dev.setText("dev")
|
||||||
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
||||||
self.dev.setObjectName("dev")
|
self.dev.setObjectName("dev")
|
||||||
self.info_layout.addWidget(self.dev, 1, 0, 1, 2)
|
self.info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.dev)
|
||||||
self.owned_label = QtWidgets.QLabel(ShopGameInfo)
|
self.status_label = QtWidgets.QLabel(ShopInfo)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.status_label.setFont(font)
|
||||||
|
self.status_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.status_label.setObjectName("status_label")
|
||||||
|
self.info_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.status_label)
|
||||||
|
self.owned_label = QtWidgets.QLabel(ShopInfo)
|
||||||
self.owned_label.setObjectName("owned_label")
|
self.owned_label.setObjectName("owned_label")
|
||||||
self.info_layout.addWidget(self.owned_label, 2, 0, 1, 2)
|
self.info_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.owned_label)
|
||||||
self.price = QtWidgets.QLabel(ShopGameInfo)
|
self.price_label = QtWidgets.QLabel(ShopInfo)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.price_label.setFont(font)
|
||||||
|
self.price_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.price_label.setObjectName("price_label")
|
||||||
|
self.info_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.price_label)
|
||||||
|
self.price_widget = QtWidgets.QWidget(ShopInfo)
|
||||||
|
self.price_widget.setObjectName("price_widget")
|
||||||
|
self.horizontalLayout = QtWidgets.QHBoxLayout(self.price_widget)
|
||||||
|
self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
||||||
|
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||||
|
self.price = QtWidgets.QLabel(self.price_widget)
|
||||||
self.price.setText("price")
|
self.price.setText("price")
|
||||||
self.price.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
self.price.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
||||||
self.price.setObjectName("price")
|
self.price.setObjectName("price")
|
||||||
self.info_layout.addWidget(self.price, 3, 0, 1, 2)
|
self.horizontalLayout.addWidget(self.price)
|
||||||
self.social_group = QtWidgets.QGroupBox(ShopGameInfo)
|
self.discount_price = QtWidgets.QLabel(self.price_widget)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
|
self.discount_price.setText("discount")
|
||||||
sizePolicy.setHorizontalStretch(0)
|
self.discount_price.setObjectName("discount_price")
|
||||||
sizePolicy.setVerticalStretch(0)
|
self.horizontalLayout.addWidget(self.discount_price)
|
||||||
sizePolicy.setHeightForWidth(self.social_group.sizePolicy().hasHeightForWidth())
|
self.info_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.price_widget)
|
||||||
self.social_group.setSizePolicy(sizePolicy)
|
self.tags_label = QtWidgets.QLabel(ShopInfo)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.tags_label.setFont(font)
|
||||||
|
self.tags_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.tags_label.setObjectName("tags_label")
|
||||||
|
self.info_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.tags_label)
|
||||||
|
self.tags = QtWidgets.QLabel(ShopInfo)
|
||||||
|
self.tags.setText("tags")
|
||||||
|
self.tags.setObjectName("tags")
|
||||||
|
self.info_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.tags)
|
||||||
|
self.links_label = QtWidgets.QLabel(ShopInfo)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
font.setWeight(75)
|
||||||
|
self.links_label.setFont(font)
|
||||||
|
self.links_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.links_label.setObjectName("links_label")
|
||||||
|
self.info_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.links_label)
|
||||||
|
self.social_group = QtWidgets.QWidget(ShopInfo)
|
||||||
|
self.social_group.setMinimumSize(QtCore.QSize(250, 0))
|
||||||
self.social_group.setObjectName("social_group")
|
self.social_group.setObjectName("social_group")
|
||||||
self.social_layout = QtWidgets.QHBoxLayout(self.social_group)
|
self.social_layout = QtWidgets.QHBoxLayout(self.social_group)
|
||||||
|
self.social_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
||||||
|
self.social_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
self.social_layout.setObjectName("social_layout")
|
self.social_layout.setObjectName("social_layout")
|
||||||
self.info_layout.addWidget(self.social_group, 7, 0, 1, 2)
|
self.info_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.social_group)
|
||||||
self.image_info_layout.addLayout(self.info_layout)
|
self.actions_label = QtWidgets.QLabel(ShopInfo)
|
||||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
font = QtGui.QFont()
|
||||||
self.image_info_layout.addItem(spacerItem1)
|
font.setBold(True)
|
||||||
self.shop_game_info_layout.addLayout(self.image_info_layout)
|
font.setWeight(75)
|
||||||
self.requirements_group = QtWidgets.QGroupBox(ShopGameInfo)
|
self.actions_label.setFont(font)
|
||||||
|
self.actions_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||||
|
self.actions_label.setObjectName("actions_label")
|
||||||
|
self.info_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.actions_label)
|
||||||
|
self.buttons_widget = QtWidgets.QWidget(ShopInfo)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
sizePolicy.setVerticalStretch(0)
|
sizePolicy.setVerticalStretch(0)
|
||||||
|
sizePolicy.setHeightForWidth(self.buttons_widget.sizePolicy().hasHeightForWidth())
|
||||||
|
self.buttons_widget.setSizePolicy(sizePolicy)
|
||||||
|
self.buttons_widget.setMinimumSize(QtCore.QSize(250, 0))
|
||||||
|
self.buttons_widget.setMaximumSize(QtCore.QSize(250, 16777215))
|
||||||
|
self.buttons_widget.setObjectName("buttons_widget")
|
||||||
|
self.button_layout = QtWidgets.QVBoxLayout(self.buttons_widget)
|
||||||
|
self.button_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
||||||
|
self.button_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.button_layout.setObjectName("button_layout")
|
||||||
|
self.open_store_button = QtWidgets.QPushButton(self.buttons_widget)
|
||||||
|
self.open_store_button.setObjectName("open_store_button")
|
||||||
|
self.button_layout.addWidget(self.open_store_button)
|
||||||
|
self.wishlist_button = QtWidgets.QPushButton(self.buttons_widget)
|
||||||
|
self.wishlist_button.setObjectName("wishlist_button")
|
||||||
|
self.button_layout.addWidget(self.wishlist_button)
|
||||||
|
self.info_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.buttons_widget)
|
||||||
|
self.right_layout.addLayout(self.info_layout)
|
||||||
|
self.requirements_group = QtWidgets.QFrame(ShopInfo)
|
||||||
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
|
||||||
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
sizePolicy.setVerticalStretch(0)
|
||||||
sizePolicy.setHeightForWidth(self.requirements_group.sizePolicy().hasHeightForWidth())
|
sizePolicy.setHeightForWidth(self.requirements_group.sizePolicy().hasHeightForWidth())
|
||||||
self.requirements_group.setSizePolicy(sizePolicy)
|
self.requirements_group.setSizePolicy(sizePolicy)
|
||||||
|
self.requirements_group.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||||
|
self.requirements_group.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||||
self.requirements_group.setObjectName("requirements_group")
|
self.requirements_group.setObjectName("requirements_group")
|
||||||
self.requirements_layout = QtWidgets.QHBoxLayout(self.requirements_group)
|
self.requirements_layout = QtWidgets.QHBoxLayout(self.requirements_group)
|
||||||
self.requirements_layout.setContentsMargins(0, 0, 0, 0)
|
self.requirements_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
self.requirements_layout.setObjectName("requirements_layout")
|
self.requirements_layout.setObjectName("requirements_layout")
|
||||||
self.shop_game_info_layout.addWidget(self.requirements_group)
|
self.right_layout.addWidget(self.requirements_group)
|
||||||
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
self.main_layout.addLayout(self.right_layout)
|
||||||
self.shop_game_info_layout.addItem(spacerItem2)
|
self.main_layout.setStretch(1, 1)
|
||||||
|
|
||||||
self.retranslateUi(ShopGameInfo)
|
self.retranslateUi(ShopInfo)
|
||||||
|
|
||||||
def retranslateUi(self, ShopGameInfo):
|
def retranslateUi(self, ShopInfo):
|
||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
self.open_store_button.setText(_translate("ShopGameInfo", "Buy in Epic Games Store"))
|
self.title_label.setText(_translate("ShopInfo", "Title"))
|
||||||
self.wishlist_button.setText(_translate("ShopGameInfo", "Add to wishlist"))
|
self.developer_label.setText(_translate("ShopInfo", "Developer"))
|
||||||
self.owned_label.setText(_translate("ShopGameInfo", "You already own this game"))
|
self.status_label.setText(_translate("ShopInfo", "Status"))
|
||||||
self.social_group.setTitle(_translate("ShopGameInfo", "Links"))
|
self.owned_label.setText(_translate("ShopInfo", "You already own this game"))
|
||||||
self.requirements_group.setTitle(_translate("ShopGameInfo", "System requirements"))
|
self.price_label.setText(_translate("ShopInfo", "Price"))
|
||||||
|
self.tags_label.setText(_translate("ShopInfo", "Tags"))
|
||||||
|
self.links_label.setText(_translate("ShopInfo", "Links"))
|
||||||
|
self.actions_label.setText(_translate("ShopInfo", "Actions"))
|
||||||
|
self.open_store_button.setText(_translate("ShopInfo", "Buy in Epic Games Store"))
|
||||||
|
self.wishlist_button.setText(_translate("ShopInfo", "Add to wishlist"))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import sys
|
import sys
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
ShopGameInfo = QtWidgets.QWidget()
|
ShopInfo = QtWidgets.QWidget()
|
||||||
ui = Ui_ShopGameInfo()
|
ui = Ui_ShopInfo()
|
||||||
ui.setupUi(ShopGameInfo)
|
ui.setupUi(ShopInfo)
|
||||||
ShopGameInfo.show()
|
ShopInfo.show()
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
|
|
@ -1,57 +1,65 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>ShopGameInfo</class>
|
<class>ShopInfo</class>
|
||||||
<widget class="QWidget" name="ShopGameInfo">
|
<widget class="QWidget" name="ShopInfo">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>702</width>
|
<width>434</width>
|
||||||
<height>468</height>
|
<height>250</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string notr="true">ShopGameInfo</string>
|
<string notr="true">ShopGameInfo</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="shop_game_info_layout">
|
<layout class="QHBoxLayout" name="main_layout" stretch="0,1">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="image_info_layout">
|
<layout class="QVBoxLayout" name="left_layout"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="right_layout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="info_layout">
|
<layout class="QFormLayout" name="info_layout">
|
||||||
<item row="6" column="1">
|
<property name="labelAlignment">
|
||||||
<spacer name="horizontalSpacer">
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<property name="orientation">
|
</property>
|
||||||
<enum>Qt::Horizontal</enum>
|
<property name="horizontalSpacing">
|
||||||
</property>
|
<number>12</number>
|
||||||
<property name="sizeHint" stdset="0">
|
</property>
|
||||||
<size>
|
<property name="verticalSpacing">
|
||||||
<width>40</width>
|
<number>12</number>
|
||||||
<height>20</height>
|
</property>
|
||||||
</size>
|
<property name="leftMargin">
|
||||||
</property>
|
<number>6</number>
|
||||||
</spacer>
|
</property>
|
||||||
</item>
|
<property name="topMargin">
|
||||||
<item row="5" column="0" colspan="2">
|
<number>6</number>
|
||||||
<widget class="QLabel" name="tags">
|
</property>
|
||||||
<property name="text">
|
<property name="rightMargin">
|
||||||
<string notr="true">tags</string>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="bottomMargin">
|
||||||
</item>
|
<number>6</number>
|
||||||
<item row="4" column="0" colspan="2">
|
</property>
|
||||||
<widget class="QLabel" name="discount_price">
|
<item row="0" column="0">
|
||||||
<property name="text">
|
<widget class="QLabel" name="title_label">
|
||||||
<string notr="true">discount</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" colspan="2">
|
|
||||||
<widget class="QLabel" name="title">
|
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>18</pointsize>
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Title</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="title">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">title</string>
|
<string notr="true">title</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -60,34 +68,24 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="1" column="0">
|
||||||
<layout class="QVBoxLayout" name="button_layout">
|
<widget class="QLabel" name="developer_label">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetFixedSize</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="open_store_button">
|
|
||||||
<property name="text">
|
|
||||||
<string>Buy in Epic Games Store</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="wishlist_button">
|
|
||||||
<property name="text">
|
|
||||||
<string>Add to wishlist</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QLabel" name="dev">
|
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<pointsize>14</pointsize>
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Developer</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="dev">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">dev</string>
|
<string notr="true">dev</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -96,94 +94,252 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="status_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Status</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
<widget class="QLabel" name="owned_label">
|
<widget class="QLabel" name="owned_label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>You already own this game</string>
|
<string>You already own this game</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" colspan="2">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="price">
|
<widget class="QLabel" name="price_label">
|
||||||
<property name="text">
|
<property name="font">
|
||||||
<string notr="true">price</string>
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="textInteractionFlags">
|
<property name="text">
|
||||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
<string>Price</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0" colspan="2">
|
<item row="3" column="1">
|
||||||
<widget class="QGroupBox" name="social_group">
|
<widget class="QWidget" name="price_widget" native="true">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetFixedSize</enum>
|
||||||
|
</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="QLabel" name="price">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">price</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="discount_price">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">discount</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="tags_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Tags</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLabel" name="tags">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">tags</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="links_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Links</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QWidget" name="social_group" native="true">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>250</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="social_layout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetFixedSize</enum>
|
||||||
|
</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>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="actions_label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Actions</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QWidget" name="buttons_widget" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="minimumSize">
|
||||||
<string>Links</string>
|
<size>
|
||||||
|
<width>250</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="social_layout"/>
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>250</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="button_layout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetFixedSize</enum>
|
||||||
|
</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="QPushButton" name="open_store_button">
|
||||||
|
<property name="text">
|
||||||
|
<string>Buy in Epic Games Store</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="wishlist_button">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add to wishlist</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="image_info_hspacer">
|
<widget class="QFrame" name="requirements_group">
|
||||||
<property name="orientation">
|
<property name="sizePolicy">
|
||||||
<enum>Qt::Horizontal</enum>
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="frameShape">
|
||||||
<size>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Sunken</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="requirements_layout">
|
||||||
|
<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>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="requirements_group">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="title">
|
|
||||||
<string>System requirements</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="requirements_layout">
|
|
||||||
<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>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="shop_game_info_vspacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
Loading…
Reference in a new issue