Пример #1
0
    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:
            logging.info('Disable Safe Eyes')
            self.active = False
            self.indicator.set_icon("safeeyes_disabled")
            self.indicator.set_label('', '')
            self.item_info.set_sensitive(False)
            self.item_enable.set_sensitive(True)
            self.item_disable.set_sensitive(False)
            self.on_disable()

            time_to_wait = args[1]
            if time_to_wait <= 0:
                self.wakeup_time = None
                self.item_info.set_label(
                    self.language['messages']['disabled_until_restart'])
            else:
                self.wakeup_time = datetime.datetime.now(
                ) + datetime.timedelta(minutes=time_to_wait)
                Utility.start_thread(self.__schedule_resume,
                                     time_minutes=time_to_wait)
                self.item_info.set_label(
                    self.language['messages']['disabled_until_x'].format(
                        Utility.format_time(self.wakeup_time)))
Пример #2
0
    def set_labels(self, language):
        """
		Update the text of menu items based on the selected language.
		"""
        self.language = language
        for entry in self.sub_menu_items:
            entry[0].set_label(self.language['ui_controls'][entry[1]].format(
                entry[2]))

        self.sub_menu_item_until_restart.set_label(
            self.language['ui_controls']['until_restart'])
        self.item_enable.set_label(self.language['ui_controls']['enable'])
        self.item_disable.set_label(self.language['ui_controls']['disable'])

        if self.active:
            if self.dateTime:
                self.__set_next_break_info()
        else:
            if self.wakeup_time:
                self.item_info.set_label(
                    self.language['messages']['disabled_until_x'].format(
                        Utility.format_time(self.wakeup_time)))
            else:
                self.item_info.set_label(
                    self.language['messages']['disabled_until_restart'])

        self.item_settings.set_label(self.language['ui_controls']['settings'])
        self.item_about.set_label(self.language['ui_controls']['about'])
        self.item_quit.set_label(self.language['ui_controls']['quit'])
Пример #3
0
 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'])
Пример #4
0
 def __set_next_break_info(self):
     formatted_time = Utility.format_time(self.dateTime)
     message = self.language['messages']['next_break_at'].format(
         formatted_time)
     # Update the tray icon label
     if self.config.get('show_time_in_tray', False):
         self.indicator.set_label(formatted_time, '')
     else:
         self.indicator.set_label('', '')
     # Update the menu item label
     Utility.execute_main_thread(self.item_info.set_label, message)
Пример #5
0
 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('', '')
Пример #6
0
    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()
            self.on_disable()

            time_to_wait = args[1]
            if time_to_wait <= 0:
                self.wakeup_time = None
                self.item_info.set_label(_('Disabled until restart'))
            else:
                self.wakeup_time = datetime.datetime.now() + datetime.timedelta(minutes=time_to_wait)
                Utility.start_thread(self.__schedule_resume, time_minutes=time_to_wait)
                self.item_info.set_label(_('Disabled until %s') % Utility.format_time(self.wakeup_time))
Пример #7
0
    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'))
Пример #8
0
    def __set_next_break_info(self):
        formatted_time = Utility.format_time(self.dateTime)
        message = self.language['messages']['next_break_at'].format(
            formatted_time)

        Utility.execute_main_thread(self.item_info.set_label, message)