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 logging import getLogger
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
|
||||||
|
from PyQt5.QtCore import QRunnable, QObject, pyqtSignal, QThreadPool
|
||||||
from PyQt5.QtWidgets import QSizePolicy, QWidget, QFileDialog, QMessageBox
|
from PyQt5.QtWidgets import QSizePolicy, QWidget, QFileDialog, QMessageBox
|
||||||
|
|
||||||
import rare.shared as shared
|
import rare.shared as shared
|
||||||
|
@ -13,6 +14,24 @@ from rare.utils.utils import get_size
|
||||||
logger = getLogger("LegendarySettings")
|
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):
|
class LegendarySettings(QWidget, Ui_LegendarySettings):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(LegendarySettings, self).__init__(parent=parent)
|
super(LegendarySettings, self).__init__(parent=parent)
|
||||||
|
@ -66,6 +85,16 @@ class LegendarySettings(QWidget, Ui_LegendarySettings):
|
||||||
|
|
||||||
self.ubi_helper = UbiActivationHelper(self.ubisoft_gb)
|
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
|
@staticmethod
|
||||||
def locale_edit_cb(text: str) -> Tuple[bool, str]:
|
def locale_edit_cb(text: str) -> Tuple[bool, str]:
|
||||||
if text:
|
if text:
|
||||||
|
|
|
@ -40,6 +40,9 @@ class Ui_LegendarySettings(object):
|
||||||
self.clean_button = QtWidgets.QPushButton(self.cleanup_group)
|
self.clean_button = QtWidgets.QPushButton(self.cleanup_group)
|
||||||
self.clean_button.setObjectName("clean_button")
|
self.clean_button.setObjectName("clean_button")
|
||||||
self.cleanup_layout.addWidget(self.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.right_layout.addWidget(self.cleanup_group)
|
||||||
self.gridLayout.addLayout(self.right_layout, 0, 1, 1, 1)
|
self.gridLayout.addLayout(self.right_layout, 0, 1, 1, 1)
|
||||||
self.ubisoft_gb = QtWidgets.QGroupBox(LegendarySettings)
|
self.ubisoft_gb = QtWidgets.QGroupBox(LegendarySettings)
|
||||||
|
@ -77,7 +80,7 @@ class Ui_LegendarySettings(object):
|
||||||
self.max_worker_spin.setSizePolicy(sizePolicy)
|
self.max_worker_spin.setSizePolicy(sizePolicy)
|
||||||
self.max_worker_spin.setMinimum(0)
|
self.max_worker_spin.setMinimum(0)
|
||||||
self.max_worker_spin.setMaximum(16)
|
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_worker_spin.setObjectName("max_worker_spin")
|
||||||
self.max_workers_layout.addWidget(self.max_worker_spin)
|
self.max_workers_layout.addWidget(self.max_worker_spin)
|
||||||
self.max_workers_info_label = QtWidgets.QLabel(self.download_group)
|
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.cleanup_group.setTitle(_translate("LegendarySettings", "Cleanup"))
|
||||||
self.clean_keep_manifests_button.setText(_translate("LegendarySettings", "Clean, but keep manifests"))
|
self.clean_keep_manifests_button.setText(_translate("LegendarySettings", "Clean, but keep manifests"))
|
||||||
self.clean_button.setText(_translate("LegendarySettings", "Remove everything"))
|
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.ubisoft_gb.setTitle(_translate("LegendarySettings", "Link Ubisoft Games"))
|
||||||
self.install_dir_group.setTitle(_translate("LegendarySettings", "Default Installation Directory"))
|
self.install_dir_group.setTitle(_translate("LegendarySettings", "Default Installation Directory"))
|
||||||
self.download_group.setTitle(_translate("LegendarySettings", "Download Settings"))
|
self.download_group.setTitle(_translate("LegendarySettings", "Download Settings"))
|
||||||
|
|
|
@ -43,13 +43,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="clean_button">
|
<widget class="QPushButton" name="clean_button">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Remove everything</string>
|
<string>Remove everything</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="refresh_game_meta_btn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Refresh game meta</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -112,7 +119,7 @@
|
||||||
<number>16</number>
|
<number>16</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>4</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Reference in a new issue