Store: Update details page
This commit is contained in:
parent
9ec349e2d1
commit
7a2a6458ed
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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"))
|
||||
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -7,4 +7,4 @@ nuitka
|
|||
ordered-set
|
||||
PyQt5-stubs
|
||||
qstylizer
|
||||
|
||||
graphql-query
|
||||
|
|
Loading…
Reference in a new issue