def update_next_break(self, break_obj, break_time): """ Update the next break to plugins and save the session. """ self.plugins_manager.update_next_break(break_obj, break_time) self._status = _('Next break at %s') % ( utility.format_time(break_time)) if self.config.get('persist_state'): utility.write_json(utility.SESSION_FILE_PATH, self.context['session'])
def __set_next_break_info(self): """ A private method to be called within this class to update the next break information using self.dateTime. """ formatted_time = utility.format_time(self.date_time) message = _('Next break at %s') % (formatted_time) # Update the menu item label utility.execute_main_thread(self.item_info.set_label, message) # Update the tray icon label if self.plugin_config.get('show_time_in_tray', False): self.indicator.set_label(formatted_time, '') else: self.indicator.set_label('', '')
def set_labels(self): """ Update the text of menu items based on the selected language. """ for entry in self.sub_menu_items: # print(self.context['locale'].ngettext('For %d Hour', 'For %d Hours', 1) % 1) entry[0].set_label(self.context['locale'].ngettext( entry[1][0], entry[1][1], entry[2]) % entry[2]) self.sub_menu_item_until_restart.set_label(_('Until restart')) self.item_enable.set_label(_('Enable Safe Eyes')) self.item_disable.set_label(_('Disable Safe Eyes')) breaks_found = self.has_breaks() if breaks_found: if self.active: if self.date_time: self.__set_next_break_info() self.indicator.set_icon("safeeyes_enabled") else: if self.wakeup_time: self.item_info.set_label( _('Disabled until %s') % utility.format_time(self.wakeup_time)) else: self.item_info.set_label(_('Disabled until restart')) self.indicator.set_label('', '') self.indicator.set_icon("safeeyes_disabled") else: self.item_info.set_label(_('No Breaks Available')) self.indicator.set_label('', '') self.indicator.set_icon("safeeyes_disabled") self.item_info.set_sensitive(breaks_found and self.active) self.item_enable.set_sensitive(breaks_found and not self.active) self.item_disable.set_sensitive(breaks_found and self.active) self.item_manual_break.set_sensitive(breaks_found and self.active) self.item_manual_break.set_label(_('Take a break now')) self.item_settings.set_label(_('Settings')) self.item_about.set_label(_('About')) self.item_quit.set_label(_('Quit'))
def on_disable_clicked(self, *args): """ Handle the menu actions of all the sub menus of 'Disable Safe Eyes'. This action disables the application if it is currently active. """ # active = self.item_enable.get_active() if self.active and len(args) > 1: self.disable_ui() time_to_wait = args[1] if time_to_wait <= 0: info = _('Disabled until restart') self.on_disable(info) self.wakeup_time = None self.item_info.set_label(info) else: self.wakeup_time = datetime.datetime.now() + datetime.timedelta(minutes=time_to_wait) info = _('Disabled until %s') % utility.format_time(self.wakeup_time) self.on_disable(info) self.item_info.set_label(info) utility.start_thread(self.__schedule_resume, time_minutes=time_to_wait)