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