2003-06-24 Tim Waugh <twaugh@redhat.com>

* src/GrampsParser.py: Use access methods rather than poking directly.
        * src/RelLib.py: Keep statistics on gender distribution among first
        names so that it can be used for guessing.
        * src/edit_person.glade: More event handlers.
        * src/EditPerson.py: Guess gender when appropriate.


svn: r1769
This commit is contained in:
Tim Waugh
2003-06-24 14:16:47 +00:00
parent 9109a85b55
commit 642ac13135
5 changed files with 125 additions and 4 deletions

View File

@@ -86,6 +86,7 @@ class EditPerson:
self.update_death = 0
self.pdmap = {}
self.add_places = []
self.should_guess_gender = (self.original_id == '')
for key in db.getPlaceKeys():
p = db.getPlaceDisplay(key)
@@ -318,6 +319,8 @@ class EditPerson:
"on_update_attr_clicked" : self.on_update_attr_clicked,
"on_update_url_clicked" : self.on_update_url_clicked,
"on_web_go_clicked" : self.on_web_go_clicked,
"on_gender_activate" : self.on_gender_activate,
"on_givenName_focus_out_event": self.on_givenName_focus_out_event,
})
self.update_birth_death()
@@ -438,6 +441,21 @@ class EditPerson:
self.build_seal_menu()
self.build_endow_menu()
def on_gender_activate (self, button):
self.should_guess_gender = 0
def on_givenName_focus_out_event (self, entry, event):
if not self.should_guess_gender:
return
gender = self.db.genderStats.guess_gender (entry.get_text ())
if gender == RelLib.Person.unknown:
self.is_unknown.set_active (1)
elif gender == RelLib.Person.male:
self.is_male.set_active (1)
else:
self.is_female.set_active (1)
def build_menu(self,list,task,opt_menu):
menu = gtk.Menu()
index = 0