fix: reset visible run logs for new runs

This commit is contained in:
chengma
2026-07-02 17:32:51 +08:00
parent 6e2dcf9954
commit f3e0956cf6
9 changed files with 149 additions and 18 deletions
+12 -4
View File
@@ -238,7 +238,7 @@ class GenerateTab(QWidget):
self.refresh_cover_templates()
self.refresh_tasks()
self._load_latest_generate_run_log()
self._show_current_run_log_empty()
def _set_status(self, message):
if self.status_callback is not None:
@@ -253,6 +253,16 @@ class GenerateTab(QWidget):
scroll_bar = self.run_log_view.verticalScrollBar()
scroll_bar.setValue(scroll_bar.maximum())
def _show_current_run_log_empty(self):
self.run_log_view.setPlainText("本轮日志会在开始运行后显示")
def _reset_generate_run_log(self, tasks, generate_cover):
self.run_log_view.clear()
cover_text = "是" if generate_cover else "否"
self._append_generate_log(
f"本轮AI生成开始:任务 {len(tasks)} 条,生成封面:{cover_text}"
)
def _on_generate_cover_toggled(self, checked):
previous = bool(appconfig.ai_config(self.config).get("generate_cover", False))
if self._save_generate_cover_setting(show_status=True):
@@ -478,7 +488,7 @@ class GenerateTab(QWidget):
worker.failed.connect(self._on_generate_failed)
worker.finished.connect(self._on_generate_finished)
worker.cancelled.connect(self._on_generate_cancelled)
self.run_log_view.clear()
self._reset_generate_run_log(tasks, generate_cover)
thread = run_worker(worker, thread_name="GenerateWorker", start=False)
thread.finished.connect(lambda: self._forget_generate_thread(thread))
self.generate_worker = worker
@@ -641,7 +651,6 @@ class GenerateTab(QWidget):
def _on_generate_finished(self, payload):
self._set_generate_running(False)
self.refresh_tasks()
self._load_latest_generate_run_log()
self._update_generate_progress(payload)
if payload.get("error"):
self._set_status(f"AI 生成失败:{payload.get('error')}")
@@ -651,7 +660,6 @@ class GenerateTab(QWidget):
def _on_generate_cancelled(self, payload):
self._set_generate_running(False)
self.refresh_tasks()
self._load_latest_generate_run_log()
self._update_generate_progress(payload)
self._set_status("AI 生成已停止:" + self._generate_progress_text(payload))