3292: register plugins, load on need, not on start of GRAMPS - GEPS 014

svn: r13400
This commit is contained in:
Benny Malengier
2009-10-24 13:53:20 +00:00
parent d1fbb2bff9
commit ed619cfdd6
195 changed files with 4123 additions and 3371 deletions

View File

@@ -195,12 +195,12 @@ class PlaceView(ListView):
#select the map services to show
self.mapservicedata = {}
servlist = PluginManager.get_instance().get_mapservice_list()
for i, service in zip(range(len(servlist)), servlist):
key = service[2].replace(' ', '-')
add_menuitem(menu, service[1], None,
servlist = PluginManager.get_instance().get_reg_mapservices()
for i, pdata in zip(range(len(servlist)), servlist):
key = pdata.id.replace(' ', '-')
add_menuitem(menu, pdata.name, None,
make_callback(self.set_mapservice, key))
self.mapservicedata[key] = (service[0], service[2], service[3])
self.mapservicedata[key] = pdata
return menu
@@ -220,7 +220,8 @@ class PlaceView(ListView):
"""
return the current label for the menutoolbutton
"""
return self.mapservicedata[self.mapservice][1]
print 'called', self.mapservicedata[self.mapservice].name
return self.mapservicedata[self.mapservice].name
def gotomap(self, obj):
"""
@@ -249,7 +250,14 @@ class PlaceView(ListView):
places = [(x, None) for x in place_handles]
#run the mapservice:
self.mapservicedata[self.mapservice][0](self.dbstate.db, places)
pmgr = PluginManager.get_instance()
serv = self.mapservicedata[self.mapservice]
mod = pmgr.load_plugin(serv)
if mod:
servfunc = eval('mod.' + serv.mapservice)
servfunc()(self.dbstate.db, places)
else:
print 'Failed to load map plugin, see Plugin Status'
def drag_info(self):
return DdTargets.PLACE_LINK