Exemplo n.º 1
0
    def slotMayAct(self):
        if self.actionId == ACTION_NONE:
            self.sigSchedulerSummaryUpdated.emit()
            logging.info("cancel schedule because action is none")
            return

        runningTaskIds = app.etmpy.runningTasksStat.getTIDs()
        if self.actWhen == SELECTED_TASKS_COMPLETED:
            stillWaitingTaskIds = set(runningTaskIds) & self.waitingTaskIds
            self._stillWaitingTasksNumber = len(stillWaitingTaskIds)
        elif self.actWhen == ALL_TASKS_COMPLETED:
            self._stillWaitingTasksNumber = len(runningTaskIds)
        else:
            raise Exception("Unknown actWhen.")

        if self._stillWaitingTasksNumber > 0:
            self.sigSchedulerSummaryUpdated.emit()
            logging.info("not take action because desired tasks are running.")
            return

        self.confirmDlg = CountdownMessageBox(
            self.getActionNameById(self.actionId))
        self.confirmDlg.show()
        self.confirmDlg.activateWindow()
        self.confirmDlg.raise_()