diff --git a/gramps/NEWS b/gramps/NEWS index f3386f7ee..26dd5eb75 100644 --- a/gramps/NEWS +++ b/gramps/NEWS @@ -6,6 +6,9 @@ Version 0.4.0 * gramps ID can be displayed in many lists * Multiple selection in Add Children box * Internal gramps ID now a string instead of an integer +* Double clicking on a name in the Pedegree view brings up the edit + box for that person +* Support for same sex parent families has been added Version 0.3.2 * Fixed Style Editor on WebPage.py, to allow styles to be edited. diff --git a/gramps/src/gramps.glade b/gramps/src/gramps.glade index bceaf61e9..5f7b8c9e8 100644 --- a/gramps/src/gramps.glade +++ b/gramps/src/gramps.glade @@ -1914,6 +1914,11 @@ GtkEntry pv4 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:18:50 GMT + False True 0 @@ -1938,6 +1943,11 @@ GtkEntry pv5 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:19:01 GMT + False True 0 @@ -1962,6 +1972,11 @@ GtkEntry pv6 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:19:10 GMT + False True 0 @@ -1986,6 +2001,11 @@ GtkEntry pv7 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:19:20 GMT + False True 0 @@ -2010,6 +2030,11 @@ GtkEntry pv2 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:18:28 GMT + False True 0 @@ -2034,6 +2059,11 @@ GtkEntry pv3 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:18:38 GMT + False True 0 @@ -2058,6 +2088,11 @@ GtkEntry pv1 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:18:18 GMT + False True 0 @@ -2082,6 +2117,11 @@ GtkEntry pv8 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:19:30 GMT + False True 0 @@ -2106,6 +2146,11 @@ GtkEntry pv9 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:19:57 GMT + False True 0 @@ -2130,6 +2175,11 @@ GtkEntry pv10 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:20:19 GMT + False True 0 @@ -2154,6 +2204,11 @@ GtkEntry pv11 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:20:28 GMT + False True 0 @@ -2178,6 +2233,11 @@ GtkEntry pv12 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:20:36 GMT + False True 0 @@ -2202,6 +2262,11 @@ GtkEntry pv13 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:20:49 GMT + False True 0 @@ -2226,6 +2291,11 @@ GtkEntry pv14 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:21:00 GMT + False True 0 @@ -2250,6 +2320,11 @@ GtkEntry pv15 True + + button_press_event + on_pv_button_press_event + Sun, 15 Jul 2001 21:21:09 GMT + False True 0 @@ -3073,7 +3148,7 @@ GtkLabel - label80 + mlabel 100 GTK_JUSTIFY_CENTER @@ -3246,7 +3321,7 @@ Unknown GtkLabel - label83 + flabel 100 GTK_JUSTIFY_CENTER @@ -3396,6 +3471,77 @@ Unknown + + + GtkHSeparator + hseparator19 + + 10 + True + True + + + + + GtkHBox + hbox30 + False + 0 + + 0 + True + True + + + + GtkLabel + label229 + + GTK_JUSTIFY_CENTER + False + 0.5 + 0.5 + 0 + 0 + + 5 + False + False + + + + + GtkCombo + prel_combo + True + True + False + True + False + + + 5 + True + True + + + + GtkEntry + GtkCombo:entry + prel + True + + changed + on_prel_changed + Sun, 15 Jul 2001 14:33:47 GMT + + False + True + 0 + + + + diff --git a/gramps/src/gramps_main.py b/gramps/src/gramps_main.py index dbd1b0711..6447322bc 100755 --- a/gramps/src/gramps_main.py +++ b/gramps/src/gramps_main.py @@ -222,12 +222,27 @@ def on_remove_child_clicked(obj): utils.modified() load_family() +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- def on_add_sp_clicked(obj): add_spouse() +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- def on_edit_sp_clicked(obj): marriage_edit(active_family) +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- def on_delete_sp_clicked(obj): delete_spouse() @@ -460,31 +475,8 @@ def on_choose_parents_clicked(obj): select_father = None family_window = libglade.GladeXML(const.gladeFile,"familyDialog") - family_window.signal_autoconnect({ - "on_motherList_select_row" : on_motherList_select_row, - "on_fatherList_select_row" : on_fatherList_select_row, - "on_save_parents_clicked" : on_save_parents_clicked, - "destroy_passed_object" : utils.destroy_passed_object - }) - familyDialog = family_window.get_widget("familyDialog") - fatherList = family_window.get_widget("fatherList") - fatherList.append(["unknown",""]) - fatherList.set_row_data(0,None) - - fatherName = family_window.get_widget("fatherName") - fatherName.set_text(Config.nameof(select_father)) - fatherList.set_data("father_text",fatherName) - - motherList = family_window.get_widget("motherList") - motherList.append(["unknown",""]) - motherList.set_row_data(0,None) - - motherName = family_window.get_widget("motherName") - motherName.set_text(Config.nameof(select_mother)) - motherList.set_data("mother_text",motherName) - if active_parents == active_person.getMainFamily(): family_window.get_widget("mrel").set_text(_("Birth")) family_window.get_widget("frel").set_text(_("Birth")) @@ -498,6 +490,56 @@ def on_choose_parents_clicked(obj): family_window.get_widget("mrel").set_text(_("Unknown")) family_window.get_widget("frel").set_text(_("Unknown")) + fcombo = family_window.get_widget("prel_combo") + prel = family_window.get_widget("prel") + + prel.set_data("o",family_window) + fcombo.set_popdown_strings(const.familyRelations) + + family_window.signal_autoconnect({ + "on_motherList_select_row" : on_motherList_select_row, + "on_fatherList_select_row" : on_fatherList_select_row, + "on_save_parents_clicked" : on_save_parents_clicked, + "on_prel_changed" : on_prel_changed, + "destroy_passed_object" : utils.destroy_passed_object + }) + + text = _("Choose the Parents of %s") % Config.nameof(active_person) + family_window.get_widget("chooseTitle").set_text(text) + prel.set_text(active_parents.getRelationship()) + familyDialog.show() + +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- +def on_prel_changed(obj): + + family_window = obj.get_data("o") + type = obj.get_text() + + fatherName = family_window.get_widget("fatherName") + fatherName.set_text(Config.nameof(select_father)) + motherName = family_window.get_widget("motherName") + motherName.set_text(Config.nameof(select_mother)) + + fatherList = family_window.get_widget("fatherList") + motherList = family_window.get_widget("motherList") + + fatherList.freeze() + motherList.freeze() + fatherList.clear() + motherList.clear() + + fatherList.append(["unknown",""]) + fatherList.set_row_data(0,None) + fatherList.set_data("father_text",fatherName) + + motherList.append(["unknown",""]) + motherList.set_row_data(0,None) + motherList.set_data("mother_text",motherName) + people = database.getPersonMap().values() people.sort(sort.by_last_name) father_index = 1 @@ -505,6 +547,13 @@ def on_choose_parents_clicked(obj): for person in people: if person == active_person: continue + elif type == "Partners": + fatherList.append([utils.phonebook_name(person),birthday(person)]) + fatherList.set_row_data(father_index,person) + father_index = father_index + 1 + motherList.append([utils.phonebook_name(person),birthday(person)]) + motherList.set_row_data(mother_index,person) + mother_index = mother_index + 1 elif person.getGender() == Person.male: fatherList.append([utils.phonebook_name(person),birthday(person)]) fatherList.set_row_data(father_index,person) @@ -514,7 +563,15 @@ def on_choose_parents_clicked(obj): motherList.set_row_data(mother_index,person) mother_index = mother_index + 1 - familyDialog.show() + if type == "Partners": + family_window.get_widget("mlabel").set_text(_("Parent")) + family_window.get_widget("flabel").set_text(_("Parent")) + else: + family_window.get_widget("mlabel").set_text(_("Mother")) + family_window.get_widget("flabel").set_text(_("Father")) + + motherList.thaw() + fatherList.thaw() #------------------------------------------------------------------------- # @@ -890,7 +947,7 @@ def change_family_type(family,mrel,frel): fam[0] = family found = 1 if found == 0: - active_person.addAltFamily(family,type) + active_person.addAltFamily(family,mrel,frel) else: for fam in active_person.getAltFamilyList(): if family == fam[0]: @@ -917,13 +974,27 @@ def on_save_parents_clicked(obj): global active_mother global active_family + mrel = family_window.get_widget("mrel").get_text() + frel = family_window.get_widget("frel").get_text() + type = family_window.get_widget("prel").get_text() + if select_father or select_mother: + if select_mother.getGender() == Person.male and \ + select_father.getGender() == Person.female: + x = select_mother + select_mother = select_father + select_father = x + type = "Unknown" + elif select_mother.getGender() != select_father.getGender(): + if type == "Partners": + type = "Unknown" + else: + type = "Partners" family = find_family(select_father,select_mother) else: family = None - mrel = family_window.get_widget("mrel").get_text() - frel = family_window.get_widget("frel").get_text() + family.setRelationship(type) change_family_type(family,mrel,frel) @@ -1476,6 +1547,18 @@ def on_notebook1_switch_page(obj,junk,page): elif page == 3: load_sources() +#------------------------------------------------------------------------- +# +# +# +#------------------------------------------------------------------------- +def on_pv_button_press_event(obj,event): + if event.button == 1 and event.type == GDK._2BUTTON_PRESS: + person = obj.get_data("p") + if person == None: + return + load_person(person) + #------------------------------------------------------------------------- # # @@ -1706,16 +1789,6 @@ def load_family(): else: gtop.get_widget("childtype").hide() - fn = _("Father") - mn = _("Mother") - - if active_parents and active_parents.getRelationship() == "Partners": - fn = _("Parent") - mn = _("Parent") - - gtop.get_widget("editFather").children()[0].set_text(fn) - gtop.get_widget("editMother").children()[0].set_text(mn) - change_parents(active_parents) if active_person: @@ -1785,6 +1858,16 @@ def change_parents(family): global active_father global active_mother + fn = _("Father") + mn = _("Mother") + + if active_parents and active_parents.getRelationship() == "Partners": + fn = _("Parent") + mn = _("Parent") + + gtop.get_widget("editFather").children()[0].set_text(fn) + gtop.get_widget("editMother").children()[0].set_text(mn) + fv_father = gtop.get_widget("fv_father") fv_mother = gtop.get_widget("fv_mother") father_next = gtop.get_widget("father_next") @@ -1822,6 +1905,7 @@ def change_parents(family): active_father = None active_mother = None + #------------------------------------------------------------------------- # # @@ -1831,15 +1915,16 @@ def load_tree(): text = {} tip = {} for i in range(1,16): - text[i] = "" + text[i] = ("",None) tip[i] = "" load_tree_values(active_person,1,16,text,tip) tips = GtkTooltips() for i in range(1,16): - pv[i].set_text(text[i]) + pv[i].set_text(text[i][0]) pv[i].set_position(0) + pv[i].set_data("p",text[i][1]) if tip[i] != "": tips.set_tip(pv[i],tip[i]) @@ -1864,18 +1949,20 @@ def load_tree(): def load_tree_values(person,index,max,pv_text,tip): if person == None: return - pv_text[index] = Config.nameof(person) + msg = Config.nameof(person) + bdate = person.getBirth().getDate() ddate = person.getDeath().getDate() if bdate and ddate: - text = pv_text[index] + "\nb. " + bdate + "\n" + "d. " + ddate + text = msg + "\nb. " + bdate + "\n" + "d. " + ddate elif bdate and not ddate: - text = pv_text[index] + "\nb. " + bdate + text = msg + "\nb. " + bdate elif not bdate and ddate: - text = pv_text[index] + "\nd. " + ddate + text = msg + "\nd. " + ddate else: - text = pv_text[index] + text = msg tip[index] = text + pv_text[index] = (msg,person) if 2*index+1 < max: family = person.getMainFamily() if family != None: @@ -2321,6 +2408,7 @@ def main(arg): "on_addperson_clicked" : on_addperson_clicked, "on_delete_person_clicked" : on_delete_person_clicked, "on_preferences_activate" : on_preferences_activate, + "on_pv_button_press_event" : on_pv_button_press_event, "on_edit_bookmarks_activate" : on_edit_bookmarks_activate, "on_edit_active_person" : on_edit_active_person, "on_edit_spouse_clicked" : on_edit_spouse_clicked, diff --git a/gramps/src/locale/fr/LC_MESSAGES/gramps.mo b/gramps/src/locale/fr/LC_MESSAGES/gramps.mo index 84aad2c03..b545b1976 100644 Binary files a/gramps/src/locale/fr/LC_MESSAGES/gramps.mo and b/gramps/src/locale/fr/LC_MESSAGES/gramps.mo differ diff --git a/gramps/src/po/fr.po b/gramps/src/po/fr.po index 5894a17aa..cf02dc131 100644 --- a/gramps/src/po/fr.po +++ b/gramps/src/po/fr.po @@ -1,6 +1,6 @@ -# French Translation for Gramps +# Gramps French translation # Copyright (C) 2001 Free Software Foundation, Inc. -# Laurent Protois , 201. +# Laurent Protois , 2001. # msgid "" msgstr "" @@ -34,32 +34,32 @@ msgstr "%P %%" #: glade.c:1479 #, c-format msgid "%d broken family images were found\n" -msgstr "%d Des liens avec des photos de familles ont été perdus\n" +msgstr "%d liens avec des photos de familles ont été perdus\n" #: glade.c:1475 #, c-format msgid "%d broken family links were found\n" -msgstr "%d Des liens familiaux ont été perdus\n" +msgstr "%d liens familiaux ont été perdus\n" #: glade.c:1481 #, c-format msgid "%d broken personal images were found\n" -msgstr "%d Des liens avec des photos individuelles ont été perdus\n" +msgstr "%d liens avec des photos individuelles ont été perdus\n" #: glade.c:1477 #, c-format msgid "%d empty families were found\n" -msgstr "%d Il existe des familles vides\n" +msgstr "%d familles vides sont présentes\n" #: glade.c:1555 #, c-format msgid "%d nicknames were extracted\n" -msgstr "%d Extraction de surnoms\n" +msgstr "%d surnoms ont été extraits\n" #: glade.c:1557 #, c-format msgid "%d titles were extracted" -msgstr "%d Extraction de titres" +msgstr "%d titres ont été extraits" #: glade.c:1452 #, c-format @@ -70,37 +70,37 @@ msgstr "%s G #: glade.c:1561 #, c-format msgid "%s could not be opened\n" -msgstr "%s Ouverture impossible\n" +msgstr "%s ouverture impossible\n" #: glade.c:1404 glade.c:1409 #, c-format msgid "%s is a corrupt file" -msgstr "%s Fichier corrompu" +msgstr "%s fichier corrompu" #: glade.c:1375 glade.c:1379 #, c-format msgid "%s is not a directory" -msgstr "%s Ce n'est pas un répertoire" +msgstr "%s n'est pas un répertoire" #: glade.c:1455 #, c-format msgid "%s was born in the year %s in %s. " -msgstr "%s Né(e) en l'an %s à %s. " +msgstr "%s est né(e) en l'an %s à %s. " #: glade.c:1456 #, c-format msgid "%s was born in the year %s. " -msgstr "%s Né(e) en l'an %s. " +msgstr "%s est né(e) en l'an %s. " #: glade.c:1453 #, c-format msgid "%s was born on %s in %s. " -msgstr "%s Né(e) le %s à %s. " +msgstr "%s est né(e) le %s à %s. " #: glade.c:1454 #, c-format msgid "%s was born on %s. " -msgstr "%s Né(e) le %s. " +msgstr "%s est né(e) le %s. " #: glade.c:19 msgid "(Recommended only for English)" @@ -164,7 +164,7 @@ msgstr "A4" #: glade.c:1337 glade.c:1340 glade.c:1343 glade.c:1346 msgid "ABT" -msgstr "Env" +msgstr "Vers" #: glade.c:1330 glade.c:1339 glade.c:1342 glade.c:1345 glade.c:1348 msgid "AFTER" @@ -344,11 +344,11 @@ msgstr "Avril" #: glade.c:106 msgid "Attribute" -msgstr "Qualité" +msgstr "Attribut" #: glade.c:109 msgid "Attributes" -msgstr "Qualités" +msgstr "Attributs" #: glade.c:1298 msgid "August" @@ -634,11 +634,11 @@ msgid "DD. Month Year" msgstr "JJ. Mois Années" #: glade.c:1237 -msgid "DD/MM/YYYY" +msgid "DD.MM.YYYY" msgstr "JJ.MM.AAAA" #: glade.c:1234 -msgid "DD.MM.YYYY" +msgid "DD/MM/YYYY" msgstr "JJ/MM/AAAA" #: glade.c:1240 @@ -896,7 +896,7 @@ msgstr "Dix-huiti #: glade.c:1270 msgid "Elected" -msgstr "Elu" +msgstr "Election" #: glade.c:1431 msgid "Eleventh" @@ -1055,7 +1055,7 @@ msgstr "Filtre" #: glade.c:1421 msgid "First" -msgstr "Premier" +msgstr "Première" #: glade.c:409 glade.c:1550 msgid "First Person" @@ -1425,7 +1425,7 @@ msgstr "Aide pas encore pr #: glade.c:609 msgid "Home" -msgstr "Maison" +msgstr "de Cujus" #: glade.c:612 msgid "Identification" @@ -1574,7 +1574,7 @@ msgstr "MOI Jour, Ann #: glade.c:657 msgid "Make Primary" -msgstr "Make Primary" +msgstr "Mettre en premier" #: glade.c:660 msgid "Make the active person the default person" @@ -1626,7 +1626,7 @@ msgstr "Publication du mariage" #: glade.c:1252 msgid "Marriage Settlement" -msgstr "Célébration du mariage" +msgstr "Contrat de mariage" #: glade.c:1527 msgid "Marriage date" @@ -2052,7 +2052,7 @@ msgstr "Information de publication" #: glade.c:884 msgid "Qualifier" -msgstr "Qualification" +msgstr "Qualificatif" #: glade.c:1368 msgid "RTF" @@ -2084,7 +2084,7 @@ msgstr "Editions" #: glade.c:902 msgid "Researcher" -msgstr "Recherche" +msgstr "Chercheur" #: glade.c:905 msgid "Researcher Information" @@ -2096,7 +2096,7 @@ msgstr "R #: glade.c:908 msgid "Restrict data on living people" -msgstr "Restreindre au personne vivante" +msgstr "Restreindre les informations sur les personnes vivantes" #: glade.c:911 msgid "Restrict information on living people" @@ -2184,7 +2184,7 @@ msgstr "" #: glade.c:1422 msgid "Second" -msgstr "Second" +msgstr "Seconde" #: glade.c:955 glade.c:1551 msgid "Second Person"