* src/DisplayState.py: Work out parent_window, correct close method.
* src/EventEdit.py: Use parent_window; get rid of parent; remove unused code. svn: r5614
This commit is contained in:
		| @@ -22,6 +22,10 @@ | ||||
| 	* src/GrampsDb/_GrampsBSDDB.py (close): close reference_map tables. | ||||
| 	* src/ViewManager.py (quit): Add function to properly quit. | ||||
|  | ||||
| 	* src/DisplayState.py: Work out parent_window, correct close method. | ||||
| 	* src/EventEdit.py: Use parent_window; get rid of parent; remove | ||||
| 	unused code. | ||||
| 	 | ||||
| 2005-12-21 Richard Taylor <rjt-gramps@thegrindstone.me.uk> | ||||
| 	* src/EditSource.py: fixed small mistake in display_references | ||||
|  | ||||
|   | ||||
| @@ -359,7 +359,7 @@ class ManagedWindow: | ||||
|     def __init__(self,uistate,track,window_key,submenu_label,menu_label): | ||||
|         """ | ||||
|         Create child windows and add itself to menu, if not there already. | ||||
|  | ||||
|          | ||||
|  | ||||
|         The usage from derived classes is envisioned as follows: | ||||
|  | ||||
| @@ -393,8 +393,28 @@ class ManagedWindow: | ||||
|             self.menu_label = menu_label | ||||
|             self.uistate = uistate | ||||
|             self.track = self.uistate.gwm.add_item(track,self) | ||||
|             # Work out parent_window | ||||
|             if len(self.track) > 1: | ||||
|             # We don't belong to the lop level | ||||
|                 if self.track[-1] > 0: | ||||
|                 # If we are not the first in the group, | ||||
|                 # then first in that same group is our parent | ||||
|                     parent_item_track = self.track[:-1] | ||||
|                     parent_item_track.append(0) | ||||
|                 else: | ||||
|                 # If we're first in the group, then our parent | ||||
|                 # is the first in the group one level up | ||||
|                     parent_item_track = self.track[:-2] | ||||
|                     parent_item_track.append(0) | ||||
|  | ||||
|     def close(self,obj=None): | ||||
|                 # Based on the track, get item and then window object | ||||
|                 self.parent_window = self.uistate.gwm.get_item_from_track( | ||||
|                     parent_item_track).window | ||||
|             else: | ||||
|                 # On the top level: we use gramps top window | ||||
|                 self.parent_window = self.uistate.window | ||||
|  | ||||
|     def close(self,obj=None,obj2=None): | ||||
|         """ | ||||
|         Close itself. | ||||
|  | ||||
|   | ||||
| @@ -443,10 +443,6 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|         self.state = state | ||||
|         self.uistate = uistate | ||||
|         self.referent = referent | ||||
|         #if self.parent.__dict__.has_key('child_windows'): | ||||
|         #    self.win_parent = self.parent | ||||
|         #else: | ||||
|         #    self.win_parent = self.parent.parent | ||||
|         if event_ref: | ||||
|             win_key = event_ref | ||||
|         else: | ||||
| @@ -523,7 +519,7 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|             "on_eer_help_clicked"   : self.on_help_clicked, | ||||
|             "on_eer_ok_clicked"     : self.on_ok_clicked, | ||||
|             "on_eer_cancel_clicked" : self.close, | ||||
|             "on_eer_delete_event"   : self.on_delete_event, | ||||
|             "on_eer_delete_event"   : self.close, | ||||
|             }) | ||||
|  | ||||
|         if self.referent.__class__.__name__ == 'Person': | ||||
| @@ -610,51 +606,8 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|         if self.event.get_media_list(): | ||||
|             Utils.bold_label(self.gallery_label) | ||||
|  | ||||
|         #self.add_itself_to_menu() | ||||
|         #try: | ||||
|         #    self.window.set_transient_for(self.parent.window) | ||||
|         #except AttributeError: | ||||
|         #    pass | ||||
|         self.window.set_transient_for(self.parent_window) | ||||
|         self.window.show() | ||||
|         print "added track:", self.track | ||||
|  | ||||
|     def on_delete_event(self,obj,b): | ||||
|         #self.close_child_windows() | ||||
|         #self.remove_itself_from_menu() | ||||
|         self.close() | ||||
|  | ||||
| #    def close(self,obj): | ||||
| #        self.close_child_windows() | ||||
| #        self.remove_itself_from_menu() | ||||
| #        self.window.destroy() | ||||
|  | ||||
|     def close_child_windows(self): | ||||
|         for child_window in self.child_windows.values(): | ||||
|             child_window.close(None) | ||||
|         self.child_windows = {} | ||||
|  | ||||
|     def add_itself_to_menu(self): | ||||
|         self.win_parent.child_windows[self.win_key] = self | ||||
|         label = _('Event Reference') | ||||
|         self.parent_menu_item = gtk.MenuItem(label) | ||||
|         self.parent_menu_item.set_submenu(gtk.Menu()) | ||||
|         self.parent_menu_item.show() | ||||
|         self.win_parent.winsmenu.append(self.parent_menu_item) | ||||
|         self.winsmenu = self.parent_menu_item.get_submenu() | ||||
|         self.menu_item = gtk.MenuItem(self.title) | ||||
|         self.menu_item.connect("activate",self.present) | ||||
|         self.menu_item.show() | ||||
|         self.winsmenu.append(self.menu_item) | ||||
|  | ||||
|     def remove_itself_from_menu(self): | ||||
|         return | ||||
|         del self.win_parent.child_windows[self.win_key] | ||||
|         self.menu_item.destroy() | ||||
|         self.winsmenu.destroy() | ||||
|         self.parent_menu_item.destroy() | ||||
|  | ||||
| #    def present(self,obj): | ||||
| #        self.window.present() | ||||
|  | ||||
|     def on_help_clicked(self,obj): | ||||
|         pass | ||||
| @@ -672,10 +625,11 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|         eformat = self.preform.get_active() | ||||
|         edesc = unicode(self.descr_field.get_text()) | ||||
|         epriv = self.ev_privacy.get_active() | ||||
|         self.lists_changed = 0 | ||||
|         self.update_event(etype,self.date,eplace_obj,edesc,enote,eformat, | ||||
|                           epriv,ecause) | ||||
|         # event is a primary object, so its change has to be committed now | ||||
|         if self.parent.lists_changed: | ||||
|         if self.lists_changed: | ||||
|             trans = self.db.transaction_begin() | ||||
|             self.db.commit_event(self.event,trans) | ||||
|             if self.event_added: | ||||
| @@ -700,27 +654,27 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|         if place: | ||||
|             if self.event.get_place_handle() != place.get_handle(): | ||||
|                 self.event.set_place_handle(place.get_handle()) | ||||
|                 self.parent.lists_changed = 1 | ||||
|                 self.lists_changed = 1 | ||||
|         else: | ||||
|             if self.event.get_place_handle(): | ||||
|                 self.event.set_place_handle("") | ||||
|                 self.parent.lists_changed = 1 | ||||
|                 self.lists_changed = 1 | ||||
|          | ||||
|         if self.event.get_type() != the_type: | ||||
|             self.event.set_type(the_type) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|          | ||||
|         if self.event.get_description() != desc: | ||||
|             self.event.set_description(desc) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|         if self.event.get_note() != note: | ||||
|             self.event.set_note(note) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|         if self.event.get_note_format() != format: | ||||
|             self.event.set_note_format(format) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|         dobj = self.event.get_date_object() | ||||
|  | ||||
| @@ -728,15 +682,15 @@ class EventRefEditor(DisplayState.ManagedWindow): | ||||
|          | ||||
|         if not dobj.is_equal(date): | ||||
|             self.event.set_date_object(date) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|         if self.event.get_cause() != cause: | ||||
|             self.event.set_cause(cause) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|         if self.event.get_privacy() != priv: | ||||
|             self.event.set_privacy(priv) | ||||
|             self.parent.lists_changed = 1 | ||||
|             self.lists_changed = 1 | ||||
|  | ||||
|     def on_switch_page(self,obj,a,page): | ||||
|         buf = self.ev_note_field.get_buffer() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user