Download tab: Updates in Groupbox; Fixed bug in Legendary settings
This commit is contained in:
parent
81032c94f5
commit
77d740470f
|
@ -1,7 +1,11 @@
|
|||
from logging import getLogger
|
||||
|
||||
from PyQt5.QtCore import pyqtSignal
|
||||
from PyQt5.QtWidgets import QGroupBox, QVBoxLayout, QLabel, QHBoxLayout, QPushButton, QWidget
|
||||
from qtawesome import icon
|
||||
|
||||
logger = getLogger("QueueWidget")
|
||||
|
||||
|
||||
class DlWidget(QWidget):
|
||||
move_up = pyqtSignal(str) # app_name
|
||||
|
@ -65,6 +69,7 @@ class DlQueueWidget(QGroupBox):
|
|||
self.setLayout(self.layout)
|
||||
|
||||
def update_queue(self, dl_queue: list):
|
||||
logger.info("Update Queue " + ", ".join(i[1].app_title for i in dl_queue))
|
||||
self.dl_queue = dl_queue
|
||||
self.setLayout(QVBoxLayout())
|
||||
QWidget().setLayout(self.layout)
|
||||
|
@ -92,7 +97,7 @@ class DlQueueWidget(QGroupBox):
|
|||
self.dl_queue.pop(index)
|
||||
break
|
||||
else:
|
||||
print("BUG! ", app_name)
|
||||
logger.warning("BUG! ", app_name)
|
||||
return
|
||||
self.update_list.emit(self.dl_queue)
|
||||
self.update_queue(self.dl_queue)
|
||||
|
@ -105,6 +110,7 @@ class DlQueueWidget(QGroupBox):
|
|||
index = i
|
||||
break
|
||||
else:
|
||||
logger.warning("Could not find appname" + app_name)
|
||||
return
|
||||
self.dl_queue.insert(index - 1, self.dl_queue.pop(index))
|
||||
self.update_list.emit(self.dl_queue)
|
||||
|
@ -118,6 +124,7 @@ class DlQueueWidget(QGroupBox):
|
|||
index = i
|
||||
break
|
||||
else:
|
||||
logger.warning("Could not find appname" + app_name)
|
||||
return
|
||||
self.dl_queue.insert(index + 1, self.dl_queue.pop(index))
|
||||
self.update_list.emit(self.dl_queue)
|
||||
|
|
|
@ -4,7 +4,7 @@ from multiprocessing import Queue as MPQueue
|
|||
|
||||
from PyQt5.QtCore import QThread, pyqtSignal, Qt
|
||||
from PyQt5.QtWidgets import QWidget, QMessageBox, QVBoxLayout, QLabel, QGridLayout, QProgressBar, QPushButton, QDialog, \
|
||||
QListWidget, QHBoxLayout
|
||||
QListWidget, QHBoxLayout, QGroupBox
|
||||
|
||||
from Rare.Components.Dialogs.InstallDialog import InstallInfoDialog, InstallDialog
|
||||
from Rare.Components.Tabs.Downloads.DlQueueWidget import DlQueueWidget
|
||||
|
@ -61,24 +61,23 @@ class DownloadTab(QWidget):
|
|||
self.layout.addWidget(self.queue_widget)
|
||||
self.queue_widget.update_list.connect(self.update_dl_queue)
|
||||
|
||||
self.update_title = QLabel(f"<h2>{self.tr('Updates')}</h2>")
|
||||
self.update_title.setStyleSheet("""
|
||||
QLabel{
|
||||
margin-top: 20px;
|
||||
}
|
||||
""")
|
||||
self.layout.addWidget(self.update_title)
|
||||
self.updates = QGroupBox(self.tr("Updates"))
|
||||
self.updates.setObjectName("group")
|
||||
self.update_layout = QVBoxLayout()
|
||||
self.update_widgets = {}
|
||||
if not updates:
|
||||
self.update_text = QLabel(self.tr("No updates available"))
|
||||
self.layout.addWidget(self.update_text)
|
||||
else:
|
||||
for igame in updates:
|
||||
widget = UpdateWidget(core, igame)
|
||||
self.update_widgets[igame.app_name] = widget
|
||||
self.layout.addWidget(widget)
|
||||
widget.update.connect(self.update_game)
|
||||
|
||||
self.update_text = QLabel(self.tr("No updates available"))
|
||||
self.update_text.setVisible(len(updates) == 0)
|
||||
self.update_layout.addWidget(self.update_text)
|
||||
|
||||
for igame in updates:
|
||||
widget = UpdateWidget(core, igame)
|
||||
self.update_widgets[igame.app_name] = widget
|
||||
self.update_layout.addWidget(widget)
|
||||
widget.update.connect(self.update_game)
|
||||
|
||||
self.updates.setLayout(self.update_layout)
|
||||
self.layout.addWidget(self.updates)
|
||||
self.layout.addStretch(1)
|
||||
|
||||
self.setLayout(self.layout)
|
||||
|
@ -86,7 +85,6 @@ class DownloadTab(QWidget):
|
|||
def update_dl_queue(self, dl_queue):
|
||||
self.dl_queue = dl_queue
|
||||
|
||||
|
||||
def stop_download(self):
|
||||
self.thread.kill = True
|
||||
|
||||
|
|
|
@ -37,10 +37,17 @@ class IconWidgetUninstalled(BaseUninstalledWidget):
|
|||
self.setFixedWidth(self.sizeHint().width())
|
||||
|
||||
def mousePressEvent(self, e) -> None:
|
||||
self.install()
|
||||
if not self.installing:
|
||||
self.install()
|
||||
|
||||
def enterEvent(self, e):
|
||||
self.info_label.setText(self.tr("Install Game"))
|
||||
if not self.installing:
|
||||
self.info_label.setText(self.tr("Install Game"))
|
||||
else:
|
||||
self.info_label.setText(self.tr("Installation running"))
|
||||
|
||||
def leaveEvent(self, e):
|
||||
self.info_label.setText("")
|
||||
if self.installing:
|
||||
self.info_label.setText("Installation...")
|
||||
else:
|
||||
self.info_label.setText("")
|
||||
|
|
|
@ -59,20 +59,20 @@ class LegendarySettings(QGroupBox):
|
|||
self.core.lgd.config["Legendary"]["install_dir"] = self.select_path.text()
|
||||
if self.select_path.text() == "" and "install_dir" in self.core.lgd.config["Legendary"].keys():
|
||||
self.core.lgd.config["Legendary"].pop("install_dir")
|
||||
logger.info("Remove install_dir section")
|
||||
else:
|
||||
logger.info("Set config install_dir to " + self.select_path.text())
|
||||
self.core.lgd.save_config()
|
||||
|
||||
def max_worker_save(self, num_workers: str):
|
||||
self.core.lgd.config["Legendary"]["max_workers"] = num_workers
|
||||
if num_workers == "":
|
||||
self.core.lgd.config["Legendary"].pop("max_workers")
|
||||
self.core.lgd.config.remove_option("Legendary", "max_workers")
|
||||
self.core.lgd.save_config()
|
||||
return
|
||||
num_workers = int(num_workers)
|
||||
if num_workers == 0:
|
||||
self.core.lgd.config["Legendary"].pop("max_workers")
|
||||
logger.info("Updating config for max_workers")
|
||||
self.core.lgd.config.remove_option("Legendary", "max_workers")
|
||||
else:
|
||||
self.core.lgd.config.set("Legendary", "max_workers", str(num_workers))
|
||||
self.core.lgd.save_config()
|
||||
|
||||
def cleanup(self, keep_manifests):
|
||||
|
|
Loading…
Reference in a new issue