Added loading of playlists to the process-dock.

This commit is contained in:
The Wobbler 2025-02-20 18:55:01 +01:00
parent 6786a3dcd8
commit 301896e12c
4 changed files with 48 additions and 19 deletions

View file

@ -5,14 +5,14 @@ from PyQt6.QtWidgets import QWidget, QDockWidget, QScrollArea, QVBoxLayout
from .process import BackgroundProcess
PROGRESS_UPDATE_RATE = 30
PROGRESS_UPDATE_RATE = 10
PROGRESS_UPDATE_INTERVAL = 1000 // PROGRESS_UPDATE_RATE
class ProcessDock(QDockWidget):
# we need a signal for self.on_background_job_start() because PyQt6 doesn't allow some operations to be performed
# from a different thread
job_started_signal = pyqtSignal(str)
job_started_signal = pyqtSignal(str, str, int, object)
def __init__(self, app, parent=None):
super().__init__(parent)
@ -54,17 +54,18 @@ class ProcessDock(QDockWidget):
for process in self.processes.values():
process.update_progress()
def on_background_job_start(self, job):
match job:
case "track_caching":
self.add_process(
job,
BackgroundProcess(
"Loading Track",
self.process_container,
"Loading next track in the background so it starts immediately."
)
)
def on_background_job_start(self, job_title: str, description: str, steps: int, getter):
process = BackgroundProcess(
job_title,
self.process_container,
description,
steps
)
if getter is not None:
process.get_progress = getter
self.add_process(job_title, process)
def on_background_job_stop(self, job):
if job in self.processes: