RareCore: add dequeue_worker()
method to RareCore
It will "properly" remove a worker and update the connected widgets.
This commit is contained in:
parent
b405ff615e
commit
e9cbdb22bc
|
@ -251,7 +251,7 @@ class MainWindow(QMainWindow):
|
|||
if reply == QMessageBox.Yes:
|
||||
self.rcore.queue_threadpool.clear()
|
||||
for qw in self.rcore.queued_workers():
|
||||
self.rcore.queue_workers.remove(qw)
|
||||
self.rcore.dequeue_worker(qw)
|
||||
self.update_statusbar()
|
||||
e.ignore()
|
||||
return
|
||||
|
|
|
@ -62,6 +62,12 @@ class RareCore(QObject):
|
|||
self.queue_threadpool.start(worker, priority=0)
|
||||
self.__signals.application.update_statusbar.emit()
|
||||
|
||||
def dequeue_worker(self, worker: QueueWorker):
|
||||
rgame = self.__games[worker.worker_info().app_name]
|
||||
rgame.set_worker(None)
|
||||
self.queue_workers.remove(worker)
|
||||
self.__signals.application.update_statusbar.emit()
|
||||
|
||||
def active_workers(self) -> Iterator[QueueWorker]:
|
||||
return list(filter(lambda w: w.state == QueueWorkerState.ACTIVE, self.queue_workers))
|
||||
|
||||
|
|
Loading…
Reference in a new issue