1
0
Fork 0
mirror of synced 2024-06-02 18:54:41 +12:00

Avoid making window smaller than horizontal contents

This commit is contained in:
Stelios Tsampas 2022-03-18 19:36:47 +02:00
parent cb852b6912
commit c70e9e9b02
4 changed files with 33 additions and 14 deletions

View file

@ -25,31 +25,43 @@ class UninstalledInfoTabs(SideTabWidget):
self.info.install_button.setDisabled(self.args.offline)
self.addTab(self.info, self.tr("Information"))
self.view = QTreeView()
self.view.setColumnWidth(0, 300)
self.view.setWordWrap(True)
self.model = QJsonModel()
self.view.setModel(self.model)
self.view = GameMetadataView()
self.addTab(self.view, self.tr("Metadata"))
# self.setTabEnabled(1, False)
self.setCurrentIndex(1)
def update_game(self, app_name: Game):
def update_game(self, game: Game):
self.setCurrentIndex(1)
self.info.update_game(app_name)
self.model.clear()
try:
self.model.load(app_name.__dict__)
except:
# ignore if no metadata
pass
self.info.update_game(game)
self.view.update_game(game)
def keyPressEvent(self, e: QKeyEvent):
if e.key() == Qt.Key_Escape:
self.parent().setCurrentIndex(0)
class GameMetadataView(QTreeView):
game: Game
def __init__(self, parent=None):
super(GameMetadataView, self).__init__(parent=parent)
self.setColumnWidth(0, 300)
self.setWordWrap(True)
self.model = QJsonModel()
self.setModel(self.model)
def update_game(self, game: Game):
self.game = game
self.title.setTitle(self.game.app_title)
self.model.clear()
try:
self.model.load(game.__dict__)
except:
pass
self.resizeColumnToContents(0)
class UninstalledInfo(QWidget, Ui_GameInfo):
game: Game

View file

@ -106,6 +106,7 @@ class Ui_EosWidget(object):
self.label.setObjectName("label")
self.verticalLayout_4.addWidget(self.label)
self.install_button = QtWidgets.QPushButton(self.install_overlay_gb)
self.install_button.setMinimumSize(QtCore.QSize(120, 0))
self.install_button.setObjectName("install_button")
self.verticalLayout_4.addWidget(self.install_button, 0, QtCore.Qt.AlignRight)
self.install_overlay_page_layout.addWidget(self.install_overlay_gb, 0, QtCore.Qt.AlignTop)

View file

@ -200,6 +200,12 @@
</item>
<item alignment="Qt::AlignRight">
<widget class="QPushButton" name="install_button">
<property name="minimumSize">
<size>
<width>120</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Install</string>
</property>

View file

@ -407,7 +407,7 @@ class SideTabContainer(QWidget):
widget.layout().setContentsMargins(0, 0, 9, 0)
widget.title = self.title
widget.title.setTitle = self.setTitle
self.scroll.setMinimumWidth(widget.width())
self.scroll.setMinimumWidth(widget.sizeHint().width())
self.scroll.setWidget(widget)
layout = QVBoxLayout()