fix: reset time on subsequent invocations

This commit is contained in:
aclist committed 2026-09-03 23:26:01 +09:00
1 parent fef8c69f38
commit eb5d5d5181
2 files changed
+9 -4

No files matched your search

+5 -1
View File
@@ -231,10 +231,13 @@ class RemainderClock:
self.emitter = emitter
self.emitter.connect("target_time_changed", self._on_target_time_changed)
self.emitter.connect("local_time_incremented", self._on_local_time_incremented)
self.time = datetime.combine(datetime.now(), time(hour=0, minute=0, second=0))
self.reset_time()
self.previous = timedelta(0)
def reset_time(self) -> None:
self.time = datetime.combine(datetime.now(), time(hour=0, minute=0, second=0))
def _on_local_time_incremented(
self, emitter: Emitter, time: datetime, elapsed: timedelta
) -> None:
@@ -250,6 +253,7 @@ class RemainderClock:
self.emitter.emit("remaining_time_changed", self.time)
def _on_target_time_changed(self, emitter: Emitter, time: timedelta) -> None:
self.reset_time()
self.time += time
self.emitter.emit("remaining_time_changed", self.time)