diff --git a/src/gui/ALAddTimerTaskDialog.py b/src/gui/ALAddTimerTaskDialog.py index 0dbb01c..a21fa80 100644 --- a/src/gui/ALAddTimerTaskDialog.py +++ b/src/gui/ALAddTimerTaskDialog.py @@ -36,6 +36,7 @@ class TimerTaskStatus(Enum): READY = "已就绪" RUNNING = "执行中" EXECUTED = "已执行" + ERROR = "执行失败" OUTDATED = "已过期" diff --git a/src/gui/ALTimerTaskWidget.py b/src/gui/ALTimerTaskWidget.py index 1063f17..c656e49 100644 --- a/src/gui/ALTimerTaskWidget.py +++ b/src/gui/ALTimerTaskWidget.py @@ -94,6 +94,9 @@ class TimerTaskItemWidget(QWidget): case TimerTaskStatus.EXECUTED: TaskStatusText = "已执行" TaskStatusColor = "#4CAF50" + case TimerTaskStatus.ERROR: + TaskStatusText = "执行失败" + TaskStatusColor = "#FF5722" case TimerTaskStatus.OUTDATED: TaskStatusText = "已过期" TaskStatusColor = "#FF5722" @@ -315,6 +318,7 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): pending = 0 in_queue = 0 executed = 0 + invalid = 0 total = len(self.__timer_tasks) for timer_task in self.__timer_tasks: if timer_task["status"] == TimerTaskStatus.PENDING: @@ -324,10 +328,14 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): in_queue += 1 elif timer_task["status"] == TimerTaskStatus.EXECUTED: executed += 1 + elif timer_task["status"] == TimerTaskStatus.ERROR\ + or timer_task["status"] == TimerTaskStatus.OUTDATED: + invalid += 1 self.TotalTaskLabel.setText(f"总任务:{total}") self.PendingTaskLabel.setText(f"待执行:{pending}") self.InQueueTaskLabel.setText(f"队列中:{in_queue}") self.ExecutedTaskLabel.setText(f"已执行:{executed}") + self.InvalidTaskLabel.setText(f"无效的:{invalid}") def updateTimerTaskList( @@ -470,3 +478,14 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): if task["task_uuid"] == timer_task["task_uuid"]: task["status"] = TimerTaskStatus.EXECUTED self.timerTasksChanged.emit() + + @Slot(dict) + def onTimerTaskIsError( + self, + timer_task: dict + ): + + for task in self.__timer_tasks: + if task["task_uuid"] == timer_task["task_uuid"]: + task["status"] = TimerTaskStatus.ERROR + self.timerTasksChanged.emit() diff --git a/src/gui/ALTimerTaskWidget.ui b/src/gui/ALTimerTaskWidget.ui index fb43171..363ead3 100644 --- a/src/gui/ALTimerTaskWidget.ui +++ b/src/gui/ALTimerTaskWidget.ui @@ -137,6 +137,30 @@ + + + + + 70 + 25 + + + + + 25 + 70 + + + + QLabel { + color: #FF5722 +} + + + 无效的:0 + + +