Fixed mergine and name types
svn: r1060
This commit is contained in:
		| @@ -779,10 +779,14 @@ def name_of(p): | ||||
|  | ||||
| #------------------------------------------------------------------------- | ||||
| # | ||||
| # | ||||
| # Merge Places | ||||
| # | ||||
| #------------------------------------------------------------------------- | ||||
| class MergePlaces: | ||||
|     """ | ||||
|     Merges to places into a single place. Displays a dialog box that | ||||
|     allows the places to be combined into one. | ||||
|     """ | ||||
|     def __init__(self,database,place1,place2,update): | ||||
|         self.db = database | ||||
|         self.p1 = place1 | ||||
| @@ -803,23 +807,39 @@ class MergePlaces: | ||||
|         self.top.show() | ||||
|  | ||||
|     def on_merge_places_clicked(self,obj): | ||||
|         """ | ||||
|         Performs the merge of the places when the merge button is clicked. | ||||
|         """ | ||||
|         t2active = self.glade.get_widget("title2").get_active() | ||||
|  | ||||
|         old_id = self.p1.getId() | ||||
|          | ||||
|         if t2active: | ||||
|             self.p1.set_title(self.p2.get_title()) | ||||
|         elif self.glade.get_widget("title3").get_active(): | ||||
|             self.p1.set_title(self.t3.get_text()) | ||||
|  | ||||
|         # Set longitude | ||||
|         if self.p1.get_longitude() == "" and self.p2.get_longitude() != "": | ||||
|             self.p1.set_longitude(self.p2.get_longitude()) | ||||
|  | ||||
|         # Set latitude | ||||
|         if self.p1.get_latitude() == "" and self.p2.get_latitude() != "": | ||||
|             self.p1.set_latitude(self.p2.get_latitude()) | ||||
|  | ||||
|         # Add URLs from P2 to P1 | ||||
|         for url in self.p2.getUrlList(): | ||||
|             self.p1.addUrl(url) | ||||
|  | ||||
|         # Copy photos from P2 to P1 | ||||
|         for photo in self.p2.getPhotoList(): | ||||
|             self.p1.addPhoto(photo) | ||||
|  | ||||
|         # Copy sources from P2 to P1 | ||||
|         for source in self.p2.getSourceRefList(): | ||||
|             self.p1.addSource(source) | ||||
|  | ||||
|         # Add notes from P2 to P1 | ||||
|         note = self.p2.getNote() | ||||
|         if note != "": | ||||
|             if self.p1.getNote() == "": | ||||
| @@ -839,20 +859,23 @@ class MergePlaces: | ||||
|                 if not l.is_empty(): | ||||
|                     self.p1.add_alternate_locations(l) | ||||
|  | ||||
|  | ||||
|         # loop through people, changing event references to P2 to P1 | ||||
|         for key in self.db.getPersonKeys(): | ||||
|             p = self.db.getPerson(key) | ||||
|             for event in [p.getBirth(), p.getDeath()] + p.getEventList(): | ||||
|                 if event.getPlace() == self.p2: | ||||
|                     event.setPlace(self.p1) | ||||
|  | ||||
|         # loop through families, changing event references to P2 to P1 | ||||
|         for f in self.db.getFamilyMap().values(): | ||||
|             for event in f.getEventList(): | ||||
|                 if event.getPlace() == self.p2: | ||||
|                     event.setPlace(self.p1) | ||||
|                      | ||||
|         self.db.removePlace(self.p2.getId()) | ||||
|         self.db.buildPlaceDisplay(self.p1.getId(),old_id) | ||||
|          | ||||
|         self.update() | ||||
|         self.update(self.p1.getId()) | ||||
|         Utils.modified() | ||||
|         Utils.destroy_passed_object(obj) | ||||
|  | ||||
|   | ||||
| @@ -81,26 +81,31 @@ class PlaceView: | ||||
|     def change_db(self,db): | ||||
|         self.db = db | ||||
|  | ||||
|     def load_places(self): | ||||
|     def load_places(self,id=None): | ||||
|         """Rebuilds the entire place view. This can be very time consuming | ||||
|         on large databases, and should only be called when absolutely | ||||
|         necessary""" | ||||
|          | ||||
|         if len(self.place_list.selection) == 0: | ||||
|             current_row = 0 | ||||
|         else: | ||||
|             current_row = self.place_list.selection[0] | ||||
|  | ||||
|         self.place_list.freeze() | ||||
|         self.place_list.clear() | ||||
|         self.place_list.set_column_visibility(1,GrampsCfg.id_visible) | ||||
|  | ||||
|         if len(self.place_list.selection) == 0: | ||||
|             current_row = 0 | ||||
|         else: | ||||
|             current_row = self.place_list.selection[0] | ||||
|  | ||||
|         index = 0 | ||||
|         for key in self.db.getPlaceKeys(): | ||||
|             self.place_list.append(self.db.getPlaceDisplay(key)) | ||||
|             self.place_list.set_row_data(index,key) | ||||
|             index = index + 1 | ||||
|  | ||||
|         self.place_sort.sort_list() | ||||
|  | ||||
|         if id: | ||||
|             current_row = self.place_list.find_row_from_data(id) | ||||
|  | ||||
|         if index > 0: | ||||
|             self.place_list.select_row(current_row,0) | ||||
|             self.place_list.moveto(current_row) | ||||
| @@ -109,7 +114,6 @@ class PlaceView: | ||||
|         else: | ||||
|             self.active = None | ||||
|  | ||||
|         self.place_sort.sort_list() | ||||
|         self.place_list.thaw() | ||||
|          | ||||
|     def select_row(self,obj,row,b,c): | ||||
|   | ||||
| @@ -478,7 +478,7 @@ class XmlWriter: | ||||
|     def dump_name(self,label,name,index=1): | ||||
|         sp = "  "*index | ||||
|         type = name.getType() | ||||
|         if type and type != "Birth Name": | ||||
|         if type: | ||||
|             self.g.write('%s<%s type="%s"%s>\n' % (sp,label,type,conf_priv(name))) | ||||
|         else: | ||||
|             self.g.write('%s<%s%s>\n' % (sp,label,conf_priv(name))) | ||||
|   | ||||
							
								
								
									
										1975
									
								
								src/po/it.po
									
									
									
									
									
								
							
							
						
						
									
										1975
									
								
								src/po/it.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user