add plugins to package
This commit is contained in:
@@ -326,14 +326,16 @@ class ElectrumWindow(QMainWindow):
|
||||
|
||||
# plugins
|
||||
def init_plugins(self):
|
||||
import imp, pkgutil
|
||||
if os.path.exists("plugins"):
|
||||
import imp, pkgutil
|
||||
fp, pathname, description = imp.find_module('plugins')
|
||||
imp.load_module('electrum_plugins', fp, pathname, description)
|
||||
plugin_names = [name for a, name, b in pkgutil.iter_modules(['plugins'])]
|
||||
self.plugins = map(lambda name: imp.load_source('electrum_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
|
||||
else:
|
||||
self.plugins = []
|
||||
import electrum_plugins
|
||||
plugin_names = [name for a, name, b in pkgutil.iter_modules(electrum_plugins.__path__)]
|
||||
self.plugins = [ __import__('electrum_plugins.'+name, fromlist=['electrum_plugins']) for name in plugin_names]
|
||||
|
||||
self.plugin_hooks = {}
|
||||
for p in self.plugins:
|
||||
@@ -2041,25 +2043,25 @@ class ElectrumWindow(QMainWindow):
|
||||
grid_raw.setRowStretch(3,1)
|
||||
|
||||
# plugins
|
||||
tab5 = QWidget()
|
||||
grid_plugins = QGridLayout(tab5)
|
||||
grid_plugins.setColumnStretch(0,1)
|
||||
tabs.addTab(tab5, _('Plugins') )
|
||||
def mk_toggle(cb, p):
|
||||
return lambda: cb.setChecked(p.toggle(self))
|
||||
for i, p in enumerate(self.plugins):
|
||||
try:
|
||||
name, description = p.get_info()
|
||||
cb = QCheckBox(name)
|
||||
cb.setChecked(p.is_enabled())
|
||||
cb.stateChanged.connect(mk_toggle(cb,p))
|
||||
grid_plugins.addWidget(cb, i, 0)
|
||||
grid_plugins.addWidget(HelpButton(description), i, 2)
|
||||
except:
|
||||
print_msg("Error: cannot display plugin", p)
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
|
||||
grid_plugins.setRowStretch(i+1,1)
|
||||
if self.plugins:
|
||||
tab5 = QWidget()
|
||||
grid_plugins = QGridLayout(tab5)
|
||||
grid_plugins.setColumnStretch(0,1)
|
||||
tabs.addTab(tab5, _('Plugins') )
|
||||
def mk_toggle(cb, p):
|
||||
return lambda: cb.setChecked(p.toggle(self))
|
||||
for i, p in enumerate(self.plugins):
|
||||
try:
|
||||
name, description = p.get_info()
|
||||
cb = QCheckBox(name)
|
||||
cb.setChecked(p.is_enabled())
|
||||
cb.stateChanged.connect(mk_toggle(cb,p))
|
||||
grid_plugins.addWidget(cb, i, 0)
|
||||
grid_plugins.addWidget(HelpButton(description), i, 2)
|
||||
except:
|
||||
print_msg("Error: cannot display plugin", p)
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
grid_plugins.setRowStretch(i+1,1)
|
||||
|
||||
vbox.addLayout(ok_cancel_buttons(d))
|
||||
d.setLayout(vbox)
|
||||
|
||||
Reference in New Issue
Block a user