--- /dev/null
+
+
+class BasePlugin:
+
+ def __init__(self, gui, name):
+ self.gui = gui
+ self.name = name
+ self.config = gui.config
+
+ def fullname(self):
+ return self.name
+
+ def description(self):
+ return 'undefined'
+
+ def requires_settings(self):
+ return False
+
+ def toggle(self):
+ if self.is_enabled():
+ if self.disable():
+ self.close()
+ else:
+ if self.enable():
+ self.init()
+
+ return self.is_enabled()
+
+
+ def enable(self):
+ self.set_enabled(True)
+ return True
+
+ def disable(self):
+ self.set_enabled(False)
+ return True
+
+ def init(self): pass
+
+ def close(self): pass
+
+ def is_enabled(self):
+ return self.is_available() and self.config.get('use_'+self.name) is True
+
+ def is_available(self):
+ return True
+
+ def set_enabled(self, enabled):
+ self.config.set_key('use_'+self.name, enabled, True)
+
+ def settings_dialog(self):
+ pass