summaryrefslogtreecommitdiffstats
path: root/input-methods/ibus-sulekha/engine/factory.py
diff options
context:
space:
mode:
Diffstat (limited to 'input-methods/ibus-sulekha/engine/factory.py')
-rw-r--r--input-methods/ibus-sulekha/engine/factory.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/input-methods/ibus-sulekha/engine/factory.py b/input-methods/ibus-sulekha/engine/factory.py
new file mode 100644
index 0000000..06a557e
--- /dev/null
+++ b/input-methods/ibus-sulekha/engine/factory.py
@@ -0,0 +1,60 @@
+# vim:set et sts=4 sw=4:
+#
+# ibus-tmpl - The Input Bus template project
+#
+# Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+import ibus
+import os
+import sulekha
+from gettext import dgettext
+_ = lambda a : dgettext("ibus-sulekha", a)
+N_ = lambda a : a
+
+
+class EngineFactory(ibus.EngineFactoryBase):
+ FACTORY_PATH = "/org/smc/IBus/engines/Sulekha/Factory"
+ ENGINE_PATH = "/org/smc/IBus/engines/Sulekha/Engine"
+ NAME = _("Sulekha")
+ LANG = "ml_IN"
+ ICON = os.getenv("IBUS_SULEKHA_LOCATION") + "/icons/ibus-sulekha.svg"
+ AUTHORS = "Santhosh Thottingal <santhosh.thottingal@gmail.com>"
+ CREDITS = "GPLv2+"
+ def __init__(self, bus):
+ self.__bus = bus
+ #pinyin.PinYinEngine.CONFIG_RELOADED(bus)
+ super(EngineFactory, self).__init__(bus)
+
+ self.__id = 0
+ self.__config = self.__bus.get_config()
+
+ self.__config.connect("reloaded", self.__config_reloaded_cb)
+ self.__config.connect("value-changed", self.__config_value_changed_cb)
+ def create_engine(self, engine_name):
+ if engine_name == "sulekha":
+ self.__id += 1
+ return sulekha.SulekhaEngine(self.__bus, "%s/%d" % (self.ENGINE_PATH, self.__id))
+ return super(EngineFactory, self).create_engine(engine_name)
+
+ def __config_reloaded_cb(self, config):
+ #pinyin.PinYinEngine.CONFIG_RELOADED(self.__bus)
+ print "Configuration reloaded"
+
+ def __config_value_changed_cb(self, config, section, name, value):
+ #pinyin.PinYinEngine.CONFIG_VALUE_CHANGED(self.__bus, section, name, value)
+ print "Configuration changed"
+