1
0
Fork 0
mirror of synced 2024-05-04 20:52:58 +12:00

Store: Update details page

This commit is contained in:
loathingKernel 2024-02-20 18:45:14 +02:00
parent 9ec349e2d1
commit 7a2a6458ed
No known key found for this signature in database
GPG key ID: CE0C72D0B53821FD
6 changed files with 237 additions and 210 deletions

View file

@ -10,7 +10,7 @@ DieselSocialLinks = Dict
@dataclass
class DieselSystemDetailItem:
p_type: Optional[str] = None
_type: Optional[str] = None
minimum: Optional[str] = None
recommended: Optional[str] = None
title: Optional[str] = None
@ -20,7 +20,7 @@ class DieselSystemDetailItem:
def from_dict(cls: Type["DieselSystemDetailItem"], src: Dict[str, Any]) -> "DieselSystemDetailItem":
d = src.copy()
tmp = cls(
p_type=d.pop("_type", ""),
_type=d.pop("_type", ""),
minimum=d.pop("minimum", ""),
recommended=d.pop("recommended", ""),
title=d.pop("title", ""),
@ -31,7 +31,7 @@ class DieselSystemDetailItem:
@dataclass
class DieselSystemDetail:
p_type: Optional[str] = None
_type: Optional[str] = None
details: Optional[List[DieselSystemDetailItem]] = None
systemType: Optional[str] = None
unmapped: Dict[str, Any] = field(default_factory=dict)
@ -45,7 +45,7 @@ class DieselSystemDetail:
detail = DieselSystemDetailItem.from_dict(item)
details.append(detail)
tmp = cls(
p_type=d.pop("_type", ""),
_type=d.pop("_type", ""),
details=details,
systemType=d.pop("systemType", ""),
)
@ -55,7 +55,7 @@ class DieselSystemDetail:
@dataclass
class DieselSystemDetails:
p_type: Optional[str] = None
_type: Optional[str] = None
languages: Optional[List[str]] = None
rating: Optional[Dict] = None
systems: Optional[List[DieselSystemDetail]] = None
@ -70,7 +70,7 @@ class DieselSystemDetails:
system = DieselSystemDetail.from_dict(item)
systems.append(system)
tmp = cls(
p_type=d.pop("_type", ""),
_type=d.pop("_type", ""),
languages=d.pop("languages", []),
rating=d.pop("rating", {}),
systems=systems,
@ -81,22 +81,22 @@ class DieselSystemDetails:
@dataclass
class DieselProductAbout:
p_type: Optional[str] = None
_type: Optional[str] = None
desciption: Optional[str] = None
developer_attribution: Optional[str] = None
publisher_attribution: Optional[str] = None
short_description: Optional[str] = None
developerAttribution: Optional[str] = None
publisherAttribution: Optional[str] = None
shortDescription: Optional[str] = None
unmapped: Dict[str, Any] = field(default_factory=dict)
@classmethod
def from_dict(cls: Type["DieselProductAbout"], src: Dict[str, Any]) -> "DieselProductAbout":
d = src.copy()
tmp = cls(
p_type=d.pop("_type", ""),
_type=d.pop("_type", ""),
desciption=d.pop("description", ""),
developer_attribution=d.pop("developerAttribution", ""),
publisher_attribution=d.pop("publisherAttribution", ""),
short_description=d.pop("shortDescription", ""),
developerAttribution=d.pop("developerAttribution", ""),
publisherAttribution=d.pop("publisherAttribution", ""),
shortDescription=d.pop("shortDescription", ""),
)
tmp.unmapped = d
return tmp
@ -104,7 +104,7 @@ class DieselProductAbout:
@dataclass
class DieselProductDetail:
p_type: Optional[str] = None
_type: Optional[str] = None
about: Optional[DieselProductAbout] = None
requirements: Optional[DieselSystemDetails] = None
socialLinks: Optional[DieselSocialLinks] = None
@ -116,7 +116,7 @@ class DieselProductDetail:
about = DieselProductAbout.from_dict(x) if (x := d.pop("about"), {}) else None
requirements = DieselSystemDetails.from_dict(x) if (x := d.pop("requirements", {})) else None
tmp = cls(
p_type=d.pop("_type", ""),
_type=d.pop("_type", ""),
about=about,
requirements=requirements,
socialLinks=d.pop("socialLinks", {}),
@ -127,12 +127,12 @@ class DieselProductDetail:
@dataclass
class DieselProduct:
p_id: Optional[str] = None
p_images_: Optional[List[str]] = None
p_locale: Optional[str] = None
p_slug: Optional[str] = None
p_title: Optional[str] = None
p_url_pattern: Optional[str] = None
_id: Optional[str] = None
_images_: Optional[List[str]] = None
_locale: Optional[str] = None
_slug: Optional[str] = None
_title: Optional[str] = None
_urlPattern: Optional[str] = None
namespace: Optional[str] = None
pages: Optional[List["DieselProduct"]] = None
data: Optional[DieselProductDetail] = None
@ -149,12 +149,12 @@ class DieselProduct:
pages.append(page)
data = DieselProductDetail.from_dict(x) if (x := d.pop("data", {})) else None
tmp = cls(
p_id=d.pop("_id", ""),
p_images_=d.pop("_images_", []),
p_locale=d.pop("_locale", ""),
p_slug=d.pop("_slug", ""),
p_title=d.pop("_title", ""),
p_url_pattern=d.pop("_urlPattern", ""),
_id=d.pop("_id", ""),
_images_=d.pop("_images_", []),
_locale=d.pop("_locale", ""),
_slug=d.pop("_slug", ""),
_title=d.pop("_title", ""),
_urlPattern=d.pop("_urlPattern", ""),
namespace=d.pop("namespace", ""),
pages=pages,
data=data,

View file

@ -47,7 +47,7 @@ class DetailsWidget(QWidget, SideTabContents):
self.ui.left_layout.setAlignment(Qt.AlignTop)
self.ui.wishlist_button.clicked.connect(self.add_to_wishlist)
self.ui.open_store_button.clicked.connect(self.button_clicked)
self.ui.store_button.clicked.connect(self.button_clicked)
self.ui.wishlist_button.setVisible(True)
self.in_wishlist = False
self.wishlist = []
@ -99,13 +99,13 @@ class DetailsWidget(QWidget, SideTabContents):
self.slug = slug
if offer.namespace in self.installed:
self.ui.open_store_button.setText(self.tr("Show Game on Epic Page"))
self.ui.owned_label.setVisible(True)
self.ui.store_button.setText(self.tr("Show Game on Epic Page"))
self.ui.status.setVisible(True)
else:
self.ui.open_store_button.setText(self.tr("Buy Game in Epic Games Store"))
self.ui.owned_label.setVisible(False)
self.ui.store_button.setText(self.tr("Buy Game in Epic Games Store"))
self.ui.status.setVisible(False)
self.ui.price.setText(self.tr("Loading"))
self.ui.original_price.setText(self.tr("Loading"))
# self.title.setText(self.tr("Loading"))
# self.image.setPixmap(QPixmap())
is_bundle = False
@ -148,17 +148,17 @@ class DetailsWidget(QWidget, SideTabContents):
raise e
logger.error(str(e))
self.ui.price.setFont(self.font())
self.ui.original_price.setFont(self.font())
price = self.catalog_offer.price.totalPrice.fmtPrice["originalPrice"]
discount_price = self.catalog_offer.price.totalPrice.fmtPrice["discountPrice"]
if price == "0" or price == 0:
self.ui.price.setText(self.tr("Free"))
self.ui.original_price.setText(self.tr("Free"))
else:
self.ui.price.setText(price)
self.ui.original_price.setText(price)
if price != discount_price:
font = self.font()
font.setStrikeOut(True)
self.ui.price.setFont(font)
self.ui.original_price.setFont(font)
self.ui.discount_price.setText(
discount_price
if discount_price != "0"
@ -173,6 +173,7 @@ class DetailsWidget(QWidget, SideTabContents):
for system in requirements.systems:
req_widget = RequirementsWidget(system, self.requirements_tabs)
self.requirements_tabs.addTab(req_widget, system.systemType)
self.ui.requirements_frame.setVisible(True)
else:
self.ui.requirements_frame.setVisible(False)
@ -183,7 +184,7 @@ class DetailsWidget(QWidget, SideTabContents):
# self.image_stack.setCurrentIndex(0)
about = product_data.about
self.ui.description_label.setMarkdown(about.desciption)
self.ui.dev.setText(about.developer_attribution)
self.ui.developer.setText(about.developerAttribution)
# try:
# if isinstance(aboudeveloper, list):
# self.ui.dev.setText(", ".join(self.game.developer))
@ -195,8 +196,8 @@ class DetailsWidget(QWidget, SideTabContents):
self.ui.tags.setText(", ".join(tags))
# clear Layout
for b in self.ui.social_group.findChildren(SocialButton, options=Qt.FindDirectChildrenOnly):
self.ui.social_layout.removeWidget(b)
for b in self.ui.social_links.findChildren(SocialButton, options=Qt.FindDirectChildrenOnly):
self.ui.social_links_layout.removeWidget(b)
b.deleteLater()
links = product_data.socialLinks
@ -214,11 +215,11 @@ class DetailsWidget(QWidget, SideTabContents):
logger.error(str(e))
continue
button = SocialButton(icn, url, parent=self.ui.social_group)
self.ui.social_layout.addWidget(button)
button = SocialButton(icn, url, parent=self.ui.social_links)
self.ui.social_links_layout.addWidget(button)
link_count += 1
self.ui.social_group.setEnabled(bool(link_count))
self.ui.social_links.setEnabled(bool(link_count))
self.setEnabled(True)
@ -238,6 +239,7 @@ class DetailsWidget(QWidget, SideTabContents):
class SocialButton(QPushButton):
def __init__(self, icn, url, parent=None):
super(SocialButton, self).__init__(icn, "", parent=parent)
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
self.url = url
self.clicked.connect(lambda: QDesktopServices.openUrl(QUrl(url)))
self.setToolTip(url)

View file

@ -101,7 +101,6 @@ class ResultsItemWidget(ItemWidget):
class WishlistItemWidget(ItemWidget):
show_details = pyqtSignal(CatalogOfferModel)
delete_from_wishlist = pyqtSignal(CatalogOfferModel)
def __init__(self, manager: QtRequests, catalog_game: CatalogOfferModel, parent=None):

View file

@ -14,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_DetailsWidget(object):
def setupUi(self, DetailsWidget):
DetailsWidget.setObjectName("DetailsWidget")
DetailsWidget.resize(702, 414)
DetailsWidget.resize(630, 371)
DetailsWidget.setWindowTitle("DetailsWidget")
self.main_layout = QtWidgets.QHBoxLayout(DetailsWidget)
self.main_layout.setObjectName("main_layout")
@ -34,12 +34,13 @@ class Ui_DetailsWidget(object):
self.main_layout.addLayout(self.left_layout)
self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout")
self.info_layout = QtWidgets.QFormLayout()
self.info_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
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.details_layout = QtWidgets.QFormLayout()
self.details_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.details_layout.setFieldGrowthPolicy(QtWidgets.QFormLayout.FieldsStayAtSizeHint)
self.details_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.details_layout.setContentsMargins(6, 6, 6, 6)
self.details_layout.setSpacing(12)
self.details_layout.setObjectName("details_layout")
self.title_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -47,12 +48,12 @@ class Ui_DetailsWidget(object):
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.details_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.title_label)
self.title = QtWidgets.QLabel(DetailsWidget)
self.title.setText("title")
self.title.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.title.setObjectName("title")
self.info_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.title)
self.details_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.title)
self.developer_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -60,12 +61,25 @@ class Ui_DetailsWidget(object):
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(DetailsWidget)
self.dev.setText("dev")
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dev.setObjectName("dev")
self.info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.dev)
self.details_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.developer_label)
self.developer = QtWidgets.QLabel(DetailsWidget)
self.developer.setText("developer")
self.developer.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.developer.setObjectName("developer")
self.details_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.developer)
self.publisher_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.publisher_label.setFont(font)
self.publisher_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.publisher_label.setObjectName("publisher_label")
self.details_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.publisher_label)
self.publisher = QtWidgets.QLabel(DetailsWidget)
self.publisher.setText("publisher")
self.publisher.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.publisher.setObjectName("publisher")
self.details_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.publisher)
self.status_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -73,10 +87,10 @@ class Ui_DetailsWidget(object):
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(DetailsWidget)
self.owned_label.setObjectName("owned_label")
self.info_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.owned_label)
self.details_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.status_label)
self.status = QtWidgets.QLabel(DetailsWidget)
self.status.setObjectName("status")
self.details_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.status)
self.price_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -84,23 +98,7 @@ class Ui_DetailsWidget(object):
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(DetailsWidget)
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.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.price.setObjectName("price")
self.horizontalLayout.addWidget(self.price)
self.discount_price = QtWidgets.QLabel(self.price_widget)
self.discount_price.setText("discount")
self.discount_price.setObjectName("discount_price")
self.horizontalLayout.addWidget(self.discount_price)
self.info_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.price_widget)
self.details_layout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.price_label)
self.tags_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -108,27 +106,19 @@ class Ui_DetailsWidget(object):
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.details_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.tags_label)
self.tags = QtWidgets.QLabel(DetailsWidget)
self.tags.setText("tags")
self.tags.setObjectName("tags")
self.info_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.tags)
self.links_label = QtWidgets.QLabel(DetailsWidget)
self.details_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.tags)
self.social_links_label = QtWidgets.QLabel(DetailsWidget)
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(DetailsWidget)
self.social_group.setMinimumSize(QtCore.QSize(250, 0))
self.social_group.setObjectName("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.info_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.social_group)
self.social_links_label.setFont(font)
self.social_links_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.social_links_label.setObjectName("social_links_label")
self.details_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.social_links_label)
self.actions_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont()
font.setBold(True)
@ -136,28 +126,49 @@ class Ui_DetailsWidget(object):
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(DetailsWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
self.details_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.actions_label)
self.social_links = QtWidgets.QWidget(DetailsWidget)
self.social_links.setObjectName("social_links")
self.social_links_layout = QtWidgets.QHBoxLayout(self.social_links)
self.social_links_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.social_links_layout.setContentsMargins(0, 0, 0, 0)
self.social_links_layout.setObjectName("social_links_layout")
self.details_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.social_links)
self.actions = QtWidgets.QWidget(DetailsWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(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)
sizePolicy.setHeightForWidth(self.actions.sizePolicy().hasHeightForWidth())
self.actions.setSizePolicy(sizePolicy)
self.actions.setMinimumSize(QtCore.QSize(250, 0))
self.actions.setObjectName("actions")
self.actions_layout = QtWidgets.QVBoxLayout(self.actions)
self.actions_layout.setContentsMargins(0, 0, 0, 0)
self.actions_layout.setObjectName("actions_layout")
self.store_button = QtWidgets.QPushButton(self.actions)
self.store_button.setObjectName("store_button")
self.actions_layout.addWidget(self.store_button)
self.wishlist_button = QtWidgets.QPushButton(self.actions)
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.actions_layout.addWidget(self.wishlist_button)
self.details_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.actions)
self.price = QtWidgets.QWidget(DetailsWidget)
self.price.setObjectName("price")
self.price_layout = QtWidgets.QHBoxLayout(self.price)
self.price_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.price_layout.setContentsMargins(0, 0, 0, 0)
self.price_layout.setObjectName("price_layout")
self.original_price = QtWidgets.QLabel(self.price)
self.original_price.setText("orignal")
self.original_price.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.original_price.setObjectName("original_price")
self.price_layout.addWidget(self.original_price)
self.discount_price = QtWidgets.QLabel(self.price)
self.discount_price.setText("discount")
self.discount_price.setObjectName("discount_price")
self.price_layout.addWidget(self.discount_price)
self.details_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.price)
self.right_layout.addLayout(self.details_layout)
self.requirements_frame = QtWidgets.QFrame(DetailsWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@ -184,13 +195,14 @@ class Ui_DetailsWidget(object):
_translate = QtCore.QCoreApplication.translate
self.title_label.setText(_translate("DetailsWidget", "Title"))
self.developer_label.setText(_translate("DetailsWidget", "Developer"))
self.publisher_label.setText(_translate("DetailsWidget", "Publisher"))
self.status_label.setText(_translate("DetailsWidget", "Status"))
self.owned_label.setText(_translate("DetailsWidget", "You already own this game"))
self.status.setText(_translate("DetailsWidget", "You already own this game"))
self.price_label.setText(_translate("DetailsWidget", "Price"))
self.tags_label.setText(_translate("DetailsWidget", "Tags"))
self.links_label.setText(_translate("DetailsWidget", "Links"))
self.social_links_label.setText(_translate("DetailsWidget", "Links"))
self.actions_label.setText(_translate("DetailsWidget", "Actions"))
self.open_store_button.setText(_translate("DetailsWidget", "Buy in Epic Games Store"))
self.store_button.setText(_translate("DetailsWidget", "Buy in Epic Games Store"))
self.wishlist_button.setText(_translate("DetailsWidget", "Add to wishlist"))

View file

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>702</width>
<height>414</height>
<width>630</width>
<height>371</height>
</rect>
</property>
<property name="windowTitle">
@ -43,10 +43,13 @@
<item>
<layout class="QVBoxLayout" name="right_layout">
<item>
<layout class="QFormLayout" name="info_layout">
<layout class="QFormLayout" name="details_layout">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
<property name="fieldGrowthPolicy">
<enum>QFormLayout::FieldsStayAtSizeHint</enum>
</property>
<property name="labelAlignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
@ -111,9 +114,9 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="dev">
<widget class="QLabel" name="developer">
<property name="text">
<string notr="true">dev</string>
<string notr="true">developer</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
@ -121,6 +124,32 @@
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="publisher_label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Publisher</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="publisher">
<property name="text">
<string notr="true">publisher</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="status_label">
<property name="font">
<font>
@ -136,14 +165,14 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="owned_label">
<item row="3" column="1">
<widget class="QLabel" name="status">
<property name="text">
<string>You already own this game</string>
</property>
</widget>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="price_label">
<property name="font">
<font>
@ -159,45 +188,7 @@
</property>
</widget>
</item>
<item row="3" column="1">
<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">
<item row="5" column="0">
<widget class="QLabel" name="tags_label">
<property name="font">
<font>
@ -213,15 +204,15 @@
</property>
</widget>
</item>
<item row="4" column="1">
<item row="5" 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">
<item row="6" column="0">
<widget class="QLabel" name="social_links_label">
<property name="font">
<font>
<weight>75</weight>
@ -236,34 +227,7 @@
</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">
<item row="7" column="0">
<widget class="QLabel" name="actions_label">
<property name="font">
<font>
@ -280,9 +244,30 @@
</widget>
</item>
<item row="6" column="1">
<widget class="QWidget" name="buttons_widget" native="true">
<widget class="QWidget" name="social_links" native="true">
<layout class="QHBoxLayout" name="social_links_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="7" column="1">
<widget class="QWidget" name="actions" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -293,13 +278,39 @@
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>16777215</height>
</size>
</property>
<layout class="QVBoxLayout" name="button_layout">
<layout class="QVBoxLayout" name="actions_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>
<item>
<widget class="QPushButton" name="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>
</item>
<item row="4" column="1">
<widget class="QWidget" name="price" native="true">
<layout class="QHBoxLayout" name="price_layout">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
@ -316,16 +327,19 @@
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="open_store_button">
<widget class="QLabel" name="original_price">
<property name="text">
<string>Buy in Epic Games Store</string>
<string notr="true">orignal</string>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="wishlist_button">
<widget class="QLabel" name="discount_price">
<property name="text">
<string>Add to wishlist</string>
<string notr="true">discount</string>
</property>
</widget>
</item>

View file

@ -7,4 +7,4 @@ nuitka
ordered-set
PyQt5-stubs
qstylizer
graphql-query