diff --git a/rare/components/tabs/store/api/models/diesel.py b/rare/components/tabs/store/api/models/diesel.py index 437c8b8c..20a4f07a 100644 --- a/rare/components/tabs/store/api/models/diesel.py +++ b/rare/components/tabs/store/api/models/diesel.py @@ -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, diff --git a/rare/components/tabs/store/widgets/details.py b/rare/components/tabs/store/widgets/details.py index e0386bc7..3051845c 100644 --- a/rare/components/tabs/store/widgets/details.py +++ b/rare/components/tabs/store/widgets/details.py @@ -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) diff --git a/rare/components/tabs/store/widgets/items.py b/rare/components/tabs/store/widgets/items.py index 3fc0363c..86e61f5e 100644 --- a/rare/components/tabs/store/widgets/items.py +++ b/rare/components/tabs/store/widgets/items.py @@ -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): diff --git a/rare/ui/components/tabs/store/details.py b/rare/ui/components/tabs/store/details.py index ccb87c86..0862694b 100644 --- a/rare/ui/components/tabs/store/details.py +++ b/rare/ui/components/tabs/store/details.py @@ -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")) diff --git a/rare/ui/components/tabs/store/details.ui b/rare/ui/components/tabs/store/details.ui index b78efa4c..0ccbdef5 100644 --- a/rare/ui/components/tabs/store/details.ui +++ b/rare/ui/components/tabs/store/details.ui @@ -6,8 +6,8 @@ 0 0 - 702 - 414 + 630 + 371 @@ -43,10 +43,13 @@ - + QLayout::SetFixedSize + + QFormLayout::FieldsStayAtSizeHint + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -111,9 +114,9 @@ - + - dev + developer Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse @@ -121,6 +124,32 @@ + + + + 75 + true + + + + Publisher + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + publisher + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + @@ -136,14 +165,14 @@ - - + + You already own this game - + @@ -159,45 +188,7 @@ - - - - - QLayout::SetFixedSize - - - 0 - - - 0 - - - 0 - - - 0 - - - - - price - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - discount - - - - - - - + @@ -213,15 +204,15 @@ - + tags - - + + 75 @@ -236,34 +227,7 @@ - - - - - 250 - 0 - - - - - QLayout::SetFixedSize - - - 0 - - - 0 - - - 0 - - - 0 - - - - - + @@ -280,9 +244,30 @@ - + + + + QLayout::SetFixedSize + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + - + 0 0 @@ -293,13 +278,39 @@ 0 - - - 250 - 16777215 - - - + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Buy in Epic Games Store + + + + + + + Add to wishlist + + + + + + + + + QLayout::SetFixedSize @@ -316,16 +327,19 @@ 0 - + - Buy in Epic Games Store + orignal + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - + - Add to wishlist + discount diff --git a/requirements-dev.txt b/requirements-dev.txt index d2647125..1435147b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -7,4 +7,4 @@ nuitka ordered-set PyQt5-stubs qstylizer - +graphql-query