mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
timers manager does not register signals but callbacks in idle manager
This commit is contained in:
parent
14d8d3c6a8
commit
31a0bfef18
1 changed files with 32 additions and 19 deletions
|
|
@ -30,7 +30,10 @@ class TimersManager(metaclass=Singleton):
|
||||||
self.log = Logger().get_logger(self.__class__.__name__)
|
self.log = Logger().get_logger(self.__class__.__name__)
|
||||||
self.tray_widget = tray_widget
|
self.tray_widget = tray_widget
|
||||||
self.main_widget = main_widget
|
self.main_widget = main_widget
|
||||||
self.widget_user_idle = WidgetUserIdle(self)
|
|
||||||
|
self.idle_man = None
|
||||||
|
self.signal_handler = None
|
||||||
|
self.widget_user_idle = WidgetUserIdle(self, tray_widget)
|
||||||
|
|
||||||
def set_signal_times(self):
|
def set_signal_times(self):
|
||||||
try:
|
try:
|
||||||
|
|
@ -113,49 +116,59 @@ class TimersManager(metaclass=Singleton):
|
||||||
:param modules: All imported modules from TrayManager
|
:param modules: All imported modules from TrayManager
|
||||||
:type modules: dict
|
:type modules: dict
|
||||||
"""
|
"""
|
||||||
self.s_handler = SignalHandler(self)
|
|
||||||
|
|
||||||
if 'IdleManager' in modules:
|
if 'IdleManager' in modules:
|
||||||
|
self.signal_handler = SignalHandler(self)
|
||||||
if self.set_signal_times() is True:
|
if self.set_signal_times() is True:
|
||||||
self.register_to_idle_manager(modules['IdleManager'])
|
self.register_to_idle_manager(modules['IdleManager'])
|
||||||
|
|
||||||
|
def time_callback(self, int_def):
|
||||||
|
if not self.signal_handler:
|
||||||
|
return
|
||||||
|
|
||||||
|
if int_def == 0:
|
||||||
|
self.signal_handler.signal_show_message.emit()
|
||||||
|
elif int_def == 1:
|
||||||
|
self.signal_handler.signal_change_label.emit()
|
||||||
|
elif int_def == 2:
|
||||||
|
self.signal_handler.signal_stop_timers.emit()
|
||||||
|
|
||||||
def register_to_idle_manager(self, man_obj):
|
def register_to_idle_manager(self, man_obj):
|
||||||
self.idle_man = man_obj
|
self.idle_man = man_obj
|
||||||
|
|
||||||
|
# Time when message is shown
|
||||||
|
self.idle_man.add_time_callback(
|
||||||
|
self.time_show_message,
|
||||||
|
lambda: self.time_callback(0)
|
||||||
|
)
|
||||||
|
|
||||||
# Times when idle is between show widget and stop timers
|
# Times when idle is between show widget and stop timers
|
||||||
show_to_stop_range = range(
|
show_to_stop_range = range(
|
||||||
self.time_show_message-1, self.time_stop_timer
|
self.time_show_message - 1, self.time_stop_timer
|
||||||
)
|
)
|
||||||
for num in show_to_stop_range:
|
for num in show_to_stop_range:
|
||||||
self.idle_man.add_time_signal(
|
self.idle_man.add_time_callback(
|
||||||
num,
|
num, lambda: self.time_callback(1)
|
||||||
self.s_handler.signal_change_label
|
|
||||||
)
|
)
|
||||||
# Times when widget is already shown and user restart idle
|
# Times when widget is already shown and user restart idle
|
||||||
shown_and_moved_range = range(
|
shown_and_moved_range = range(
|
||||||
self.time_stop_timer - self.time_show_message
|
self.time_stop_timer - self.time_show_message
|
||||||
)
|
)
|
||||||
for num in shown_and_moved_range:
|
for num in shown_and_moved_range:
|
||||||
self.idle_man.add_time_signal(
|
self.idle_man.add_time_callback(
|
||||||
num,
|
num, lambda: self.time_callback(1)
|
||||||
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
|
# Time when timers are stopped
|
||||||
self.idle_man.add_time_signal(
|
self.idle_man.add_time_callback(
|
||||||
self.time_stop_timer,
|
self.time_stop_timer,
|
||||||
self.s_handler.signal_stop_timers
|
lambda: self.time_callback(2)
|
||||||
)
|
)
|
||||||
|
|
||||||
def change_label(self):
|
def change_label(self):
|
||||||
if self.is_running is False:
|
if self.is_running is False:
|
||||||
return
|
return
|
||||||
if self.widget_user_idle.bool_is_showed is False:
|
if not self.idle_man or self.widget_user_idle.bool_is_showed is False:
|
||||||
return
|
|
||||||
if not hasattr(self, 'idle_man'):
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.idle_man.idle_time > self.time_show_message:
|
if self.idle_man.idle_time > self.time_show_message:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue