From: jerome <rom...@ya...> - 2017-01-15 07:10:06
|
Devs, First, I would like you to apologize me because I did a mistake on gramps.git index... Working on a local branch of my fork, pushing this branch to 'origin' of my fork, the commit[1] (and the next) has been pushed on gramps master branch too... I hope that I fixed my mistakes, quickly. Fortunately (or unfortunately), I did a pull --rebase on my local branch (fork) before this push. So, few differences, only a cryptic merge, maybe generated by the rebase? or during tests for bug #9851[2]? Well, a classical pull request will no more in the program, for the moment. The only good thing is maybe that there is a commit revision. So, we can test[3] the feature request 9899, after the first push. It was planned to use git revisions on a local branch of my fork, then a rebase for creating a proper pull request. I moved back to the old safety work flow: generate some patchs attached on the bug report[4]! So, some improvements since the pushed commits (mistake[1] on gramps.git). The good point is that I fixed one issue on Tag Report and a typo by looking at this feature request. And was able to test Serbian Date handler more carefully (span and range dates could have display errors, but no crash). After some local adjustments, I suppose the result of my experimentations is close to the addition of one method/function, a mixed resume could be: def parents_labels(db, family, glocale): """ Get the label for parent """ father = db.get_person_from_handle(family.get_father_handle()) mother = db.get_person_from_handle(family.get_mother_handle()) rel_father = config.get("preferences.father-label") rel_mother = config.get("preferences.mother-label") if len(family.get_child_ref_list()) > 0: if father.gender == Person.FEMALE: rel_father = rel_mother if mother.gender == Person.MALE: rel_mother = config.get("preferences.father-label") else: rc = get_relationship_calculator(True, glocale) rel_father = rc.get_one_relationship(db, mother, father, olocale=glocale) rel_mother = rc.get_one_relationship(db, father, mother, olocale=glocale) return [rel_father[0].upper()+rel_father[1:].lower(), rel_mother[0].upper()+rel_mother[1:].lower()] Translated strings for "Father" and "Mother" are set on configuration dialog. So, even by using Gramps in english, one will be able to set alternate parent labels, either for a local variation (minority, spell issue, translation for basic labels, etc ...) or for non-human stuff (plants, animals, etc ...). Had some handle issues (bsddb read) on a previous revisions! They seem no more present on last revisions. They were generated during tests when I removed some children from an existing family. It was for testing if the labels switched from "Father/Mother" to relationship calculation. Still minor issues around reports, where I did not want to force use of 'config.get("preferences.father-label")' and 'config.get("preferences.mother-label")'. There is also a lang selector on most report dialogues. For the test, the textual "Family Group" report is the one we could improve with this code, using "Husband" and "Wife" words even if people are not married. I tried to cover some old (and recent) bug reports. Also, an extra review and improvements on Verify data tool about check for gender into families. But current results on this tool sound fine, for me, at least for this feature request. No need to change something. Nothing new with the above code, just maybe some locations like Family Editor, Relationship View, Family Model (columns) and reports. They could be more "flexible" on choice for titles or labels. Some posts on mailing lists are also related to this. One recent post on user mailing was about wording and spouse "in french 'le conjoint' sounds better", etc ... Was remembering some related items into bug tracker! Sure, we could go further, everywhere we use family object, we could display at least: rel_father = config.get("preferences.father-label") rel_mother = config.get("preferences.mother-label") or to call one entry of parents_labels(). Maybe for animals and plants pedigrees, to also provide one config value for children? All other fields (except gender) already have custom types support. Maybe people might still complain because family is a sensible subject, but we should be able to cover more cases with this minor improvement for the GUI and localization. I do not know if the implementation should or could be improved. If one would like to review (or push something like that on gramps.git), the last patch is my recent local testing revision. [1] https://github.com/romjerome/gramps_cryptic_rebase/commit/dedb5122cb682da069d2d23e25f2ea3b0d54f094 [2] https://gramps-project.org/bugs/view.php?id=9851 [3] https://gramps-project.org/bugs/view.php?id=9899#c50785 [4] https://gramps-project.org/bugs/view.php?id=9899 Jérôme |