Add refresh game meta button
This commit is contained in:
parent
bf1b8d6d27
commit
021dedc3d6
3 changed files with 49 additions and 9 deletions
|
@ -2,6 +2,7 @@ import re
|
|||
from logging import getLogger
|
||||
from typing import Tuple
|
||||
|
||||
from PyQt5.QtCore import QRunnable, QObject, pyqtSignal, QThreadPool
|
||||
from PyQt5.QtWidgets import QSizePolicy, QWidget, QFileDialog, QMessageBox
|
||||
|
||||
import rare.shared as shared
|
||||
|
@ -13,6 +14,24 @@ from rare.utils.utils import get_size
|
|||
logger = getLogger("LegendarySettings")
|
||||
|
||||
|
||||
class WorkerSignals(QObject):
|
||||
finished = pyqtSignal()
|
||||
|
||||
def __init__(self):
|
||||
super(WorkerSignals, self).__init__()
|
||||
|
||||
|
||||
class RefreshGameMetaWorker(QRunnable):
|
||||
def __init__(self):
|
||||
super(RefreshGameMetaWorker, self).__init__()
|
||||
self.setAutoDelete(True)
|
||||
self.signals = WorkerSignals()
|
||||
|
||||
def run(self) -> None:
|
||||
shared.core.get_game_and_dlc_list(True, force_refresh=True)
|
||||
self.signals.finished.emit()
|
||||
|
||||
|
||||
class LegendarySettings(QWidget, Ui_LegendarySettings):
|
||||
def __init__(self, parent=None):
|
||||
super(LegendarySettings, self).__init__(parent=parent)
|
||||
|
@ -66,6 +85,16 @@ class LegendarySettings(QWidget, Ui_LegendarySettings):
|
|||
|
||||
self.ubi_helper = UbiActivationHelper(self.ubisoft_gb)
|
||||
|
||||
self.refresh_game_meta_btn.clicked.connect(self.refresh_game_meta)
|
||||
|
||||
def refresh_game_meta(self):
|
||||
self.refresh_game_meta_btn.setDisabled(True)
|
||||
self.refresh_game_meta_btn.setText(self.tr("Loading"))
|
||||
worker = RefreshGameMetaWorker()
|
||||
worker.signals.finished.connect(lambda: self.refresh_game_meta_btn.setDisabled(False))
|
||||
worker.signals.finished.connect(lambda: self.refresh_game_meta_btn.setText(self.tr("Refresh game meta")))
|
||||
QThreadPool.globalInstance().start(worker)
|
||||
|
||||
@staticmethod
|
||||
def locale_edit_cb(text: str) -> Tuple[bool, str]:
|
||||
if text:
|
||||
|
|
|
@ -40,6 +40,9 @@ class Ui_LegendarySettings(object):
|
|||
self.clean_button = QtWidgets.QPushButton(self.cleanup_group)
|
||||
self.clean_button.setObjectName("clean_button")
|
||||
self.cleanup_layout.addWidget(self.clean_button)
|
||||
self.refresh_game_meta_btn = QtWidgets.QPushButton(self.cleanup_group)
|
||||
self.refresh_game_meta_btn.setObjectName("refresh_game_meta_btn")
|
||||
self.cleanup_layout.addWidget(self.refresh_game_meta_btn)
|
||||
self.right_layout.addWidget(self.cleanup_group)
|
||||
self.gridLayout.addLayout(self.right_layout, 0, 1, 1, 1)
|
||||
self.ubisoft_gb = QtWidgets.QGroupBox(LegendarySettings)
|
||||
|
@ -77,7 +80,7 @@ class Ui_LegendarySettings(object):
|
|||
self.max_worker_spin.setSizePolicy(sizePolicy)
|
||||
self.max_worker_spin.setMinimum(0)
|
||||
self.max_worker_spin.setMaximum(16)
|
||||
self.max_worker_spin.setProperty("value", 4)
|
||||
self.max_worker_spin.setProperty("value", 0)
|
||||
self.max_worker_spin.setObjectName("max_worker_spin")
|
||||
self.max_workers_layout.addWidget(self.max_worker_spin)
|
||||
self.max_workers_info_label = QtWidgets.QLabel(self.download_group)
|
||||
|
@ -138,6 +141,7 @@ class Ui_LegendarySettings(object):
|
|||
self.cleanup_group.setTitle(_translate("LegendarySettings", "Cleanup"))
|
||||
self.clean_keep_manifests_button.setText(_translate("LegendarySettings", "Clean, but keep manifests"))
|
||||
self.clean_button.setText(_translate("LegendarySettings", "Remove everything"))
|
||||
self.refresh_game_meta_btn.setText(_translate("LegendarySettings", "Refresh game meta"))
|
||||
self.ubisoft_gb.setTitle(_translate("LegendarySettings", "Link Ubisoft Games"))
|
||||
self.install_dir_group.setTitle(_translate("LegendarySettings", "Default Installation Directory"))
|
||||
self.download_group.setTitle(_translate("LegendarySettings", "Download Settings"))
|
||||
|
|
|
@ -50,6 +50,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="refresh_game_meta_btn">
|
||||
<property name="text">
|
||||
<string>Refresh game meta</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -112,7 +119,7 @@
|
|||
<number>16</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>4</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
Loading…
Reference in a new issue