mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-26 05:42:15 +01:00
timers manager tries to load presets before add to idle manager
This commit is contained in:
parent
67aa4e7d08
commit
fc01a4240b
1 changed files with 41 additions and 24 deletions
|
|
@ -1,6 +1,7 @@
|
|||
from Qt import QtCore
|
||||
from .widget_user_idle import WidgetUserIdle
|
||||
from pypeapp.lib.config import get_presets
|
||||
from pypeapp import Logger
|
||||
|
||||
|
||||
class Singleton(type):
|
||||
|
|
@ -20,17 +21,22 @@ class TimersManager(metaclass=Singleton):
|
|||
last_task = None
|
||||
|
||||
def __init__(self, tray_widget, main_widget):
|
||||
self.log = Logger().get_logger(self.__class__.__name__)
|
||||
self.tray_widget = tray_widget
|
||||
self.main_widget = main_widget
|
||||
self.widget_user_idle = WidgetUserIdle(self)
|
||||
self.set_signal_times()
|
||||
|
||||
def set_signal_times(self):
|
||||
timer_info = get_presets()['services']['timers_manager']['timer']
|
||||
full_time = int(timer_info['full_time'])*60
|
||||
message_time = int(timer_info['message_time'])*60
|
||||
self.time_show_message = full_time - message_time
|
||||
self.time_stop_timer = full_time
|
||||
try:
|
||||
timer_info = get_presets()['services']['timers_manager']['timer']
|
||||
full_time = int(timer_info['full_time'])*60
|
||||
message_time = int(timer_info['message_time'])*60
|
||||
self.time_show_message = full_time - message_time
|
||||
self.time_stop_timer = full_time
|
||||
return True
|
||||
except Exception:
|
||||
self.log.warning('Was not able to load presets for TimersManager')
|
||||
return False
|
||||
|
||||
def add_module(self, module):
|
||||
self.modules.append(module)
|
||||
|
|
@ -76,28 +82,39 @@ class TimersManager(metaclass=Singleton):
|
|||
self.s_handler = SignalHandler(self)
|
||||
|
||||
if 'IdleManager' in modules:
|
||||
self.idle_man = modules['IdleManager']
|
||||
# Times when idle is between show widget and stop timers
|
||||
for num in range(self.time_show_message-1, self.time_stop_timer):
|
||||
self.idle_man.add_time_signal(
|
||||
num,
|
||||
self.s_handler.signal_change_label
|
||||
)
|
||||
# Times when widget is already shown and user restart idle
|
||||
for num in range(self.time_stop_timer - self.time_show_message):
|
||||
self.idle_man.add_time_signal(
|
||||
num,
|
||||
self.s_handler.signal_change_label
|
||||
)
|
||||
# Time when message is shown
|
||||
if self.set_signal_times() is True:
|
||||
self.register_to_idle_manager(modules['IdleManager'])
|
||||
|
||||
def register_to_idle_manager(self, man_obj):
|
||||
self.idle_man = man_obj
|
||||
# Times when idle is between show widget and stop timers
|
||||
show_to_stop_range = range(
|
||||
self.time_show_message-1, self.time_stop_timer
|
||||
)
|
||||
for num in show_to_stop_range:
|
||||
self.idle_man.add_time_signal(
|
||||
self.time_show_message,
|
||||
self.s_handler.signal_show_message
|
||||
num,
|
||||
self.s_handler.signal_change_label
|
||||
)
|
||||
# Time when timers are stopped
|
||||
# Times when widget is already shown and user restart idle
|
||||
shown_and_moved_range = range(
|
||||
self.time_stop_timer - self.time_show_message
|
||||
)
|
||||
for num in shown_and_moved_range:
|
||||
self.idle_man.add_time_signal(
|
||||
self.time_stop_timer, self.s_handler.signal_stop_timers
|
||||
num,
|
||||
self.s_handler.signal_change_label
|
||||
)
|
||||
# Time when message is shown
|
||||
self.idle_man.add_time_signal(
|
||||
self.time_show_message,
|
||||
self.s_handler.signal_show_message
|
||||
)
|
||||
# Time when timers are stopped
|
||||
self.idle_man.add_time_signal(
|
||||
self.time_stop_timer,
|
||||
self.s_handler.signal_stop_timers
|
||||
)
|
||||
|
||||
def change_label(self):
|
||||
if self.is_running is False:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue