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:
parent
fc7e45a43a
commit
1959516b3f
6 changed files with 12 additions and 8 deletions
|
@ -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()
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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())
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in a new issue