#347 Take short or long breaks from tray
Correction: get_break() should not alter the break queue.
This commit is contained in:
parent
788e2b43af
commit
9a76aa4211
|
@ -167,7 +167,9 @@ class SafeEyesCore:
|
||||||
time.sleep(1) # Wait for 1 sec to ensure the sceduler is dead
|
time.sleep(1) # Wait for 1 sec to ensure the sceduler is dead
|
||||||
self.running = True
|
self.running = True
|
||||||
|
|
||||||
utility.execute_main_thread(self.__fire_start_break, break_type)
|
if break_type is not None and self.break_queue.get_break().type != break_type:
|
||||||
|
self.break_queue.next(break_type)
|
||||||
|
utility.execute_main_thread(self.__fire_start_break)
|
||||||
|
|
||||||
def __scheduler_job(self):
|
def __scheduler_job(self):
|
||||||
"""
|
"""
|
||||||
|
@ -243,8 +245,8 @@ class SafeEyesCore:
|
||||||
self.__wait_for(self.postpone_duration)
|
self.__wait_for(self.postpone_duration)
|
||||||
utility.execute_main_thread(self.__fire_start_break)
|
utility.execute_main_thread(self.__fire_start_break)
|
||||||
|
|
||||||
def __fire_start_break(self, break_type = None):
|
def __fire_start_break(self):
|
||||||
break_obj = self.break_queue.get_break(break_type)
|
break_obj = self.break_queue.get_break()
|
||||||
# Show the break screen
|
# Show the break screen
|
||||||
if not self.on_start_break.fire(break_obj):
|
if not self.on_start_break.fire(break_obj):
|
||||||
# Plugins want to ignore this break
|
# Plugins want to ignore this break
|
||||||
|
@ -260,13 +262,14 @@ class SafeEyesCore:
|
||||||
utility.start_thread(self.__postpone_break)
|
utility.start_thread(self.__postpone_break)
|
||||||
else:
|
else:
|
||||||
self.start_break.fire(break_obj)
|
self.start_break.fire(break_obj)
|
||||||
utility.start_thread(self.__start_break, break_obj = break_obj)
|
utility.start_thread(self.__start_break)
|
||||||
|
|
||||||
def __start_break(self, break_obj):
|
def __start_break(self):
|
||||||
"""
|
"""
|
||||||
Start the break screen.
|
Start the break screen.
|
||||||
"""
|
"""
|
||||||
self.context['state'] = State.BREAK
|
self.context['state'] = State.BREAK
|
||||||
|
break_obj = self.break_queue.get_break()
|
||||||
countdown = break_obj.duration
|
countdown = break_obj.duration
|
||||||
total_break_time = countdown
|
total_break_time = countdown
|
||||||
|
|
||||||
|
|
|
@ -114,11 +114,15 @@ class BreakQueue:
|
||||||
|
|
||||||
def get_break(self, break_type = None):
|
def get_break(self, break_type = None):
|
||||||
if self.__current_break is None:
|
if self.__current_break is None:
|
||||||
self.__current_break = self.next(break_type)
|
self.__current_break = self.next()
|
||||||
elif break_type is not None and self.__current_break.type != break_type:
|
|
||||||
self.__current_break = self.next(break_type)
|
|
||||||
|
|
||||||
return self.__current_break
|
if break_type is None or self.__current_break.type == break_type:
|
||||||
|
return self.__current_break
|
||||||
|
|
||||||
|
if break_type == BreakType.LONG_BREAK:
|
||||||
|
return self.__long_queue[self.__current_long]
|
||||||
|
|
||||||
|
return self.__short_queue[self.__current_short]
|
||||||
|
|
||||||
def is_long_break(self):
|
def is_long_break(self):
|
||||||
return self.__current_break is not None and self.__current_break.type == BreakType.LONG_BREAK
|
return self.__current_break is not None and self.__current_break.type == BreakType.LONG_BREAK
|
||||||
|
@ -153,7 +157,7 @@ class BreakQueue:
|
||||||
def reset(self):
|
def reset(self):
|
||||||
for break_object in self.__short_queue:
|
for break_object in self.__short_queue:
|
||||||
break_object.time = self.__short_break_time
|
break_object.time = self.__short_break_time
|
||||||
|
|
||||||
for break_object in self.__long_queue:
|
for break_object in self.__long_queue:
|
||||||
break_object.time = self.__long_break_time
|
break_object.time = self.__long_break_time
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue