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

Store: Use ElideLabel for requirements

This commit is contained in:
loathingKernel 2023-03-12 14:01:11 +02:00
parent 6b15c0f2cf
commit d3b591952f
No known key found for this signature in database
GPG key ID: CE0C72D0B53821FD
3 changed files with 15 additions and 11 deletions

View file

@ -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)

View file

@ -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

View file

@ -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):