示例#1
0
    def init(self):
        def obs_tip(src, cmd, value):
            if cmd == src.OBS_TIP:
                self._set_config("current_tip", value)
            elif cmd == src.OBS_TOGGLED:
                self._set_config("show_tip_of_the_day", value)

        current_tip = int(self._get_config("current_tip") or "0")
        if not current_tip:
            current_tip = 0
        self.__tip = TipOfTheDay(current_tip)
        show_tip = self._get_config("show_tip_of_the_day") == "True"
        self.__tip.set_show(show_tip)
        self.__tip.add_observer(obs_tip)
        self.__tip.next_tip()
        if show_tip:
            self.__show_tip()

        menu = self._get_plugin("UI_Menu")
        menu.insert("Slot2", "Help")
        menu.set_item("Help", None, _("_Help"), None)
        menu.set_item("Help/Contents", gtk.STOCK_HELP, _("_Contents"), self.__show_doc)
        menu.set_item("Help/Tip", gtk.STOCK_DIALOG_INFO, _("_Tip of the Day"), self.__show_tip)
        menu.set_separator("Help/Separator2")
        menu.set_item("Help/About", gtk.STOCK_ABOUT, _("_About"), self.__show_about)

        self.__about = AboutDialog(os.path.join(HOME, "data"))
示例#2
0
class Shell_Help(Plugin):
    def init(self):
        def obs_tip(src, cmd, value):
            if cmd == src.OBS_TIP:
                self._set_config("current_tip", value)
            elif cmd == src.OBS_TOGGLED:
                self._set_config("show_tip_of_the_day", value)

        current_tip = int(self._get_config("current_tip") or "0")
        if not current_tip:
            current_tip = 0
        self.__tip = TipOfTheDay(current_tip)
        show_tip = self._get_config("show_tip_of_the_day") == "True"
        self.__tip.set_show(show_tip)
        self.__tip.add_observer(obs_tip)
        self.__tip.next_tip()
        if show_tip:
            self.__show_tip()

        menu = self._get_plugin("UI_Menu")
        menu.insert("Slot2", "Help")
        menu.set_item("Help", None, _("_Help"), None)
        menu.set_item("Help/Contents", gtk.STOCK_HELP, _("_Contents"), self.__show_doc)
        menu.set_item("Help/Tip", gtk.STOCK_DIALOG_INFO, _("_Tip of the Day"), self.__show_tip)
        menu.set_separator("Help/Separator2")
        menu.set_item("Help/About", gtk.STOCK_ABOUT, _("_About"), self.__show_about)

        self.__about = AboutDialog(os.path.join(HOME, "data"))

    def __show_doc(self):

        path = os.path.join(HOME, "doc/basic")
        os.system("yelp " + path + "/gdesklets-doc.xml&")

    def __show_tip(self):

        self.__tip.show()

    def __show_about(self):

        self.__about.show()

    def _set_config(self, key, value):

        config = self.__read_config()
        config[key] = value
        self.__write_config(config)

    def _get_config(self, key):

        config = self.__read_config()
        return config.get(key)

    def __read_config(self):

        config = {}
        try:
            data = open(_CONFIGFILE, "r").read()
        except:
            data = ""

        for l in data.splitlines():
            key, value = l.split(": ")
            config[key] = value
        return config

    def __write_config(self, config):

        out = ""
        for key, value in config.items():
            out += key + ": " + str(value) + "\n"
        try:
            open(_CONFIGFILE, "w").write(out)
        except:
            pass