* src/plugins/ChangeTypes.py: Fix wm; adapt to RelLib changes.

* src/plugins/ChangeNames.py: Fix wm.


svn: r6457
This commit is contained in:
Alex Roitman
2006-04-27 00:10:07 +00:00
parent 24a22b4930
commit 7192a66122
3 changed files with 39 additions and 40 deletions

View File

@ -47,7 +47,7 @@ import const
import Utils
import ManagedWindow
import AutoComp
from RelLib import EventType
from QuestionDialog import OkDialog
from PluginUtils import Tool, register_tool
@ -63,7 +63,9 @@ class ChangeTypes(Tool.Tool, ManagedWindow.ManagedWindow):
Tool.Tool.__init__(self, dbstate, options_class, name)
if uistate:
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self)
self.title = _('Change Event Types')
ManagedWindow.ManagedWindow.__init__(self,uistate,[],
self.__class__)
self.init_gui()
else:
self.run_tool(cli=True)
@ -77,29 +79,29 @@ class ChangeTypes(Tool.Tool, ManagedWindow.ManagedWindow):
self.auto1 = self.glade.get_widget("original")
self.auto2 = self.glade.get_widget("new")
AutoComp.fill_combo(self.auto1,Utils.personal_events)
AutoComp.fill_combo(self.auto2,Utils.personal_events)
event_names = [item[1] for item in EventType._DATAMAP
if item[0] > 0 ]
AutoComp.fill_combo(self.auto1,event_names)
AutoComp.fill_combo(self.auto2,event_names)
# Need to display localized event names
self.auto1.child.set_text(const.display_event(
self.options.handler.options_dict['fromtype']))
self.auto2.child.set_text(const.display_event(
self.options.handler.options_dict['totype']))
self.auto1.child.set_text(
_(self.options.handler.options_dict['fromtype']))
self.auto2.child.set_text(
_(self.options.handler.options_dict['totype']))
self.title = _('Change Event Types')
self.window = self.glade.get_widget('top')
Utils.set_titles(self.window,
self.glade.get_widget('title'),
self.title)
window = self.glade.get_widget('top')
self.set_window(window,self.glade.get_widget('title'),self.title)
self.glade.signal_autoconnect({
"on_close_clicked" : self.close,
"on_delete_event" : self.on_delete_event,
"on_apply_clicked" : self.on_apply_clicked,
})
self.show()
def build_menu_names(self,obj):
return (self.title,None)
def run_tool(self,cli=False):
# Run tool and return results
# These are English names, no conversion needed
@ -115,12 +117,12 @@ class ChangeTypes(Tool.Tool, ManagedWindow.ManagedWindow):
for person_handle in self.db.get_person_handles(sort_handles=False):
person = self.db.get_person_from_handle(person_handle)
for event_handle in person.get_event_list():
if not event_handle:
for event_ref in person.get_event_ref_list():
if not event_ref.ref:
continue
event = self.db.get_event_from_handle(event_handle)
if event.get_name() == fromtype:
event.set_name(totype)
event = self.db.get_event_from_handle(event_ref.ref)
if str(event.get_type()) == fromtype:
event.set_type(totype)
modified = modified + 1
self.db.commit_event(event,self.trans)
if not cli:
@ -140,18 +142,15 @@ class ChangeTypes(Tool.Tool, ManagedWindow.ManagedWindow):
print "Done: ", msg
return (bool(modified),msg)
def on_delete_event(self,obj,b):
pass
def on_apply_clicked(self,obj):
# Need to store English names for later comparison
self.options.handler.options_dict['fromtype'] = const.save_event(
unicode(self.auto1.child.get_text()))
self.options.handler.options_dict['totype'] = const.save_event(
unicode(self.auto2.child.get_text()))
self.options.handler.options_dict['fromtype'] = EventType._I2EMAP[
EventType._S2IMAP[unicode(self.auto1.child.get_text())]]
self.options.handler.options_dict['totype'] = EventType._I2EMAP[
EventType._S2IMAP[unicode(self.auto2.child.get_text())]]
modified,msg = self.run_tool(cli=False)
OkDialog(_('Change types'),msg,self.parent.topWindow)
OkDialog(_('Change types'),msg,self.window)
# Save options
self.options.handler.save_options()