From 5ce24ad90afdaf6b535e3c14487137eec4310d48 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Wed, 16 Feb 2005 22:49:54 +0000 Subject: [PATCH] * src/GrampsBSDDB.py: first pass of readonly support * src/GrampsInMem.py: first pass of readonly support * src/GrampsGEDDB.py: first pass of readonly support * src/GrampsXMLDB.py: first pass of readonly support * src/gramps.py: first pass of readonly support * src/FamilyView.py: first pass of readonly support * src/EditPerson.py: first pass of readonly support * src/EditPlace.py: first pass of readonly support * src/EditSource.py: first pass of readonly support * src/gramps.glade: assign names to buttons svn: r4041 --- ChangeLog | 10 + src/EditPerson.py | 11 +- src/EditPlace.py | 1 + src/EditSource.py | 2 + src/FamilyView.py | 23 + src/GrampsBSDDB.py | 133 +-- src/GrampsDbBase.py | 41 +- src/GrampsGEDDB.py | 6 +- src/GrampsInMemDB.py | 22 + src/GrampsXMLDB.py | 6 +- src/gramps.glade | 1846 +----------------------------------------- src/gramps_main.py | 65 +- 12 files changed, 224 insertions(+), 1942 deletions(-) diff --git a/ChangeLog b/ChangeLog index 69fb321ba..7170b7fb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,16 @@ field, not 'hpages' 2005-02-16 Don Allingham + * src/GrampsBSDDB.py: first pass of readonly support + * src/GrampsInMem.py: first pass of readonly support + * src/GrampsGEDDB.py: first pass of readonly support + * src/GrampsXMLDB.py: first pass of readonly support + * src/gramps.py: first pass of readonly support + * src/FamilyView.py: first pass of readonly support + * src/EditPerson.py: first pass of readonly support + * src/EditPlace.py: first pass of readonly support + * src/EditSource.py: first pass of readonly support + * src/gramps.glade: assign names to buttons * src/DisplayModels.py: don't override on_row_deleted 2005-02-16 Alex Roitman diff --git a/src/EditPerson.py b/src/EditPerson.py index 4fc8cad42..8e0aacce1 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -279,8 +279,9 @@ class EditPerson: 'Place' : (_('Place'),-1,100) } - values = self.db.metadata.get('event_order') - if not values: + if not self.db.readonly: + values = self.db.metadata.get('event_order',event_default) + else: values = event_default etitles = [] @@ -469,6 +470,9 @@ class EditPerson: self.get_widget("notebook").set_current_page(0) self.given.grab_focus() self.add_itself_to_winsmenu() + + self.get_widget('ok').set_sensitive(not self.db.readonly) + self.window.show() def image_button_press(self,obj,event): @@ -543,7 +547,8 @@ class EditPerson: event_list = [] for col in self.event_list.get_columns(): event_list.append(self.event_trans.find_key(col.get_title())) - self.db.metadata['event_order'] = event_list + if not self.db.readonly: + self.db.metadata['event_order'] = event_list self.gallery.close() self.close_child_windows() diff --git a/src/EditPlace.py b/src/EditPlace.py index aa433a1f3..2bd038e52 100644 --- a/src/EditPlace.py +++ b/src/EditPlace.py @@ -222,6 +222,7 @@ class EditPlace: if parent_window: self.top.set_transient_for(parent_window) self.add_itself_to_menu() + self.top_window.get_widget('ok').set_sensitive(not self.db.readonly) self.top.show() def on_delete_event(self,obj,b): diff --git a/src/EditSource.py b/src/EditSource.py index ed40e2a61..2bbb92674 100644 --- a/src/EditSource.py +++ b/src/EditSource.py @@ -181,6 +181,8 @@ class EditSource: focus_cell=None, start_editing=True) + self.top_window.get_widget('ok').set_sensitive(not self.db.readonly) + def on_delete_data_clicked(self,widget): (model,node) = self.data_sel.get_selected() if node: diff --git a/src/FamilyView.py b/src/FamilyView.py index d2304d8fa..656b8e76b 100644 --- a/src/FamilyView.py +++ b/src/FamilyView.py @@ -178,6 +178,7 @@ class FamilyView: self.ap_parents_clicked) self.top.get_widget('sp_parents_btn').connect('clicked', self.sp_parents_clicked) + self.parent.views.get_nth_page(1).show_all() if self.parent.views.get_current_page() == 2: self.parent.views.set_current_page(1) @@ -921,9 +922,31 @@ class FamilyView: self.ap_model.clear() self.child_model = DisplayModels.ChildModel([],self.parent.db) self.child_list.set_model(self.child_model) + + def set_buttons(self): + mode = not self.parent.db.readonly + + self.top.get_widget('add_child_btn').set_sensitive(mode) + self.top.get_widget('add_child_btn2').set_sensitive(mode) + self.top.get_widget('add_parents').set_sensitive(mode) + self.top.get_widget('add_parents2').set_sensitive(mode) + self.top.get_widget('add_spparents').set_sensitive(mode) + self.top.get_widget('add_spparents2').set_sensitive(mode) + self.top.get_widget('del_child_btn').set_sensitive(mode) + self.top.get_widget('del_child_btn2').set_sensitive(mode) + self.top.get_widget('del_parents').set_sensitive(mode) + self.top.get_widget('del_parents2').set_sensitive(mode) + self.top.get_widget('del_spparents').set_sensitive(mode) + self.top.get_widget('del_spparents2').set_sensitive(mode) + self.top.get_widget('select_child2').set_sensitive(mode) + self.top.get_widget('select_child').set_sensitive(mode) + self.add_spouse_btn.set_sensitive(mode) + self.remove_spouse_btn.set_sensitive(mode) + self.select_spouse_btn.set_sensitive(mode) def load_family(self,family=None): + self.set_buttons() if self.parent.active_person: handle = self.parent.active_person.get_handle() self.person = self.parent.db.get_person_from_handle(handle) diff --git a/src/GrampsBSDDB.py b/src/GrampsBSDDB.py index 89f80647b..8299aad92 100644 --- a/src/GrampsBSDDB.py +++ b/src/GrampsBSDDB.py @@ -75,7 +75,10 @@ class GrampsBSDDB(GrampsDbBase): def dbopen(self,name,dbname): dbmap = dbshelve.DBShelf(self.env) dbmap.db.set_pagesize(16384) - dbmap.open(name, dbname, db.DB_HASH, db.DB_CREATE, 0666) + if self.readonly: + dbmap.open(name, dbname, db.DB_HASH, db.DB_RDONLY) + else: + dbmap.open(name, dbname, db.DB_HASH, db.DB_CREATE, 0666) return dbmap def get_person_cursor(self): @@ -93,10 +96,12 @@ class GrampsBSDDB(GrampsDbBase): def get_media_cursor(self): return GrampsBSDDBCursor(self.media_map) - def load(self,name,callback): + def load(self,name,callback,mode="w"): if self.person_map: self.close() + self.readonly = mode == "r" + self.env = db.DBEnv() self.env.set_cachesize(0,0x2000000) # 2MB flags = db.DB_CREATE|db.DB_INIT_MPOOL|db.DB_PRIVATE @@ -114,46 +119,53 @@ class GrampsBSDDB(GrampsDbBase): self.metadata = self.dbopen(name, "meta") self.person_map = self.dbopen(name, "person") + if self.readonly: + openflags = db.DB_RDONLY + else: + openflags = db.DB_CREATE + self.surnames = db.DB(self.env) self.surnames.set_flags(db.DB_DUP) - self.surnames.open(name, "surnames", db.DB_HASH, flags=db.DB_CREATE) + self.surnames.open(name, "surnames", db.DB_HASH, flags=openflags) self.name_group = db.DB(self.env) self.name_group.set_flags(db.DB_DUP) - self.name_group.open(name, "name_group", db.DB_HASH, flags=db.DB_CREATE) + self.name_group.open(name, "name_group", db.DB_HASH, flags=openflags) + self.id_trans = db.DB(self.env) self.id_trans.set_flags(db.DB_DUP) - self.id_trans.open(name, "idtrans", db.DB_HASH, flags=db.DB_CREATE) + self.id_trans.open(name, "idtrans", db.DB_HASH, flags=openflags) self.fid_trans = db.DB(self.env) self.fid_trans.set_flags(db.DB_DUP) - self.fid_trans.open(name, "fidtrans", db.DB_HASH, flags=db.DB_CREATE) + self.fid_trans.open(name, "fidtrans", db.DB_HASH, flags=openflags) self.pid_trans = db.DB(self.env) self.pid_trans.set_flags(db.DB_DUP) - self.pid_trans.open(name, "pidtrans", db.DB_HASH, flags=db.DB_CREATE) + self.pid_trans.open(name, "pidtrans", db.DB_HASH, flags=openflags) self.sid_trans = db.DB(self.env) self.sid_trans.set_flags(db.DB_DUP) - self.sid_trans.open(name, "sidtrans", db.DB_HASH, flags=db.DB_CREATE) + self.sid_trans.open(name, "sidtrans", db.DB_HASH, flags=openflags) self.oid_trans = db.DB(self.env) self.oid_trans.set_flags(db.DB_DUP) - self.oid_trans.open(name, "oidtrans", db.DB_HASH, flags=db.DB_CREATE) + self.oid_trans.open(name, "oidtrans", db.DB_HASH, flags=openflags) self.eventnames = db.DB(self.env) self.eventnames.set_flags(db.DB_DUP) - self.eventnames.open(name, "eventnames", db.DB_HASH, flags=db.DB_CREATE) - self.person_map.associate(self.surnames, find_surname, db.DB_CREATE) - self.person_map.associate(self.id_trans, find_idmap, db.DB_CREATE) - self.family_map.associate(self.fid_trans, find_idmap, db.DB_CREATE) - self.place_map.associate(self.pid_trans, find_idmap, db.DB_CREATE) - self.media_map.associate(self.oid_trans, find_idmap, db.DB_CREATE) - self.source_map.associate(self.sid_trans, find_idmap, db.DB_CREATE) - self.event_map.associate(self.eventnames, find_eventname, db.DB_CREATE) + self.eventnames.open(name, "eventnames", db.DB_HASH, flags=openflags) - self.undodb = db.DB() - self.undodb.open(self.undolog, db.DB_RECNO, db.DB_CREATE) + if not self.readonly: + self.person_map.associate(self.surnames, find_surname, openflags) + self.person_map.associate(self.id_trans, find_idmap, openflags) + self.family_map.associate(self.fid_trans, find_idmap, openflags) + self.place_map.associate(self.pid_trans, find_idmap, openflags) + self.media_map.associate(self.oid_trans, find_idmap, openflags) + self.source_map.associate(self.sid_trans, find_idmap, openflags) + self.event_map.associate(self.eventnames, find_eventname, openflags) + self.undodb = db.DB() + self.undodb.open(self.undolog, db.DB_RECNO, db.DB_CREATE) self.bookmarks = self.metadata.get('bookmarks') if self.bookmarks == None: @@ -175,8 +187,9 @@ class GrampsBSDDB(GrampsDbBase): self.source_map.close() self.media_map.close() self.event_map.close() - self.metadata['bookmarks'] = self.bookmarks - self.metadata['gender_stats'] = self.genderStats.save_stats() + if not self.readonly: + self.metadata['bookmarks'] = self.bookmarks + self.metadata['gender_stats'] = self.genderStats.save_stats() self.metadata.close() self.surnames.close() self.eventnames.close() @@ -186,12 +199,13 @@ class GrampsBSDDB(GrampsDbBase): self.sid_trans.close() self.pid_trans.close() self.env.close() - self.undodb.close() - try: - os.remove(self.undolog) - except: - pass + if not self.readonly: + self.undodb.close() + try: + os.remove(self.undolog) + except: + pass self.person_map = None self.family_map = None @@ -204,11 +218,12 @@ class GrampsBSDDB(GrampsDbBase): self.metadata = None def set_name_group_mapping(self,name,group): - name = str(name) - if not group and self.name_group.has_key(name): - self.name_group.delete(name) - else: - self.name_group[name] = group + if not self.readonly: + name = str(name) + if not group and self.name_group.has_key(name): + self.name_group.delete(name) + else: + self.name_group[name] = group def get_surname_list(self): names = self.surnames.keys() @@ -229,41 +244,47 @@ class GrampsBSDDB(GrampsDbBase): return vals def remove_person(self,handle,transaction): - person = self.get_person_from_handle(handle) - self.genderStats.uncount_person (person) - if transaction != None: - transaction.add(PERSON_KEY,handle,person.serialize()) - self.person_map.delete(str(handle)) + if not self.readonly: + person = self.get_person_from_handle(handle) + self.genderStats.uncount_person (person) + if transaction != None: + transaction.add(PERSON_KEY,handle,person.serialize()) + self.person_map.delete(str(handle)) def remove_source(self,handle,transaction): - if transaction != None: - old_data = self.source_map.get(str(handle)) - transaction.add(SOURCE_KEY,handle,old_data) - self.source_map.delete(str(handle)) + if not self.readonly: + if transaction != None: + old_data = self.source_map.get(str(handle)) + transaction.add(SOURCE_KEY,handle,old_data) + self.source_map.delete(str(handle)) def remove_family(self,handle,transaction): - if transaction != None: - old_data = self.family_map.get(str(handle)) - transaction.add(FAMILY_KEY,handle,old_data) - self.family_map.delete(str(handle)) + if not self.readonly: + if transaction != None: + old_data = self.family_map.get(str(handle)) + transaction.add(FAMILY_KEY,handle,old_data) + self.family_map.delete(str(handle)) def remove_event(self,handle,transaction): - if transaction != None: - old_data = self.event_map.get(str(handle)) - transaction.add(EVENT_KEY,handle,old_data) - self.event_map.delete(str(handle)) + if not self.readonly: + if transaction != None: + old_data = self.event_map.get(str(handle)) + transaction.add(EVENT_KEY,handle,old_data) + self.event_map.delete(str(handle)) def remove_place(self,handle,transaction): - if transaction != None: - old_data = self.place_map.get(handle) - transaction.add(PLACE_KEY,handle,old_data) - self.place_map.delete(str(handle)) + if not self.readonly: + if transaction != None: + old_data = self.place_map.get(handle) + transaction.add(PLACE_KEY,handle,old_data) + self.place_map.delete(str(handle)) def remove_object(self,handle,transaction): - if transaction != None: - old_data = self.media_map.get(handle) - transaction.add(PLACE_KEY,handle,old_data) - self.media_map.delete(str(handle)) + if not self.readonly: + if transaction != None: + old_data = self.media_map.get(handle) + transaction.add(PLACE_KEY,handle,old_data) + self.media_map.delete(str(handle)) def get_person_from_gramps_id(self,val): """finds a Person in the database from the passed gramps' ID. diff --git a/src/GrampsDbBase.py b/src/GrampsDbBase.py index f3cc6854e..080750987 100644 --- a/src/GrampsDbBase.py +++ b/src/GrampsDbBase.py @@ -117,6 +117,7 @@ class GrampsDbBase: be created. """ + self.readonly = False self.rand = random.Random(time.time()) self.smap_index = 0 self.emap_index = 0 @@ -221,6 +222,8 @@ class GrampsDbBase: Commits the specified Person to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: person.change = int(change_time) else: @@ -237,6 +240,8 @@ class GrampsDbBase: Commits the specified MediaObject to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: obj.change = int(change_time) else: @@ -252,6 +257,8 @@ class GrampsDbBase: Commits the specified Source to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: source.change = int(change_time) else: @@ -267,6 +274,8 @@ class GrampsDbBase: Commits the specified Place to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: place.change = int(change_time) else: @@ -282,6 +291,8 @@ class GrampsDbBase: Commits the specified Event to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: event.change = int(change_time) else: @@ -297,6 +308,8 @@ class GrampsDbBase: Commits the specified Family to the database, storing the changes as part of the transaction. """ + if self.readonly: + return if change_time: family.change = int(change_time) else: @@ -451,9 +464,10 @@ class GrampsDbBase: person.unserialize(data) else: person.set_handle(val) - if transaction != None: - transaction.add(PERSON_KEY, val, None) - self.person_map[str(val)] = person.serialize() + if not self.readonly: + if transaction != None: + transaction.add(PERSON_KEY, val, None) + self.person_map[str(val)] = person.serialize() self.genderStats.count_person (person, self) return person @@ -677,7 +691,7 @@ class GrampsDbBase: Allows the retreiving people display data into the database metadata. This allows faster display of the treeview. """ - if self.metadata: + if self.metadata and not self.readonly: self.metadata['tp_path'] = maps[0] self.metadata['p_iter'] = maps[1] self.metadata['p_path'] = maps[2] @@ -870,7 +884,7 @@ class GrampsDbBase: """ Commits the transaction to the assocated UNDO database. """ - if not len(transaction): + if not len(transaction) or self.readonly: return transaction.set_description(msg) self.undoindex += 1 @@ -887,7 +901,7 @@ class GrampsDbBase: Accesses the last committed transaction, and reverts the data to the state before the transaction was committed. """ - if self.undoindex == -1: + if self.undoindex == -1 or self.readonly: return False transaction = self.translist[self.undoindex] @@ -982,11 +996,12 @@ class GrampsDbBase: def set_default_person_handle(self,handle): """sets the default Person to the passed instance""" - self.metadata['default'] = handle + if not self.readonly: + self.metadata['default'] = handle def get_default_person(self): """returns the default Person of the database""" - if self.metadata and self.metadata.has_key('default'): + if self.metadata and self.metadata.has_key('default') and not self.readonly: person = Person() handle = self.metadata['default'] data = self.person_map.get(str(handle),None) @@ -1126,7 +1141,7 @@ class GrampsDbBase: Stores the Person display common information in the database's metadata. """ - if self.metadata != None: + if self.metadata != None and not self.readonly: self.metadata['columns'] = list def set_child_column_order(self,list): @@ -1134,7 +1149,7 @@ class GrampsDbBase: Stores the Person display common information in the database's metadata. """ - if self.metadata != None: + if self.metadata != None and not self.readonly: self.metadata['child_columns'] = list def set_place_column_order(self,list): @@ -1142,7 +1157,7 @@ class GrampsDbBase: Stores the Place display common information in the database's metadata. """ - if self.metadata != None: + if self.metadata != None and not self.readonly: self.metadata['place_columns'] = list def set_source_column_order(self,list): @@ -1150,7 +1165,7 @@ class GrampsDbBase: Stores the Source display common information in the database's metadata. """ - if self.metadata != None: + if self.metadata != None and not self.readonly: self.metadata['source_columns'] = list def set_media_column_order(self,list): @@ -1158,7 +1173,7 @@ class GrampsDbBase: Stores the Media display common information in the database's metadata. """ - if self.metadata != None: + if self.metadata != None and not self.readonly: self.metadata['media_columns'] = list def get_person_column_order(self): diff --git a/src/GrampsGEDDB.py b/src/GrampsGEDDB.py index dcc6f35fe..7c7efeb0d 100644 --- a/src/GrampsGEDDB.py +++ b/src/GrampsGEDDB.py @@ -44,17 +44,19 @@ class GrampsGEDDB(GrampsInMemDB): """creates a new GrampsDB""" GrampsInMemDB.__init__(self) - def load(self,name,callback): + def load(self,name,callback, mode="w"): self.filename = name ReadGedcom.importData(self,name,use_trans=False) + self.readonly = mode == "r" + self.bookmarks = self.metadata.get('bookmarks') if self.bookmarks == None: self.bookmarks = [] return 1 def close(self): - if len(self.undodb) > 0: + if not self.readonly and len(self.undodb) > 0: writer = WriteGedcom.GedcomWriter(self,self.get_default_person()) writer.export_data(self.filename) diff --git a/src/GrampsInMemDB.py b/src/GrampsInMemDB.py index cb0878da8..e1184db4e 100644 --- a/src/GrampsInMemDB.py +++ b/src/GrampsInMemDB.py @@ -130,6 +130,8 @@ class GrampsInMemDB(GrampsDbBase): return vals def remove_person(self,handle,transaction): + if self.readonly: + return person = self.get_person_from_handle(handle) self.genderStats.uncount_person (person) if transaction != None: @@ -139,6 +141,8 @@ class GrampsInMemDB(GrampsDbBase): del self.person_map[handle] def remove_source(self,handle,transaction): + if self.readonly: + return source = self.get_source_from_handle(handle) if transaction != None: old_data = self.source_map.get(str(handle)) @@ -147,6 +151,8 @@ class GrampsInMemDB(GrampsDbBase): del self.source_map[str(handle)] def remove_place(self,handle,transaction): + if self.readonly: + return place = self.get_place_from_handle(handle) if transaction != None: old_data = self.place_map.get(str(handle)) @@ -155,6 +161,8 @@ class GrampsInMemDB(GrampsDbBase): del self.place_map[str(handle)] def remove_object(self,handle,transaction): + if self.readonly: + return obj = self.get_object_from_handle(handle) if transaction != None: old_data = self.media_map.get(str(handle)) @@ -163,6 +171,8 @@ class GrampsInMemDB(GrampsDbBase): del self.media_map[str(handle)] def remove_family(self,handle,transaction): + if self.readonly: + return family = self.get_family_from_handle(handle) if transaction != None: old_data = self.family_map.get(str(handle)) @@ -171,32 +181,44 @@ class GrampsInMemDB(GrampsDbBase): del self.family_map[str(handle)] def remove_event(self,handle,transaction): + if self.readonly: + return if transaction != None: old_data = self.event_map.get(str(handle)) transaction.add(EVENT_KEY,handle,old_data) del self.event_map[str(handle)] def commit_person(self,person,transaction,change_time=None): + if self.readonly: + return gid = person.get_gramps_id() self.id_trans[gid] = person.get_handle() GrampsDbBase.commit_person(self,person,transaction,change_time) def commit_place(self,place,transaction,change_time=None): + if self.readonly: + return gid = place.get_gramps_id() self.pid_trans[gid] = place.get_handle() GrampsDbBase.commit_place(self,place,transaction,change_time) def commit_family(self,family,transaction,change_time=None): + if self.readonly: + return gid = family.get_gramps_id() self.fid_trans[gid] = family.get_handle() GrampsDbBase.commit_family(self,family,transaction,change_time) def commit_media_object(self,obj,transaction,change_time=None): + if self.readonly: + return gid = obj.get_gramps_id() self.oid_trans[gid] = obj.get_handle() GrampsDbBase.commit_media_object(self,obj,transaction,change_time) def commit_source(self,source,transaction,change_time=None): + if self.readonly: + return gid = source.get_gramps_id() self.sid_trans[gid] = source.get_handle() GrampsDbBase.commit_source(self,source,transaction,change_time) diff --git a/src/GrampsXMLDB.py b/src/GrampsXMLDB.py index da2c91df2..c220df98f 100644 --- a/src/GrampsXMLDB.py +++ b/src/GrampsXMLDB.py @@ -44,10 +44,12 @@ class GrampsXMLDB(GrampsInMemDB): """creates a new GrampsDB""" GrampsInMemDB.__init__(self) - def load(self,name,callback): + def load(self,name,callback,mode="w"): self.filename = name self.id_trans = {} + self.readonly = mode == "r" + ReadXML.importData(self,name,use_trans=False) self.bookmarks = self.metadata.get('bookmarks') @@ -56,6 +58,6 @@ class GrampsXMLDB(GrampsInMemDB): return 1 def close(self): - if len(self.undodb) > 0: + if not self.readonly and len(self.undodb) > 0: WriteXML.quick_write(self,self.filename) diff --git a/src/gramps.glade b/src/gramps.glade index d18a2b3e2..239e01200 100644 --- a/src/gramps.glade +++ b/src/gramps.glade @@ -19,7 +19,6 @@ False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST - True True @@ -1018,9 +1017,6 @@ 0 0 views - -1 - False - 0 0 @@ -1069,9 +1065,6 @@ 0 0 views - -1 - False - 0 0 @@ -1120,9 +1113,6 @@ 0 0 views - -1 - False - 0 0 @@ -1171,9 +1161,6 @@ 0 0 views - -1 - False - 0 0 @@ -1222,9 +1209,6 @@ 0 0 views - -1 - False - 0 0 @@ -1273,9 +1257,6 @@ 0 0 views - -1 - False - 0 0 @@ -1393,8 +1374,6 @@ False True False - False - False @@ -1424,9 +1403,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -1716,8 +1692,6 @@ False True False - False - False @@ -1841,9 +1815,6 @@ 0 0 chlist - -1 - False - 0 0 @@ -1869,9 +1840,6 @@ 0 0 ap_data - -1 - False - 0 0 @@ -1897,9 +1865,6 @@ 0 0 ap_parents - -1 - False - 0 3 @@ -1925,9 +1890,6 @@ 0 0 sp_list - -1 - False - 0 0 @@ -1953,9 +1915,6 @@ 0 0 sp_parents - -1 - False - 0 3 @@ -1986,8 +1945,6 @@ True True False - False - False @@ -2019,8 +1976,6 @@ False True False - False - False @@ -2052,8 +2007,6 @@ False True False - False - False @@ -2085,8 +2038,6 @@ True True False - False - False @@ -2242,9 +2193,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -2280,8 +2228,6 @@ True True False - False - False @@ -2308,9 +2254,6 @@ 0 0 chlist2 - -1 - False - 0 0 @@ -2341,8 +2284,6 @@ True True False - False - False @@ -2374,8 +2315,6 @@ False True False - False - False @@ -2407,8 +2346,6 @@ False True False - False - False @@ -2440,8 +2377,6 @@ False True False - False - False @@ -2592,9 +2527,6 @@ 0 0 sp_parents2 - -1 - False - 0 3 @@ -2717,9 +2649,6 @@ 0 0 sp_list2 - -1 - False - 0 3 @@ -2842,9 +2771,6 @@ 0 0 ap_data2 - -1 - False - 0 0 @@ -2870,9 +2796,6 @@ 0 0 ap_parents2 - -1 - False - 0 0 @@ -3030,9 +2953,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -3080,9 +3000,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -3113,8 +3030,6 @@ False True False - False - False @@ -3144,9 +3059,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -3177,8 +3089,6 @@ False True False - False - False @@ -3208,9 +3118,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -3262,9 +3169,6 @@ 0.5 0 0 - -1 - False - 0 label_item @@ -3301,9 +3205,6 @@ 0.5 0 2 - -1 - False - 0 1 @@ -3329,9 +3230,6 @@ 0.5 0 0 - -1 - False - 0 2 @@ -3355,9 +3253,6 @@ 0.5 0 0 - -1 - False - 0 2 @@ -3381,9 +3276,6 @@ 0.5 0 2 - -1 - False - 0 1 @@ -3409,9 +3301,6 @@ 0.5 0 2 - -1 - False - 0 1 @@ -3437,9 +3326,6 @@ 0.5 0 2 - -1 - False - 0 1 @@ -3465,9 +3351,6 @@ 0.5 0 0 - -1 - False - 0 2 @@ -3491,9 +3374,6 @@ 0.5 0 0 - -1 - False - 0 2 @@ -3517,9 +3397,6 @@ 0.5 0 0 - -1 - False - 0 2 @@ -3543,9 +3420,6 @@ 0 0 2 - -1 - False - 0 1 @@ -3571,9 +3445,6 @@ 0.5 0 0 - -1 - False - 0 0 @@ -3618,8 +3489,6 @@ False True False - False - False @@ -3649,9 +3518,6 @@ 0.5 0 0 - -1 - False - 0 tab @@ -3704,7 +3570,6 @@ False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -3781,9 +3646,6 @@ 0.5 0 0 - -1 - False - 0 5 @@ -3823,8 +3685,6 @@ False True False - False - False @@ -3932,9 +3792,6 @@ 0.5 0 0 - -1 - False - 0 0 @@ -3960,9 +3817,6 @@ 0.5 5 5 - -1 - False - 0 1 @@ -4042,7 +3896,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -4127,9 +3980,6 @@ Other 0.5 0 6 - -1 - False - 0 0 @@ -4168,9 +4018,6 @@ Other 0 0 frel - -1 - False - 0 @@ -4199,9 +4046,6 @@ Other 0 0 mrel - -1 - False - 0 @@ -4229,9 +4073,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -4257,9 +4098,6 @@ Other 0 0 father_list - -1 - False - 0 0 @@ -4355,9 +4193,6 @@ Other 0 0 mother_list - -1 - False - 0 0 @@ -4382,9 +4217,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -4415,8 +4247,6 @@ Other False True False - False - False @@ -4447,8 +4277,6 @@ Other False True False - False - False @@ -4550,9 +4378,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4575,9 +4400,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4600,9 +4422,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4625,9 +4444,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4650,9 +4466,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4675,9 +4488,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4700,9 +4510,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4764,9 +4571,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4789,9 +4593,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4814,9 +4615,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4839,9 +4637,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4864,9 +4659,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4889,9 +4681,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4914,9 +4703,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -4995,7 +4781,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -5080,9 +4865,6 @@ Other 0.5 0 6 - -1 - False - 0 0 @@ -5129,8 +4911,6 @@ Other False True False - False - False @@ -5268,9 +5048,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5293,9 +5070,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5318,9 +5092,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5343,9 +5114,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5368,9 +5136,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5393,9 +5158,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5466,9 +5228,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5491,9 +5250,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5516,9 +5272,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5541,9 +5294,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5566,9 +5316,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5591,9 +5338,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -5625,9 +5369,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -5653,9 +5394,6 @@ Other 0 0 frel - -1 - False - 0 0 @@ -5693,7 +5431,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -5724,7 +5461,7 @@ Other - + True Accept changes and close window True @@ -5780,9 +5517,6 @@ Other 0.5 0 5 - -1 - False - 0 0 @@ -5827,9 +5561,6 @@ Other 0 0 source_title - -1 - False - 0 0 @@ -5855,9 +5586,6 @@ Other 0 0 author - -1 - False - 0 @@ -5929,9 +5657,6 @@ Other 0 0 pubinfo - -1 - False - 0 0 @@ -5999,9 +5724,6 @@ Other 0 0 abbrev - -1 - False - 0 0 @@ -6032,9 +5754,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -6105,9 +5824,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -6192,9 +5908,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -6226,8 +5939,6 @@ Other False True False - False - False @@ -6327,9 +6038,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -6543,9 +6251,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -6570,8 +6275,6 @@ Other False True False - False - False @@ -6594,9 +6297,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -6636,7 +6336,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -6722,9 +6421,6 @@ Other 0.5 10 10 - -1 - False - 0 0 @@ -6798,7 +6494,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -6880,9 +6575,6 @@ Other 0.5 0 0 - -1 - False - 0 10 @@ -6920,9 +6612,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -6947,9 +6636,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -6974,9 +6660,6 @@ Other 0 0 frel - -1 - False - 0 @@ -7036,9 +6719,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7061,9 +6741,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7086,9 +6763,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7111,9 +6785,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7136,9 +6807,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7161,9 +6829,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7186,9 +6851,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7218,9 +6880,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -7246,9 +6905,6 @@ Other 0 0 mrel - -1 - False - 0 Relationship: @@ -7309,9 +6965,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7334,9 +6987,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7359,9 +7009,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7384,9 +7031,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7409,9 +7053,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7434,9 +7075,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7459,9 +7097,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -7491,9 +7126,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -7518,9 +7150,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -7545,9 +7174,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -7571,9 +7197,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -7645,7 +7268,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -7736,9 +7358,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -7774,9 +7393,6 @@ Other 0 0 entry - -1 - False - 0 6 @@ -7834,7 +7450,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -7912,9 +7527,6 @@ Other 0.5 6 0 - -1 - False - 0 6 @@ -7978,9 +7590,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8003,9 +7612,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8028,9 +7634,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8053,9 +7656,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8078,9 +7678,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8103,9 +7700,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8167,9 +7761,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8192,9 +7783,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8217,9 +7805,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8242,9 +7827,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8267,9 +7849,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8292,9 +7871,6 @@ Other 0.5 0 0 - -1 - False - 0 @@ -8324,9 +7900,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -8352,9 +7925,6 @@ Other 0 0 frel - -1 - False - 0 0 @@ -8390,7 +7960,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -8468,8 +8037,6 @@ Other True True False - False - False @@ -8494,9 +8061,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -8532,7 +8096,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -8563,7 +8126,7 @@ Other - + True Accept changes and close window True @@ -8613,9 +8176,6 @@ Other 0.5 0 0 - -1 - False - 0 10 @@ -8674,9 +8234,6 @@ Other 0 0 givenName - -1 - False - 0 1 @@ -8702,9 +8259,6 @@ Other 0 0 surname - -1 - False - 0 1 @@ -8730,9 +8284,6 @@ Other 0 0 prefix - -1 - False - 0 1 @@ -8758,9 +8309,6 @@ Other 0 0 suffix - -1 - False - 0 1 @@ -8786,9 +8334,6 @@ Other 0 0 title - -1 - False - 0 1 @@ -8814,9 +8359,6 @@ Other 0 0 nickname - -1 - False - 0 1 @@ -8841,9 +8383,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -8869,9 +8408,6 @@ Other 0 0 birthDate - -1 - False - 0 1 @@ -8962,9 +8498,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -9067,9 +8600,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -9095,9 +8625,6 @@ Other 0 0 gid - -1 - False - 0 7 @@ -9144,9 +8671,6 @@ Other 0 0 birth_place - -1 - False - 0 1 @@ -9171,9 +8695,6 @@ Other 0.5 0 0 - -1 - False - 0 6 @@ -9199,9 +8720,6 @@ Other 0 0 deathDate - -1 - False - 0 Date: @@ -9230,9 +8748,6 @@ Other 0 0 death_place - -1 - False - 0 7 @@ -9345,9 +8860,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -9373,9 +8885,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -9595,9 +9104,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -9621,9 +9127,6 @@ Other 0.5 0 0 - -1 - False - 0 6 @@ -9763,9 +9266,6 @@ Other 0.5 0 0 - -1 - False - 0 label_item @@ -9817,9 +9317,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -9861,9 +9358,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -9888,9 +9382,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -9915,9 +9406,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -9942,9 +9430,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -9969,9 +9454,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -9996,9 +9478,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10023,9 +9502,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -10050,9 +9526,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -10077,9 +9550,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -10104,9 +9574,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -10131,9 +9598,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10157,9 +9621,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10183,9 +9644,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10209,9 +9667,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10235,9 +9690,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -10261,9 +9713,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -10287,9 +9736,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -10313,9 +9759,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -10379,8 +9822,6 @@ Other False True False - False - False @@ -10519,9 +9960,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -10563,9 +10001,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -10590,9 +10025,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10617,9 +10049,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10644,9 +10073,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10671,9 +10097,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10698,9 +10121,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10725,9 +10145,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -10752,9 +10169,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -10779,9 +10193,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -10806,9 +10217,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10833,9 +10241,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10860,9 +10265,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10887,9 +10289,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10914,9 +10313,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10940,9 +10336,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -10966,9 +10359,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -11012,8 +10402,6 @@ Other True True False - False - False @@ -11159,9 +10547,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -11203,9 +10588,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -11230,9 +10612,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11257,9 +10636,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11284,9 +10660,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -11311,9 +10684,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11338,9 +10708,6 @@ Other 0.5 0 0 - -1 - False - 0 3 @@ -11365,9 +10732,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -11392,9 +10756,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -11418,9 +10779,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -11444,9 +10802,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -11490,8 +10845,6 @@ Other False True False - False - False @@ -11637,9 +10990,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -11675,9 +11025,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11702,9 +11049,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11729,9 +11073,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11756,9 +11097,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11783,9 +11121,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -11810,9 +11145,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -11837,9 +11169,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -11864,9 +11193,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -11891,9 +11217,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -11918,9 +11241,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -11945,9 +11265,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -11972,9 +11289,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -11999,9 +11313,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -12026,9 +11337,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -12053,9 +11361,6 @@ Other 0.5 0 0 - -1 - False - 0 5 @@ -12079,9 +11384,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -12105,9 +11407,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -12132,9 +11431,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -12159,9 +11455,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -12186,9 +11479,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -12264,8 +11554,6 @@ Other False True False - False - False @@ -12411,9 +11699,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -12487,9 +11772,6 @@ Other 0 0 flowed - -1 - False - 0 0 @@ -12574,9 +11856,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -12607,8 +11886,6 @@ Other False True False - False - False @@ -12735,9 +12012,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -12936,9 +12210,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -12974,9 +12245,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -13001,9 +12269,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -13028,9 +12293,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -13055,9 +12317,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -13081,9 +12340,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -13127,8 +12383,6 @@ Other False True False - False - False @@ -13295,9 +12549,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -13327,9 +12578,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -13376,9 +12624,6 @@ Other 0 0 ldsbapdate - -1 - False - 0 @@ -13406,9 +12651,6 @@ Other 0.5 0 0 - -1 - False - 0 Temple: @@ -13457,9 +12699,6 @@ Other 0 0 lds_bap_place - -1 - False - 0 @@ -13528,9 +12767,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -13556,9 +12792,6 @@ Other 0 0 endowdate - -1 - False - 0 Date: @@ -13587,9 +12820,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -13615,9 +12845,6 @@ Other 0 0 lds_end_place - -1 - False - 0 @@ -13728,9 +12955,6 @@ Other 0 0 sealdate - -1 - False - 0 @@ -13779,9 +13003,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -13827,9 +13048,6 @@ Other 0 0 lds_seal_place - -1 - False - 0 @@ -13899,9 +13117,6 @@ Other 0 0 sealparents - -1 - False - 0 1 @@ -13926,9 +13141,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14073,9 +13285,6 @@ Other 0.5 6 0 - -1 - False - 0 tab @@ -14107,7 +13316,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -14195,9 +13403,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14246,9 +13451,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14274,9 +13476,6 @@ Other 0 0 gid - -1 - False - 0 @@ -14342,9 +13541,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14369,9 +13565,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14431,9 +13624,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -14469,9 +13659,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14496,9 +13683,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14523,9 +13707,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14550,9 +13731,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14577,9 +13755,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14604,9 +13779,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -14631,9 +13803,6 @@ Other 0.5 0 0 - -1 - False - 0 3 @@ -14658,9 +13827,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -14684,9 +13850,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14711,9 +13874,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -14738,9 +13898,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14764,9 +13921,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14790,9 +13944,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14817,9 +13968,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14844,9 +13992,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14870,9 +14015,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -14915,8 +14057,6 @@ Other False True False - False - False @@ -15052,9 +14192,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -15090,9 +14227,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -15117,9 +14251,6 @@ Other 0.5 0 0 - -1 - False - 0 3 @@ -15144,9 +14275,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -15171,9 +14299,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -15198,9 +14323,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -15225,9 +14347,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -15252,9 +14371,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -15279,9 +14395,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -15305,9 +14418,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -15331,9 +14441,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -15376,8 +14483,6 @@ Other False True False - False - False @@ -15513,9 +14618,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -15586,9 +14688,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -15673,9 +14772,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -15706,8 +14802,6 @@ Other False True False - False - False @@ -15831,9 +14925,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -16019,9 +15110,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -16057,9 +15145,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -16084,9 +15169,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -16111,9 +15193,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -16138,9 +15217,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -16289,9 +15365,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -16331,7 +15404,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -16361,7 +15433,7 @@ Other - + True True True @@ -16416,9 +15488,6 @@ Other 0.5 0 5 - -1 - False - 0 0 @@ -16462,9 +15531,6 @@ Other 0 0 place_title - -1 - False - 0 @@ -16493,9 +15559,6 @@ Other 0 0 city - -1 - False - 0 @@ -16524,9 +15587,6 @@ Other 0 0 state - -1 - False - 0 @@ -16555,9 +15615,6 @@ Other 0 0 county - -1 - False - 0 @@ -16586,9 +15643,6 @@ Other 0 0 country - -1 - False - 0 @@ -16617,9 +15671,6 @@ Other 0 0 longitude - -1 - False - 0 @@ -16648,9 +15699,6 @@ Other 0 0 latitude - -1 - False - 0 @@ -16679,9 +15727,6 @@ Other 0 0 parish - -1 - False - 0 Church Parish: @@ -16879,9 +15924,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -16907,9 +15949,6 @@ Other 0 0 postal - -1 - False - 0 1 @@ -16956,9 +15995,6 @@ Other 0 0 phone - -1 - False - 0 1 @@ -17004,9 +16040,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17031,9 +16064,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17064,9 +16094,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -17102,9 +16129,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17129,9 +16153,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17156,9 +16177,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17183,9 +16201,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17210,9 +16225,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -17237,9 +16249,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17265,9 +16274,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17294,9 +16300,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17323,9 +16326,6 @@ Other 0.5 0 0 - -1 - False - 0 3 @@ -17350,9 +16350,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17378,9 +16375,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -17404,9 +16398,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -17431,9 +16422,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -17460,9 +16448,6 @@ Other 0.5 0 0 - -1 - False - 0 3 @@ -17487,9 +16472,6 @@ Other 0.5 0 0 - -1 - False - 0 4 @@ -17532,8 +16514,6 @@ Other False True False - False - False @@ -17680,9 +16660,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -17753,9 +16730,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -17840,9 +16814,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -17879,8 +16850,6 @@ Other False True False - False - False @@ -18024,9 +16993,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -18238,9 +17204,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -18276,9 +17239,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -18303,9 +17263,6 @@ Other 0.5 0 0 - -1 - False - 0 1 @@ -18330,9 +17287,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -18356,9 +17310,6 @@ Other 0.5 0 0 - -1 - False - 0 2 @@ -18383,9 +17334,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -18428,8 +17376,6 @@ Other False True False - False - False @@ -18603,9 +17549,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -18659,9 +17602,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -18698,7 +17638,6 @@ Other False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -18769,9 +17708,6 @@ Other 0.5 0 0 - -1 - False - 0 6 @@ -18810,8 +17746,6 @@ Other False True False - False - False @@ -18890,9 +17824,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -18922,9 +17853,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -18960,9 +17888,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -19010,9 +17935,6 @@ Other 3 3 lastnamegen - -1 - False - 0 0 @@ -19066,9 +17988,6 @@ Other 0.5 0 0 - -1 - False - 0 tab @@ -19104,9 +18023,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -19177,9 +18093,6 @@ Other 0.5 0 0 - -1 - False - 0 0 @@ -19238,9 +18151,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 tab @@ -19300,9 +18210,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -19327,9 +18234,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -19400,9 +18304,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -19510,9 +18411,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 tab @@ -19549,9 +18447,6 @@ Text Beside Icons 5 5 date_format - -1 - False - 0 1 @@ -19576,9 +18471,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -19632,9 +18524,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 tab @@ -19671,9 +18560,6 @@ Text Beside Icons 0 0 resname - -1 - False - 0 1 @@ -19699,9 +18585,6 @@ Text Beside Icons 0 0 resaddr - -1 - False - 0 1 @@ -19727,9 +18610,6 @@ Text Beside Icons 0 0 rescity - -1 - False - 0 1 @@ -19755,9 +18635,6 @@ Text Beside Icons 0 0 resstate - -1 - False - 0 1 @@ -19783,9 +18660,6 @@ Text Beside Icons 0 0 rescountry - -1 - False - 0 1 @@ -19811,9 +18685,6 @@ Text Beside Icons 0 0 respostal - -1 - False - 0 1 @@ -19839,9 +18710,6 @@ Text Beside Icons 0 0 resphone - -1 - False - 0 1 @@ -19867,9 +18735,6 @@ Text Beside Icons 0 0 resemail - -1 - False - 0 1 @@ -20062,9 +18927,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -20102,9 +18964,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 tab @@ -20141,9 +19000,6 @@ Text Beside Icons 2 2 iprefix - -1 - False - 0 1 @@ -20169,9 +19025,6 @@ Text Beside Icons 2 2 fprefix - -1 - False - 0 1 @@ -20197,9 +19050,6 @@ Text Beside Icons 2 2 pprefix - -1 - False - 0 1 @@ -20225,9 +19075,6 @@ Text Beside Icons 2 2 sprefix - -1 - False - 0 1 @@ -20253,9 +19100,6 @@ Text Beside Icons 2 2 oprefix - -1 - False - 0 1 @@ -20385,9 +19229,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -20425,9 +19266,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 tab @@ -20479,7 +19317,6 @@ Text Beside Icons False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -20564,9 +19401,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 5 @@ -20605,9 +19439,6 @@ Text Beside Icons 0 0 conf - -1 - False - 0 1 @@ -20633,9 +19464,6 @@ Text Beside Icons 0 0 spage - -1 - False - 0 1 @@ -20661,9 +19489,6 @@ Text Beside Icons 0 0 sdate - -1 - False - 0 @@ -20691,9 +19516,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 @@ -20721,9 +19543,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 @@ -20751,9 +19570,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 1 @@ -20778,9 +19594,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 1 @@ -20805,9 +19618,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 1 @@ -20832,9 +19642,6 @@ Text Beside Icons 0.5 3 0 - -1 - False - 0 2 @@ -20859,9 +19666,6 @@ Text Beside Icons 0.5 3 0 - -1 - False - 0 2 @@ -20886,9 +19690,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -20913,9 +19714,6 @@ Text Beside Icons 0.5 0 0 - -1 - False - 0 0 @@ -21212,7 +20010,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -21296,9 +20093,6 @@ Very High 0.5 0 0 - -1 - False - 0 5 @@ -21332,8 +20126,6 @@ Very High False True False - False - False @@ -21485,7 +20277,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -21553,9 +20344,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -21582,8 +20370,6 @@ Very High False True False - False - False @@ -21637,7 +20423,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -21704,9 +20489,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -21754,9 +20536,6 @@ Very High 0.5 0 0 - -1 - False - 0 label_item @@ -21793,9 +20572,6 @@ Very High 0.5 0 2 - -1 - False - 0 1 @@ -21821,9 +20597,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -21847,9 +20620,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -21873,9 +20643,6 @@ Very High 0.5 0 2 - -1 - False - 0 1 @@ -21901,9 +20668,6 @@ Very High 0.5 0 2 - -1 - False - 0 1 @@ -21929,9 +20693,6 @@ Very High 0.5 0 2 - -1 - False - 0 1 @@ -21957,9 +20718,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -21983,9 +20741,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -22009,9 +20764,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -22035,9 +20787,6 @@ Very High 0 0 2 - -1 - False - 0 1 @@ -22063,9 +20812,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -22110,8 +20856,6 @@ Very High False True False - False - False @@ -22148,7 +20892,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -22217,9 +20960,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -22252,8 +20992,6 @@ Very High False True False - False - False @@ -22374,7 +21112,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -22444,9 +21181,6 @@ Very High 0.5 5 5 - -1 - False - 0 10 @@ -22475,9 +21209,6 @@ Very High 0 0 style_name - -1 - False - 0 @@ -22549,8 +21280,6 @@ Very High False True False - False - False @@ -22590,9 +21319,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -22614,9 +21340,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -22644,9 +21367,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -22676,9 +21396,6 @@ Very High 0.5 0 0 - -1 - False - 0 3 @@ -22810,9 +21527,6 @@ Very High 0 0 0 - -1 - False - 0 0 @@ -22837,9 +21551,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -22864,9 +21575,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -22891,9 +21599,6 @@ Very High 0 0 0 - -1 - False - 0 0 @@ -22919,9 +21624,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -22997,9 +21699,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -23049,9 +21748,6 @@ Very High 0 0 rmargin - -1 - False - 0 @@ -23080,9 +21776,6 @@ Very High 0 0 lmargin - -1 - False - 0 @@ -23111,9 +21804,6 @@ Very High 0 0 pad - -1 - False - 0 @@ -23141,9 +21831,6 @@ Very High 0.5 0 0 - -1 - False - 0 4 @@ -23168,9 +21855,6 @@ Very High 0.5 0 0 - -1 - False - 0 4 @@ -23195,9 +21879,6 @@ Very High 0.5 0 0 - -1 - False - 0 4 @@ -23376,9 +22057,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -23403,9 +22081,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -23431,9 +22106,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -23458,9 +22130,6 @@ Very High 0 0 0 - -1 - False - 0 0 @@ -23485,9 +22154,6 @@ Very High 0 0 0 - -1 - False - 0 0 @@ -23600,9 +22266,6 @@ Very High 0 0 0 - -1 - False - 0 0 @@ -23648,9 +22311,6 @@ Very High 0.5 0 0 - -1 - False - 0 4 @@ -23676,9 +22336,6 @@ Very High 0 0 pad - -1 - False - 0 1 @@ -23709,9 +22366,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -23757,7 +22411,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -23839,9 +22492,6 @@ Very High 0.5 0 0 - -1 - False - 0 6 @@ -23909,9 +22559,6 @@ Very High 0.5 0 0 - -1 - False - 0 label_item @@ -23959,9 +22606,6 @@ Very High 0 0 photoDescription - -1 - False - 0 0 @@ -24049,7 +22693,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -24135,9 +22778,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24184,9 +22824,6 @@ Very High 0.5 0 0 - -1 - False - 0 label_item @@ -24223,9 +22860,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24250,9 +22884,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24277,9 +22908,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24304,9 +22932,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24331,9 +22956,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24358,9 +22980,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24386,9 +23005,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24413,9 +23029,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24475,9 +23088,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24502,9 +23112,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -24529,9 +23136,6 @@ Very High 0.5 0 0 - -1 - False - 0 3 @@ -24556,9 +23160,6 @@ Very High 0.5 0 0 - -1 - False - 0 3 @@ -24667,9 +23268,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24716,9 +23314,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24749,9 +23344,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -24822,9 +23414,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -24909,9 +23498,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -24967,9 +23553,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -25005,9 +23588,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25032,9 +23612,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25059,9 +23636,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -25085,9 +23659,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -25112,9 +23683,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -25158,8 +23726,6 @@ Very High False True False - False - False @@ -25308,9 +23874,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -25347,8 +23910,6 @@ Very High False True False - False - False @@ -25492,9 +24053,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -25534,7 +24092,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -25620,9 +24177,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -25669,9 +24223,6 @@ Very High 0.5 0 0 - -1 - False - 0 label_item @@ -25708,9 +24259,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -25735,9 +24283,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -25762,9 +24307,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -25789,9 +24331,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25815,9 +24354,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25842,9 +24378,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25911,9 +24444,6 @@ Very High 0 0 description - -1 - False - 0 1 @@ -25959,9 +24489,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -25987,9 +24514,6 @@ Very High 0 0 place - -1 - False - 0 1 @@ -26108,9 +24632,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -26146,9 +24667,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -26173,9 +24691,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -26199,9 +24714,6 @@ Very High 0.5 0 0 - -1 - False - 0 1 @@ -26226,9 +24738,6 @@ Very High 0.5 0 0 - -1 - False - 0 2 @@ -26253,9 +24762,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -26298,8 +24804,6 @@ Very High False True False - False - False @@ -26449,9 +24953,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -26522,9 +25023,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -26609,9 +25107,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -26635,8 +25130,6 @@ Very High False True False - False - False @@ -26659,9 +25152,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -26698,8 +25188,6 @@ Very High False True False - False - False @@ -26843,9 +25331,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -26882,7 +25367,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -26940,9 +25424,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -26967,9 +25448,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27023,7 +25501,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27109,9 +25586,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -27156,9 +25630,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27214,7 +25685,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27285,9 +25755,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -27332,9 +25799,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27368,7 +25832,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27439,9 +25902,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -27486,9 +25946,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27522,7 +25979,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27580,9 +26036,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -27627,9 +26080,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27663,7 +26113,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27721,9 +26170,6 @@ Very High 0.5 6 12 - -1 - False - 0 2 @@ -27768,9 +26214,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -27804,7 +26247,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -27876,9 +26318,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -27967,9 +26406,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -28015,9 +26451,6 @@ Very High 0.5 6 24 - -1 - False - 0 2 @@ -28062,9 +26495,6 @@ Very High 0.5 6 0 - -1 - False - 0 2 @@ -28124,7 +26554,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -28212,9 +26641,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -28257,9 +26683,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -28285,9 +26708,6 @@ Very High 0 0 eventDate - -1 - False - 0 @@ -28316,9 +26736,6 @@ Very High 0 0 event_description - -1 - False - 0 @@ -28347,9 +26764,6 @@ Very High 0 3 eventPlace - -1 - False - 0 @@ -28378,9 +26792,6 @@ Very High 0 0 eventCause - -1 - False - 0 @@ -28564,9 +26975,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -28603,8 +27011,6 @@ Very High False True False - False - False @@ -28748,9 +27154,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -28824,9 +27227,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -28911,9 +27311,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -28951,8 +27348,6 @@ Very High False True False - False - False @@ -29096,9 +27491,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -29310,9 +27702,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -29351,7 +27740,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -29436,9 +27824,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -29481,9 +27866,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -29509,9 +27891,6 @@ Very High 0 0 attr_value - -1 - False - 0 @@ -29605,9 +27984,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -29644,8 +28020,6 @@ Very High False True False - False - False @@ -29789,9 +28163,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -29863,9 +28234,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -29950,9 +28318,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -29991,7 +28356,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -30076,9 +28440,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -30111,9 +28472,6 @@ Very High 0 0 city - -1 - False - 0 @@ -30142,9 +28500,6 @@ Very High 0 0 county - -1 - False - 0 @@ -30173,9 +28528,6 @@ Very High 0 0 country - -1 - False - 0 Country: @@ -30205,9 +28557,6 @@ Very High 0 0 state - -1 - False - 0 State: @@ -30237,9 +28586,6 @@ Very High 0 0 parish - -1 - False - 0 @@ -30374,9 +28720,6 @@ Very High 0 0 phone - -1 - False - 0 0 @@ -30423,9 +28766,6 @@ Very High 0 0 postal - -1 - False - 0 0 @@ -30490,7 +28830,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -30576,9 +28915,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -30622,9 +28958,6 @@ Very High 0 0 address_start - -1 - False - 0 @@ -30653,9 +28986,6 @@ Very High 0 0 street - -1 - False - 0 @@ -30684,9 +29014,6 @@ Very High 0 0 city - -1 - False - 0 @@ -30715,9 +29042,6 @@ Very High 0 0 state - -1 - False - 0 @@ -30746,9 +29070,6 @@ Very High 0 0 country - -1 - False - 0 @@ -30777,9 +29098,6 @@ Very High 0 0 postal - -1 - False - 0 @@ -30957,9 +29275,6 @@ Very High 0 0 phone - -1 - False - 0 0 @@ -31038,9 +29353,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -31077,8 +29389,6 @@ Very High False True False - False - False @@ -31222,9 +29532,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -31296,9 +29603,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -31383,9 +29687,6 @@ Very High 0.5 0 0 - -1 - False - 0 tab @@ -31424,7 +29725,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -31510,9 +29810,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -31545,9 +29842,6 @@ Very High 0 0 url_addr - -1 - False - 0 @@ -31576,9 +29870,6 @@ Very High 0 0 url_des - -1 - False - 0 @@ -31704,7 +29995,6 @@ Very High False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True True @@ -31791,9 +30081,6 @@ Very High 0.5 0 10 - -1 - False - 0 0 @@ -31837,9 +30124,6 @@ Very High 0 0 alt_given - -1 - False - 0 @@ -31868,9 +30152,6 @@ Very High 0 0 alt_suffix - -1 - False - 0 @@ -31898,9 +30179,6 @@ Very High 0 1 0 - -1 - False - 0 @@ -31929,9 +30207,6 @@ Very High 0 0 alt_title - -1 - False - 0 @@ -31982,9 +30257,6 @@ Very High 0 0 alt_prefix - -1 - False - 0 @@ -32098,9 +30370,6 @@ Very High 0 0 patronymic - -1 - False - 0 @@ -32128,9 +30397,6 @@ Very High 0.5 0 0 - -1 - False - 0 @@ -32200,9 +30466,6 @@ Very High 0 0 group_as - -1 - False - 0 @@ -32230,9 +30493,6 @@ Very High 0.5 0 0 - -1 - False - 0 @@ -32282,9 +30542,6 @@ Very High 0.5 0 0 - -1 - False - 0 @@ -32312,9 +30569,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -32339,9 +30593,6 @@ Very High 0.5 0 0 - -1 - False - 0 0 @@ -32451,9 +30702,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 tab @@ -32491,8 +30739,6 @@ Family name Given name False True False - False - False @@ -32636,9 +30882,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 tab @@ -32711,9 +30954,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 0 @@ -32798,9 +31038,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 tab @@ -32839,7 +31076,6 @@ Family name Given name False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -32923,9 +31159,6 @@ Family name Given name 0.5 0 6 - -1 - False - 0 0 @@ -32958,9 +31191,6 @@ Family name Given name 0 0 name - -1 - False - 0 @@ -32989,9 +31219,6 @@ Family name Given name 0 0 scrolledwindow30 - -1 - False - 0 @@ -33172,7 +31399,6 @@ Family name Given name False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST - True False @@ -33243,9 +31469,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 0 @@ -33345,9 +31568,6 @@ Family name Given name 0.5 6 6 - -1 - False - 0 2 @@ -33371,9 +31591,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 2 @@ -33408,7 +31625,6 @@ Family name Given name False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST - True @@ -33433,9 +31649,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 1 @@ -33460,9 +31673,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 1 @@ -33487,9 +31697,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 1 @@ -33537,7 +31744,6 @@ Family name Given name False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -33617,9 +31823,6 @@ Family name Given name 0.5 0 6 - -1 - False - 0 0 @@ -33654,9 +31857,6 @@ Family name Given name 0 0 calendar_box - -1 - False - 0 6 @@ -33709,9 +31909,6 @@ Family name Given name 6 0 quality_box - -1 - False - 0 0 @@ -33756,9 +31953,6 @@ Family name Given name 6 0 type_box - -1 - False - 0 4 @@ -33802,9 +31996,6 @@ Family name Given name 0.5 6 0 - -1 - False - 0 0 @@ -33830,9 +32021,6 @@ Family name Given name 0 0 start_day - -1 - False - 0 1 @@ -33858,9 +32046,6 @@ Family name Given name 0 0 start_month_box - -1 - False - 0 2 @@ -33886,9 +32071,6 @@ Family name Given name 0 0 start_year - -1 - False - 0 3 @@ -33974,9 +32156,6 @@ Family name Given name 0.5 6 0 - -1 - False - 0 4 @@ -34002,9 +32181,6 @@ Family name Given name 0 0 stop_day - -1 - False - 0 5 @@ -34030,9 +32206,6 @@ Family name Given name 0 0 stop_month_box - -1 - False - 0 6 @@ -34058,9 +32231,6 @@ Family name Given name 0 0 stop_year - -1 - False - 0 7 @@ -34160,9 +32330,6 @@ Family name Given name 0 0 date_text_entry - -1 - False - 0 6 @@ -34229,7 +32396,6 @@ Family name Given name False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True False @@ -34297,9 +32463,6 @@ Family name Given name 0.5 0 0 - -1 - True - 0 0 @@ -34327,9 +32490,6 @@ Family name Given name 0.5 0 0 - -1 - False - 0 0 diff --git a/src/gramps_main.py b/src/gramps_main.py index 50de4e0fd..2b2f8dd5e 100755 --- a/src/gramps_main.py +++ b/src/gramps_main.py @@ -787,11 +787,16 @@ class Gramps: self.media_view.on_delete_clicked(obj) def enable_buttons(self,val): - self.add_button.set_sensitive(val) - self.remove_button.set_sensitive(val) + if self.db.readonly: + mode = False + else: + mode = val + self.add_button.set_sensitive(mode) + self.remove_button.set_sensitive(mode) + self.add_item.set_sensitive(mode) + self.remove_item.set_sensitive(mode) + self.edit_button.set_sensitive(val) - self.add_item.set_sensitive(val) - self.remove_item.set_sensitive(val) self.edit_item.set_sensitive(val) def on_show_plugin_status(self,obj): @@ -1071,6 +1076,7 @@ class Gramps: def read_file(self,filename,callback=None): self.topWindow.set_resizable(gtk.FALSE) + mode = "w" filename = os.path.normpath(os.path.abspath(filename)) if os.path.isdir(filename): @@ -1085,25 +1091,37 @@ class Gramps: 'file.')) return 0 elif not os.access(filename,os.W_OK): - ErrorDialog(_('Cannot open database'), - _('You do not have write access to the selected ' - 'file.')) - return 0 + mode = "r" + WarningDialog(_('Read only database'), + _('You do not have write access to the selected ' + 'file.')) - try: - if self.load_database(filename,callback) == 1: - if filename[-1] == '/': - filename = filename[:-1] - name = os.path.basename(filename) - self.topWindow.set_title("%s - GRAMPS" % name) - else: - GrampsKeys.save_last_file("") - ErrorDialog(_('Cannot open database'), - _('The database file specified could not be opened file.')) - return 0 - except db.DBAccessError, msg: +# try: +# if self.load_database(filename,callback,mode=mode) == 1: +# if filename[-1] == '/': +# filename = filename[:-1] +# name = os.path.basename(filename) +# self.topWindow.set_title("%s - GRAMPS" % name) +# else: +# GrampsKeys.save_last_file("") +# ErrorDialog(_('Cannot open database'), +# _('The database file specified could not be opened.')) +# return 0 +# except db.DBAccessError, msg: +# ErrorDialog(_('Cannot open database'), +# _('%s could not be opened.' % filename) + '\n' + msg[1]) +# return 0 + + + if self.load_database(filename,callback,mode=mode) == 1: + if filename[-1] == '/': + filename = filename[:-1] + name = os.path.basename(filename) + self.topWindow.set_title("%s - GRAMPS" % name) + else: + GrampsKeys.save_last_file("") ErrorDialog(_('Cannot open database'), - _('%s could not be opened.' % filename) + '\n' + msg[1]) + _('The database file specified could not be opened.')) return 0 self.topWindow.set_resizable(gtk.TRUE) @@ -1583,6 +1601,7 @@ class Gramps: self.goto_active_person() if callback: callback(_('Setup complete')) + self.enable_buttons(True) return 1 def find_initial_person(self): @@ -1594,7 +1613,7 @@ class Gramps: person = self.db.get_person_from_handle(the_ids[0]) return person - def load_database(self,name,callback=None): + def load_database(self,name,callback=None,mode="w"): filename = name @@ -1603,7 +1622,7 @@ class Gramps: if callback: callback(_('Opening database...')) - if self.db.load(filename,callback) == 0: + if self.db.load(filename,callback,mode) == 0: self.status_text('') return 0 self.status_text('')