DownloadsTab: Use elided text from version numbers
This commit is contained in:
parent
91ef4ca944
commit
6ccbeb12dc
|
@ -193,7 +193,7 @@ class DownloadsTab(QWidget):
|
|||
|
||||
self.update_title.emit(self.queues_count())
|
||||
|
||||
# lk: if we finished a repair and we have a disabled update, re-enable it
|
||||
# lk: if we finished a repair, and we have a disabled update, re-enable it
|
||||
if self.updates_group.contains(result.item.options.app_name):
|
||||
self.updates_group.set_widget_enabled(result.item.options.app_name, True)
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ from rare.models.install import InstallQueueItemModel, InstallOptionsModel
|
|||
from rare.shared import ImageManagerSingleton
|
||||
from rare.ui.components.tabs.downloads.download_widget import Ui_DownloadWidget
|
||||
from rare.ui.components.tabs.downloads.info_widget import Ui_InfoWidget
|
||||
from rare.utils.misc import get_size, widget_object_name
|
||||
from rare.utils.misc import get_size, widget_object_name, elide_text
|
||||
from rare.widgets.image_widget import ImageWidget, ImageSize
|
||||
|
||||
|
||||
|
@ -30,8 +30,10 @@ class InfoWidget(QWidget):
|
|||
self.image_manager = ImageManagerSingleton()
|
||||
|
||||
self.ui.title.setText(game.app_title)
|
||||
self.ui.remote_version.setText(old_igame.version if old_igame else game.app_version(igame.platform))
|
||||
self.ui.local_version.setText(igame.version)
|
||||
self.ui.remote_version.setText(
|
||||
elide_text(self.ui.remote_version, old_igame.version if old_igame else game.app_version(igame.platform))
|
||||
)
|
||||
self.ui.local_version.setText(elide_text(self.ui.local_version, igame.version))
|
||||
self.ui.dl_size.setText(get_size(analysis.dl_size) if analysis else "")
|
||||
self.ui.install_size.setText(get_size(analysis.install_size) if analysis else "")
|
||||
|
||||
|
|
|
@ -24,21 +24,22 @@ class Ui_InfoWidget(object):
|
|||
self.info_widget_layout = QtWidgets.QGridLayout(InfoWidget)
|
||||
self.info_widget_layout.setContentsMargins(0, 0, 0, 0)
|
||||
self.info_widget_layout.setObjectName("info_widget_layout")
|
||||
self.install_size = QtWidgets.QLabel(InfoWidget)
|
||||
self.install_size.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.install_size.setText("install_size")
|
||||
self.install_size.setObjectName("install_size")
|
||||
self.info_widget_layout.addWidget(self.install_size, 2, 4, 1, 1)
|
||||
self.remote_version = QtWidgets.QLabel(InfoWidget)
|
||||
self.remote_version.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.remote_version.setText("remote_version")
|
||||
self.remote_version.setObjectName("remote_version")
|
||||
self.info_widget_layout.addWidget(self.remote_version, 1, 2, 1, 1)
|
||||
self.local_version = QtWidgets.QLabel(InfoWidget)
|
||||
self.local_version.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.local_version.setText("local_version")
|
||||
self.local_version.setObjectName("local_version")
|
||||
self.info_widget_layout.addWidget(self.local_version, 2, 2, 1, 1)
|
||||
self.dl_size_label = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.dl_size_label.setFont(font)
|
||||
self.dl_size_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.dl_size_label.setObjectName("dl_size_label")
|
||||
self.info_widget_layout.addWidget(self.dl_size_label, 1, 3, 1, 1)
|
||||
self.title = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.title.setFont(font)
|
||||
self.title.setText("title")
|
||||
self.title.setObjectName("title")
|
||||
self.info_widget_layout.addWidget(self.title, 0, 1, 1, 4)
|
||||
self.local_version_label = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
|
@ -47,14 +48,6 @@ class Ui_InfoWidget(object):
|
|||
self.local_version_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.local_version_label.setObjectName("local_version_label")
|
||||
self.info_widget_layout.addWidget(self.local_version_label, 2, 1, 1, 1)
|
||||
self.remote_version_label = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.remote_version_label.setFont(font)
|
||||
self.remote_version_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.remote_version_label.setObjectName("remote_version_label")
|
||||
self.info_widget_layout.addWidget(self.remote_version_label, 1, 1, 1, 1)
|
||||
self.image_layout = QtWidgets.QVBoxLayout()
|
||||
self.image_layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
|
||||
self.image_layout.setObjectName("image_layout")
|
||||
|
@ -67,39 +60,47 @@ class Ui_InfoWidget(object):
|
|||
self.install_size_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.install_size_label.setObjectName("install_size_label")
|
||||
self.info_widget_layout.addWidget(self.install_size_label, 2, 3, 1, 1)
|
||||
self.dl_size_label = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.dl_size_label.setFont(font)
|
||||
self.dl_size_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.dl_size_label.setObjectName("dl_size_label")
|
||||
self.info_widget_layout.addWidget(self.dl_size_label, 1, 3, 1, 1)
|
||||
self.install_size = QtWidgets.QLabel(InfoWidget)
|
||||
self.install_size.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.install_size.setText("install_size")
|
||||
self.install_size.setObjectName("install_size")
|
||||
self.info_widget_layout.addWidget(self.install_size, 2, 4, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.info_widget_layout.addItem(spacerItem, 0, 5, 3, 1)
|
||||
self.dl_size = QtWidgets.QLabel(InfoWidget)
|
||||
self.dl_size.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.dl_size.setText("dl_size")
|
||||
self.dl_size.setObjectName("dl_size")
|
||||
self.info_widget_layout.addWidget(self.dl_size, 1, 4, 1, 1)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.info_widget_layout.addItem(spacerItem, 0, 5, 3, 1)
|
||||
self.title = QtWidgets.QLabel(InfoWidget)
|
||||
self.remote_version_label = QtWidgets.QLabel(InfoWidget)
|
||||
font = QtGui.QFont()
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.title.setFont(font)
|
||||
self.title.setText("title")
|
||||
self.title.setObjectName("title")
|
||||
self.info_widget_layout.addWidget(self.title, 0, 1, 1, 4)
|
||||
self.info_widget_layout.setColumnStretch(5, 1)
|
||||
self.remote_version_label.setFont(font)
|
||||
self.remote_version_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
|
||||
self.remote_version_label.setObjectName("remote_version_label")
|
||||
self.info_widget_layout.addWidget(self.remote_version_label, 1, 1, 1, 1)
|
||||
self.local_version = QtWidgets.QLabel(InfoWidget)
|
||||
self.local_version.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.local_version.setMaximumSize(QtCore.QSize(160, 16777215))
|
||||
self.local_version.setText("local_version")
|
||||
self.local_version.setObjectName("local_version")
|
||||
self.info_widget_layout.addWidget(self.local_version, 2, 2, 1, 1)
|
||||
self.remote_version = QtWidgets.QLabel(InfoWidget)
|
||||
self.remote_version.setMinimumSize(QtCore.QSize(160, 0))
|
||||
self.remote_version.setMaximumSize(QtCore.QSize(160, 16777215))
|
||||
self.remote_version.setText("remote_version")
|
||||
self.remote_version.setObjectName("remote_version")
|
||||
self.info_widget_layout.addWidget(self.remote_version, 1, 2, 1, 1)
|
||||
|
||||
self.retranslateUi(InfoWidget)
|
||||
|
||||
def retranslateUi(self, InfoWidget):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.local_version_label.setText(_translate("InfoWidget", "Local version"))
|
||||
self.remote_version_label.setText(_translate("InfoWidget", "Remote version"))
|
||||
self.install_size_label.setText(_translate("InfoWidget", "Installed size"))
|
||||
self.dl_size_label.setText(_translate("InfoWidget", "Download size"))
|
||||
self.local_version_label.setText(_translate("InfoWidget", "Local version"))
|
||||
self.install_size_label.setText(_translate("InfoWidget", "Installed size"))
|
||||
self.remote_version_label.setText(_translate("InfoWidget", "Remote version"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<property name="windowTitle">
|
||||
<string notr="true">InfoWidget</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="info_widget_layout" columnstretch="0,0,0,0,0,1">
|
||||
<layout class="QGridLayout" name="info_widget_layout" columnstretch="0,0,0,0,0,0">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
|
@ -32,42 +32,32 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="2" column="4">
|
||||
<widget class="QLabel" name="install_size">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="dl_size_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">install_size</string>
|
||||
<string>Download size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="remote_version">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
<item row="0" column="1" colspan="4">
|
||||
<widget class="QLabel" name="title">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">remote_version</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="local_version">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">local_version</string>
|
||||
<string notr="true">title</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -87,22 +77,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="remote_version_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Remote version</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="3">
|
||||
<layout class="QVBoxLayout" name="image_layout">
|
||||
<property name="sizeConstraint">
|
||||
|
@ -126,24 +100,8 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="dl_size_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Download size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="dl_size">
|
||||
<item row="2" column="4">
|
||||
<widget class="QLabel" name="install_size">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
|
@ -151,7 +109,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">dl_size</string>
|
||||
<string notr="true">install_size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -168,8 +126,21 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="4">
|
||||
<widget class="QLabel" name="title">
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="dl_size">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">dl_size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="remote_version_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
|
@ -177,7 +148,48 @@
|
|||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">title</string>
|
||||
<string>Remote version</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="local_version">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">local_version</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="remote_version">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">remote_version</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -14,10 +14,10 @@ from PyQt5.QtCore import (
|
|||
QSettings,
|
||||
QStandardPaths,
|
||||
QFile,
|
||||
QDir,
|
||||
QDir, Qt,
|
||||
)
|
||||
from PyQt5.QtGui import QPalette, QColor, QImage
|
||||
from PyQt5.QtWidgets import qApp, QStyleFactory, QWidget
|
||||
from PyQt5.QtGui import QPalette, QColor, QImage, QFontMetrics
|
||||
from PyQt5.QtWidgets import qApp, QStyleFactory, QWidget, QLabel
|
||||
from legendary.core import LegendaryCore
|
||||
from legendary.models.game import Game
|
||||
from requests.exceptions import HTTPError
|
||||
|
@ -353,4 +353,9 @@ def icon(icn_str: str, fallback: str = None, **kwargs):
|
|||
|
||||
|
||||
def widget_object_name(widget: QWidget, app_name: str) -> str:
|
||||
return f"{type(widget).__name__}_{app_name}"
|
||||
return f"{type(widget).__name__}_{app_name}"
|
||||
|
||||
|
||||
def elide_text(label: QLabel, text: str) -> str:
|
||||
metrics = QFontMetrics(label.font())
|
||||
return metrics.elidedText(text, Qt.ElideRight, label.width())
|
||||
|
|
Loading…
Reference in a new issue