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

View file

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

View file

@ -101,7 +101,6 @@ class ResultsItemWidget(ItemWidget):
class WishlistItemWidget(ItemWidget): class WishlistItemWidget(ItemWidget):
show_details = pyqtSignal(CatalogOfferModel)
delete_from_wishlist = pyqtSignal(CatalogOfferModel) delete_from_wishlist = pyqtSignal(CatalogOfferModel)
def __init__(self, manager: QtRequests, catalog_game: CatalogOfferModel, parent=None): 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): class Ui_DetailsWidget(object):
def setupUi(self, DetailsWidget): def setupUi(self, DetailsWidget):
DetailsWidget.setObjectName("DetailsWidget") DetailsWidget.setObjectName("DetailsWidget")
DetailsWidget.resize(702, 414) DetailsWidget.resize(630, 371)
DetailsWidget.setWindowTitle("DetailsWidget") DetailsWidget.setWindowTitle("DetailsWidget")
self.main_layout = QtWidgets.QHBoxLayout(DetailsWidget) self.main_layout = QtWidgets.QHBoxLayout(DetailsWidget)
self.main_layout.setObjectName("main_layout") self.main_layout.setObjectName("main_layout")
@ -34,12 +34,13 @@ class Ui_DetailsWidget(object):
self.main_layout.addLayout(self.left_layout) self.main_layout.addLayout(self.left_layout)
self.right_layout = QtWidgets.QVBoxLayout() self.right_layout = QtWidgets.QVBoxLayout()
self.right_layout.setObjectName("right_layout") self.right_layout.setObjectName("right_layout")
self.info_layout = QtWidgets.QFormLayout() self.details_layout = QtWidgets.QFormLayout()
self.info_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.details_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
self.info_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.details_layout.setFieldGrowthPolicy(QtWidgets.QFormLayout.FieldsStayAtSizeHint)
self.info_layout.setContentsMargins(6, 6, 6, 6) self.details_layout.setLabelAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.info_layout.setSpacing(12) self.details_layout.setContentsMargins(6, 6, 6, 6)
self.info_layout.setObjectName("info_layout") self.details_layout.setSpacing(12)
self.details_layout.setObjectName("details_layout")
self.title_label = QtWidgets.QLabel(DetailsWidget) self.title_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -47,12 +48,12 @@ class Ui_DetailsWidget(object):
self.title_label.setFont(font) self.title_label.setFont(font)
self.title_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.title_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.title_label.setObjectName("title_label") 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 = QtWidgets.QLabel(DetailsWidget)
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.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.title) self.details_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.title)
self.developer_label = QtWidgets.QLabel(DetailsWidget) self.developer_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -60,12 +61,25 @@ class Ui_DetailsWidget(object):
self.developer_label.setFont(font) self.developer_label.setFont(font)
self.developer_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.developer_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.developer_label.setObjectName("developer_label") self.developer_label.setObjectName("developer_label")
self.info_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.developer_label) self.details_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.developer_label)
self.dev = QtWidgets.QLabel(DetailsWidget) self.developer = QtWidgets.QLabel(DetailsWidget)
self.dev.setText("dev") self.developer.setText("developer")
self.dev.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse) self.developer.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
self.dev.setObjectName("dev") self.developer.setObjectName("developer")
self.info_layout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.dev) 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) self.status_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -73,10 +87,10 @@ class Ui_DetailsWidget(object):
self.status_label.setFont(font) self.status_label.setFont(font)
self.status_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.status_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.status_label.setObjectName("status_label") self.status_label.setObjectName("status_label")
self.info_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.status_label) self.details_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.status_label)
self.owned_label = QtWidgets.QLabel(DetailsWidget) self.status = QtWidgets.QLabel(DetailsWidget)
self.owned_label.setObjectName("owned_label") self.status.setObjectName("status")
self.info_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.owned_label) self.details_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.status)
self.price_label = QtWidgets.QLabel(DetailsWidget) self.price_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -84,23 +98,7 @@ class Ui_DetailsWidget(object):
self.price_label.setFont(font) self.price_label.setFont(font)
self.price_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.price_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.price_label.setObjectName("price_label") self.price_label.setObjectName("price_label")
self.info_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.price_label) self.details_layout.setWidget(4, 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.tags_label = QtWidgets.QLabel(DetailsWidget) self.tags_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -108,27 +106,19 @@ class Ui_DetailsWidget(object):
self.tags_label.setFont(font) self.tags_label.setFont(font)
self.tags_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.tags_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.tags_label.setObjectName("tags_label") 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 = QtWidgets.QLabel(DetailsWidget)
self.tags.setText("tags") self.tags.setText("tags")
self.tags.setObjectName("tags") self.tags.setObjectName("tags")
self.info_layout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.tags) self.details_layout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.tags)
self.links_label = QtWidgets.QLabel(DetailsWidget) self.social_links_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
font.setWeight(75) font.setWeight(75)
self.links_label.setFont(font) self.social_links_label.setFont(font)
self.links_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.social_links_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.links_label.setObjectName("links_label") self.social_links_label.setObjectName("social_links_label")
self.info_layout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.links_label) self.details_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.social_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.actions_label = QtWidgets.QLabel(DetailsWidget) self.actions_label = QtWidgets.QLabel(DetailsWidget)
font = QtGui.QFont() font = QtGui.QFont()
font.setBold(True) font.setBold(True)
@ -136,28 +126,49 @@ class Ui_DetailsWidget(object):
self.actions_label.setFont(font) self.actions_label.setFont(font)
self.actions_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.actions_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.actions_label.setObjectName("actions_label") self.actions_label.setObjectName("actions_label")
self.info_layout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.actions_label) self.details_layout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.actions_label)
self.buttons_widget = QtWidgets.QWidget(DetailsWidget) self.social_links = QtWidgets.QWidget(DetailsWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) 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.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.buttons_widget.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.actions.sizePolicy().hasHeightForWidth())
self.buttons_widget.setSizePolicy(sizePolicy) self.actions.setSizePolicy(sizePolicy)
self.buttons_widget.setMinimumSize(QtCore.QSize(250, 0)) self.actions.setMinimumSize(QtCore.QSize(250, 0))
self.buttons_widget.setMaximumSize(QtCore.QSize(250, 16777215)) self.actions.setObjectName("actions")
self.buttons_widget.setObjectName("buttons_widget") self.actions_layout = QtWidgets.QVBoxLayout(self.actions)
self.button_layout = QtWidgets.QVBoxLayout(self.buttons_widget) self.actions_layout.setContentsMargins(0, 0, 0, 0)
self.button_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.actions_layout.setObjectName("actions_layout")
self.button_layout.setContentsMargins(0, 0, 0, 0) self.store_button = QtWidgets.QPushButton(self.actions)
self.button_layout.setObjectName("button_layout") self.store_button.setObjectName("store_button")
self.open_store_button = QtWidgets.QPushButton(self.buttons_widget) self.actions_layout.addWidget(self.store_button)
self.open_store_button.setObjectName("open_store_button") self.wishlist_button = QtWidgets.QPushButton(self.actions)
self.button_layout.addWidget(self.open_store_button)
self.wishlist_button = QtWidgets.QPushButton(self.buttons_widget)
self.wishlist_button.setObjectName("wishlist_button") self.wishlist_button.setObjectName("wishlist_button")
self.button_layout.addWidget(self.wishlist_button) self.actions_layout.addWidget(self.wishlist_button)
self.info_layout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.buttons_widget) self.details_layout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.actions)
self.right_layout.addLayout(self.info_layout) 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) self.requirements_frame = QtWidgets.QFrame(DetailsWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
@ -184,13 +195,14 @@ class Ui_DetailsWidget(object):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
self.title_label.setText(_translate("DetailsWidget", "Title")) self.title_label.setText(_translate("DetailsWidget", "Title"))
self.developer_label.setText(_translate("DetailsWidget", "Developer")) self.developer_label.setText(_translate("DetailsWidget", "Developer"))
self.publisher_label.setText(_translate("DetailsWidget", "Publisher"))
self.status_label.setText(_translate("DetailsWidget", "Status")) 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.price_label.setText(_translate("DetailsWidget", "Price"))
self.tags_label.setText(_translate("DetailsWidget", "Tags")) 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.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")) self.wishlist_button.setText(_translate("DetailsWidget", "Add to wishlist"))

View file

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

View file

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