allow adding people from family editor and relview
svn: r16042
This commit is contained in:
@@ -36,7 +36,6 @@ from libpersonview import BasePersonView
|
||||
from gui.views.treemodels.peoplemodel import PersonListModel
|
||||
import gen.lib
|
||||
import Errors
|
||||
from gui.editors import EditPerson
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
@@ -37,6 +37,7 @@ from gui.views.treemodels.peoplemodel import PersonTreeModel
|
||||
import gen.lib
|
||||
import Errors
|
||||
from gui.editors import EditPerson
|
||||
from Utils import preset_name
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -171,17 +172,9 @@ class PersonTreeView(BasePersonView):
|
||||
handle = model.get_value(node, self.handle_col)
|
||||
basepers = self.dbstate.db.get_person_from_handle(handle)
|
||||
if basepers:
|
||||
surnlist = []
|
||||
primname = basepers.get_primary_name()
|
||||
for surn in primname.get_surname_list():
|
||||
surnlist.append(gen.lib.Surname(source=surn))
|
||||
name.set_surname_list(surnlist)
|
||||
name.set_family_nick_name(primname.get_family_nick_name())
|
||||
name.set_group_as(primname.get_group_as())
|
||||
name.set_sort_as(primname.get_sort_as())
|
||||
|
||||
preset_name(basepers, name)
|
||||
person.set_primary_name(name)
|
||||
try:
|
||||
person.set_primary_name(name)
|
||||
EditPerson(self.dbstate, self.uistate, [], person)
|
||||
except Errors.WindowActiveError:
|
||||
pass
|
||||
|
@@ -60,7 +60,7 @@ from gui.selectors import SelectorFactory
|
||||
import Errors
|
||||
import Bookmarks
|
||||
import const
|
||||
|
||||
from Utils import preset_name
|
||||
from gen.utils import get_birth_or_fallback, get_death_or_fallback
|
||||
|
||||
_GenderCode = {
|
||||
@@ -1477,12 +1477,16 @@ class RelationshipView(NavigationView):
|
||||
if button_activated(event, _LEFT_BUTTON):
|
||||
callback = lambda x: self.callback_add_child(x, handle)
|
||||
person = gen.lib.Person()
|
||||
name = gen.lib.Name()
|
||||
#the editor requires a surname
|
||||
name.add_surname(gen.lib.Surname())
|
||||
name.set_primary_surname(0)
|
||||
family = self.dbstate.db.get_family_from_handle(handle)
|
||||
father = self.dbstate.db.get_person_from_handle(
|
||||
family.get_father_handle())
|
||||
if father:
|
||||
name = father.get_primary_name().get_surname()
|
||||
person.get_primary_name().set_surname(name)
|
||||
preset_name(father, name)
|
||||
person.set_primary_name(name)
|
||||
try:
|
||||
EditPerson(self.dbstate, self.uistate, [], person,
|
||||
callback=callback)
|
||||
|
Reference in New Issue
Block a user