separate gui init() and load_wallet()
[electrum-nvc.git] / gui / plugins.py
1
2
3 class BasePlugin:
4
5     def __init__(self, gui, name):
6         self.gui = gui
7         self.name = name
8         self.config = gui.config
9
10     def fullname(self):
11         return self.name
12
13     def description(self):
14         return 'undefined'
15
16     def requires_settings(self):
17         return False
18
19     def toggle(self):
20         if self.is_enabled():
21             if self.disable():
22                 self.close()
23         else:
24             if self.enable():
25                 self.init()
26
27         return self.is_enabled()
28
29     
30     def enable(self):
31         self.set_enabled(True)
32         return True
33
34     def disable(self):
35         self.set_enabled(False)
36         return True
37
38     def init(self): pass
39
40     def close(self): pass
41
42     def is_enabled(self):
43         return self.is_available() and self.config.get('use_'+self.name) is True
44
45     def is_available(self):
46         return True
47
48     def set_enabled(self, enabled):
49         self.config.set_key('use_'+self.name, enabled, True)
50
51     def settings_dialog(self):
52         pass