* src/gramps_main.py (post_load): Emit "database-changed" signal instead of calling change_db().
* src/PedView.py: Connect to "database-changed" signal and handle person-update signals to redraw the view. * src/FamilyView.py (__init__) connect to database-changed signal, dont call change_cb because on initialisation there is no real database. (change_db): use database parameter supplied by signal emission. * src/PeopleView.py (__init__) dont connect the signals, this will be done by change_db, (change_db): Use supplied database. * src/SourceView.py (__init__): dont call change_cb because on initialisation there is no real database and this will be done by the signal. svn: r4304
This commit is contained in:
		
							
								
								
									
										13
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -1,3 +1,16 @@ | ||||
| 2005-04-06  Martin Hawlisch  <Martin.Hawlisch@gmx.de> | ||||
| 	* src/gramps_main.py (post_load): Emit "database-changed" signal instead of | ||||
| 	calling change_db(). | ||||
| 	* src/PedView.py: Connect to "database-changed" signal and handle person-update signals | ||||
| 	to redraw the view. | ||||
| 	* src/FamilyView.py (__init__) connect to database-changed signal, dont call | ||||
| 	change_cb because on initialisation there is no real database. (change_db): | ||||
| 	use database parameter supplied by signal emission. | ||||
| 	* src/PeopleView.py (__init__) dont connect the signals, this will be done by change_db, | ||||
| 	(change_db): Use supplied database. | ||||
| 	* src/SourceView.py (__init__): dont call change_cb because on initialisation | ||||
| 	there is no real database and this will be done by the signal. | ||||
|  | ||||
| 2005-04-04  Richard Taylor <rjt-gramps@thegrindstone.me.uk> | ||||
| 	* src/plugins/ScratchPad.py: made clear buttons sensitive to contents of  | ||||
| 	list and current selection. Added support for PERSON_LINK dnd. | ||||
|   | ||||
| @@ -90,23 +90,23 @@ class FamilyView: | ||||
|  | ||||
|     def __init__(self,parent): | ||||
|         self.parent = parent | ||||
|         self.parent.connect('database-changed',self.change_db) | ||||
|         self.top = parent.gtop | ||||
|         self.family = None | ||||
|         self.cadded = [ 0, 0 ] | ||||
|         self.in_drag = False | ||||
|         self.init_interface() | ||||
|         self.change_db() | ||||
|  | ||||
|     def change_db(self): | ||||
|         self.parent.db.connect('family-add', self.update_callback) | ||||
|         self.parent.db.connect('family-update', self.update_callback) | ||||
|         self.parent.db.connect('family-delete', self.update_callback) | ||||
|         self.parent.db.connect('family-rebuild', self.load_family) | ||||
|     def change_db(self,db): | ||||
|         db.connect('family-add', self.update_callback) | ||||
|         db.connect('family-update', self.update_callback) | ||||
|         db.connect('family-delete', self.update_callback) | ||||
|         db.connect('family-rebuild', self.load_family) | ||||
|  | ||||
|         self.parent.db.connect('person-add', self.update_callback) | ||||
|         self.parent.db.connect('person-update', self.update_callback) | ||||
|         self.parent.db.connect('person-delete', self.update_callback) | ||||
|         self.parent.db.connect('person-rebuild', self.load_family) | ||||
|         db.connect('person-add', self.update_callback) | ||||
|         db.connect('person-update', self.update_callback) | ||||
|         db.connect('person-delete', self.update_callback) | ||||
|         db.connect('person-rebuild', self.load_family) | ||||
|  | ||||
|     def update_callback(self,handle): | ||||
|         self.load_family() | ||||
|   | ||||
| @@ -164,6 +164,9 @@ class DispBox: | ||||
| class PedigreeView: | ||||
|     def __init__(self,parent,canvas,update,status_bar,lp): | ||||
|         self.parent = parent | ||||
|  | ||||
|         self.parent.connect('database-changed',self.change_db) | ||||
|  | ||||
|         self.canvas = canvas | ||||
|         self.canvas_items = [] | ||||
|         self.boxes = [] | ||||
| @@ -181,6 +184,17 @@ class PedigreeView: | ||||
|         self.anchor = None | ||||
|         self.canvas.parent.connect('button-press-event',self.on_canvas_press) | ||||
|  | ||||
|     def change_db(self,db): | ||||
|         # Reconnect signals | ||||
|         db.connect('person-add', self.person_updated_cb) | ||||
|         db.connect('person-update', self.person_updated_cb) | ||||
|         db.connect('person-delete', self.person_updated_cb) | ||||
|         db.connect('person-rebuild', self.person_updated_cb) | ||||
|  | ||||
|     def person_updated_cb(self,handle_list): | ||||
|         # Redraw view on changes of persons | ||||
|         self.load_canvas(self.active_person) | ||||
|          | ||||
|     def clear(self): | ||||
|         for i in self.canvas_items: | ||||
|             i.destroy() | ||||
|   | ||||
| @@ -91,11 +91,6 @@ class PeopleView: | ||||
|         self.person_tree.connect('button-press-event', | ||||
|                                  self.on_plist_button_press) | ||||
|  | ||||
|         self.parent.db.connect('person-add', self.person_added) | ||||
|         self.parent.db.connect('person-update', self.person_updated) | ||||
|         self.parent.db.connect('person-delete', self.person_removed) | ||||
|         self.parent.db.connect('person-rebuild', self.redisplay_person_list) | ||||
|  | ||||
|         # | ||||
|         # DnD support | ||||
|         # | ||||
| @@ -187,10 +182,10 @@ class PeopleView: | ||||
|         self.person_model = PeopleModel.PeopleModel(db,self.DataFilter) | ||||
|         self.person_tree.set_model(self.person_model) | ||||
|  | ||||
|         self.parent.db.connect('person-add', self.person_added) | ||||
|         self.parent.db.connect('person-update', self.person_updated) | ||||
|         self.parent.db.connect('person-delete', self.person_removed) | ||||
|         self.parent.db.connect('person-rebuild', self.redisplay_person_list) | ||||
|         db.connect('person-add', self.person_added) | ||||
|         db.connect('person-update', self.person_updated) | ||||
|         db.connect('person-delete', self.person_removed) | ||||
|         db.connect('person-rebuild', self.redisplay_person_list) | ||||
|         self.apply_filter() | ||||
|  | ||||
|     def remove_from_person_list(self,person): | ||||
|   | ||||
| @@ -81,7 +81,6 @@ class SourceView: | ||||
|         self.topWindow = self.glade.get_widget("gramps") | ||||
|  | ||||
|         self.columns = [] | ||||
|         self.change_db(db) | ||||
|  | ||||
|     def build_columns(self): | ||||
|         for column in self.columns: | ||||
|   | ||||
| @@ -1667,23 +1667,13 @@ class Gramps(GrampsDBCallback.GrampsDBCallback): | ||||
|         GrampsKeys.save_last_file(name) | ||||
|         self.gtop.get_widget("filter").set_text("") | ||||
|      | ||||
|         if callback: | ||||
|             callback(_('Building Person list...')) | ||||
|         self.people_view.change_db(self.db) | ||||
|         self.family_view.change_db() | ||||
|         if callback: | ||||
|             callback(_('Building Place list...')) | ||||
|         self.place_view.change_db(self.db) | ||||
|         if callback: | ||||
|             callback(_('Building Source list...')) | ||||
|         self.source_view.change_db(self.db) | ||||
|         if callback: | ||||
|             callback(_('Building Media list...')) | ||||
|         self.media_view.change_db(self.db) | ||||
|         self.emit("database-changed", (self.db,)) | ||||
|          | ||||
|         self.relationship = self.RelClass(self.db) | ||||
|  | ||||
|         self.change_active_person(self.find_initial_person()) | ||||
|         self.goto_active_person() | ||||
|         self.goto_active_person()   # TODO: This should emit a signal so other views can update itself | ||||
|          | ||||
|         if callback: | ||||
|             callback(_('Setup complete')) | ||||
|         self.enable_buttons(True) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user