diff --git a/ChangeLog b/ChangeLog index 2ec25981d..1d3a16cf4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,17 @@ * src/docgen/HtmlDoc.py (write_note): Use styles for preformatted note. * src/edit_person.glade: Add tooltips and hotkeys to the radiobuttons. + * src/edit_person.glade: Add from file and Add from database buttons. + * src/EditPerson.py (__init__): Add handler for a new button. + * src/ImageSelect.py (Gallery.on_select_photo_clicked): Add function. + * src/marriage.glade: Add from file and Add from database buttons. + * src/Marriage.py (__init__): Add handler for a new button. + * src/gramps.glade (sourceEditor): Add from file and Add from database + buttons. + * src/EditSource.py (__init__): Add handler for a new button. + * src/places.glade: Add from file and Add from database buttons. + * src/EditPlace.py (__init__): Add handler for a new button. + 2003-12-10 Don Allingham * src/GrampsCfg.py: Make sure to return "BOTH" if the gnome toolbar gconf entry is not set. Appears that this can happen diff --git a/src/EditPerson.py b/src/EditPerson.py index ebad2dcfe..f76ed3015 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -349,6 +349,7 @@ class EditPerson: "on_add_attr_clicked" : self.on_add_attr_clicked, "on_add_url_clicked" : self.on_add_url_clicked, "on_addphoto_clicked" : self.gallery.on_add_photo_clicked, + "on_selectphoto_clicked" : self.gallery.on_select_photo_clicked, "on_aka_delete_clicked" : self.on_aka_delete_clicked, "on_aka_update_clicked" : self.on_aka_update_clicked, "on_apply_person_clicked" : self.on_apply_person_clicked, diff --git a/src/EditPlace.py b/src/EditPlace.py index 8e4df2d9b..aa684109c 100644 --- a/src/EditPlace.py +++ b/src/EditPlace.py @@ -156,9 +156,13 @@ class EditPlace: self.note_buffer.set_text(place.getNote()) Utils.bold_label(self.notes_label) + if self.place.getPhotoList(): + Utils.bold_label(self.gallery_label) + self.top_window.signal_autoconnect({ "on_switch_page" : self.on_switch_page, "on_addphoto_clicked" : self.glry.on_add_photo_clicked, + "on_selectphoto_clicked" : self.glry.on_select_photo_clicked, "on_deletephoto_clicked" : self.glry.on_delete_photo_clicked, "on_edit_photo_clicked" : self.glry.on_edit_photo_clicked, "on_edit_properties_clicked": self.glry.popup_change_description, diff --git a/src/EditSource.py b/src/EditSource.py index 2cc70179e..3ae790b02 100644 --- a/src/EditSource.py +++ b/src/EditSource.py @@ -86,9 +86,13 @@ class EditSource: self.notes_buffer.set_text(source.getNote()) Utils.bold_label(self.notes_label) + if self.source.getPhotoList(): + Utils.bold_label(self.gallery_label) + self.top_window.signal_autoconnect({ "on_switch_page" : self.on_switch_page, "on_addphoto_clicked" : self.gallery.on_add_photo_clicked, + "on_selectphoto_clicked" : self.gallery.on_select_photo_clicked, "on_deletephoto_clicked" : self.gallery.on_delete_photo_clicked, "on_edit_properties_clicked": self.gallery.popup_change_description, "on_sourceEditor_help_clicked" : self.on_help_clicked, diff --git a/src/ImageSelect.py b/src/ImageSelect.py index 3daabac0a..49147a4df 100644 --- a/src/ImageSelect.py +++ b/src/ImageSelect.py @@ -51,6 +51,7 @@ import Plugins import RelLib import RelImage import ListModel +import SelectObject import grampslib from QuestionDialog import ErrorDialog @@ -551,6 +552,22 @@ class Gallery(ImageSelect): which photo they want.""" self.create_add_dialog() + def on_select_photo_clicked(self,obj): + """User wants to add a new object that is already in a database. + Create a dialog to find out which object they want.""" + + s_o = SelectObject.SelectObject(self.db,_("Select an Object")) + object = s_o.run() + if not object: + return + oref = RelLib.ObjectRef() + oref.setReference(object) + self.dataobj.addPhoto(oref) + self.add_thumbnail(oref) + + self.parent.lists_changed = 1 + self.load_images() + def on_delete_photo_clicked(self, obj): """User wants to delete a new photo. Remove it from the displayed thumbnails, and remove it from the dataobj photo list.""" diff --git a/src/Marriage.py b/src/Marriage.py index bb6f09321..fb3792a71 100644 --- a/src/Marriage.py +++ b/src/Marriage.py @@ -107,6 +107,7 @@ class Marriage: "on_add_attr_clicked" : self.on_add_attr_clicked, "on_delete_attr_clicked" : self.on_delete_attr_clicked, "on_addphoto_clicked" : self.gallery.on_add_photo_clicked, + "on_selectphoto_clicked" : self.gallery.on_select_photo_clicked, "on_close_marriage_editor" : self.on_close_marriage_editor, "on_delete_event" : self.on_delete_event, "on_lds_src_clicked" : self.lds_src_clicked, diff --git a/src/edit_person.glade b/src/edit_person.glade index dd837ca87..e0a659032 100644 --- a/src/edit_person.glade +++ b/src/edit_person.glade @@ -3827,10 +3827,10 @@ kjhkjhk True - Place new media object in this gallery + Add a new media object to the database and place it in this gallery True True - _Add... + _Add from file... True GTK_RELIEF_NORMAL @@ -3842,6 +3842,24 @@ kjhkjhk + + + True + Select an existing media object from the database and place it in this gallery + True + True + Add from _database... + True + GTK_RELIEF_NORMAL + + + + 0 + False + False + + + True @@ -3876,10 +3894,6 @@ kjhkjhk False - - - - 0 diff --git a/src/gramps.glade b/src/gramps.glade index 149705f4a..352652a87 100644 --- a/src/gramps.glade +++ b/src/gramps.glade @@ -5965,10 +5965,10 @@ True - Place new media object in this gallery + Add a new media object to the database and place it in this gallery True True - _Add... + _Add from file... True GTK_RELIEF_NORMAL @@ -5980,16 +5980,32 @@ + + + True + Select an existing media object from the database and place it in this gallery + True + True + Add from _database... + True + GTK_RELIEF_NORMAL + + + + 0 + False + False + + + True + Edit the properties of the selected object True _Edit... True GTK_RELIEF_NORMAL - - Edit the properties of the selected object - 0 @@ -6004,7 +6020,7 @@ Remove selected object from this gallery only True True - _Delete + _Remove True GTK_RELIEF_NORMAL @@ -6015,10 +6031,6 @@ False - - - - 0 diff --git a/src/marriage.glade b/src/marriage.glade index ff9851b87..fd2230fa1 100644 --- a/src/marriage.glade +++ b/src/marriage.glade @@ -1478,10 +1478,10 @@ True - Place new media object in this gallery + Add a new media object to the database and place it in this gallery True True - _Add... + _Add from file... True GTK_RELIEF_NORMAL @@ -1493,9 +1493,28 @@ + + + True + Select an existing media object from the database and place it in this gallery + True + True + Add from _database... + True + GTK_RELIEF_NORMAL + + + + 0 + False + False + + + True + Edit the properties of the selected objects True _Edit... True @@ -1515,7 +1534,7 @@ Remove selected object from this gallery only True True - _Delete + _Remove True GTK_RELIEF_NORMAL @@ -1526,10 +1545,6 @@ False - - - - 0 diff --git a/src/places.glade b/src/places.glade index f84f76d94..9906e6e62 100644 --- a/src/places.glade +++ b/src/places.glade @@ -1445,9 +1445,10 @@ True + Add a new media object to the database and place it in this gallery True True - _Add... + _Add from file... True GTK_RELIEF_NORMAL @@ -1459,9 +1460,28 @@ + + + True + Select an existing media object from the database and place it in this gallery + True + True + Add from _database... + True + GTK_RELIEF_NORMAL + + + + 0 + False + False + + + True + Edit the properties of the selected object True _Edit... True @@ -1478,9 +1498,10 @@ True + Remove selected object from this gallery only True True - _Delete + _Remove True GTK_RELIEF_NORMAL @@ -1491,10 +1512,6 @@ False - - - - 0