From d3b591952fccf70ff7a335d28025190473fe9e2e Mon Sep 17 00:00:00 2001 From: loathingKernel <142770+loathingKernel@users.noreply.github.com> Date: Sun, 12 Mar 2023 14:01:11 +0200 Subject: [PATCH] Store: Use ElideLabel for requirements --- rare/components/tabs/store/game_info.py | 20 +++++++++++--------- rare/components/tabs/store/search_results.py | 2 +- rare/components/tabs/store/wishlist.py | 4 +++- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/rare/components/tabs/store/game_info.py b/rare/components/tabs/store/game_info.py index 0df65d85..7b478766 100644 --- a/rare/components/tabs/store/game_info.py +++ b/rare/components/tabs/store/game_info.py @@ -1,7 +1,7 @@ import logging from PyQt5.QtCore import Qt, QUrl -from PyQt5.QtGui import QFont, QDesktopServices +from PyQt5.QtGui import QFont, QDesktopServices, QFontMetrics from PyQt5.QtWidgets import ( QWidget, QLabel, @@ -15,13 +15,14 @@ from rare.shared import LegendaryCoreSingleton from rare.shared.image_manager import ImageSize from rare.ui.components.tabs.store.shop_game_info import Ui_ShopGameInfo from rare.utils.misc import icon -from rare.widgets.side_tab import SideTabWidget +from rare.widgets.side_tab import SideTabWidget, SideTabContents +from rare.widgets.elide_label import ElideLabel from .image_widget import ShopImageWidget logger = logging.getLogger("ShopInfo") -class ShopGameInfo(QWidget, Ui_ShopGameInfo): +class ShopGameInfo(QWidget, Ui_ShopGameInfo, SideTabContents): # TODO Design def __init__(self, installed_titles: list, api_core, parent=None): @@ -61,6 +62,7 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo): self.wishlist_button.setVisible(False) def update_game(self, data: dict): + self.set_title.emit(data["title"]) self.title.setText(data["title"]) self.title_str = data["title"] self.id_str = data["id"] @@ -144,7 +146,7 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo): self.tags.setText("") self.dev.setText(self.data.get("seller", {}).get("name", "")) return - self.title.setText(self.game.title) + # self.title.setText(self.game.title) self.price.setFont(QFont()) if self.game.price == "0" or self.game.price == 0: @@ -167,11 +169,11 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo): bold_font = QFont() bold_font.setBold(True) + fm = QFontMetrics(self.font()) if self.game.reqs: for system in self.game.reqs: req_widget = QWidget(self.requirements_tabs) req_layout = QGridLayout(req_widget) - req_layout.setSizeConstraint(QGridLayout.SetFixedSize) req_widget.layout().setAlignment(Qt.AlignTop) req_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) min_label = QLabel(self.tr("Minimum"), parent=req_widget) @@ -180,13 +182,13 @@ class ShopGameInfo(QWidget, Ui_ShopGameInfo): rec_label.setFont(bold_font) req_layout.addWidget(min_label, 0, 1) req_layout.addWidget(rec_label, 0, 2) + req_layout.setColumnStretch(1, 2) + req_layout.setColumnStretch(2, 2) for i, (key, value) in enumerate(self.game.reqs.get(system, {}).items()): req_layout.addWidget(QLabel(key, parent=req_widget), i + 1, 0) - min_label = QLabel(value[0], parent=req_widget) - min_label.setWordWrap(False) + min_label = ElideLabel(value[0], parent=req_widget) req_layout.addWidget(min_label, i + 1, 1) - rec_label = QLabel(value[1], parent=req_widget) - rec_label.setWordWrap(False) + rec_label = ElideLabel(value[1], parent=req_widget) req_layout.addWidget(rec_label, i + 1, 2) self.requirements_tabs.addTab(req_widget, system) # self.req_group_box.layout().addWidget(req_tabs) diff --git a/rare/components/tabs/store/search_results.py b/rare/components/tabs/store/search_results.py index ff3baa59..72dc29e7 100644 --- a/rare/components/tabs/store/search_results.py +++ b/rare/components/tabs/store/search_results.py @@ -12,7 +12,7 @@ from PyQt5.QtWidgets import ( from rare.shared.image_manager import ImageSize from rare.widgets.flow_layout import FlowLayout -from widgets.elide_label import ElideLabel +from rare.widgets.elide_label import ElideLabel from .image_widget import ShopImageWidget diff --git a/rare/components/tabs/store/wishlist.py b/rare/components/tabs/store/wishlist.py index 48ac9d18..b3f7f3b9 100644 --- a/rare/components/tabs/store/wishlist.py +++ b/rare/components/tabs/store/wishlist.py @@ -3,11 +3,12 @@ from PyQt5.QtWidgets import QMessageBox, QWidget from rare.ui.components.tabs.store.wishlist import Ui_Wishlist from rare.utils.misc import icon +from rare.widgets.side_tab import SideTabContents from .shop_api_core import ShopApiCore from .game_widgets import WishlistWidget -class Wishlist(QWidget, Ui_Wishlist): +class Wishlist(QWidget, Ui_Wishlist, SideTabContents): show_game_info = pyqtSignal(dict) update_wishlist_signal = pyqtSignal() @@ -32,6 +33,7 @@ class Wishlist(QWidget, Ui_Wishlist): def update_wishlist(self): self.setEnabled(False) + self.set_title.emit("Wishlist") self.api_core.get_wishlist(self.set_wishlist) def delete_from_wishlist(self, game):