* 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

@ -1,4 +1,6 @@
2006-04-26 Alex Roitman <shura@gramps-project.org>
* src/plugins/ChangeTypes.py: Fix wm; adapt to RelLib changes.
* src/plugins/ChangeNames.py: Fix wm.
* src/MergePeople.py: Adapt to RelLib changes.
* src/plugins/Merge.py: Properly call MergePeople; properly call
update; set dbstate and uistate as instance attributes.

View File

@ -60,9 +60,10 @@ from PluginUtils import Tool, register_tool
class ChangeNames(Tool.Tool, ManagedWindow.ManagedWindow):
def __init__(self, dbstate, uistate, options_class, name, callback=None):
self.label = _('Capitalization changes')
Tool.Tool.__init__(self, dbstate, options_class, name)
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self)
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__)
self.cb = callback
@ -90,16 +91,14 @@ class ChangeNames(Tool.Tool, ManagedWindow.ManagedWindow):
glade_file = base + os.sep + "patchnames.glade"
self.top = gtk.glade.XML(glade_file,"top","gramps")
self.window = self.top.get_widget('top')
window = self.top.get_widget('top')
self.top.signal_autoconnect({
"destroy_passed_object" : self.close,
"on_ok_clicked" : self.on_ok_clicked,
"on_help_clicked" : self.on_help_clicked,
"on_delete_event" : self.on_delete_event
})
self.list = self.top.get_widget("list")
self.label = _('Capitalization changes')
Utils.set_titles(self.window,self.top.get_widget('title'),self.label)
self.set_window(window,self.top.get_widget('title'),self.label)
self.model = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING,
gobject.TYPE_STRING)
@ -131,16 +130,13 @@ class ChangeNames(Tool.Tool, ManagedWindow.ManagedWindow):
self.show()
def build_menu_names(self,obj):
return (self.label,None)
def on_help_clicked(self,obj):
"""Display the relevant portion of GRAMPS manual"""
GrampsDisplay.help('tools-db')
def on_delete_event(self,obj,b):
pass
def close(self,obj):
self.window.destroy()
def on_ok_clicked(self,obj):
self.trans = self.db.transaction_begin("",batch=True)
self.db.disable_signals()
@ -165,7 +161,9 @@ class ChangeNames(Tool.Tool, ManagedWindow.ManagedWindow):
self.db.transaction_commit(self.trans,_("Capitalization changes"))
self.db.enable_signals()
self.db.request_rebuild()
self.parent.bookmarks.redraw()
# FIXME: this probably needs to be removed, and bookmarks
# should always be rebuilt on a commit_person via signals
# self.parent.bookmarks.redraw()
self.close()
self.cb()

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()