diff --git a/ChangeLog b/ChangeLog index 353e9f373..d73a06bc9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-03-25 Richard Taylor + * src/Sources.py: converted to use DdTargets.py + * src/FamilyView.py: converted to use DdTargets.py + * src/EditPerson.py: converted to use DdTargets.py + * src/EditPlace.py: converted to use DdTargets.py + * src/Marriage.py: converted to use DdTargets.py + * src/DdTargets.py: added targets for FAMILY_EVENT, FAMILY_ATTRIBUTE, + CHILD and SPOUSE + 2005-03-24 Alex Roitman * src/RelLib.py (Witness.__init__): Typo. * src/plugins/Check.py (cleanup_missing_photos): Use new mediaref diff --git a/src/DdTargets.py b/src/DdTargets.py index 3b8e1d40d..816fc54bb 100644 --- a/src/DdTargets.py +++ b/src/DdTargets.py @@ -97,11 +97,17 @@ class _DdTargets(object): self._type_map = {} self._app_id_map = {} - self.URL = _DdType(self,'url',0,0) - self.EVENT = _DdType(self,'pevent',0,1) - self.ATTRIBUTE = _DdType(self,'pattr',0,2) - self.ADDRESS = _DdType(self,'paddr',0,3) - self.SOURCEREF = _DdType(self,'srcref',0,4) + self.URL = _DdType(self,'url') + self.EVENT = _DdType(self,'pevent') + self.ATTRIBUTE = _DdType(self,'pattr') + self.ADDRESS = _DdType(self,'paddr') + self.SOURCEREF = _DdType(self,'srcref') + + self.FAMILY_EVENT = _DdType(self,'fevent') + self.FAMILY_ATTRIBUTE = _DdType(self,'fattr') + + self.CHILD = _DdType(self,'child') + self.SPOUSE = _DdType(self,'spouce') self.TEXT = _DdType(self,'TEXT',0,1) self.TEXT_MIME = _DdType(self,'text/plain',0,0) diff --git a/src/EditPerson.py b/src/EditPerson.py index 67802dbc5..c1232ca05 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -63,6 +63,9 @@ import NameDisplay from QuestionDialog import WarningDialog, ErrorDialog, SaveDialog +from DdTargets import DdTargets + + #------------------------------------------------------------------------- # # Constants @@ -75,12 +78,6 @@ _temple_names = const.lds_temple_codes.keys() _temple_names.sort() _temple_names = [""] + _temple_names -pycode_tgts = [('url', 0, 0), - ('pevent', 0, 1), - ('pattr', 0, 2), - ('paddr', 0, 3), - ('srcref', 0, 4)] - _use_patronymic = [ "ru","RU","ru_RU","koi8r","ru_koi8r","russian","Russian", @@ -403,29 +400,43 @@ class EditPerson: self.flowed.set_active(1) Utils.bold_label(self.notes_label) - self.event_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, pycode_tgts, + self.event_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, + [DdTargets.EVENT.target()], ACTION_COPY) - self.event_list.drag_source_set(BUTTON1_MASK, pycode_tgts, ACTION_COPY) + self.event_list.drag_source_set(BUTTON1_MASK, + [DdTargets.EVENT.target()], + ACTION_COPY) self.event_list.connect('drag_data_get', self.ev_drag_data_get) self.event_list.connect('drag_begin', self.ev_drag_begin) self.event_list.connect('drag_data_received', self.ev_drag_data_received) - self.web_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,pycode_tgts, + self.web_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, + [DdTargets.URL.target()], ACTION_COPY) - self.web_list.drag_source_set(BUTTON1_MASK, pycode_tgts, ACTION_COPY) + self.web_list.drag_source_set(BUTTON1_MASK, + [DdTargets.URL.target()], + ACTION_COPY) self.web_list.connect('drag_data_get', self.url_drag_data_get) self.web_list.connect('drag_begin', self.url_drag_begin) self.web_list.connect('drag_data_received',self.url_drag_data_received) - self.attr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,pycode_tgts,ACTION_COPY) - self.attr_list.drag_source_set(BUTTON1_MASK, pycode_tgts, ACTION_COPY) + self.attr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, + [DdTargets.ATTRIBUTE.target()], + ACTION_COPY) + self.attr_list.drag_source_set(BUTTON1_MASK, + [DdTargets.ATTRIBUTE.target()], + ACTION_COPY) self.attr_list.connect('drag_data_get', self.at_drag_data_get) self.attr_list.connect('drag_data_received',self.at_drag_data_received) self.attr_list.connect('drag_begin', self.at_drag_begin) - self.addr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL,pycode_tgts,ACTION_COPY) - self.addr_list.drag_source_set(BUTTON1_MASK, pycode_tgts,ACTION_COPY) + self.addr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, + [DdTargets.ADDRESS.target()], + ACTION_COPY) + self.addr_list.drag_source_set(BUTTON1_MASK, + [DdTargets.ADDRESS.target()], + ACTION_COPY) self.addr_list.connect('drag_data_get', self.ad_drag_data_get) self.addr_list.connect('drag_data_received',self.ad_drag_data_received) self.addr_list.connect('drag_begin', self.ad_drag_begin) @@ -813,7 +824,7 @@ class EditPerson: exec 'data = %s' % sel_data.data exec 'mytype = "%s"' % data[0] exec 'person = "%s"' % data[1] - if mytype != 'pevent': + if mytype != DdTargets.EVENT.drag_type: return elif person == self.person.get_handle(): self.move_element(self.elist,self.etree.get_selected_row(),row) @@ -843,7 +854,7 @@ class EditPerson: bits_per = 8; # we're going to pass a string pickled = pickle.dumps(ev[0]); - data = str(('pevent',self.person.get_handle(),pickled)); + data = str((DdTargets.EVENT.drag_type,self.person.get_handle(),pickled)); sel_data.set(sel_data.target, bits_per, data) def ev_drag_begin(self, context, a): @@ -862,7 +873,7 @@ class EditPerson: exec 'data = %s' % sel_data.data exec 'mytype = "%s"' % data[0] exec 'person = "%s"' % data[1] - if mytype != "url": + if mytype != DdTargets.URL.drag_type: return elif person == self.person.get_handle(): self.move_element(self.ulist,self.wtree.get_selected_row(),row) @@ -881,7 +892,7 @@ class EditPerson: if len(ev): bits_per = 8; # we're going to pass a string pickled = pickle.dumps(ev[0]); - data = str(('url',self.person.get_handle(),pickled)); + data = str((DdTargets.URL.drag_type,self.person.get_handle(),pickled)); sel_data.set(sel_data.target, bits_per, data) def at_drag_data_received(self,widget,context,x,y,sel_data,info,time): @@ -891,7 +902,7 @@ class EditPerson: exec 'data = %s' % sel_data.data exec 'mytype = "%s"' % data[0] exec 'person = "%s"' % data[1] - if mytype != 'pattr': + if mytype != DdTargets.ATTRIBUTE.drag_type: return elif person == self.person.get_handle(): self.move_element(self.alist,self.atree.get_selected_row(),row) @@ -914,7 +925,8 @@ class EditPerson: if len(ev): bits_per = 8; # we're going to pass a string pickled = pickle.dumps(ev[0]); - data = str(('pattr',self.person.get_handle(),pickled)); + data = str((DdTargets.ATTRIBUTE.drag_type, + self.person.get_handle(),pickled)); sel_data.set(sel_data.target, bits_per, data) def ad_drag_data_received(self,widget,context,x,y,sel_data,info,time): @@ -924,7 +936,7 @@ class EditPerson: exec 'data = %s' % sel_data.data exec 'mytype = "%s"' % data[0] exec 'person = "%s"' % data[1] - if mytype != 'paddr': + if mytype != DdTargets.ADDRESS.drag_type: return elif person == self.person.get_handle(): self.move_element(self.plist,self.ptree.get_selected_row(),row) @@ -945,7 +957,8 @@ class EditPerson: if len(ev): bits_per = 8; # we're going to pass a string pickled = pickle.dumps(ev[0]); - data = str(('paddr',self.person.get_handle(),pickled)); + data = str((DdTargets.ADDRESS.drag_type, + self.person.get_handle(),pickled)); sel_data.set(sel_data.target, bits_per, data) def ad_drag_begin(self, context, a): diff --git a/src/EditPlace.py b/src/EditPlace.py index f80c367b6..ea30c045c 100644 --- a/src/EditPlace.py +++ b/src/EditPlace.py @@ -49,14 +49,8 @@ import Sources import ImageSelect import NameDisplay -#------------------------------------------------------------------------- -# -# Constants -# -#------------------------------------------------------------------------- -pycode_tgts = [ - ('url' , 0, 0), - ('srcref', 0, 4)] +from DdTargets import DdTargets + #------------------------------------------------------------------------- # @@ -229,9 +223,11 @@ class EditPlace: self.top_window.get_widget("delete_photo").set_sensitive(0) self.web_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, - pycode_tgts,gtk.gdk.ACTION_COPY) + [DdTargets.URL.target()], + gtk.gdk.ACTION_COPY) self.web_list.drag_source_set(gtk.gdk.BUTTON1_MASK, - pycode_tgts, gtk.gdk.ACTION_COPY) + [DdTargets.URL.target()], + gtk.gdk.ACTION_COPY) self.web_list.connect('drag_data_get', self.url_source_drag_data_get) self.web_list.connect('drag_data_received', diff --git a/src/FamilyView.py b/src/FamilyView.py index 4ba354e9f..2a720d893 100644 --- a/src/FamilyView.py +++ b/src/FamilyView.py @@ -57,6 +57,8 @@ import NameDisplay from QuestionDialog import QuestionDialog,WarningDialog +from DdTargets import DdTargets + #------------------------------------------------------------------------- # # Constants @@ -65,9 +67,6 @@ from QuestionDialog import QuestionDialog,WarningDialog _BORN = _('b.') _DIED = _('d.') -pycode_tgts = [('child', 0, 0)] - -spcode_tgts = [('spouse', 0, 0)] column_names = [ (_('#'),0) , @@ -185,9 +184,11 @@ class FamilyView: self.parent.views.get_nth_page(2).hide() self.spouse_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, - spcode_tgts,ACTION_COPY) + [DdTargets.SPOUSE.target()], + ACTION_COPY) self.spouse_list.drag_source_set(BUTTON1_MASK, - spcode_tgts, ACTION_COPY) + [DdTargets.SPOUSE.target()], + ACTION_COPY) self.spouse_list.connect('drag_data_get', self.sp_drag_data_get) self.spouse_list.connect('drag_data_received', @@ -239,8 +240,11 @@ class FamilyView: self.selected_spouse = None self.child_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, - pycode_tgts,ACTION_COPY) - self.child_list.drag_source_set(BUTTON1_MASK, pycode_tgts, ACTION_COPY) + [DdTargets.CHILD.target()], + ACTION_COPY) + self.child_list.drag_source_set(BUTTON1_MASK, + [DdTargets.CHILD.target()], + ACTION_COPY) self.child_list.connect('drag_data_get', self.drag_data_get) self.child_list.connect('drag_data_received',self.drag_data_received) diff --git a/src/Marriage.py b/src/Marriage.py index ee059191f..6cf6d7c09 100644 --- a/src/Marriage.py +++ b/src/Marriage.py @@ -58,6 +58,7 @@ import Date import DateEdit from QuestionDialog import QuestionDialog, WarningDialog, SaveDialog +from DdTargets import DdTargets #------------------------------------------------------------------------- # @@ -68,11 +69,6 @@ _temple_names = const.lds_temple_codes.keys() _temple_names.sort() _temple_names = [""] + _temple_names -pycode_tgts = [ - ('fevent', 0, 0), - ('fattr', 0, 1), - ('srcref', 0, 4), - ] #------------------------------------------------------------------------- # @@ -270,9 +266,11 @@ class Marriage: Utils.unbold_label(self.lds_label) self.event_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, - pycode_tgts,gtk.gdk.ACTION_COPY) + [DdTargets.FAMILY_EVENT.target()], + gtk.gdk.ACTION_COPY) self.event_list.drag_source_set(gtk.gdk.BUTTON1_MASK, - pycode_tgts, gtk.gdk.ACTION_COPY) + [DdTargets.FAMILY_EVENT.target()], + gtk.gdk.ACTION_COPY) self.event_list.connect('drag_data_get', self.ev_source_drag_data_get) self.event_list.connect('drag_data_received', @@ -280,9 +278,11 @@ class Marriage: self.event_list.connect('drag_begin', self.ev_drag_begin) self.attr_list.drag_dest_set(gtk.DEST_DEFAULT_ALL, - pycode_tgts,gtk.gdk.ACTION_COPY) + [DdTargets.FAMILY_ATTRIBUTE.target()], + gtk.gdk.ACTION_COPY) self.attr_list.drag_source_set(gtk.gdk.BUTTON1_MASK, - pycode_tgts,gtk.gdk.ACTION_COPY) + [DdTargets.FAMILY_ATTRIBUTE.target()], + gtk.gdk.ACTION_COPY) self.attr_list.connect('drag_data_get', self.at_source_drag_data_get) self.attr_list.connect('drag_data_received', diff --git a/src/Sources.py b/src/Sources.py index fca798486..c9268450c 100644 --- a/src/Sources.py +++ b/src/Sources.py @@ -51,11 +51,14 @@ import Date import DateEdit import DateHandler -pycode_tgts = [('url', 0, 0), - ('pevent', 0, 1), - ('pattr', 0, 2), - ('paddr', 0, 3), - ('srcref', 0, 4)] +from DdTargets import DdTargets + + +##pycode_tgts = [('url', 0, 0), +## ('pevent', 0, 1), +## ('pattr', 0, 2), +## ('paddr', 0, 3), +## ('srcref', 0, 4)] #------------------------------------------------------------------------- # @@ -263,8 +266,12 @@ class SourceTab: self.redraw() def setup_drag_n_drop(self): - self.slist.drag_dest_set(gtk.DEST_DEFAULT_ALL,pycode_tgts,ACTION_COPY) - self.slist.drag_source_set(BUTTON1_MASK, pycode_tgts, ACTION_COPY) + self.slist.drag_dest_set(gtk.DEST_DEFAULT_ALL, + [DdTargets.SOURCEREF.target()], + ACTION_COPY) + self.slist.drag_source_set(BUTTON1_MASK, + [DdTargets.SOURCEREF.target()], + ACTION_COPY) self.slist.connect('drag_data_get', self.drag_data_get) self.slist.connect('drag_begin', self.drag_begin) self.slist.connect('drag_data_received',self.drag_data_received) @@ -274,7 +281,7 @@ class SourceTab: exec 'data = %s' % sel_data.data exec 'mytype = "%s"' % data[0] exec 'person = "%s"' % data[1] - if mytype != 'srcref': + if mytype != DdTargets.SOURCEREF.drag_type: return else: foo = pickle.loads(data[2]); @@ -290,7 +297,7 @@ class SourceTab: bits_per = 8; # we're going to pass a string pickled = pickle.dumps(ev); - data = str(('srcref',None,pickled)); + data = str((DdTargets.SOURCEREF.drag_type,None,pickled)); sel_data.set(sel_data.target, bits_per, data) def drag_begin(self, context, a):