예제 #1
0
class CApplication(Gtk.Application):

    def __init__(self):
        Gtk.Application.__init__(self, application_id="org.fpemud.clippy")

        self._lib_path = "/usr/lib/clippy"
        self._images_path = "/usr/share/clippy/images"
        self._agents_path = "/usr/share/clippy/agents"

        self._settings = Gio.Settings.new("org.fpemud.clippy")
        self._settings.connect("changed", self.on_setting_changed)

        self._agent = CAgent(self)

        self._main_win = None

    @property
    def lib_path(self):
        return self._lib_path

    @property
    def images_path(self):
        return self._images_path

    @property
    def agents_path(self):
        return self._agents_path

    @property
    def settings(self):
        return self._settings

    @property
    def agent(self):
        return self._agent

    def do_activate(self):
        self._main_win = CWindow(self)
        self.add_window(self._main_win)
        self._main_win.show_all()
        self._agent.change_agent(self._adv_get_setting_agent())

    def on_setting_changed(self, settings, key):
        if key == "agent":
            return
        if key == "x-resolution":
            return
        if key == "y-resolution":
            return

    def _adv_get_setting_agent(self):
        ret = self._settings.get_string("agent")
        if ret == "" or not os.path.exists(os.path.join(self._agents_path, ret)):
            ret = self._settings.get_default_value("agent")
            assert os.path.exists(os.path.join(self._agents_path, ret))
        return ret
예제 #2
0
    def __init__(self):
        Gtk.Application.__init__(self, application_id="org.fpemud.clippy")

        self._lib_path = "/usr/lib/clippy"
        self._images_path = "/usr/share/clippy/images"
        self._agents_path = "/usr/share/clippy/agents"

        self._settings = Gio.Settings.new("org.fpemud.clippy")
        self._settings.connect("changed", self.on_setting_changed)

        self._agent = CAgent(self)

        self._main_win = None