* src/edit_person.glade: re-add edit_person.glade
* src/EditPerson.py: start of new EditPerson dialog * src/ListModel.py: enhancements for the start of inline editing * src/Makefile.am: add edit_person.glade * src/ReadXML.py: commit transactions properly * src/const.py.in: add edit_person.glade back in svn: r4375
This commit is contained in:
		| @@ -1,3 +1,11 @@ | ||||
| 2005-04-18  Don Allingham  <don@gramps-project.org> | ||||
| 	* src/edit_person.glade: re-add edit_person.glade | ||||
| 	* src/EditPerson.py: start of new EditPerson dialog | ||||
| 	* src/ListModel.py: enhancements for the start of inline editing | ||||
| 	* src/Makefile.am: add edit_person.glade | ||||
| 	* src/ReadXML.py: commit transactions properly | ||||
| 	* src/const.py.in: add edit_person.glade back in | ||||
|  | ||||
| 2005-04-17  Don Allingham  <don@gramps-project.org> | ||||
| 	* src/GrampsBSDDB.py: actually perform the commits during the | ||||
| 	transaction_commit task, instead of the commit_* tasks | ||||
|   | ||||
| @@ -77,8 +77,7 @@ _PICTURE_WIDTH = 200.0 | ||||
| _temple_names = const.lds_temple_codes.keys() | ||||
| _temple_names.sort() | ||||
| _temple_names = [""] + _temple_names | ||||
|  | ||||
|  | ||||
| _select_gender = ((True,False,False),(False,True,False),(False,False,True)) | ||||
| _use_patronymic = [ | ||||
|     "ru","RU","ru_RU","koi8r","ru_koi8r","russian","Russian", | ||||
|     ] | ||||
| @@ -134,12 +133,14 @@ class EditPerson: | ||||
|         self.window.set_title("%s - GRAMPS" % _('Edit Person')) | ||||
|          | ||||
|         self.icon_list = self.top.get_widget("iconlist") | ||||
|         self.gallery = ImageSelect.Gallery(person, self.db.commit_person, | ||||
|                                            self.path, self.icon_list, | ||||
|                                            self.db, self, self.window) | ||||
|         #self.gallery = ImageSelect.Gallery(person, self.db.commit_person, | ||||
|         #                                   self.path, self.icon_list, | ||||
|         #                                   self.db, self, self.window) | ||||
|  | ||||
|         self.complete = self.get_widget('complete') | ||||
|         self.complete.set_sensitive(mod) | ||||
|         self.gender = self.get_widget('gender') | ||||
|         self.gender.set_sensitive(mod) | ||||
|         self.private = self.get_widget('private') | ||||
|         self.private.set_sensitive(mod) | ||||
|         self.name_delete_btn = self.top.get_widget('aka_delete') | ||||
| @@ -147,7 +148,7 @@ class EditPerson: | ||||
|         self.web_delete_btn = self.top.get_widget('delete_url') | ||||
|         self.web_edit_btn = self.top.get_widget('edit_url') | ||||
|         self.event_delete_btn = self.top.get_widget('event_del') | ||||
|         self.event_edit_btn = self.top.get_widget('event_edit_btn') | ||||
|         self.event_edit_btn = self.top.get_widget('event_edit') | ||||
|         self.attr_delete_btn = self.top.get_widget('attr_del') | ||||
|         self.attr_edit_btn = self.top.get_widget('attr_edit_btn') | ||||
|         self.addr_delete_btn = self.top.get_widget('addr_del') | ||||
| @@ -159,13 +160,6 @@ class EditPerson: | ||||
|         self.flowed.set_sensitive(mod) | ||||
|         self.preform = self.get_widget("preform") | ||||
|         self.preform.set_sensitive(mod) | ||||
|         self.event_name_field  = self.get_widget("eventName") | ||||
|         self.event_place_field = self.get_widget("eventPlace") | ||||
|         self.event_cause_field = self.get_widget("eventCause") | ||||
|         self.event_date_field  = self.get_widget("eventDate") | ||||
|         self.event_descr_field = self.get_widget("eventDescription") | ||||
|         self.event_src_field = self.get_widget("event_srcinfo") | ||||
|         self.event_conf_field = self.get_widget("event_conf") | ||||
|         self.attr_conf_field = self.get_widget("attr_conf") | ||||
|         self.addr_conf_field = self.get_widget("addr_conf") | ||||
|         self.name_conf_field = self.get_widget("name_conf") | ||||
| @@ -204,26 +198,10 @@ class EditPerson: | ||||
|         self.prefix.set_editable(mod) | ||||
|         self.given = self.get_widget("givenName") | ||||
|         self.given.set_editable(mod) | ||||
|         self.nick = self.get_widget("nickname") | ||||
|         self.nick.set_editable(mod) | ||||
|         self.title = self.get_widget("title") | ||||
|         self.title.set_editable(mod) | ||||
|         self.bdate  = self.get_widget("birthDate") | ||||
|         self.bdate.set_editable(mod) | ||||
|         self.bplace = self.get_widget("birth_place") | ||||
|         self.bplace.set_editable(mod) | ||||
|         self.surname = self.get_widget("surname") | ||||
|         self.surname.set_editable(mod) | ||||
|         self.ddate  = self.get_widget("deathDate") | ||||
|         self.ddate.set_editable(mod) | ||||
|         self.dplace = self.get_widget("death_place") | ||||
|         self.dplace.set_editable(mod) | ||||
|         self.is_male = self.get_widget("genderMale") | ||||
|         self.is_male.set_sensitive(mod) | ||||
|         self.is_female = self.get_widget("genderFemale") | ||||
|         self.is_female.set_sensitive(mod) | ||||
|         self.is_unknown = self.get_widget("genderUnknown") | ||||
|         self.is_unknown.set_sensitive(mod) | ||||
|         self.addr_note = self.get_widget("addr_note") | ||||
|         self.addr_source = self.get_widget("addr_source") | ||||
|         self.attr_note = self.get_widget("attr_note") | ||||
| @@ -235,7 +213,6 @@ class EditPerson: | ||||
|         self.slist = self.get_widget("slist") | ||||
|         self.general_label = self.get_widget("general_label") | ||||
|         self.names_label = self.get_widget("names_label") | ||||
|         self.events_label = self.get_widget("events_label") | ||||
|         self.attr_label = self.get_widget("attr_label") | ||||
|         self.addr_label = self.get_widget("addr_label") | ||||
|         self.notes_label = self.get_widget("notes_label") | ||||
| @@ -246,9 +223,6 @@ class EditPerson: | ||||
|         self.person_photo = self.get_widget("personPix") | ||||
|         self.eventbox = self.get_widget("eventbox1") | ||||
|  | ||||
|         self.get_widget("birth_stat").set_sensitive(mod) | ||||
|         self.get_widget("death_stat").set_sensitive(mod) | ||||
|  | ||||
|         self.prefix_label = self.get_widget('prefix_label') | ||||
|  | ||||
|         if self.use_patronymic: | ||||
| @@ -273,7 +247,13 @@ class EditPerson: | ||||
|         self.birth = RelLib.Event(self.orig_birth) | ||||
|         self.pname = RelLib.Name(person.get_primary_name()) | ||||
|  | ||||
|         self.elist = person.get_event_list()[:] | ||||
|         self.gender.set_active(person.get_gender()) | ||||
|  | ||||
|         self.elist = [] | ||||
|         for val in [birth_handle, death_handle] + person.get_event_list(): | ||||
|             if val: | ||||
|                 self.elist.append(val) | ||||
|          | ||||
|         self.nlist = person.get_alternate_names()[:] | ||||
|         self.alist = person.get_attribute_list()[:] | ||||
|         self.ulist = person.get_url_list()[:] | ||||
| @@ -284,21 +264,19 @@ class EditPerson: | ||||
|         else: | ||||
|             self.srcreflist = [] | ||||
|  | ||||
|         Utils.bold_label(self.general_label) | ||||
|         if self.srcreflist: | ||||
|             Utils.bold_label(self.sources_label) | ||||
|         if self.elist: | ||||
|             Utils.bold_label(self.events_label) | ||||
|         if self.nlist: | ||||
|             Utils.bold_label(self.names_label) | ||||
|         if self.alist: | ||||
|             Utils.bold_label(self.attr_label) | ||||
|         if self.ulist: | ||||
|             Utils.bold_label(self.inet_label) | ||||
|         if self.plist: | ||||
|             Utils.bold_label(self.addr_label) | ||||
|         if self.person.get_media_list(): | ||||
|             Utils.bold_label(self.gallery_label) | ||||
|         #Utils.bold_label(self.general_label) | ||||
|         #if self.srcreflist: | ||||
|         #    Utils.bold_label(self.sources_label) | ||||
|         #if self.nlist: | ||||
|         #    Utils.bold_label(self.names_label) | ||||
|         #if self.alist: | ||||
|         #    Utils.bold_label(self.attr_label) | ||||
|         #if self.ulist: | ||||
|         #    Utils.bold_label(self.inet_label) | ||||
|         #if self.plist: | ||||
|         #    Utils.bold_label(self.addr_label) | ||||
|         #if self.person.get_media_list(): | ||||
|         #    Utils.bold_label(self.gallery_label) | ||||
|  | ||||
|         # event display | ||||
|  | ||||
| @@ -351,8 +329,6 @@ class EditPerson: | ||||
|         self.place_list = self.pdmap.keys() | ||||
|         self.place_list.sort() | ||||
|  | ||||
|         build_dropdown(self.bplace,self.place_list) | ||||
|         build_dropdown(self.dplace,self.place_list) | ||||
|         build_dropdown(self.surname,self.db.get_surname_list()) | ||||
|  | ||||
|         gid = person.get_gramps_id() | ||||
| @@ -370,24 +346,16 @@ class EditPerson: | ||||
|                         or (not self.lds_sealing.is_empty()): | ||||
|             self.get_widget("lds_tab").show() | ||||
|             self.get_widget("lds_page").show() | ||||
|             if (not self.lds_baptism.is_empty()) \ | ||||
|                         or (not self.lds_endowment.is_empty()) \ | ||||
|                         or (not self.lds_sealing.is_empty()): | ||||
|                 Utils.bold_label(self.lds_tab) | ||||
|             #if (not self.lds_baptism.is_empty()) \ | ||||
|             #            or (not self.lds_endowment.is_empty()) \ | ||||
|             #            or (not self.lds_sealing.is_empty()): | ||||
|             #    Utils.bold_label(self.lds_tab) | ||||
|  | ||||
|         types = const.NameTypesMap.get_values() | ||||
|         types.sort() | ||||
|         AutoComp.fill_combo(self.ntype_field,types) | ||||
|         self.write_primary_name() | ||||
|          | ||||
|         if person.get_gender() == RelLib.Person.MALE: | ||||
|             self.is_male.set_active(1) | ||||
|         elif person.get_gender() == RelLib.Person.FEMALE: | ||||
|             self.is_female.set_active(1) | ||||
|         else: | ||||
|             self.is_unknown.set_active(1) | ||||
|  | ||||
|         self.nick.set_text(person.get_nick_name()) | ||||
|         self.load_person_image() | ||||
|          | ||||
|         # set notes data | ||||
| @@ -398,7 +366,7 @@ class EditPerson: | ||||
|                 self.preform.set_active(1) | ||||
|             else: | ||||
|                 self.flowed.set_active(1) | ||||
|             Utils.bold_label(self.notes_label) | ||||
|             #Utils.bold_label(self.notes_label) | ||||
|  | ||||
|         self.name_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, | ||||
|                                       [DdTargets.NAME.target()], | ||||
| @@ -452,19 +420,6 @@ class EditPerson: | ||||
|         self.addr_list.connect('drag_data_received',self.ad_drag_data_received) | ||||
|         self.addr_list.connect('drag_begin', self.ad_drag_begin) | ||||
|  | ||||
|         self.birth_date_object = self.birth.get_date_object() | ||||
|         self.death_date_object = self.death.get_date_object() | ||||
|  | ||||
|         self.bdate_check = DateEdit.DateEdit( | ||||
|             self.birth_date_object, self.bdate, | ||||
|             self.get_widget("birth_stat"), self.window) | ||||
|  | ||||
|         self.ddate_check = DateEdit.DateEdit( | ||||
|             self.death_date_object, self.ddate, | ||||
|             self.get_widget("death_stat"), self.window) | ||||
|  | ||||
|         self.update_birth_death() | ||||
|  | ||||
|         self.top.signal_autoconnect({ | ||||
|             "destroy_passed_object"     : self.on_cancel_edit, | ||||
|             "on_up_clicked"             : self.on_up_clicked, | ||||
| @@ -473,8 +428,8 @@ class EditPerson: | ||||
|             "on_add_aka_clicked"        : self.on_add_aka_clicked, | ||||
|             "on_add_attr_clicked"       : self.on_add_attr_clicked, | ||||
|             "on_add_url_clicked"        : self.on_add_url_clicked, | ||||
|             "on_addphoto_clicked"       : self.gallery.on_add_media_clicked, | ||||
|             "on_selectphoto_clicked"    : self.gallery.on_select_media_clicked, | ||||
| #            "on_addphoto_clicked"       : self.gallery.on_add_media_clicked, | ||||
| #            "on_selectphoto_clicked"    : self.gallery.on_select_media_clicked, | ||||
|             "on_aka_delete_clicked"     : self.on_aka_delete_clicked, | ||||
|             "on_aka_update_clicked"     : self.on_aka_update_clicked, | ||||
|             "on_apply_person_clicked"   : self.on_apply_person_clicked, | ||||
| @@ -484,9 +439,9 @@ class EditPerson: | ||||
|             "on_delete_attr_clicked"    : self.on_delete_attr_clicked, | ||||
|             "on_delete_event"           : self.on_delete_event, | ||||
|             "on_delete_url_clicked"     : self.on_delete_url_clicked, | ||||
|             "on_deletephoto_clicked"    : self.gallery.on_delete_media_clicked, | ||||
|             "on_edit_properties_clicked": self.gallery.popup_change_description, | ||||
|             "on_editphoto_clicked"      : self.gallery.on_edit_media_clicked, | ||||
| #            "on_deletephoto_clicked"    : self.gallery.on_delete_media_clicked, | ||||
| #            "on_edit_properties_clicked": self.gallery.popup_change_description, | ||||
| #            "on_editphoto_clicked"      : self.gallery.on_edit_media_clicked, | ||||
|             "on_editperson_switch_page" : self.on_switch_page, | ||||
|             "on_event_add_clicked"      : self.on_event_add_clicked, | ||||
|             "on_event_delete_clicked"   : self.on_event_delete_clicked, | ||||
| @@ -523,11 +478,11 @@ class EditPerson: | ||||
|         self.redraw_name_list() | ||||
|         self.redraw_url_list() | ||||
|         self.get_widget("notebook").set_current_page(0) | ||||
|         self.given.grab_focus() | ||||
|         self.surname.grab_focus() | ||||
|         self.add_itself_to_winsmenu() | ||||
|  | ||||
|         for i in ["ok", "add_aka", "aka_delete", "event_del", | ||||
|                   "event_add", "attr_add", "attr_del", "addr_add", | ||||
|         for i in ["ok", "add_aka", "aka_delete", "event_add", "event_del", | ||||
|                   "attr_add", "attr_del", "addr_add", | ||||
|                   "addr_del", "media_add", "media_sel", "media_del", | ||||
|                   "add_url", "delete_url", "add_src", "del_src" ]: | ||||
|             self.get_widget(i).set_sensitive(not self.db.readonly) | ||||
| @@ -609,7 +564,7 @@ class EditPerson: | ||||
|         if not self.db.readonly: | ||||
|             self.db.metadata['event_order'] = event_list | ||||
|          | ||||
|         self.gallery.close() | ||||
|         #self.gallery.close() | ||||
|         self.close_child_windows() | ||||
|         self.remove_itself_from_winsmenu() | ||||
|         self.window.destroy() | ||||
| @@ -645,7 +600,10 @@ class EditPerson: | ||||
|     def build_columns(self,tree,list): | ||||
|         cnum = 0 | ||||
|         for name in list: | ||||
|             renderer = gtk.CellRendererText() | ||||
|             if cnum == 0: | ||||
|                 renderer = gtk.CellRendererCombo() | ||||
|             else: | ||||
|                 renderer = gtk.CellRendererText() | ||||
|             column = gtk.TreeViewColumn(name[0],renderer,text=cnum) | ||||
|             column.set_min_width(name[1]) | ||||
|             cnum = cnum + 1 | ||||
| @@ -778,14 +736,6 @@ class EditPerson: | ||||
|         if not self.should_guess_gender: | ||||
|             return | ||||
|  | ||||
|         gender = self.db.genderStats.guess_gender(unicode(entry.get_text ())) | ||||
|         if gender == RelLib.Person.UNKNOWN: | ||||
|             self.is_unknown.set_active(True) | ||||
|         elif gender == RelLib.Person.MALE: | ||||
|             self.is_male.set_active(True) | ||||
|         else: | ||||
|             self.is_female.set_active(True) | ||||
|  | ||||
|     def build_menu(self,list,task,opt_menu,type): | ||||
|         cell = gtk.CellRendererText() | ||||
|         opt_menu.pack_start(cell,True) | ||||
| @@ -1022,9 +972,9 @@ class EditPerson: | ||||
|             self.nmap[str(name)] = node | ||||
|         if self.nlist: | ||||
|             self.ntree.select_row(0) | ||||
|             Utils.bold_label(self.names_label) | ||||
|         else: | ||||
|             Utils.unbold_label(self.names_label) | ||||
| #            Utils.bold_label(self.names_label) | ||||
| #        else: | ||||
| #            Utils.unbold_label(self.names_label) | ||||
|  | ||||
|     def redraw_url_list(self): | ||||
|         """redraws the url list, disabling the go button if no url | ||||
| @@ -1038,12 +988,12 @@ class EditPerson: | ||||
|         if len(self.ulist) > 0: | ||||
|             self.web_go.set_sensitive(False) | ||||
|             self.wtree.select_row(0) | ||||
|             Utils.bold_label(self.inet_label) | ||||
| #            Utils.bold_label(self.inet_label) | ||||
|         else: | ||||
|             self.web_go.set_sensitive(False) | ||||
|             self.web_url.set_text("") | ||||
|             self.web_description.set_text("") | ||||
|             Utils.unbold_label(self.inet_label) | ||||
| #            self.web_url.set_text("") | ||||
| #            self.web_description.set_text("") | ||||
| #            Utils.unbold_label(self.inet_label) | ||||
|  | ||||
|     def redraw_addr_list(self): | ||||
|         """Redraws the address list""" | ||||
| @@ -1056,9 +1006,9 @@ class EditPerson: | ||||
|             self.pmap[str(addr)] = node | ||||
|         if self.plist: | ||||
|             self.ptree.select_row(0) | ||||
|             Utils.bold_label(self.addr_label) | ||||
|         else: | ||||
|             Utils.unbold_label(self.addr_label) | ||||
| #            Utils.bold_label(self.addr_label) | ||||
| #        else: | ||||
| #            Utils.unbold_label(self.addr_label) | ||||
|  | ||||
|     def redraw_attr_list(self): | ||||
|         """redraws the attribute list for the person""" | ||||
| @@ -1069,9 +1019,9 @@ class EditPerson: | ||||
|             self.amap[str(attr)] = node | ||||
|         if self.alist: | ||||
|             self.atree.select_row(0) | ||||
|             Utils.bold_label(self.attr_label) | ||||
|         else: | ||||
|             Utils.unbold_label(self.attr_label) | ||||
| #            Utils.bold_label(self.attr_label) | ||||
| #        else: | ||||
| #            Utils.unbold_label(self.attr_label) | ||||
|  | ||||
|     def name_edit_callback(self,name): | ||||
|         self.redraw_name_list() | ||||
| @@ -1114,31 +1064,7 @@ class EditPerson: | ||||
|                                    event.get_description(), | ||||
|                                    event.get_date(),pname],event) | ||||
|             self.emap[str(event)] = node | ||||
|         if self.elist: | ||||
|             self.etree.select_row(0) | ||||
|             Utils.bold_label(self.events_label) | ||||
|         else: | ||||
|             Utils.unbold_label(self.events_label) | ||||
|  | ||||
|         # Remember old combo list input | ||||
|  | ||||
|         bplace_text = unicode(self.bplace.get_text()) | ||||
|         dplace_text = unicode(self.dplace.get_text()) | ||||
|              | ||||
|         prev_btext = self.strip_id(bplace_text) | ||||
|         prev_dtext = self.strip_id(dplace_text) | ||||
|  | ||||
|         # Update birth with new values, make sure death values don't change | ||||
|         if self.update_birth: | ||||
|             self.update_birth = False | ||||
|             self.update_birth_info() | ||||
|             self.dplace.set_text(prev_dtext) | ||||
|  | ||||
|         # Update death with new values, make sure birth values don't change | ||||
|         if self.update_death: | ||||
|             self.update_death = False | ||||
|             self.update_death_info() | ||||
|             self.bplace.set_text(prev_btext) | ||||
|         node = self.etree.add(["","","",""],None) | ||||
|  | ||||
|     def strip_id(self,text): | ||||
|         index = text.rfind('[') | ||||
| @@ -1197,42 +1123,12 @@ class EditPerson: | ||||
|     def on_edit_birth_clicked(self,obj): | ||||
|         """Brings up the EventEditor for the birth record, event | ||||
|         name cannot be changed""" | ||||
|          | ||||
|         import EventEdit | ||||
|         self.update_birth = True | ||||
|         pname = self.name_display.display(self.person) | ||||
|         event = self.birth | ||||
|         event.set_date_object(Date.Date(self.birth_date_object)) | ||||
|         def_placename = unicode(self.bplace.get_text()) | ||||
|  | ||||
|         p = self.get_place(self.bplace) | ||||
|         if p: | ||||
|             event.set_place_handle(p) | ||||
|         EventEdit.EventEditor( | ||||
|             self,pname, const.personalEvents, | ||||
|             const.personal_events,event,def_placename,1, | ||||
|             self.event_edit_callback, | ||||
|             noedit=self.db.readonly) | ||||
|         pass | ||||
|  | ||||
|     def on_edit_death_clicked(self,obj): | ||||
|         """Brings up the EventEditor for the death record, event | ||||
|         name cannot be changed""" | ||||
|          | ||||
|         import EventEdit | ||||
|         self.update_death = True | ||||
|         pname = self.name_display.display(self.person) | ||||
|         event = self.death | ||||
|         event.set_date_object(Date.Date(self.death_date_object)) | ||||
|         def_placename = unicode(self.dplace.get_text()) | ||||
|  | ||||
|         p = self.get_place(self.dplace) | ||||
|         if p: | ||||
|             event.set_place_handle(p) | ||||
|         EventEdit.EventEditor( | ||||
|             self,pname,const.personalEvents, | ||||
|             const.personal_events,event,def_placename,1, | ||||
|             self.event_edit_callback, | ||||
|             noedit=self.db.readonly) | ||||
|         pass | ||||
|  | ||||
|     def on_aka_delete_clicked(self,obj): | ||||
|         """Deletes the selected name from the name list""" | ||||
| @@ -1313,18 +1209,12 @@ class EditPerson: | ||||
|         orig record""" | ||||
|  | ||||
|         surname = unicode(self.surname.get_text()) | ||||
|         self.birth.set_date_object(self.birth_date_object) | ||||
|         self.death.set_date_object(self.death_date_object) | ||||
|  | ||||
|         ntype = unicode(self.ntype_field.child.get_text()) | ||||
|         suffix = unicode(self.suffix.get_text()) | ||||
|         prefix = unicode(self.prefix.get_text()) | ||||
|         given = unicode(self.given.get_text()) | ||||
|         nick = unicode(self.nick.get_text()) | ||||
|         title = unicode(self.title.get_text()) | ||||
|         male = self.is_male.get_active() | ||||
|         female = self.is_female.get_active() | ||||
|         unknown = self.is_unknown.get_active() | ||||
|  | ||||
|         start = self.notes_buffer.get_start_iter() | ||||
|         end = self.notes_buffer.get_end_iter() | ||||
| @@ -1357,8 +1247,6 @@ class EditPerson: | ||||
|             changed = True | ||||
|         if given != name.get_first_name(): | ||||
|             changed = True | ||||
|         if nick != self.person.get_nick_name(): | ||||
|             changed = True | ||||
|         if title != name.get_title(): | ||||
|             changed = True | ||||
|         if self.pname.get_note() != name.get_note(): | ||||
| @@ -1366,27 +1254,8 @@ class EditPerson: | ||||
|         if not self.lds_not_loaded and self.check_lds(): | ||||
|             changed = True | ||||
|  | ||||
|         bplace = unicode(self.bplace.get_text().strip()) | ||||
|         dplace = unicode(self.dplace.get_text().strip()) | ||||
|  | ||||
|         if self.pdmap.has_key(bplace): | ||||
|             self.birth.set_place_handle(self.pdmap[bplace]) | ||||
|         else: | ||||
|             if bplace != "": | ||||
|                 changed = True | ||||
|             self.birth.set_place_handle('') | ||||
|  | ||||
|         if self.pdmap.has_key(dplace): | ||||
|             self.death.set_place_handle(self.pdmap[dplace]) | ||||
|         else: | ||||
|             if dplace != "": | ||||
|                 changed = True | ||||
|             self.death.set_place_handle('') | ||||
|  | ||||
|         if not self.birth.are_equal(self.orig_birth): | ||||
|             changed = True | ||||
|         if not self.death.are_equal(self.orig_death): | ||||
|             changed = True | ||||
|         (female,male,unknown) = _select_gender[self.gender.get_active()] | ||||
|          | ||||
|         if male and self.person.get_gender() != RelLib.Person.MALE: | ||||
|             changed = True | ||||
|         elif female and self.person.get_gender() != RelLib.Person.FEMALE: | ||||
| @@ -1443,11 +1312,7 @@ class EditPerson: | ||||
|             self.redraw_event_list() | ||||
|  | ||||
|     def update_birth_death(self): | ||||
|         self.bplace.set_text(place_title(self.db,self.birth)) | ||||
|         self.dplace.set_text(place_title(self.db,self.death)) | ||||
|  | ||||
|         self.bdate_check.update_after_editor(self.birth_date_object) | ||||
|         self.ddate_check.update_after_editor(self.death_date_object) | ||||
|         pass | ||||
|  | ||||
|     def on_update_attr_clicked(self,obj): | ||||
|         import AttrEdit | ||||
| @@ -1488,148 +1353,51 @@ class EditPerson: | ||||
|             self.event_edit_callback,noedit=self.db.readonly) | ||||
|          | ||||
|     def on_event_select_row(self,obj): | ||||
|         store,node = obj.get_selected() | ||||
|         if node: | ||||
|             row = store.get_path(node) | ||||
|             event = self.db.get_event_from_handle(self.elist[row[0]]) | ||||
|             self.event_date_field.set_text(event.get_date()) | ||||
|             self.event_place_field.set_text(place_title(self.db,event)) | ||||
|             self.event_name_field.set_text(const.display_pevent(event.get_name())) | ||||
|             self.event_cause_field.set_text(event.get_cause()) | ||||
|             self.event_descr_field.set_text(short(event.get_description())) | ||||
|             if len(event.get_source_references()) > 0: | ||||
|                 psrc_ref = event.get_source_references()[0] | ||||
|                 psrc_id = psrc_ref.get_base_handle() | ||||
|                 psrc = self.db.get_source_from_handle(psrc_id) | ||||
|                 self.event_src_field.set_text(short(psrc.get_title())) | ||||
|                 self.event_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()]) | ||||
|             else: | ||||
|                 self.event_src_field.set_text('') | ||||
|                 self.event_conf_field.set_text('') | ||||
|             if not self.db.readonly: | ||||
|                 self.event_delete_btn.set_sensitive(1) | ||||
|                 self.event_edit_btn.set_sensitive(1) | ||||
|         store,iter = obj.get_selected() | ||||
|         if iter: | ||||
|             self.event_delete_btn.set_sensitive(True) | ||||
|             self.event_edit_btn.set_sensitive(True) | ||||
|         else: | ||||
|             self.event_date_field.set_text('') | ||||
|             self.event_place_field.set_text('') | ||||
|             self.event_name_field.set_text('') | ||||
|             self.event_cause_field.set_text('') | ||||
|             self.event_descr_field.set_text('') | ||||
|             self.event_src_field.set_text('') | ||||
|             self.event_conf_field.set_text('') | ||||
|             self.event_delete_btn.set_sensitive(0) | ||||
|             self.event_edit_btn.set_sensitive(0) | ||||
|             self.event_delete_btn.set_sensitive(True) | ||||
|             self.event_edit_btn.set_sensitive(True) | ||||
|  | ||||
|     def on_addr_select_row(self,obj): | ||||
|         store,node = self.ptree.get_selected() | ||||
|         if node: | ||||
|             addr = self.ptree.get_object(node) | ||||
|             self.addr_start.set_text(addr.get_date()) | ||||
|             self.addr_street.set_text(addr.get_street()) | ||||
|             self.addr_city.set_text(addr.get_city()) | ||||
|             self.addr_state.set_text(addr.get_state()) | ||||
|             self.addr_country.set_text(addr.get_country()) | ||||
|             self.addr_postal.set_text(addr.get_postal_code()) | ||||
|             self.addr_phone.set_text(addr.get_phone()) | ||||
|             if len(addr.get_source_references()) > 0: | ||||
|                 psrc_ref = addr.get_source_references()[0] | ||||
|                 psrc_id = psrc_ref.get_base_handle() | ||||
|                 psrc = self.db.get_source_from_handle(psrc_id) | ||||
|                 self.addr_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()]) | ||||
|                 self.addr_src_field.set_text(short(psrc.get_title())) | ||||
|             else: | ||||
|                 self.addr_src_field.set_text('') | ||||
|                 self.addr_conf_field.set_text('') | ||||
|             self.addr_delete_btn.set_sensitive(1) | ||||
|             self.addr_edit_btn.set_sensitive(1) | ||||
|             self.addr_delete_btn.set_sensitive(True) | ||||
|             self.addr_edit_btn.set_sensitive(True) | ||||
|         else: | ||||
|             self.addr_start.set_text('') | ||||
|             self.addr_street.set_text('') | ||||
|             self.addr_city.set_text('') | ||||
|             self.addr_state.set_text('') | ||||
|             self.addr_country.set_text('') | ||||
|             self.addr_postal.set_text('') | ||||
|             self.addr_phone.set_text('') | ||||
|             self.addr_conf_field.set_text('') | ||||
|             self.addr_src_field.set_text('') | ||||
|             self.addr_delete_btn.set_sensitive(0) | ||||
|             self.addr_edit_btn.set_sensitive(0) | ||||
|             self.addr_delete_btn.set_sensitive(False) | ||||
|             self.addr_edit_btn.set_sensitive(False) | ||||
|  | ||||
|     def on_name_select_row(self,obj): | ||||
|         store,node = self.ntree.get_selected() | ||||
|         if node: | ||||
|             name = self.ntree.get_object(node) | ||||
|             self.alt_given_field.set_text(name.get_first_name()) | ||||
|             self.alt_title_field.set_text(name.get_title()) | ||||
|             self.alt_last_field.set_text(name.get_surname()) | ||||
|             self.alt_suffix_field.set_text(name.get_suffix()) | ||||
|             self.alt_prefix_field.set_text(name.get_surname_prefix()) | ||||
|             self.name_type_field.set_text(const.NameTypesMap.find_value(name.get_type())) | ||||
|             if len(name.get_source_references()) > 0: | ||||
|                 psrc_ref = name.get_source_references()[0] | ||||
|                 psrc_id = psrc_ref.get_base_handle() | ||||
|                 psrc = self.db.get_source_from_handle(psrc_id) | ||||
|                 self.name_src_field.set_text(short(psrc.get_title())) | ||||
|                 self.name_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()]) | ||||
|             else: | ||||
|                 self.name_src_field.set_text('') | ||||
|                 self.name_conf_field.set_text('') | ||||
|             self.name_delete_btn.set_sensitive(1) | ||||
|             self.name_edit_btn.set_sensitive(1) | ||||
|             self.name_delete_btn.set_sensitive(True) | ||||
|             self.name_edit_btn.set_sensitive(True) | ||||
|         else: | ||||
|             self.alt_given_field.set_text('') | ||||
|             self.alt_title_field.set_text('') | ||||
|             self.alt_last_field.set_text('') | ||||
|             self.alt_suffix_field.set_text('') | ||||
|             self.alt_prefix_field.set_text('') | ||||
|             self.name_type_field.set_text('') | ||||
|             self.name_src_field.set_text('') | ||||
|             self.name_conf_field.set_text('') | ||||
|             self.name_delete_btn.set_sensitive(0) | ||||
|             self.name_edit_btn.set_sensitive(0) | ||||
|             self.name_delete_btn.set_sensitive(False) | ||||
|             self.name_edit_btn.set_sensitive(False) | ||||
|  | ||||
|     def on_web_select_row(self,obj): | ||||
|         store,node = self.wtree.get_selected() | ||||
|         if node: | ||||
|             url = self.wtree.get_object(node) | ||||
|             path = url.get_path() | ||||
|             self.web_url.set_text(path) | ||||
|             self.web_description.set_text(url.get_description()) | ||||
|             self.web_go.set_sensitive(0) | ||||
|             self.web_go.set_sensitive(1) | ||||
|             self.web_delete_btn.set_sensitive(1) | ||||
|             self.web_edit_btn.set_sensitive(1) | ||||
|             self.web_go.set_sensitive(True) | ||||
|             self.web_delete_btn.set_sensitive(True) | ||||
|             self.web_edit_btn.set_sensitive(True) | ||||
|         else: | ||||
|             self.web_url.set_text('') | ||||
|             self.web_description.set_text('') | ||||
|             self.web_go.set_sensitive(0) | ||||
|             self.web_delete_btn.set_sensitive(0) | ||||
|             self.web_edit_btn.set_sensitive(0) | ||||
|             self.web_go.set_sensitive(False) | ||||
|             self.web_delete_btn.set_sensitive(False) | ||||
|             self.web_edit_btn.set_sensitive(False) | ||||
|              | ||||
|     def on_attr_select_row(self,obj): | ||||
|         store,node = self.atree.get_selected() | ||||
|         if node: | ||||
|             attr = self.atree.get_object(node) | ||||
|             self.attr_type.set_text(const.display_pattr(attr.get_type())) | ||||
|             self.attr_value.set_text(short(attr.get_value())) | ||||
|             if len(attr.get_source_references()) > 0: | ||||
|                 psrc_ref = attr.get_source_references()[0] | ||||
|                 psrc_id = psrc_ref.get_base_handle() | ||||
|                 psrc = self.db.get_source_from_handle(psrc_id) | ||||
|                 self.attr_src_field.set_text(short(psrc.get_title())) | ||||
|                 self.attr_conf_field.set_text(const.confidence[psrc_ref.get_confidence_level()]) | ||||
|             else: | ||||
|                 self.attr_src_field.set_text('') | ||||
|                 self.attr_conf_field.set_text('') | ||||
|             self.attr_delete_btn.set_sensitive(1) | ||||
|             self.attr_edit_btn.set_sensitive(1) | ||||
|             self.attr_delete_btn.set_sensitive(True) | ||||
|             self.attr_edit_btn.set_sensitive(True) | ||||
|         else: | ||||
|             self.attr_type.set_text('') | ||||
|             self.attr_value.set_text('') | ||||
|             self.attr_src_field.set_text('') | ||||
|             self.attr_conf_field.set_text('') | ||||
|             self.attr_delete_btn.set_sensitive(0) | ||||
|             self.attr_edit_btn.set_sensitive(0) | ||||
|             self.attr_delete_btn.set_sensitive(False) | ||||
|             self.attr_edit_btn.set_sensitive(False) | ||||
|  | ||||
|     def aka_double_click(self,obj,event): | ||||
|         if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: | ||||
| @@ -1660,7 +1428,7 @@ class EditPerson: | ||||
|             try: | ||||
|                 i = pixbuf_new_from_file(photo) | ||||
|                 ratio = float(max(i.get_height(),i.get_width())) | ||||
|                 scale = float(_PICTURE_WIDTH)/ratio | ||||
|                 scale = float(100.0)/ratio | ||||
|                 x = int(scale*(i.get_width())) | ||||
|                 y = int(scale*(i.get_height())) | ||||
|                 i = i.scale_simple(x,y,INTERP_BILINEAR) | ||||
| @@ -1702,15 +1470,11 @@ class EditPerson: | ||||
|         prefix = unicode(self.prefix.get_text()) | ||||
|         ntype = unicode(self.ntype_field.child.get_text()) | ||||
|         given = unicode(self.given.get_text()) | ||||
|         nick = unicode(self.nick.get_text()) | ||||
|         title = unicode(self.title.get_text()) | ||||
|         idval = unicode(self.gid.get_text()) | ||||
|  | ||||
|         name = self.pname | ||||
|  | ||||
|         self.birth.set_date_object(self.birth_date_object) | ||||
|         self.birth.set_place_handle(self.get_place(self.bplace,1)) | ||||
|  | ||||
|         if idval != self.person.get_gramps_id(): | ||||
|             person = self.db.get_person_from_gramps_id(idval) | ||||
|             if not person: | ||||
| @@ -1756,9 +1520,6 @@ class EditPerson: | ||||
|         if name != self.person.get_primary_name(): | ||||
|             self.person.set_primary_name(name) | ||||
|  | ||||
|         if nick != self.person.get_nick_name(): | ||||
|             self.person.set_nick_name(nick) | ||||
|  | ||||
|         self.pdmap.clear() | ||||
|         for key in self.db.get_place_handles(): | ||||
|             p = self.db.get_place_from_handle(key).get_display_info() | ||||
| @@ -1782,19 +1543,8 @@ class EditPerson: | ||||
|             new_order = self.reorder_child_list(self.person,f.get_child_handle_list()) | ||||
|             f.set_child_handle_list(new_order) | ||||
|      | ||||
|         self.death.set_date_object(self.death_date_object) | ||||
|         self.death.set_place_handle(self.get_place(self.dplace,1)) | ||||
|  | ||||
|         if not self.orig_death.are_equal(self.death): | ||||
|             if self.orig_death.is_empty(): | ||||
|                 self.db.add_event(self.death,trans) | ||||
|                 self.person.set_death_handle(self.death.get_handle()) | ||||
|             self.db.commit_event(self.death,trans) | ||||
|  | ||||
|         male = self.is_male.get_active() | ||||
|         female = self.is_female.get_active() | ||||
|         unknown = self.is_unknown.get_active() | ||||
|         error = False | ||||
|         (female,male,unknown) = _select_gender[self.gender.get_active()] | ||||
|         if male and self.person.get_gender() != RelLib.Person.MALE: | ||||
|             self.person.set_gender(RelLib.Person.MALE) | ||||
|             for temp_family in self.person.get_family_handle_list(): | ||||
| @@ -1972,17 +1722,14 @@ class EditPerson: | ||||
|             self.load_photo(None) | ||||
|  | ||||
|     def update_birth_info(self): | ||||
|         self.bdate_check.update_after_editor(self.birth.get_date_object()) | ||||
|         self.bplace.set_text(place_title(self.db,self.birth)) | ||||
|  | ||||
|         pass | ||||
|      | ||||
|     def update_death_info(self): | ||||
|         self.ddate_check.update_after_editor(self.death.get_date_object()) | ||||
|         self.dplace.set_text(place_title(self.db,self.death)) | ||||
|         pass | ||||
|          | ||||
|     def on_switch_page(self,obj,a,page): | ||||
|         if page == 0: | ||||
|             self.load_person_image() | ||||
|         elif page == 2: | ||||
|             self.redraw_event_list() | ||||
|         elif page == 7 and self.not_loaded: | ||||
|             self.not_loaded = False | ||||
| @@ -1992,19 +1739,19 @@ class EditPerson: | ||||
|         note_buf = self.notes_buffer | ||||
|         text = unicode(note_buf.get_text(note_buf.get_start_iter(), | ||||
|                                        note_buf.get_end_iter(),False)) | ||||
|         if text: | ||||
|             Utils.bold_label(self.notes_label) | ||||
|         else: | ||||
|             Utils.unbold_label(self.notes_label) | ||||
| #        if text: | ||||
| #            Utils.bold_label(self.notes_label) | ||||
| #        else: | ||||
| #            Utils.unbold_label(self.notes_label) | ||||
|  | ||||
|         if not self.lds_not_loaded: | ||||
|             self.check_lds() | ||||
|         if self.lds_baptism.is_empty() \ | ||||
|                         and self.lds_endowment.is_empty() \ | ||||
|                         and self.lds_sealing.is_empty(): | ||||
|             Utils.unbold_label(self.lds_tab) | ||||
|         else: | ||||
|             Utils.bold_label(self.lds_tab) | ||||
| #         if self.lds_baptism.is_empty() \ | ||||
| #                         and self.lds_endowment.is_empty() \ | ||||
| #                         and self.lds_sealing.is_empty(): | ||||
| #             Utils.unbold_label(self.lds_tab) | ||||
| #         else: | ||||
| #             Utils.bold_label(self.lds_tab) | ||||
|  | ||||
|     def change_name(self,obj): | ||||
|         sel_objs = self.ntree.get_selected_objects() | ||||
| @@ -2021,8 +1768,8 @@ class EditPerson: | ||||
|     def write_primary_name(self): | ||||
|         # initial values | ||||
|         name = '<span size="larger" weight="bold">%s</span>' % self.name_display.display(self.person) | ||||
|         self.get_widget("activepersonTitle").set_text(name) | ||||
|         self.get_widget("activepersonTitle").set_use_markup(True) | ||||
| #        self.get_widget("activepersonTitle").set_text(name) | ||||
| #        self.get_widget("activepersonTitle").set_use_markup(True) | ||||
|         self.suffix.set_text(self.pname.get_suffix()) | ||||
|         if self.use_patronymic: | ||||
|             self.prefix.set_text(self.pname.get_patronymic()) | ||||
| @@ -2108,7 +1855,6 @@ class EditPerson: | ||||
|             list.insert(target,person.get_handle()) | ||||
|         return list | ||||
|  | ||||
|  | ||||
| def short(val,size=60): | ||||
|     if len(val) > size: | ||||
|         return "%s..." % val[0:size] | ||||
|   | ||||
| @@ -992,7 +992,8 @@ class GrampsDbBase(GrampsDBCallback.GrampsDBCallback): | ||||
|     def get_default_person(self): | ||||
|         """returns the default Person of the database""" | ||||
|         if self.metadata: | ||||
|             data = self.person_map.get(self.metadata['default']) | ||||
|             key = self.metadata.get('default') | ||||
|             data = self.person_map.get(key) | ||||
|             if data: | ||||
|                 person = Person() | ||||
|                 person.unserialize(data) | ||||
|   | ||||
| @@ -18,8 +18,11 @@ | ||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | ||||
| # | ||||
|  | ||||
| from gobject import TYPE_STRING, TYPE_PYOBJECT | ||||
| from gobject import TYPE_STRING, TYPE_PYOBJECT, TYPE_OBJECT | ||||
| import gtk | ||||
| import const | ||||
|  | ||||
| gtk26 = gtk.pygtk_version >= (2,6,0) | ||||
|  | ||||
| #------------------------------------------------------------------------- | ||||
| # | ||||
| @@ -43,11 +46,30 @@ class ListModel: | ||||
|         self.cid = None | ||||
|         self.cids = [] | ||||
|         self.idmap = {} | ||||
|  | ||||
|         store = gtk.ListStore(str) | ||||
|  | ||||
|         events = const.personalConstantEvents.keys() | ||||
|         events.append('Birth') | ||||
|         events.append('Death') | ||||
|         events.sort() | ||||
|          | ||||
|         model = gtk.ListStore(str,TYPE_OBJECT) | ||||
|         for val in events: | ||||
|             model.append((val,store)) | ||||
|          | ||||
|         cnum = 0 | ||||
|         for name in dlist: | ||||
|             renderer = gtk.CellRendererText() | ||||
|             renderer.set_fixed_height_from_font(1) | ||||
|             if gtk26 and cnum == 0: | ||||
|                 renderer = gtk.CellRendererCombo() | ||||
|                 renderer.set_property('model',model) | ||||
|                 renderer.set_property('text_column',0) | ||||
|                 renderer.set_property('editable',True) | ||||
|             else: | ||||
|                 renderer = gtk.CellRendererText() | ||||
|                 renderer.set_property('editable',True) | ||||
|             renderer.set_fixed_height_from_font(True) | ||||
|             renderer.connect('edited',self.edited_cb, cnum) | ||||
|             column = gtk.TreeViewColumn(name[0],renderer,text=cnum) | ||||
|             column.set_reorderable(True) | ||||
|             column.set_min_width(name[2]) | ||||
| @@ -62,7 +84,7 @@ class ListModel: | ||||
|                 column.set_clickable(True) | ||||
|                 column.set_sort_column_id(name[1]) | ||||
|  | ||||
|             cnum = cnum + 1 | ||||
|             cnum += 1 | ||||
|             self.cids.append(name[1]) | ||||
|             if name[0] != '': | ||||
|                 self.tree.append_column(column) | ||||
| @@ -75,6 +97,9 @@ class ListModel: | ||||
|             self.double_click = event_func | ||||
|             self.tree.connect('event',self.button_press) | ||||
|  | ||||
|     def edited_cb(self, cell, path, new_text, col): | ||||
|         self.model[path][col] = new_text | ||||
|  | ||||
|     def unselect(self): | ||||
|         self.selection.unselect_all() | ||||
|  | ||||
| @@ -168,7 +193,7 @@ class ListModel: | ||||
|  | ||||
|     def remove(self,node): | ||||
|         self.model.remove(node) | ||||
|         self.count = self.count - 1 | ||||
|         self.count -= 1 | ||||
|          | ||||
|     def get_row(self,node): | ||||
|         row = self.model.get_path(node) | ||||
| @@ -184,12 +209,12 @@ class ListModel: | ||||
|         return self.model.get_value(node,self.data_index) | ||||
|          | ||||
|     def insert(self,position,data,info=None,select=0): | ||||
|         self.count = self.count + 1 | ||||
|         self.count += 1 | ||||
|         node = self.model.insert(position) | ||||
|         col = 0 | ||||
|         for obj in data: | ||||
|             self.model.set_value(node,col,obj) | ||||
|             col = col + 1 | ||||
|             col += 1 | ||||
|         self.model.set_value(node,col,info) | ||||
|         if info: | ||||
|             self.idmap[str(info)] = node | ||||
| @@ -201,12 +226,12 @@ class ListModel: | ||||
|         return [ self.model.get_value(node,c) for c in cols ] | ||||
|      | ||||
|     def add(self,data,info=None,select=0): | ||||
|         self.count = self.count + 1 | ||||
|         self.count += 1 | ||||
|         node = self.model.append() | ||||
|         col = 0 | ||||
|         for obj in data: | ||||
|             self.model.set_value(node,col,obj) | ||||
|             col = col + 1 | ||||
|             col += 1 | ||||
|         self.model.set_value(node,col,info) | ||||
|         if info: | ||||
|             self.idmap[str(info)] = node | ||||
| @@ -219,7 +244,7 @@ class ListModel: | ||||
|         col = 0 | ||||
|         for obj in data: | ||||
|             self.model.set_value(node,col,obj) | ||||
|             col = col + 1 | ||||
|             col += 1 | ||||
|         self.model.set_value(node,col,info) | ||||
|         if info: | ||||
|             self.idmap[str(info)] = node | ||||
| @@ -228,12 +253,12 @@ class ListModel: | ||||
|         return node | ||||
|  | ||||
|     def add_and_select(self,data,info=None): | ||||
|         self.count = self.count + 1 | ||||
|         self.count += 1 | ||||
|         node = self.model.append() | ||||
|         col = 0 | ||||
|         for obj in data: | ||||
|             self.model.set_value(node,col,obj) | ||||
|             col = col + 1 | ||||
|             col += 1 | ||||
|         if info: | ||||
|             self.idmap[str(info)] = node | ||||
|         self.model.set_value(node,col,info) | ||||
| @@ -248,13 +273,11 @@ class ListModel: | ||||
|     def button_press(self,obj,event): | ||||
|         if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: | ||||
|             self.double_click(obj) | ||||
|             return 1 | ||||
|         return 0 | ||||
|             return True | ||||
|         return False | ||||
|  | ||||
|     def find(self,info): | ||||
|         if info in self.idmap.keys(): | ||||
|             node = self.idmap[str(info)] | ||||
|             self.selection.select_iter(node) | ||||
|  | ||||
|     def cleanup(self): | ||||
|         pass | ||||
|   | ||||
| @@ -126,6 +126,7 @@ gdir_PYTHON = \ | ||||
| # The latter is more portable and POSIX-friendly :) | ||||
| GLADEFILES = \ | ||||
| 	gramps.glade\ | ||||
| 	edit_person.glade\ | ||||
| 	mergedata.glade\ | ||||
| 	gedcomexport.glade\ | ||||
| 	gedcomimport.glade\ | ||||
|   | ||||
| @@ -436,7 +436,7 @@ class GrampsParser: | ||||
|             person = RelLib.Person() | ||||
|             person.set_handle(intid) | ||||
|             person.set_gramps_id(gramps_id) | ||||
|             self.db.add_person(person,None) | ||||
|             self.db.add_person(person,self.trans) | ||||
|             self.gid2id[gramps_id] = intid | ||||
|         return person | ||||
|  | ||||
| @@ -449,7 +449,7 @@ class GrampsParser: | ||||
|             family = RelLib.Family() | ||||
|             family.set_handle(intid) | ||||
|             family.set_gramps_id(gramps_id) | ||||
|             self.db.add_family(family,None) | ||||
|             self.db.add_family(family,self.trans) | ||||
|             self.gid2fid[gramps_id] = intid | ||||
|         return family | ||||
|  | ||||
| @@ -462,7 +462,7 @@ class GrampsParser: | ||||
|             place = RelLib.Place() | ||||
|             place.set_handle(intid) | ||||
|             place.set_gramps_id(gramps_id) | ||||
|             self.db.add_place(place,None) | ||||
|             self.db.add_place(place,self.trans) | ||||
|             self.gid2pid[gramps_id] = intid | ||||
|         return place | ||||
|  | ||||
| @@ -475,7 +475,7 @@ class GrampsParser: | ||||
|             source = RelLib.Source() | ||||
|             source.set_handle(intid) | ||||
|             source.set_gramps_id(gramps_id) | ||||
|             self.db.add_source(source,None) | ||||
|             self.db.add_source(source,self.trans) | ||||
|             self.gid2sid[gramps_id] = intid | ||||
|         return source | ||||
|  | ||||
| @@ -488,7 +488,7 @@ class GrampsParser: | ||||
|             obj = RelLib.MediaObject() | ||||
|             obj.set_handle(intid) | ||||
|             obj.set_gramps_id(gramps_id) | ||||
|             self.db.add_object(obj,None) | ||||
|             self.db.add_object(obj,self.trans) | ||||
|             self.gid2oid[gramps_id] = intid | ||||
|         return obj | ||||
|  | ||||
| @@ -534,11 +534,8 @@ class GrampsParser: | ||||
|  | ||||
|     def parse(self,file,use_trans=True): | ||||
|  | ||||
|         if use_trans: | ||||
|             self.trans = self.db.transaction_begin() | ||||
|             self.trans.set_batch(True) | ||||
|         else: | ||||
|             self.trans = None | ||||
|         self.trans = self.db.transaction_begin() | ||||
|         self.trans.set_batch(True) | ||||
|  | ||||
|         self.db.disable_signals() | ||||
|  | ||||
| @@ -601,7 +598,8 @@ class GrampsParser: | ||||
|          | ||||
|     def start_place(self,attrs): | ||||
|         try: | ||||
|             self.placeobj = self.db.find_place_from_handle(attrs['hlink'],self.trans) | ||||
|             self.placeobj = self.db.find_place_from_handle(attrs['hlink'], | ||||
|                                                            self.trans) | ||||
|         except KeyError: | ||||
|             handle = self.map_pid(attrs['ref']) | ||||
|             self.placeobj = self.find_place_by_gramps_id(handle) | ||||
| @@ -609,7 +607,8 @@ class GrampsParser: | ||||
|     def start_placeobj(self,attrs): | ||||
|         handle = self.map_pid(attrs['id']) | ||||
|         try: | ||||
|             self.placeobj = self.db.find_place_from_handle(attrs['handle'],self.trans) | ||||
|             self.placeobj = self.db.find_place_from_handle(attrs['handle'], | ||||
|                                                            self.trans) | ||||
|             self.placeobj.set_gramps_id(handle) | ||||
|         except KeyError: | ||||
|             self.placeobj = self.find_place_by_gramps_id(handle) | ||||
| @@ -783,14 +782,16 @@ class GrampsParser: | ||||
|         self.count = self.count + 1 | ||||
|         handle = self.map_fid(attrs["id"]) | ||||
|         try: | ||||
|             self.family = self.db.find_family_from_handle(attrs["handle"],self.trans) | ||||
|             self.family = self.db.find_family_from_handle( | ||||
|                 attrs["handle"],self.trans) | ||||
|             self.family.set_gramps_id(handle) | ||||
|         except KeyError: | ||||
|             self.family = self.find_family_by_gramps_id(handle) | ||||
|  | ||||
|         if attrs.has_key("type"): | ||||
|             self.family.set_relationship(_FAMILY_TRANS.get(attrs["type"], | ||||
|                                                            RelLib.Family.UNKNOWN)) | ||||
|             self.family.set_relationship( | ||||
|                 _FAMILY_TRANS.get(attrs["type"], | ||||
|                                   RelLib.Family.UNKNOWN)) | ||||
|         if attrs.has_key("complete"): | ||||
|             self.family.set_complete_flag(int(attrs['complete'])) | ||||
|         else: | ||||
| @@ -891,7 +892,8 @@ class GrampsParser: | ||||
|     def start_source(self,attrs): | ||||
|         handle = self.map_sid(attrs["id"]) | ||||
|         try: | ||||
|             self.source = self.db.find_source_from_handle(attrs["handle"],self.trans) | ||||
|             self.source = self.db.find_source_from_handle(attrs["handle"], | ||||
|                                                           self.trans) | ||||
|             self.source.set_gramps_id(handle) | ||||
|         except KeyError: | ||||
|             self.source = self.find_source_by_gramps_id(handle) | ||||
| @@ -922,7 +924,8 @@ class GrampsParser: | ||||
|     def start_object(self,attrs): | ||||
|         handle = self.map_oid(attrs['id']) | ||||
|         try: | ||||
|             self.object = self.db.find_object_from_handle(attrs['handle'],self.trans) | ||||
|             self.object = self.db.find_object_from_handle(attrs['handle'], | ||||
|                                                           self.trans) | ||||
|             self.object.set_gramps_id(handle) | ||||
|         except KeyError: | ||||
|             self.object = self.find_object_by_gramps_id(handle) | ||||
|   | ||||
| @@ -106,7 +106,7 @@ gladeFile      = "%s/gramps.glade" % rootDir | ||||
| placesFile     = "%s/gramps.glade" % rootDir | ||||
| imageselFile   = "%s/gramps.glade" % rootDir | ||||
| marriageFile   = "%s/gramps.glade" % rootDir | ||||
| editPersonFile = "%s/gramps.glade" % rootDir | ||||
| editPersonFile = "%s/edit_person.glade" % rootDir | ||||
| pluginsFile    = "%s/plugins.glade" % rootDir | ||||
| prefsFile      = "%s/gramps.glade" % rootDir | ||||
| stylesFile     = "%s/gramps.glade" % rootDir | ||||
|   | ||||
							
								
								
									
										3400
									
								
								src/edit_person.glade
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3400
									
								
								src/edit_person.glade
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user