#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
|
||||
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):
|
||||
"""
|
||||
|
@ -243,8 +245,8 @@ class SafeEyesCore:
|
|||
self.__wait_for(self.postpone_duration)
|
||||
utility.execute_main_thread(self.__fire_start_break)
|
||||
|
||||
def __fire_start_break(self, break_type = None):
|
||||
break_obj = self.break_queue.get_break(break_type)
|
||||
def __fire_start_break(self):
|
||||
break_obj = self.break_queue.get_break()
|
||||
# Show the break screen
|
||||
if not self.on_start_break.fire(break_obj):
|
||||
# Plugins want to ignore this break
|
||||
|
@ -260,13 +262,14 @@ class SafeEyesCore:
|
|||
utility.start_thread(self.__postpone_break)
|
||||
else:
|
||||
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.
|
||||
"""
|
||||
self.context['state'] = State.BREAK
|
||||
break_obj = self.break_queue.get_break()
|
||||
countdown = break_obj.duration
|
||||
total_break_time = countdown
|
||||
|
||||
|
|
|
@ -114,11 +114,15 @@ class BreakQueue:
|
|||
|
||||
def get_break(self, break_type = None):
|
||||
if self.__current_break is None:
|
||||
self.__current_break = self.next(break_type)
|
||||
elif break_type is not None and self.__current_break.type != break_type:
|
||||
self.__current_break = self.next(break_type)
|
||||
self.__current_break = self.next()
|
||||
|
||||
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):
|
||||
return self.__current_break is not None and self.__current_break.type == BreakType.LONG_BREAK
|
||||
|
@ -153,7 +157,7 @@ class BreakQueue:
|
|||
def reset(self):
|
||||
for break_object in self.__short_queue:
|
||||
break_object.time = self.__short_break_time
|
||||
|
||||
|
||||
for break_object in self.__long_queue:
|
||||
break_object.time = self.__long_break_time
|
||||
|
||||
|
|
Loading…
Reference in New Issue