1
0
Fork 0
mirror of synced 2024-06-28 11:11:15 +12:00

GameWidget: Toggle buttons on widget update

ElidedLabel: Use `sizeHint()` for width

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
This commit is contained in:
loathingKernel 2023-01-25 13:04:21 +02:00
parent fc7e45a43a
commit 1959516b3f
6 changed files with 12 additions and 8 deletions

View file

@ -39,8 +39,8 @@ class InstallDialogAdvanced(CollapsibleFrame):
class InstallDialog(QDialog): class InstallDialog(QDialog):
result_ready = pyqtSignal(InstallQueueItemModel) result_ready = pyqtSignal(InstallQueueItemModel)
def __init__(self, rgame: RareGame, options: InstallOptionsModel, parent=None,): def __init__(self, rgame: RareGame, options: InstallOptionsModel, parent=None):
super(InstallDialog, self).__init__(parent) super(InstallDialog, self).__init__(parent=parent)
self.setAttribute(Qt.WA_DeleteOnClose, True) self.setAttribute(Qt.WA_DeleteOnClose, True)
self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint) self.setWindowFlags(Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint)
self.ui = Ui_InstallDialog() self.ui = Ui_InstallDialog()

View file

@ -63,8 +63,7 @@ class GameInfo(QWidget):
self.steam_worker.signals.rating.connect(self.ui.grade.setText) self.steam_worker.signals.rating.connect(self.ui.grade.setText)
self.steam_worker.setAutoDelete(False) self.steam_worker.setAutoDelete(False)
self.ui.game_actions_stack.setCurrentIndex(0) self.ui.game_actions_stack.setCurrentWidget(self.ui.installed_page)
self.ui.game_actions_stack.resize(self.ui.game_actions_stack.minimumSize())
self.ui.uninstall_button.clicked.connect(self.__on_uninstall) self.ui.uninstall_button.clicked.connect(self.__on_uninstall)
self.ui.verify_button.clicked.connect(self.__on_verify) self.ui.verify_button.clicked.connect(self.__on_verify)

View file

@ -17,7 +17,7 @@ from rare.shared import (
from rare.utils.misc import create_desktop_link from rare.utils.misc import create_desktop_link
from .library_widget import LibraryWidget from .library_widget import LibraryWidget
logger = getLogger("BaseGameWidget") logger = getLogger("GameWidget")
class GameWidget(LibraryWidget): class GameWidget(LibraryWidget):
@ -142,7 +142,9 @@ class GameWidget(LibraryWidget):
@abstractmethod @abstractmethod
def update_widget(self, install_btn: QPushButton, launch_btn: QPushButton): def update_widget(self, install_btn: QPushButton, launch_btn: QPushButton):
install_btn.setVisible(not self.rgame.is_installed) install_btn.setVisible(not self.rgame.is_installed)
install_btn.setEnabled(not self.rgame.is_installed)
launch_btn.setVisible(self.rgame.is_installed) launch_btn.setVisible(self.rgame.is_installed)
launch_btn.setEnabled(self.rgame.can_launch)
@property @property
def enterEventText(self) -> str: def enterEventText(self) -> str:
@ -191,7 +193,7 @@ class GameWidget(LibraryWidget):
self.show_info.emit(self.rgame) self.show_info.emit(self.rgame)
# right # right
elif e.button() == 2: elif e.button() == 2:
pass # self.showMenu(e) super(GameWidget, self).mousePressEvent(e)
@pyqtSlot() @pyqtSlot()
def _on_reload_image(self) -> None: def _on_reload_image(self) -> None:

View file

@ -1,11 +1,14 @@
import os import os
import subprocess import subprocess
from logging import getLogger
from PyQt5.QtCore import pyqtSignal, QRunnable, QObject, pyqtSlot from PyQt5.QtCore import pyqtSignal, QRunnable, QObject, pyqtSlot
from rare.lgndr.core import LegendaryCore from rare.lgndr.core import LegendaryCore
from rare.models.pathspec import PathSpec from rare.models.pathspec import PathSpec
logger = getLogger("WineResolver")
class WineResolver(QRunnable): class WineResolver(QRunnable):
class Signals(QObject): class Signals(QObject):

View file

@ -358,4 +358,4 @@ def widget_object_name(widget: QWidget, app_name: str) -> str:
def elide_text(label: QLabel, text: str) -> str: def elide_text(label: QLabel, text: str) -> str:
metrics = QFontMetrics(label.font()) metrics = QFontMetrics(label.font())
return metrics.elidedText(text, Qt.ElideRight, label.width()) return metrics.elidedText(text, Qt.ElideRight, label.sizeHint().width())

View file

@ -17,7 +17,7 @@ class ElideLabel(QLabel):
def __setElideText(self, a0: str): def __setElideText(self, a0: str):
metrics = QFontMetrics(self.font()) metrics = QFontMetrics(self.font())
elided_text = metrics.elidedText(a0, Qt.ElideRight, self.width()) elided_text = metrics.elidedText(a0, Qt.ElideRight, self.sizeHint().width())
super(ElideLabel, self).setText(elided_text) super(ElideLabel, self).setText(elided_text)
def paintEvent(self, a0: QPaintEvent) -> None: def paintEvent(self, a0: QPaintEvent) -> None: