Compare commits

...

99 Commits

Author SHA1 Message Date
John Ralls
ae7a2500de Inlude fontconfig's etc/fonts in macOS app bundle.
Graphviz now uses fontconfig to find its fonts.
Fixes #12370
2021-07-29 15:13:45 -07:00
John Ralls
358a6b118b Bundle release of Gramps 5.1.4. 2021-07-26 13:23:19 -07:00
Nick Hall
9352f0c438 Bump to 5.1.5 2021-07-26 20:53:53 +01:00
Nick Hall
1ab4cbfa63 Release Gramps 5.1.4 2021-07-26 20:49:30 +01:00
Nick Hall
1fd319e13a Update Changelog and NEWS files 2021-07-26 20:45:57 +01:00
Nick Hall
7cb8489ba2 Update copyright date 2021-07-26 15:43:24 +01:00
SNoiraud
a685b96f70 probably-alive incorrect if death without date 2021-07-26 15:38:25 +01:00
SNoiraud
b24ebd5d77 fix the commit in master without bug report:
commit: 410cffe8320d3d8d08727c02f7f43346b79613f2
2021-07-22 18:50:17 +01:00
SNoiraud
6dcb1d00d5 Place editor, copy and paste of lat and long text
no longer auto-populating latitude and longitude fields

Fixes #012349
2021-07-22 18:50:17 +01:00
prculley
a3b37b9627 Fix for crash when changing views if part of toolbar is not shown
because of a small screen when changing views.

Fixes #12048
2021-07-22 18:49:03 +01:00
prculley
034720321c Fix bottombar always showing after restrt, even when not wanted
Fixes #12338
2021-07-22 18:47:46 +01:00
Tian Shixiong
09f01a69d5 Update and fix Simplified Chinese translation 2021-07-21 18:53:11 +01:00
Leonhaeuser
597f3ebedf fixed smal German translation Error for item also fixed in Weblate GUI for master 2021-07-16 22:27:20 +02:00
Tian Shixiong
c7b5e149fa Update Simplified Chinese translation 2021-07-08 23:20:13 +01:00
pehlm
f7203aa029 One update Swedish translation 2021-07-05 15:50:44 +02:00
John Ralls
9cca728a66 Better to use locale.get_collation than locale.collation. 2021-07-03 21:54:57 -07:00
John Ralls
df270adc94 Wrap call to dbapi.check_collection to prevent a forced API change. 2021-07-03 21:49:01 -07:00
John Ralls
c177c13f99 Merge John Ralls's 'bug12343' into maintenance/gramps51. 2021-07-03 06:54:09 -07:00
John Ralls
15f1bb0201 Fix URL for berkeleydb patch. 2021-07-01 15:40:58 -07:00
John Ralls
f75aa9302a Always use filtered collation names.
Store the Sqlite3 collations in the __collations array to short-circuit
re-creation.

Fixes https://gramps-project.org/bugs/view.php?id=12343.
2021-07-01 11:45:23 -07:00
prculley
708c83dc58 Revert "An experimental fix for bug12048"
This reverts commit 3c1c21163cdf606805ee9dd19002a3596da8d5e9.
commited by mistake
2021-06-25 09:59:15 -05:00
prculley
0a809904dc Revert "Change to timeout, rather than idle_add, and dereference toolbars in order they were added"
This reverts commit f91d3e94ab84c509749b2998213cb3c5b9201750.
commited by mistake.
2021-06-25 09:58:34 -05:00
Leonhaeuser
e8f50deabc Fixed different German translations for "What's next" also fixed in master (Weblate) 2021-06-25 11:40:13 +02:00
Leonhaeuser
486fae91ce German relation calculator fixed issue if more then 24 generations between the two person 2021-06-23 10:23:33 +02:00
niememat
9ee5468bda Fix translation in Finnish 2021-06-22 13:22:45 +03:00
Tian Shixiong
eac6a935f6 Correct and improve Simplified Chinese translation
Correct some terribly wrong and low quality translation,
even machine translation.

Improve some existing translation for better user experience
as a software, use more written language.
2021-06-17 16:37:09 +08:00
Tian Shixiong
cc68b7acfc Improve and correct Simplified Chinese translation 2021-06-10 18:37:26 +01:00
Tian Shixiong
c321e7f0d6 Improve and correct the Simplified Chinese translation 2021-05-28 14:04:35 +08:00
Tian Shixiong
e13a852523 Update and improve Simplified Chinese translation 2021-05-26 12:51:15 +01:00
Tian Shixiong
3c4c433a84 Update Simplified Chinese translation 2021-05-20 14:01:20 +08:00
Jan Sparreboom
e8268cb37e Update Dutch translation 2021-05-15 23:12:19 +01:00
Nick Hall
721d964741 Merge pull request #1137 from tiansworld/workl10n 2021-05-15 15:52:07 +01:00
Tian Shixiong
7d4ec1be73 Correct and Update Simplified Chinese translation 2021-05-15 15:44:39 +01:00
Tian Shixiong
36ce375a2a Update Simplified Chinese translation 2021-05-15 15:44:39 +01:00
Leonhaeuser
9f6afcc7db Corrected some German translation errors found during handbook revision 2021-05-14 21:23:35 +02:00
John Ralls
c66fc6423d Add file logging for macOS.
When Gramps is launched from macOS's LaunchServices it doesn't have
a sys.stderr attached so the default stream logger goes to /dev/null.
Use a FileHandler in tht case, writing the log to $TMPDIR/gramps-pid.log.

This will help particularly in analyzing crashes where python shuts down
as there's no crash report in that case.
2021-05-11 15:58:00 -07:00
prculley
f91d3e94ab Change to timeout, rather than idle_add, and dereference toolbars in order they were added 2021-05-11 15:58:00 -07:00
prculley
3c1c21163c An experimental fix for bug12048 2021-05-11 15:58:00 -07:00
John Ralls
09709ec0c6 Update PyICU to 2.7.2 in macOS build. 2021-05-06 14:24:17 -07:00
Paul Culley
bb7f5fa522
Fix libplaceview to avoid exception when mapservice is no longer present (#1193)
Fixes #12263
2021-05-06 10:19:03 -05:00
Paul Culley
9957506f35
Fix References Gramplet for inadequate updates when other objects change (#1192)
Fixes #12248
2021-05-06 10:18:11 -05:00
Serge Noiraud
eb4ce9ff79
geofamily crashes if a family has no father (#1188) 2021-05-06 10:14:49 -05:00
Serge Noiraud
1d72f4b23d
Home Person setting does not convey in a Merge (#1187)
* Home Person setting does not convey in a Merge

Fixes #012235

* better pylint score
2021-05-06 10:14:26 -05:00
Paul Culley
5ad5f08a2b
Fix CSV export of view to only put single CR character. (#1186)
Fixes #12158
2021-05-06 10:13:02 -05:00
Paul Culley
9e43f060d1
Add Media filter rule 'HasMedia' to list of media rules for editor (#1182)
Fixes #12212
2021-05-06 10:11:16 -05:00
Leonhaeuser
bc1ed688c4 corrected German translation of "confidence" 2021-04-28 23:04:23 +02:00
Leonhaeuser
9d358d06f5 German corrected translation of 'attribute' 2021-04-26 18:02:29 +02:00
Leonhaeuser
16b1945a0e Fixed translation error of "display name editor" into German 2021-04-25 12:12:50 +02:00
Leonhaeuser
5e9be68ad5 some translation fixes for German 2021-04-24 22:05:49 +02:00
pehlm
cd3ef08ffb Changed immigration too, Swedish 2021-04-24 15:21:33 +02:00
pehlm
773e763093 Correction of Swedish translation 2021-04-24 13:17:11 +02:00
Helder Geovane Gomes de Lima
0badfb6b47
Update Portuguese translation (pt_BR) (#1199)
This pull request is an updated version of the patch I've provided at <https://gramps-project.org/bugs/view.php?id=10547> in 2018, now based on branch 5.1
2021-04-22 15:38:01 +02:00
Leonhaeuser
5af80da5cd Corrected translation of markup in German translation 2021-04-19 23:22:48 +02:00
Leonhaeuser
0045f134c6 Fixed translation of tags in German translation 2021-04-17 00:07:47 +02:00
Leonhaeuser
1035f8930f German translation for type unified 2021-04-14 00:22:56 +02:00
romjerome
d4bceeb6ff
11656: typo, spelling correction
contribution by Philippe
2021-04-13 09:14:24 +02:00
romjerome
c8fc88cfe7
Need to set locale.textdomain under linux (#1198)
_build_popup_ui() ignores translated strings without locale.textdomain set.
2021-04-13 08:53:04 +02:00
Leonhaeuser
b4b6d52306 Fixed German translation of number for places 2021-04-13 00:04:11 +02:00
John Ralls
4f390c6b33 Update dependencies.
Includes moving berkeleydb and pybsddb over from gtk-osx.
2021-04-11 16:18:46 -07:00
Leonhaeuser
0442c34258 Some small fixes in German translation 2021-03-21 00:18:46 +01:00
Leonhaeuser
c903f5e5a5 Update German translation for csv import/export 2021-03-11 22:59:42 +01:00
Leonhaeuser
3329860f50 small fix in German translation 2021-03-01 23:21:46 +01:00
Matthias Kemmer
e7401f3aaa
Change category of 'MatchesEventFilter' (#1130) 2021-02-19 11:45:38 -06:00
Paul Culley
1a48e8a03e
Fix issue where separator between top and bottom bar of View creeps up. (#1122)
Fixes #11973
2021-02-19 11:44:32 -06:00
Paul Culley
9a4adab9d6
Fix Locations Gramplet (Enclosed by) to properly displaycertain nested places. (#1127)
when the smallest place has undated enclosure and larger places are dated.

Issue #11691
2021-02-19 11:32:33 -06:00
Paul Culley
bb0647274b
Fix Family Tree Manager drop error on Windows (#1132)
Fixes #10734
2021-02-19 11:31:43 -06:00
Paul Culley
f6bfb46fc0
Fix exportvcalendar error is "is not" with a literal (Python 3.8 issue) (#1135)
Fixes #12000
2021-02-19 11:31:06 -06:00
Serge Noiraud
b6fa5da8ee
Handle not found when copying source from the (#1175)
Citation tree

Fixes #12170
2021-02-19 11:25:02 -06:00
Paul Culley
14c2d0e1b6
DbLoader: Fix call to 'file' function, which doesn't exist in Python3 (#1173) 2021-02-19 11:23:47 -06:00
Paul Culley
226e8c549a
Fix write_lock_file exception when USERNAME is missing (#1171)
Fixes #12150
2021-02-19 11:23:06 -06:00
Paul Culley
d173809d8c
Fix EditPlace so Tab key doesn't get stuck on Private icon (#1168)
Fixes #12139
2021-02-19 11:22:35 -06:00
Paul Culley
63c52fa1bb
Fix Tag report for places that have a hierarchy. (#1162)
Fixes #12124
2021-02-19 11:21:11 -06:00
Paul Culley
455628d44a
Fix exception when cancelling out of a db upgrade in GUI (#1154)
Fixes #12063
2021-02-19 11:18:18 -06:00
Leonhaeuser
670bb355cb additional small German translation fixes 2021-02-12 21:36:51 +01:00
Leonhaeuser
202c7a9bf6 Small fixes German translation 2021-02-11 12:06:22 +01:00
Leonhaeuser
72955840f1 fix wrong translation of source text in German translation 2021-02-06 22:06:22 +01:00
Leonhaeuser
b8e73d5ee1 fixed small error in German translation 2021-02-06 00:04:33 +01:00
Leonhaeuser
990db39664 small fixes German translation 2021-01-26 18:59:23 +01:00
Nick Hall
9c0dca6bd1 Merge pull request #1053 from cjmayo:themeicon 2020-11-14 19:29:58 +00:00
Chris Mayo
02e0c1c67d Install 128x128 and 256x256 application icons
Created with ImageMagick using e.g.:

convert -background none ../../../gramps.svg -geometry 256x256 gramps.png
2020-11-14 19:23:25 +00:00
Chris Mayo
ebf1715468 Install MIME type icons into the hicolor theme
The gnome theme is defunct.

Remove gnome-mime- prefix from icon filenames.
2020-11-14 19:23:24 +00:00
Nick Hall
c10f2da00e Install application icons into correct directories 2020-11-14 19:10:34 +00:00
vantu5z
9f71372a97 Update Russian translation 2020-10-15 16:06:19 +03:00
Zdeněk Hataš
0993d9cfc3 Update Czech translation - typo fixes 2020-09-25 09:02:45 +02:00
Tian Shixiong
34471834ab Update Simplified Chinese translation 2020-09-24 22:37:57 +01:00
Jan Sparreboom
ff912f844c Update Dutch translation 2020-09-24 21:36:52 +01:00
Lajos Nemeséri
45eac501a9 Revised and updated hu translation 2020-09-24 19:41:31 +01:00
Juan Saavedra
d4e85c2397 Update Spanish translation 2020-09-24 17:52:35 +01:00
bokfink
c7a4d287f0
Fix error in Birthday and Anniversary report (#1113)
Fixes an error triggered when the first person_handle in the list
has a death event, but no birth event (get_birth_ref() == None)
and does not have family relationships (spouse_handle == None).
These conditions lead to the local variable short_name not being
declared before it comes time to process death events.

Fixes #11766
2020-09-14 11:13:08 -05:00
Paul Culley
c0d622c16a
Fix graphdoc to properly escape characters in ids for Graphviz (#1111)
Fixes #11741
2020-09-14 11:10:20 -05:00
John Ralls
b38f77f2aa
Replace inspect.stack() with inspect.currentframe() (#1104)
* Replace inspect.stack() with inspect.currentframe()

Fixes #11874

Works around https://bugs.python.org/issue12920 which causes every
call to inspect.trace() to fail because __main__ is always the
starting point.

* Fix a few Codecov complaints from files touched by previous commit.

Ignoring the "duplicate code" issue caused by the empty comment line
at the beginning of every file.
2020-09-14 11:08:58 -05:00
RossGammon
d91fc9e2fb
Update Debian directory after producing the deb file for the 5.1.3 (#1100)
Release.

Co-authored-by: Ross Gammon <rossgammon@debian.org>
2020-09-14 11:05:21 -05:00
Paul Culley
198602be61
Fix crash sorting on columns in Selectors with TreeModels (#1099)
Fixes #11750
2020-09-14 11:04:12 -05:00
Paul Culley
3f9f3215ee
Fix progress bar freeze due to changes in Gtk (#1103)
Fixes #11642
2020-09-14 11:02:48 -05:00
Paul Culley
beb388a30d
Fix svgdrawdoc for text containing XML invalid characters (#1110)
Fixes #11929
2020-09-14 11:00:43 -05:00
John Ralls
29e78d4253 Further changes for bundling with Python 3.8. 2020-08-30 14:46:35 -07:00
John Ralls
b80dcaf701 Add libgeocode-glib to bundle so that it actually works. 2020-08-30 14:44:51 -07:00
Leonhaeuser
a876d94fbc German tzranslation two smal corrections 2020-08-26 18:08:42 +02:00
John Ralls
95e1e8cb67 [mac] Set __file__ if gramps_launcher.py is run as __main__.
Fixes #11874.
2020-08-25 17:14:10 -07:00
81 changed files with 16489 additions and 23961 deletions

568
ChangeLog
View File

@ -1,402 +1,458 @@
2020-08-11 prculley <paulr2787@gmail.com>
2021-07-26 Nick Hall <nick-h@gramps-project.org>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po, po/fr.po,
po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po, po/it.po,
po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po, po/nn.po,
po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po, po/sk.po,
po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po, po/ta.po,
po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po:
Remove duplicates in Translations
* gramps/gen/const.py: Update copyright date
2020-08-10 prculley <paulr2787@gmail.com>
2021-07-23 SNoiraud <Serge.Noiraud@free.fr>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po,
po/fr.po, po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po,
po/it.po, po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po,
po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po,
po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po,
po/ta.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po,
po/zh_TW.po: Clean up translations for Default/Home Person
* gramps/gen/utils/alive.py: Probably alive incorrect if death
without date
2020-08-10 Leonhaeuser <mirko@leonhaeuser.de>
2021-07-10 SNoiraud <Serge.Noiraud@free.fr>
* po/de.po: Update German translation
* gramps/gui/editors/editplace.py,
gramps/gui/editors/editplaceref.py: Place editor, copy and paste of
lat and long text no longer auto-populating latitude and longitude fields.
Fixes #12349
2020-08-10 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-06-25 prculley <paulr2787@gmail.com>
* gramps/gui/views/treemodels/eventmodel.py: Events View: "Main
Participants" column does not (#1075) show the full list of participants when expanded. Fixes #11805
* gramps/gui/viewmanager.py: Fix for crash when changing views if
part of toolbar is not shown because of a small screen when changing
views. Fixes #12048
2020-08-10 Paul Culley <paulr2787@gmail.com>
2021-06-25 prculley <paulr2787@gmail.com>
* po/pl.po: Fix Charts/Pedigreeview tooltip Polish translation
(#1092) Fixes #11852
* gramps/gui/views/pageview.py: Fix bottombar always showing after
restart, even when not wanted. Fixes #12338
2020-08-10 Krystian Safjan <ksafjan@gmail.com>
2021-07-09 Tian Shixiong <tiansworld@fedoraproject.org>
* po/gramps.pot, po/pl.po: Fix and add objects to Polish translation
of Gramps (#1088)
* po/zh_CN.po: Update and fix Simplified Chinese translation
2020-08-06 John Ralls <jralls@ceridwen.us>
2021-07-16 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* mac/gramps.modules: Use current Gtk release instead of Gtk-3.14.
* po/de.po: fixed small German translation error for item also fixed
in Weblate GUI for master
2020-08-06 John Ralls <jralls@ceridwen.us>
2021-06-28 Tian Shixiong <tiansworld@fedoraproject.org>
* mac/gramps.modules: Upgrade pymodules for Python 3.8
compatibility.
* po/zh_CN.po: Update Simplified Chinese translation
2020-07-09 prculley <paulr2787@gmail.com>
2021-07-05 pehlm <par.ekholm@pekholm.org>
* gramps/plugins/export/exportxml.py: Fix XML export when 'Group-as"
name contains XML invalid chars Fixes #11834
* po/sv.po: One update Swedish translation
2020-07-08 SNoiraud <serge.noiraud@laposte.net>
2021-07-03 John Ralls <jralls@ceridwen.us>
* gramps/plugins/webreport/basepage.py: NarWeb: Province place-type
is not displayed
* gramps/plugins/db/dbapi/dbapi.py: Better to use
locale.get_collation than locale.collation.
2020-07-07 prculley <paulr2787@gmail.com>
2021-07-03 John Ralls <jralls@ceridwen.us>
* gramps/gui/managedwindow.py: Fix ManagedWindow so that new windows
don't appear offscreen when system 'screen' sizes change in part
time multi-monitor setups. Fixes #11831
* gramps/plugins/db/dbapi/dbapi.py: Wrap call to
dbapi.check_collection to prevent a forced API change.
2020-07-03 prculley <paulr2787@gmail.com>
2021-07-01 John Ralls <jralls@ceridwen.us>
* gramps/gui/viewmanager.py: Fix menus when db fails to open due to
upgrade/downgrade etc. Fixes #11604
* mac/gramps.modules: Fix URL for berkeleydb patch.
2020-07-03 prculley <paulr2787@gmail.com>
2021-07-01 John Ralls <jralls@ceridwen.us>
* gramps/gui/plug/_windows.py: Fix issue with attach source tool,
results panel Fixes #11780
* gramps/plugins/db/dbapi/dbapi.py,
gramps/plugins/db/dbapi/sqlite.py: Always use filtered collation
names. Store the Sqlite3 collations in the __collations array to
short-circuit re-creation. Fixes #12343
2020-07-03 prculley <paulr2787@gmail.com>
2021-06-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/plugins/export/exportgedcom.py: Fix GEDCOM export; don't
include ADDR when address is missing Fixes #11825
* po/de.po: Fixed different German translations for "What's next"
also fixed in master (Weblate)
2020-07-02 SNoiraud <serge.noiraud@laposte.net>
2021-06-23 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/editors/editplace.py,
gramps/gui/editors/editplaceref.py: Coordinates containing a comma
instead of a period Fixes #11823
* gramps/plugins/rel/rel_de.py: German relation calculator fixed
issue if more then 24 generations between the two person
2020-07-23 Leonhaeuser <mirko@leonhaeuser.de>
2021-06-22 Matti Niemelä <matti.u.niemela@gmail.com>
* po/de.po: German translation fixed typo
* po/fi.po: Fix translation in Finnish
2020-07-17 niememat <niememat@gmail.com>
2021-06-17 Tian Shixiong <tiansworld@fedoraproject.org>
* po/fi.po: Update finnish translation
* po/zh_CN.po: Correct and improve Simplified Chinese translation.
Correct some terribly wrong and low quality translation, even machine
translation. Improve some existing translation for better user experience
as a software, use more written language.
2020-06-07 Tian Shixiong <tiansworld@fedoraproject.org>
2021-05-31 Tian Shixiong <tiansworld@fedoraproject.org>
* po/zh_CN.po: Update Simplified Chinese translation for gramps51
branch
* po/zh_CN.po: Improve and correct Simplified Chinese translation
2020-07-08 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-05-27 Tian Shixiong <tiansworld@fedoraproject.org>
* gramps/plugins/webreport/basepage.py,
gramps/plugins/webreport/person.py,
gramps/plugins/webreport/surname.py: NarrativeWeb should show
patronymic in individuals (#1048) In the individuals and in surnames pages, we should show the
complete name like defined in the display tab from the narrative web
configuration. Fixes #04404
* po/zh_CN.po: Improve and correct the Simplified Chinese
translation
2020-07-08 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-05-21 Tian Shixiong <tiansworld@fedoraproject.org>
* gramps/plugins/webreport/person.py,
gramps/plugins/webreport/place.py: Narrated Website Google Maps
Output JS Warning (#1038) SensorNotRequired: The sensor parameter is no longer required for
the Maps JavaScript API. It won't prevent the Maps JavaScript API
from working correctly, but we recommend that you remove the sensor
parameter from the script element. Fixes #011654
* po/zh_CN.po: Update and improve Simplified Chinese translation
2020-01-11 giansalvo <pioggia3+github@gmail.com>
2021-05-17 Tian Shixiong <tiansworld@fedoraproject.org>
* gramps/gen/filters/rules/person/_isdefaultperson.py,
gramps/gen/filters/rules/person/_islessthannthgenerationancestorofd
efaultperson.py, gramps/gui/views/navigationview.py,
gramps/plugins/lib/libpersonview.py,
gramps/plugins/view/fanchartview.py,
gramps/plugins/view/geoclose.py,
gramps/plugins/view/geofamclose.py,
gramps/plugins/view/geomoves.py, gramps/plugins/view/geoperson.py,
gramps/plugins/view/pedigreeview.py,
gramps/plugins/view/relview.py, po/ar.po, po/bg.po, po/br.po,
po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/en_GB.po,
po/eo.po, po/es.po, po/fi.po, po/fr.po, po/ga.po, po/gramps.pot,
po/he.po, po/hr.po, po/hu.po, po/is.po, po/it.po, po/ja.po,
po/lt.po, po/mk.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po,
po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po, po/sk.po, po/sl.po,
po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po, po/ta.po, po/tr.po,
po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: Fix bug
0011078: 'Default person' instead of 'Home person' - modified button hints - modified filter rules names and descriptions - modified .pot and .po files - substituted 'home person' with 'Home Person'
* po/zh_CN.po: Update Simplified Chinese translation
2020-07-07 Leonhaeuser <mirko@leonhaeuser.de>
2020-09-26 Jan Sparreboom <jan@sparreboom.net>
* po/de.po: Germen fixed translation error of Media:
* gramps/gen/datehandler/_date_nl.py, gramps/plugins/rel/rel_nl.py,
po/nl.po: Update Dutch translation
2020-07-04 Leonhaeuser <mirko@leonhaeuser.de>
2021-05-07 Tian Shixiong <tiansworld@fedoraproject.org>
* po/de.po: Fix typo
* po/zh_CN.po: Correct and Update Simplified Chinese translation
2020-07-01 Leonhaeuser <mirko@leonhaeuser.de>
2020-10-13 Tian Shixiong <tiansworld@fedoraproject.org>
* po/de.po: update German translation
* po/zh_CN.po: Update Simplified Chinese translation
2020-02-16 Nick Hall <nick-h@gramps-project.org>
2021-05-14 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/editors/editeventref.py: Use event attribute types in
the event reference editor In the event reference editor, custom event attribute types should
be used rather than the default person attribute types. Fixes #11576.
* po/de.po: Corrected some German translation errors found during
handbook revision
2020-04-23 SNoiraud <serge.noiraud@laposte.net>
2021-05-04 John Ralls <jralls@ceridwen.us>
* gramps/gui/configure.py, po/ar.po, po/bg.po, po/br.po, po/ca.po,
po/cs.po, po/da.po, po/de.po, po/el.po, po/en_GB.po, po/eo.po,
po/es.po, po/fi.po, po/fr.po, po/ga.po, po/he.po, po/hr.po,
po/hu.po, po/is.po, po/it.po, po/ja.po, po/lt.po, po/mk.po,
po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po,
po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sq.po, po/sr.po,
po/sr_Latn.po, po/sv.po, po/ta.po, po/tr.po, po/uk.po, po/vi.po,
po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: Fix typo in gui/configure.py
and translation files Fixes #11665
* gramps/grampsapp.py: Add file logging for macOS. When Gramps is launched
from macOS's LaunchServices it doesn't have a sys.stderr attached so the
default stream logger goes to /dev/null. Use a FileHandler in tht case,
writing the log to $TMPDIR/gramps-pid.log. This will help particularly in
analyzing crashes where python shuts down as there's no crash report in
that case.
2020-05-07 prculley <paulr2787@gmail.com>
2021-05-06 John Ralls <jralls@ceridwen.us>
* gramps/plugins/tool/verify.py: Fix Verify tool bug caused by bad
change in GObject introspection Fixes: #11708
* mac/gramps.modules: Update PyICU to 2.7.2 in macOS build.
2020-06-22 pehlm <par.ekholm@pekholm.org>
2021-05-06 Paul Culley <paulr2787@gmail.com>
* po/sv.po: A little adjustment to Swedish translation
* gramps/plugins/lib/libplaceview.py: Fix libplaceview to avoid
exception when mapservice is no longer present (#1193) Fixes #12263
2020-06-21 pehlm <par.ekholm@pekholm.org>
2021-05-06 Paul Culley <paulr2787@gmail.com>
* po/sv.po: Updates to Swedish translation
* gramps/plugins/gramplet/backlinks.py: Fix References Gramplet for
inadequate updates when other objects change (#1192) Fixes #12248
2020-06-20 Nick Hall <nick-h@gramps-project.org>
2021-05-06 Serge Noiraud <Serge.Noiraud@free.fr>
* gramps/gen/utils/grampslocale.py: Remove Japanese from the
incomplete translations Japanese now has a coverage of 83.2% which is above the 70%
threshold.
* gramps/plugins/view/geofamily.py: geofamily crashes if a family
has no father (#1188)
2020-06-20 Megumi Sakata <megumi.sakata.k@gmail.com>
2021-05-06 Serge Noiraud <Serge.Noiraud@free.fr>
* po/ja.po: Update Japanese translation
* gramps/gen/merge/mergepersonquery.py: Home Person setting does not
convey in a merge. Fixes #12235
2020-06-07 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-05-06 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/webreport/person.py,
gramps/plugins/webreport/place.py: Navweb: incorrect link type for
osm css files (#1071) Fixes #011787
* gramps/gen/utils/docgen/csvtab.py: Fix CSV export of view to only
put single CR character. (#1186) Fixes #12158
2020-06-07 prculley <paulr2787@gmail.com>
2021-05-06 Paul Culley <paulr2787@gmail.com>
* data/tests/imp_sample.gramps: Fix import test for change cause by
commit a2c66417 which was Fix GEDCOM import for bad source title
when sources precede references.
* gramps/gen/filters/rules/media/__init__.py: Add Media filter rule
'HasMedia' to list of media rules for editor (#1182) Fixes #12212
2020-06-07 prculley <paulr2787@gmail.com>
2021-04-28 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* : commit e614a79cef213f57552ceb566eb2d294c9435231 Author: vantu5z
<vantu5z@mail.ru> Date: Tue Apr 28 15:23:25 2020 +0300
* po/de.po: corrected German translation of "confidence"
2020-03-16 prculley <paulr2787@gmail.com>
2021-04-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gen/plug/menu/_enumeratedlist.py: Fix some reports for CLI
where warning message about Value not found Fixes #11621
* po/de.po: German corrected translation of 'attribute'
2020-03-16 prculley <paulr2787@gmail.com>
2021-04-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/cli/plug/__init__.py: Fix Genealogy Tree reports for crash
in CLI Fixes #11621
* po/de.po: Fixed translation error of "display name editor" into
German
2020-04-10 prculley <paulr2787@gmail.com>
2021-04-24 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/views/treemodels/treebasemodel.py: Add uistate to tree
views filter initialization Fixes #11657
* po/de.po: some translation fixes for German
2020-04-04 prculley <paulr2787@gmail.com>
2021-04-24 pehlm <par.ekholm@pekholm.org>
* gramps/plugins/lib/libgedcom.py: Fix GEDCOM import for bad source
title when sources precede references. Fixes #11610
* po/sv.po: Changed immigration too, Swedish
2020-03-31 prculley <paulr2787@gmail.com>
2021-04-24 pehlm <par.ekholm@pekholm.org>
* gramps/plugins/tool/removeunused.py: Fix RemoveUnused tool for
crash caused by Gtk introspection bug Fixes #11634
* po/sv.po: Correction of Swedish translation
2020-03-30 prculley <paulr2787@gmail.com>
2021-04-22 Helder Geovane Gomes de Lima <he7d3r@gmail.com>
* gramps/gen/plug/_manager.py, gramps/gen/plug/_pluginreg.py,
gramps/gui/pluginmanager.py,
gramps/plugins/lib/maps/messagelayer.py: Fix some Python syntax
errors that appear in v3.8.x Fixes #11641
* po/pt_BR.po: Update Portuguese translation (pt_BR) (#1199)
This pull request is an updated version of the patch I've provided
at <https://gramps-project.org/bugs/view.php?id=10547> in 2018, now
based on branch 5.1
2020-03-26 SNoiraud <serge.noiraud@laposte.net>
2021-04-19 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/editors/displaytabs/eventrefmodel.py,
gramps/plugins/gramplet/events.py: Age: test if the death is the
same day as birth
* po/de.po: Corrected translation of markup in German translation
2020-03-25 SNoiraud <serge.noiraud@laposte.net>
2021-04-17 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/editors/displaytabs/eventrefmodel.py,
gramps/plugins/gramplet/events.py: Suppress age = 0 days in events
list If the reference event date is equal to the event date, don't show
the age except if the date is estimated, calculated, ... Fixes #0007745
* po/de.po: Fixed translation of tags in German translation
2020-03-23 prculley <paulr2787@gmail.com>
2021-04-14 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gui/viewmanager.py: Fix Dashboard Gramplets to update
during db close when not shown Fixes #11632
* po/de.po: German translation for type unified
2020-03-14 prculley <paulr2787@gmail.com>
2021-04-13 romjerome <romjerome@yahoo.fr>
* gramps/grampsapp.py: Fix Windows GUI mode startup for crash with
some languages Fixes: #11612. #11490, #11518, #9179, #9201, #9266
* po/fr.po: 11656: typo, spelling correction contribution by Philippe
2020-03-07 prculley <paulr2787@gmail.com>
2021-04-13 romjerome <romjerome@yahoo.fr>
* gramps/gen/db/generic.py, gramps/plugins/db/dbapi/dbapi.py: Fix
dbapi to support "Abandon Changes & Quit" feature Fixes #11599
* gramps/gen/utils/grampslocale.py: Need to set locale.textdomain
under linux (#1198) _build_popup_ui() ignores translated strings without
locale.textdomain set.
2020-02-08 prculley <paulr2787@gmail.com>
2021-04-13 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gen/lib/grampstype.py: Fix GrampsType for comparison bug
with empty string as one value Fixes #11563
* po/de.po: Fixed German translation of number for places
2020-05-07 prculley <paulr2787@gmail.com>
2021-04-11 John Ralls <jralls@ceridwen.us>
* gramps/plugins/tool/verify.py: Fix Verify tool bug caused by bad
change in GObject introspection Fixes: #11708
* mac/gramps.bundle, mac/gramps.modules,
mac/patches/berkeleydb-4.8-atomic.patch: Update dependencies.
Includes moving berkeleydb and pybsddb over from gtk-osx.
2020-04-24 niememat <niememat@gmail.com>
2021-03-21 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/fi.po: Fix translation in Finnish
* po/de.po: Some small fixes in German translation
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
2021-03-11 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: Update German translation for csv import/export
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
2021-03-01 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: small fix in German translation
2020-01-20 prculley <paulr2787@gmail.com>
2021-02-19 Matthias Kemmer <49940207+Mattkmmr@users.noreply.github.com>
* gramps/gen/datehandler/__init__.py: Fix Date Display so that it
uses LC_TIME if defined Fixes #11230
* gramps/gen/filters/rules/person/_matcheseventfilter.py: Change
category of 'MatchesEventFilter' (#1130)
2020-01-12 prculley <paulr2787@gmail.com>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* gramps/gen/lib/styledtext.py,
gramps/gen/lib/test/styledtext_test.py: Fix StyledText so serialize
will match for style list order changes Fixes #11529
* gramps/gui/viewmanager.py, gramps/gui/views/pageview.py: Fix issue
where separator between top and bottom bar of View creeps up.
(#1122) Fixes #11973
2020-01-08 prculley <paulr2787@gmail.com>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* gramps/gui/managedwindow.py: Try to fix exceptions on
ManagedWindow close Issues #10252, #10642, #10821, #11163, #11440, #11476, #11482,
#11508
* gramps/plugins/gramplet/locations.py: Fix Locations Gramplet
(Enclosed by) to properly display certain nested places. (#1127)
when the smallest place has undated enclosure and larger places are dated.
Issue #11691
2020-04-08 John Ralls <jralls@ceridwen.us>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* : Merge John Ralls's 'bug11639' into maintenance/gramps51
* gramps/gui/dbman.py: Fix Family Tree Manager drop error on Windows
(#1132) Fixes #10734
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/tool/verify.py: Same date of birth and death gives
an error. (#1011) Fixes #011553
* gramps/plugins/export/exportvcalendar.py: Fix exportvcalendar
error is "is not" with a literal (Python 3.8 issue) (#1135) Fixes #12000
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-02-19 Serge Noiraud <Serge.Noiraud@free.fr>
* gramps/plugins/lib/maps/osmgps.py: Geography: add a popup for a
bad tiles path (#1025)
* gramps/gui/clipboard.py: Handle not found when copying source from
the citation tree (#1175) Fixes #12170
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/webreport/narrativeweb.py: Narweb: image size limit
doesn't match tooltip (#1004) Fixes #011536
* gramps/gui/dbloader.py: DbLoader: Fix call to 'file' function,
which doesn't exist in Python3 (#1173)
2020-04-01 John Ralls <jralls@ceridwen.us>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/db/dbapi/sqlite.py: Protect SQLite3 locale from
old-style Unicode locale characters. PySQLite3 requires that collation names have only ascii
alphanumerics and _. ICU locales use old-style Unicode specifiers
and passing them to create_locale will raise an exception. Translate
those characters into underscores. Fixes #11639
* gramps/gen/db/utils.py: Fix write_lock_file exception when
USERNAME is missing (#1171) Fixes #12150
2020-03-26 vantu5z <vantu5z@mail.ru>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* po/ru.po: update Russian translation
* gramps/gui/glade/editplace.glade: Fix EditPlace so Tab key doesn't
get stuck on Private icon (#1168) Fixes #12139
2020-03-25 Translator5 <Translator5@users.noreply.github.com>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* po/ru.po: [Language: Russian] Maintenance/gramps51 (#1027) * some Russian translations updates Новый перевод для неких случаев, но
улучшающие понимание и выглядит
более уместно. Также применены
русские переводы слов, которые
использовали до того англицизмы
* gramps/plugins/textreport/tagreport.py: Fix Tag report for places
that have a hierarchy. (#1162) Fixes #12124
2020-03-03 Joan Creus <joan.creusandreu@gmail.com>
2021-02-19 Paul Culley <paulr2787@gmail.com>
* po/ca.po: Updating Catalan translation
* gramps/gui/viewmanager.py: Fix exception when cancelling out of a
db upgrade in GUI (#1154) Fixes #12063
2020-02-29 Joan Creus <joan.creusandreu@gmail.com>
2021-02-12 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: additional small German translation fixes
2020-02-25 Bernard Banko <beernarrd@gmail.com>
2021-02-11 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/sl.po: V&O changed to PZV to avoid ampersand
* po/de.po: Small fixes German translation
2020-02-07 pehlm <par.ekholm@pekholm.org>
2021-02-06 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/sv.po: Minor update to Swedish translation
* po/de.po: fix wrong translation of source text in German
translation
2020-01-07 prculley <paulr2787@gmail.com>
2021-02-06 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* data/tests/exp_sample_ged.ged,
gramps/plugins/export/exportgedcom.py: Fix GEDCOM export of
estimated/calculated dates with modifers Fixes #11513
* po/de.po: fixed small error in German translation
2020-01-11 Ross Gammon <rossgammon@mail.dk>
2021-01-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* debian/changelog: New debian release - update changelog
* po/de.po: small fixes German translation
2020-01-31 vantu5z <vantu5z@mail.ru>
2020-11-06 Chris Mayo <aklhfex@gmail.com>
* po/ru.po: update Russian translation
* setup.py: Install 128x128 and 256x256 application icons created with
ImageMagick using e.g.:
convert -background none ../../../gramps.svg -geometry 256x256 gramps.png
2020-01-26 Bernard Banko <beernarrd@gmail.com>
2020-11-06 Chris Mayo <aklhfex@gmail.com>
* po/sl.po: Slovenian translation update
* data/{gnome-mime-application-x-gedcom.svg =>
application-x-gedcom.svg},
data/{gnome-mime-application-x-geneweb.svg =>
application-x-geneweb.svg},
data/{gnome-mime-application-x-gramps-package.svg =>
application-x-gramps-package.svg},
data/{gnome-mime-application-x-gramps-xml.svg =>
application-x-gramps-xml.svg},
data/{gnome-mime-application-x-gramps.svg =>
application-x-gramps.svg},
setup.py: Install MIME type icons into the hicolor theme.
The gnome theme is defunct. Remove gnome-mime- prefix from icon filenames.
2020-01-23 prculley <paulr2787@gmail.com>
2020-08-20 Nick Hall <nick-h@gramps-project.org>
* po/ru.po: Fix typo in Russian translation
* images/hicolor/scalable/{actions => apps}/gramps.svg, setup.py:
Install application icons into correct directories
2020-01-21 système <romjerome@users.noreply.github.com>
2020-10-15 vantu5z <vantu5z@mail.ru>
* po/fr.po: typos in french translation #11534 #10534
* po/ru.po: Update Russian translation
2020-01-21 Fedik <getthesite@gmail.com>
2020-09-25 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/uk.po: Ukrainian translation update
* po/cs.po: Update Czech translation - typo fixes
2020-01-11 John Ralls <jralls@ceridwen.us>
2020-09-06 Tian Shixiong <tiansworld@fedoraproject.org>
* mac/Info.plist, mac/gramps.modules: Mac release of 5.1.2.
* po/zh_CN.po: Update Simplified Chinese translation
2020-01-10 prculley <paulr2787@gmail.com>
2020-08-16 Jan Sparreboom <jan@sparreboom.net>
* gramps/gen/const.py, gramps/gui/grampsgui.py, gramps/version.py:
Bump to v5.1.3
* po/nl.po: Update Dutch translation
2020-04-21 Lajos Nemeséri <nemeseril@gmail.com>
* po/hu.po: Revised and updated hu translation
2020-09-13 Juan Saavedra <jcsaaver@gmail.com>
* po/es.po: Update Spanish translation
2020-09-15 bokfink <62996239+bokfink@users.noreply.github.com>
* gramps/plugins/textreport/birthdayreport.py: Fix error in Birthday
and Anniversary report (#1113) Fixes an error triggered when the first
person_handle in the list has a death event, but no birth event
(get_birth_ref() == None) and does not have family relationships
(spouse_handle == None). These conditions lead to the local variable
short_name not being declared before it comes time to process death events.
Fixes #11766
2020-09-14 Paul Culley <paulr2787@gmail.com>
* gramps/gen/plug/docgen/graphdoc.py: Fix graphdoc to properly
escape characters in ids for Graphviz (#1111) Fixes #11741
2020-09-14 John Ralls <jralls@ceridwen.us>
* gramps/gen/db/dummydb.py, gramps/gen/db/txn.py,
gramps/gen/db/utils.py, gramps/gen/dbstate.py,
gramps/gen/filters/rules/test/person_rules_test.py,
gramps/gen/utils/callback.py, gramps/plugins/db/bsddb/bsddbtxn.py:
Replace inspect.stack() with inspect.currentframe() (#1104)
* Replace inspect.stack() with inspect.currentframe() Fixes #11874
Works around https://bugs.python.org/issue12920 which causes every
call to inspect.trace() to fail because __main__ is always the
starting point. * Fix a few Codecov complaints from files touched by
previous commit. Ignoring the "duplicate code" issue caused by the empty
comment line at the beginning of every file.
2020-09-14 RossGammon <rossgammon@mail.dk>
* debian/changelog, debian/copyright: Update Debian directory after
producing the deb file for the 5.1.3 (#1100) Release.
2020-09-14 Paul Culley <paulr2787@gmail.com>
* gramps/gui/selectors/baseselector.py: Fix crash sorting on columns
in Selectors with TreeModels (#1099) Fixes #11750
2020-09-14 Paul Culley <paulr2787@gmail.com>
* gramps/gui/dbloader.py, gramps/gui/displaystate.py,
gramps/gui/uimanager.py, gramps/gui/utils.py,
gramps/gui/viewmanager.py: Fix progress bar freeze due to changes in
Gtk (#1103) Fixes #11642
2020-09-14 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/docgen/svgdrawdoc.py: Fix svgdrawdoc for text
containing XML invalid characters (#1110) Fixes #11929
2020-08-30 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: Further changes for bundling with Python 3.8.
2020-08-30 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: Add libgeocode-glib to bundle so that it
actually works.
2020-08-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: German translation two small corrections
2020-08-25 John Ralls <jralls@ceridwen.us>
* mac/gramps_launcher.py: [mac] Set __file__ if gramps_launcher.py
is run as __main__. Fixes #11874.
2020-08-21 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2020-08-20 John Ralls <jralls@ceridwen.us>
* mac/Info.plist, mac/gramps.modules: Bundle release of Gramps
5.1.3.
2020-08-20 John Ralls <jralls@ceridwen.us>
* mac/gramps.modules: Add geocode-glib to build.
2020-08-12 pehlm <par.ekholm@pekholm.org>
* po/sv.po: Update Swedish translation
2020-08-12 prculley <paulr2787@gmail.com>
* Bump to 5.1.4

68
NEWS
View File

@ -1,3 +1,69 @@
2021-07-26
Version 5.1.4
* Update translations: cs, de, es, fi, fr, hu, nl, pt_BR, ru, sv, zh_CN.
* Update copyright date.
* Fix probably alive if death without date.
* Place editor, copy and paste of lat and long text no longer
auto-populating latitude and longitude fields.
* Fix for crash when changing views if part of toolbar is not shown because
of a small screen when changing views.
* Fix bottombar always showing after restart, even when not wanted.
* Always use filtered collation names. Store the Sqlite3 collations in the
__collations array to short-circuit re-creation.
* Fix issue with German relation calculator fixed issue when more than 24
generations between the two people.
* Add file logging for macOS. When Gramps is launched from macOS's
LaunchServices it doesn't have a sys.stderr attached so the default stream
logger goes to /dev/null. Use a FileHandler in tht case, writing the log
to $TMPDIR/gramps-pid.log. This will help particularly in analyzing
crashes where python shuts down as there's no crash report in that case.
* Fix libplaceview to avoid exception when mapservice is no longer present.
* Fix References Gramplet for inadequate updates when other objects change.
* Fix geofamily crash if a family has no father.
* Home Person setting does not convey in a merge.
* Fix CSV export of view to only put single CR character.
* Add Media filter rule 'HasMedia' to list of media rules for editor.
* Need to set locale.textdomain under linux. _build_popup_ui() ignores
translated strings without locale.textdomain set.
* Change category of 'MatchesEventFilter'.
* Fix issue where separator between top and bottom bar of View creeps up.
* Fix Locations Gramplet (Enclosed by) to properly display certain nested
places when the smallest place has undated enclosure and larger places are
dated.
* Fix Family Tree Manager drop error on Windows.
* Fix exportvcalendar error is "is not" with a literal (Python 3.8 issue)
* Handle not found when copying source from the citation tree.
* Fix call to 'file' function, which doesn't exist in Python3.
* Fix write_lock_file exception when USERNAME is missing.
* Fix EditPlace so Tab key doesn't get stuck on Private icon.
* Fix Tag report for places that have a hierarchy.
* Fix exception when cancelling out of a db upgrade in GUI.
* Icon file changes:
* Install 128x128 and 256x256 application icons.
* Install MIME type icons into the hicolor theme.
* Remove gnome-mime- prefix from icon filenames.
* Install application icons into correct directories.
* Fix error in Birthday and Anniversary report. Fixes an error triggered
when the first person_handle in the list has a death event, but no birth
event and does not have family relationships. These conditions lead to
the local variable short_name not being declared before it comes time to
process death events.
* Fix graphdoc to properly escape characters in ids for Graphviz.
* Replace inspect.stack() with inspect.currentframe().
Works around https://bugs.python.org/issue12920 which causes every
call to inspect.trace() to fail because __main__ is always the
starting point.
* Fix crash sorting on columns in Selectors with TreeModels.
* Fix progress bar freeze due to changes in Gtk.
* Fix svgdrawdoc for text containing XML invalid characters.
* Mac:
* Update PyICU to 2.7.2 in macOS build.
* Update dependencies. Includes moving berkeleydb and pybsddb over from
gtk-osx.
* Further changes for bundling with Python 3.8.
* Set __file__ if gramps_launcher.py is run as __main__.
* Add geocode-glib to build.
2020-08-11
Version 5.1.3
* Update ca, de, fi, fr, ja, pl, ru, sl, sv, uk, zh_CN translation
@ -94,7 +160,7 @@ Version 5.1.2
* [Tree doc Tex] fix typo on custom size
* Fix duplicated "døde døde" Norwegion Translation for libnarrate
* Fix up Event Editors Place display for bidi text with Gramps ID
* Fix issues with RTL languages and LAT/LONG
* Fix issues with RTL languages and LAT/LONG
* Fix display of GPS coordinates in Places view for RTL languages
* Fix place editor lat/long entry for RTL languages
* Fix GEDCOM export to avoid translated GrampsType strings

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
gramps (5.1.3-1) focal; urgency=medium
* New release
* Update debian/copyright for Alex Roitman
-- Ross Gammon <rosco2@ubuntu.com> Sun, 16 Aug 2020 20:23:34 +0200
gramps (5.1.2-1) unstable; urgency=medium
* New release

2
debian/copyright vendored
View File

@ -3,7 +3,7 @@ Upstream-Name: Gramps
Source: https://gramps-project.org
Files: *
Copyright: 2000-2007, Alex Roitman
Copyright: 2000-2007, 2020 Alex Roitman
2000-2002, Bruce J. DeGrasse
2000-2008, Donald N. Allingham
2000-2007, Martin Hawlisch

View File

@ -225,7 +225,7 @@ GTK_GETTEXT_DOMAIN = 'gtk30'
#
#-------------------------------------------------------------------------
COPYRIGHT_MSG = "© 2001-2006 Donald N. Allingham\n" \
"© 2007-2020 The Gramps Developers"
"© 2007-2021 The Gramps Developers"
COMMENTS = _("Gramps\n (Genealogical Research and Analysis "
"Management Programming System)\n"
"is a personal genealogy program.")

View File

@ -83,35 +83,37 @@ class DateParserNL(DateParser):
month_to_int["xbris"] = 12
modifier_to_int = {
'voor' : Date.MOD_BEFORE,
'na' : Date.MOD_AFTER,
'tegen' : Date.MOD_ABOUT,
'om' : Date.MOD_ABOUT,
'rond' : Date.MOD_ABOUT,
'circa' : Date.MOD_ABOUT,
'ca.' : Date.MOD_ABOUT,
'voor' : Date.MOD_BEFORE,
'na' : Date.MOD_AFTER,
'ca.' : Date.MOD_ABOUT,
'circa' : Date.MOD_ABOUT,
'om' : Date.MOD_ABOUT,
'omstreeks' : Date.MOD_ABOUT,
'ongeveer' : Date.MOD_ABOUT,
'rond' : Date.MOD_ABOUT,
'tegen' : Date.MOD_ABOUT,
}
calendar_to_int = {
'gregoriaans' : Date.CAL_GREGORIAN,
'greg.' : Date.CAL_GREGORIAN,
'juliaans' : Date.CAL_JULIAN,
'jul.' : Date.CAL_JULIAN,
'hebreeuws' : Date.CAL_HEBREW,
'hebr.' : Date.CAL_HEBREW,
'islamitisch' : Date.CAL_ISLAMIC,
'isl.' : Date.CAL_ISLAMIC,
'franse republiek': Date.CAL_FRENCH,
'fran.' : Date.CAL_FRENCH,
'persisch' : Date.CAL_PERSIAN,
'zweeds' : Date.CAL_SWEDISH,
'z' : Date.CAL_SWEDISH,
'gregoriaans' : Date.CAL_GREGORIAN,
'greg.' : Date.CAL_GREGORIAN,
'juliaans' : Date.CAL_JULIAN,
'jul.' : Date.CAL_JULIAN,
'hebreeuws' : Date.CAL_HEBREW,
'hebr.' : Date.CAL_HEBREW,
'islamitisch' : Date.CAL_ISLAMIC,
'isl.' : Date.CAL_ISLAMIC,
'frans republiekeins' : Date.CAL_FRENCH,
'fran.' : Date.CAL_FRENCH,
'persisch' : Date.CAL_PERSIAN,
'zweeds' : Date.CAL_SWEDISH,
'z' : Date.CAL_SWEDISH,
}
quality_to_int = {
'geschat' : Date.QUAL_ESTIMATED,
'geschat' : Date.QUAL_ESTIMATED,
'gesch.' : Date.QUAL_ESTIMATED,
'berekend' : Date.QUAL_CALCULATED,
'berekend' : Date.QUAL_CALCULATED,
'ber.' : Date.QUAL_CALCULATED,
}
@ -147,17 +149,17 @@ class DateDisplayNL(DateDisplay):
calendar = (
"", "juliaans", "hebreeuws",
"franse republiek", "persisch", "islamitisch",
"frans republikeins", "persisch", "islamitisch",
"zweeds" )
_mod_str = ("", "voor ", "na ", "rond ", "", "", "")
_mod_str = ("", "voor ", "na ", "omstreeks ", "", "", "")
_qual_str = ("", "geschat ", "berekend ")
_bce_str = "%s v. Chr."
formats = (
"JJJJ-MM-DD (ISO)", "Numerisch DD/MM/JJ", "Maand Dag, Jaar",
"JJJJ-MM-DD (ISO)", "Numeriek DD/MM/JJJJ", "Maand Dag, Jaar",
"Mnd. Dag Jaar", "Dag Maand Jaar", "Dag Mnd. Jaar"
)
# this definition must agree with its "_display_gregorian" method

View File

@ -52,7 +52,6 @@ methods should be changed to generate exceptions. Possibly by globally changing
#
#-------------------------------------------------------------------------
import logging
import os
import inspect
from abc import ABCMeta
from types import FunctionType
@ -160,10 +159,12 @@ def wrapper(method):
"""
class_name = args[0].__class__.__name__
func_name = method.__name__
caller_frame = inspect.stack()[1]
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
LOG.debug('calling %s.%s()... from file %s, line %s in %s',
class_name, func_name, os.path.split(caller_frame[1])[1],
caller_frame[2], caller_frame[3])
class_name, func_name, c_code.co_filename, c_frame.f_lineno,
c_code.co_name)
return method(*args, **keywargs)
return wrapped

View File

@ -78,15 +78,13 @@ class DbTxn(defaultdict):
elapsed_time = time.time() - self.start_time
if __debug__:
caller_frame = inspect.stack()[1]
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
_LOG.debug(" **** DbTxn %s exited. Called from file %s, "
"line %s, in %s **** %.2f seconds" %
((hex(id(self)),)+
(os.path.split(caller_frame[1])[1],)+
tuple(caller_frame[i] for i in range(2, 4))+
(elapsed_time,)
)
)
"line %s, in %s **** %.2f seconds",
hex(id(self)), c_code.co_filename, c_frame.f_lineno,
c_code.co_name, elapsed_time)
return False

View File

@ -42,6 +42,8 @@ from ..const import PLUGINS_DIR, USER_PLUGINS
from ..constfunc import win, get_env_var
from ..config import config
from .dbconst import DBLOGNAME, DBLOCKFN, DBBACKEND
from ..const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext
#-------------------------------------------------------------------------
#
@ -70,12 +72,14 @@ def make_database(plugin_id):
database = getattr(mod, pdata.databaseclass)
db = database()
import inspect
caller_frame = inspect.stack()[1]
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
_LOG.debug("Database class instance created Class:%s instance:%s. "
"Called from File %s, line %s, in %s"
% ((db.__class__.__name__, hex(id(db)))
+ (os.path.split(caller_frame[1])[1],)
+ tuple(caller_frame[i] for i in range(2, 4))))
"Called from File %s, line %s, in %s",
db.__class__.__name__, hex(id(db)), c_code.co_filename,
c_frame.f_lineno, c_code.co_name)
return db
else:
raise Exception("can't load database backend: '%s'" % plugin_id)
@ -209,8 +213,8 @@ def write_lock_file(name):
if win():
user = get_env_var('USERNAME')
host = get_env_var('USERDOMAIN')
if host is None:
host = ""
if not user:
user = _("Unknown")
else:
host = os.uname()[1]
# An ugly workaround for os.getlogin() issue with Konsole

View File

@ -29,7 +29,6 @@ Provide the database state class
#
#------------------------------------------------------------------------
import sys
import os
import logging
import inspect
@ -88,10 +87,12 @@ class DbState(Callback):
"""
class_name = self.__class__.__name__
func_name = "is_open"
caller_frame = inspect.stack()[1]
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
_LOG.debug('calling %s.%s()... from file %s, line %s in %s',
class_name, func_name, os.path.split(caller_frame[1])[1],
caller_frame[2], caller_frame[3])
class_name, func_name, c_code.co_filename, c_frame.f_lineno,
c_code.co_name)
return (self.db is not None) and self.db.is_open()
def change_database(self, database):

View File

@ -51,6 +51,7 @@ editor_rule_list = [
MediaPrivate,
MatchesFilter,
MatchesSourceConfidence,
HasMedia,
HasAttribute,
ChangedSince,
HasTag,

View File

@ -52,7 +52,7 @@ class MatchesEventFilter(MatchesEventFilterBase):
name = _('Persons with events matching the <event filter>')
description = _("Matches persons who have events that match a certain"
" event filter")
category = _('General filters')
category = _('Event filters')
# we want to have this filter show event filters
namespace = 'Event'

View File

@ -99,7 +99,8 @@ class BaseTest(unittest.TestCase):
stime = perf_counter()
results = filter_.apply(self.db)
if __debug__:
rulename = inspect.stack()[1][3]
frame = inspect.currentframe()
rulename = frame.f_back.f_code.co_name
print("%s: %.2f\n" % (rulename, perf_counter() - stime))
return set(results)

View File

@ -31,8 +31,8 @@ Provide merge capabilities for persons.
#-------------------------------------------------------------------------
from ..db import DbTxn
from ..const import GRAMPS_LOCALE as glocale
_ = glocale.translation.sgettext
from ..errors import MergeError
_ = glocale.translation.sgettext
#-------------------------------------------------------------------------
#
@ -49,11 +49,12 @@ class MergePersonQuery:
self.titanic = titanic
if self.check_for_spouse(self.phoenix, self.titanic):
raise MergeError(_("Spouses cannot be merged. To merge these "
"people, you must first break the relationship between them."))
"people, you must first break the relationship"
" between them."))
if self.check_for_child(self.phoenix, self.titanic):
raise MergeError(_("A parent and child cannot be merged. To merge "
"these people, you must first break the relationship between "
"them."))
"these people, you must first break the relatio"
"nship between them."))
def check_for_spouse(self, person1, person2):
"""Return if person1 and person2 are spouses of eachother."""
@ -80,12 +81,12 @@ class MergePersonQuery:
main_family.merge(family)
for childref in family.get_child_ref_list():
child = self.database.get_person_from_handle(
childref.get_reference_handle())
childref.get_reference_handle())
if main_family_handle in child.parent_family_list:
child.remove_handle_references('Family', [family_handle])
else:
child.replace_handle_reference('Family', family_handle,
main_family_handle)
main_family_handle)
self.database.commit_person(child, trans)
if self.phoenix:
self.phoenix.remove_family_handle(family_handle)
@ -143,7 +144,8 @@ class MergePersonQuery:
for family_handle in self.phoenix.get_parent_family_handle_list():
family = self.database.get_family_from_handle(family_handle)
if family.has_handle_reference('Person', old_handle):
family.replace_handle_reference('Person', old_handle,new_handle)
family.replace_handle_reference('Person', old_handle,
new_handle)
self.database.commit_family(family, trans)
family_merge_guard = False
@ -182,7 +184,10 @@ class MergePersonQuery:
self.database.commit_family(family, trans)
parent_list.append(parents)
if self.database.get_default_handle() == old_handle:
self.database.set_default_person_handle(None)
hp_hdl = self.database.get_default_handle()
if (hp_hdl in (self.phoenix.get_handle(), self.titanic.get_handle())
and hp_hdl != self.phoenix.get_handle()):
self.database.set_default_person_handle(self.phoenix.get_handle())
self.database.remove_person(old_handle, trans)
return family_merge_ok

View File

@ -113,6 +113,10 @@ else:
_GS_CMD = where_is("gs")
def esc(id_txt):
return id_txt.replace('"', '\\"')
#------------------------------------------------------------------------------
#
# GVOptions
@ -575,7 +579,7 @@ class GVDocBase(BaseDoc, GVDoc):
text += ' URL="%s"' % url
text += " ]"
self.write(' "%s" %s;\n' % (node_id, text))
self.write(' "%s" %s;\n' % (esc(node_id), text))
def add_link(self, id1, id2, style="", head="", tail="", comment=""):
"""
@ -583,7 +587,7 @@ class GVDocBase(BaseDoc, GVDoc):
Implements GVDocBase.add_link().
"""
self.write(' "%s" -> "%s"' % (id1, id2))
self.write(' "%s" -> "%s"' % (esc(id1), esc(id2)))
if style or head or tail:
self.write(' [')
@ -635,7 +639,7 @@ class GVDocBase(BaseDoc, GVDoc):
Implements GVDocBase.add_samerank().
"""
self.write(' {rank=same "%s" "%s"}\n' % (id1, id2))
self.write(' {rank=same "%s" "%s"}\n' % (esc(id1), esc(id2)))
def rewrite_label(self, id, label):
"""
@ -643,7 +647,7 @@ class GVDocBase(BaseDoc, GVDoc):
Implements GVDocBase.rewrite_label().
"""
self.write(' "%s" [label = "%s"]\n' % (id, label))
self.write(' "%s" [label = "%s"]\n' % (esc(id), label))
def start_subgraph(self, graph_id):
""" Implement GVDocBase.start_subgraph() """

View File

@ -142,6 +142,8 @@ class ProbablyAlive:
# person died more than MAX after current year
if death_date.is_valid():
birth_date = death_date.copy_offset_ymd(year=-self.MAX_AGE_PROB_ALIVE)
else:
birth_date = death_date
explain = _("death date")
if not death_date and birth_date:

View File

@ -324,12 +324,16 @@ class Callback:
return
# Check signal exists
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
frame_info = (c_code.co_filename, c_frame.f_lineno, c_code.co_name)
if signal_name not in self.__signal_map:
self._warn("Attempt to emit to unknown signal: %s\n"
" from: file: %s\n"
" line: %d\n"
" func: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4]))
% ((str(signal_name), ) + frame_info))
return
# check that the signal is not already being emitted. This prevents
@ -340,7 +344,7 @@ class Callback:
" from: file: %s\n"
" line: %d\n"
" func: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4]))
% ((str(signal_name), ) + frame_info))
return
try:
@ -358,7 +362,7 @@ class Callback:
" from: file: %s\n"
" line: %d\n"
" func: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4]))
% ((str(signal_name), ) + frame_info))
return
# type check arguments
@ -369,7 +373,7 @@ class Callback:
" from: file: %s\n"
" line: %d\n"
" func: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4]))
% ((str(signal_name), ) + frame_info))
return
if len(args) > 0:
@ -379,7 +383,7 @@ class Callback:
" from: file: %s\n"
" line: %d\n"
" func: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4]))
% ((str(signal_name), ) + frame_info))
return
if arg_types is not None:
@ -391,7 +395,7 @@ class Callback:
" line: %d\n"
" func: %s\n"
" arg passed was: %s, type of arg passed %s, type should be: %s\n"
% ((str(signal_name), ) + inspect.stack()[1][1:4] +\
% ((str(signal_name), ) + frame_info +\
(args[i], repr(type(args[i])), repr(arg_types[i]))))
return
if signal_name in self.__callback_map:

View File

@ -49,7 +49,7 @@ class CSVTab(TabbedDoc):
else:
self.filename = filename
self.f = open(self.filename, "w",
self.f = open(self.filename, "w", newline='',
encoding='utf_8_sig' if win() else 'utf_8')
self.writer = csv.writer(self.f)

View File

@ -525,6 +525,8 @@ class GrampsLocale:
# with locale instead of gettext. Win32 doesn't support bindtextdomain.
if self.localedir:
if not sys.platform == 'win32':
# bug12278, _build_popup_ui() under linux and macOS
locale.textdomain(self.localedomain)
locale.bindtextdomain(self.localedomain, self.localedir)
else:
self._win_bindtextdomain(self.localedomain.encode('utf-8'),

View File

@ -127,15 +127,32 @@ if win():
elif not os.path.isdir(HOME_DIR):
os.makedirs(HOME_DIR)
sys.stdout = sys.stderr = open(logfile, "w", encoding='utf-8')
stderrh = logging.StreamHandler(sys.stderr)
stderrh.setFormatter(form)
stderrh.setLevel(logging.DEBUG)
# macOS sets stderr to /dev/null when running without a terminal,
# e.g. if Gramps.app is lauched by double-clicking on it in
# finder. Write to a file instead.
if mac() and not sys.stdin.isatty():
from tempfile import gettempdir
# Setup the base level logger, this one gets
# everything.
l = logging.getLogger()
l.setLevel(logging.WARNING)
l.addHandler(stderrh)
log_file_name = 'gramps-' + str(os.getpid()) + '.log'
log_file_path = os.path.join(gettempdir(), log_file_name)
log_file_handler = logging.FileHandler(log_file_path, mode='a',
encoding='utf-8')
log_file_handler.setFormatter(form)
log_file_handler.setLevel(logging.DEBUG)
logger = logging.getLogger()
logger.setLevel(logging.WARNING)
logger.addHandler(log_file_handler)
else:
stderrh = logging.StreamHandler(sys.stderr)
stderrh.setFormatter(form)
stderrh.setLevel(logging.DEBUG)
# Setup the base level logger, this one gets
# everything.
l = logging.getLogger()
l.setLevel(logging.WARNING)
l.addHandler(stderrh)
def exc_hook(err_type, value, t_b):

View File

@ -471,27 +471,36 @@ class ClipCitation(ClipHandleWrapper):
def refresh(self):
if self._handle:
citation = clipdb.get_citation_from_handle(self._handle)
if citation:
self._title = citation.get_gramps_id()
notelist = list(map(clipdb.get_note_from_handle,
citation.get_note_list()))
srctxtlist = [note for note in notelist
if note.get_type() == NoteType.SOURCE_TEXT]
page = citation.get_page()
if not page:
page = _('not available|NA')
text = ""
if srctxtlist:
text = " ".join(srctxtlist[0].get().split())
#String must be unicode for truncation to work for non
#ascii characters
text = str(text)
if len(text) > 60:
text = text[:60] + "..."
self._value = _("Volume/Page: %(pag)s -- %(sourcetext)s") % {
'pag' : page,
'sourcetext' : text}
try:
citation = clipdb.get_citation_from_handle(self._handle)
if citation:
self._title = citation.get_gramps_id()
notelist = list(map(clipdb.get_note_from_handle,
citation.get_note_list()))
srctxtlist = [note for note in notelist
if note.get_type() == NoteType.SOURCE_TEXT]
page = citation.get_page()
if not page:
page = _('not available|NA')
text = ""
if srctxtlist:
text = " ".join(srctxtlist[0].get().split())
#String must be unicode for truncation to work for non
#ascii characters
text = str(text)
if len(text) > 60:
text = text[:60] + "..."
self._value = _("Volume/Page: %(pag)s -- %(sourcetext)s"
) % { 'pag' : page,
'sourcetext' : text}
except:
# We are in the Source tree view. The shortcuts only
# work for citations.
print("We cannot copy the source from this view."
" Use drag and drop.")
self._title = self._value = ''
self._pickle = self._type = self._objclass = None
self._handle = self._dbid = self._dbname = None
class ClipRepoRef(ClipObjWrapper):
@ -1281,6 +1290,14 @@ class ClipboardListView:
model.insert_before(node, data)
else:
model.insert_after(node, data)
elif isinstance(data[1], ClipCitation):
if data[3]:
# we have a real citation
model.append(data)
#else:
# We are in a Source treeview and trying
# to copy a source with a shortcut.
# Use drag and drop to do that.
else:
model.append(data)

View File

@ -532,7 +532,7 @@ class GrampsImportFileDialog(ManagedWindow):
return True
else:
try:
f = file(filename,'w')
f = open(filename, 'w')
f.close()
os.remove(filename)
except IOError:
@ -548,7 +548,6 @@ class GrampsImportFileDialog(ManagedWindow):
self.import_info = None
self._begin_progress()
self.uistate.set_sensitive(False)
self.uistate.viewmanager.enable_menu(False)
try:
#an importer can return an object with info, object.info_text()
@ -569,7 +568,6 @@ class GrampsImportFileDialog(ManagedWindow):
except Exception:
_LOG.error("Failed to import database.", exc_info=True)
self.uistate.set_sensitive(True)
self.uistate.viewmanager.enable_menu(True)
self._end_progress()
def build_menu_names(self, obj): # this is meaningless since it's modal

View File

@ -1013,7 +1013,7 @@ class DbManager(CLIDbManager, ManagedWindow):
"""
Handle the reception of drag data
"""
drag_value = selection.get_data().decode()
drag_value = selection.get_data().decode().strip(' \r\n\x00')
fname = None
type = None
title = None

View File

@ -520,7 +520,10 @@ class DisplayState(Callback):
history.push(handle)
def set_sensitive(self, state):
self.window.set_sensitive(state)
tbar = self.uimanager.get_widget('ToolBar')
tbar.set_sensitive(state)
self.viewmanager.hpane.set_sensitive(state)
self.uimanager.enable_all_actions(state)
def db_changed(self, db):
db.connect('long-op-start', self.progress_monitor.add_op)

View File

@ -187,9 +187,14 @@ class EditPlace(EditPrimary):
def set_latlongitude(self, value):
try:
coma = value.index(', ')
longitude = value[coma+2:].strip().replace(',','.')
latitude = value[:coma].strip().replace(',','.')
# Bug 12349
parts = value.split(', ')
if len(parts) == 2:
longitude = parts[0].strip().replace(',', '.')
latitude = parts[1].strip().replace(',', '.')
else:
longitude, latitude = value.split(',')
self.longitude.set_text(longitude)
self.latitude.set_text(latitude)
self.top.get_object("lat_entry").validate(force=True)

View File

@ -180,9 +180,14 @@ class EditPlaceRef(EditReference):
def set_latlongitude(self, value):
try:
coma = value.index(', ')
longitude = value[coma+2:].strip().replace(',','.')
latitude = value[:coma].strip().replace(',','.')
# Bug 12349
parts = value.split(', ')
if len(parts) == 2:
longitude = parts[0].strip().replace(',', '.')
latitude = parts[1].strip().replace(',', '.')
else:
longitude, latitude = value.split(',')
self.longitude.set_text(longitude)
self.latitude.set_text(latitude)
self.top.get_object("lat_entry").validate(force=True)

View File

@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<requires lib="grampswidgets" version="0.0"/>
<object class="GtkDialog" id="editplace">
<property name="can_focus">False</property>
<property name="type_hint">dialog</property>
<child type="titlebar">
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox19">
<property name="visible">True</property>
@ -101,7 +103,7 @@
<child>
<object class="GtkLabel" id="comment1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Either use the two fields below to enter coordinates (latitude and longitude),</property>
<property name="hexpand">True</property>

View File

@ -325,7 +325,6 @@ class BaseSelector(ManagedWindow):
self.sortorder = Gtk.SortType.ASCENDING
else:
self.sortorder = Gtk.SortType.DESCENDING
self.model.reverse_order()
self.build_tree()
return True

View File

@ -496,6 +496,16 @@ class UIManager():
"""
return group.act_group.lookup_action(actionname)
def enable_all_actions(self, state):
for group in self.action_groups:
if group.act_group:
for item in group.actionlist:
action = group.act_group.lookup_action(item[ACTION_NAME])
if action:
# We check in case the group has not been inserted into
# UIManager yet
action.set_enabled(group.sensitive if state else False)
def dump_all_accels(self):
''' A function used diagnostically to see what accels are present.
This will only dump the current accel set, if other non-open windows

View File

@ -450,7 +450,7 @@ def open_file_with_default_application(path, uistate):
GLib.timeout_add_seconds(1, poll_external, (proc, errstrings, uistate))
return
def process_pending_events(max_count=10):
def process_pending_events(max_count=20):
"""
Process pending events, but don't get into an infinite loop.
"""

View File

@ -56,6 +56,7 @@ LOG = logging.getLogger(".")
#-------------------------------------------------------------------------
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GLib
#-------------------------------------------------------------------------
#
@ -273,13 +274,13 @@ class ViewManager(CLIManager):
Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.window.add(vbox)
hpane = Gtk.Paned()
self.hpane = Gtk.Paned()
self.ebox = Gtk.EventBox()
self.navigator = Navigator(self)
self.ebox.add(self.navigator.get_top())
hpane.pack1(self.ebox, False, False)
hpane.show()
self.hpane.pack1(self.ebox, False, False)
self.hpane.show()
self.notebook = Gtk.Notebook()
self.notebook.set_scrollable(True)
@ -288,14 +289,14 @@ class ViewManager(CLIManager):
self.__init_lists()
self.__build_ui_manager()
hpane.add2(self.notebook)
self.hpane.add2(self.notebook)
toolbar = self.uimanager.get_widget('ToolBar')
self.statusbar = Statusbar()
self.statusbar.show()
vbox.pack_end(self.statusbar, False, True, 0)
vbox.pack_start(toolbar, False, True, 0)
vbox.pack_end(hpane, True, True, 0)
vbox.show()
vbox.pack_end(self.hpane, True, True, 0)
vbox.show_all()
self.uistate = DisplayState(self.window, self.statusbar,
self.uimanager, self)
@ -835,6 +836,7 @@ class ViewManager(CLIManager):
hbox.add(Gtk.Label(label=pdata.name))
hbox.show_all()
page_num = self.notebook.append_page(page.get_display(), hbox)
self.active_page.post_create()
if not self.file_loaded:
self.uimanager.set_actions_visible(self.actiongroup, False)
self.uimanager.set_actions_visible(self.readonlygroup, False)
@ -883,12 +885,17 @@ class ViewManager(CLIManager):
while Gtk.events_pending():
Gtk.main_iteration()
self.uimanager.update_menu()
# bug 12048 this avoids crash if part of toolbar in view is not shown
# because of a small screen when changing views. Part of the Gtk code
# was deleting a toolbar object too soon; and another part of Gtk still
# had a reference.
def page_changer(self):
self.uimanager.update_menu()
self.active_page.change_page()
return False
while Gtk.events_pending():
Gtk.main_iteration()
self.active_page.change_page()
GLib.idle_add(page_changer, self,
priority=GLib.PRIORITY_DEFAULT_IDLE - 10)
def __delete_pages(self):
"""
@ -993,7 +1000,8 @@ class ViewManager(CLIManager):
The method called after load of a new database.
Inherit CLI method to add GUI part
"""
self._post_load_newdb_nongui(filename, title)
if self.dbstate.db.is_open():
self._post_load_newdb_nongui(filename, title)
self._post_load_newdb_gui(filename, filetype, title)
def _post_load_newdb_gui(self, filename, filetype, title=None):
@ -1061,51 +1069,6 @@ class ViewManager(CLIManager):
config.set('paths.recent-file', '')
config.save()
def enable_menu(self, enable):
""" Enable/disable the menues. Used by the dbloader for import to
prevent other operations during import. Needed because simpler methods
don't work under Gnome with application menus at top of screen (instead
of Gramps window).
Note: enable must be set to False on first call.
"""
if not enable:
self.action_st = (
self.uimanager.get_actions_sensitive(self.actiongroup),
self.uimanager.get_actions_sensitive(self.readonlygroup),
self.uimanager.get_actions_sensitive(self.undoactions),
self.uimanager.get_actions_sensitive(self.redoactions),
self.uimanager.get_actions_sensitive(self.fileactions),
self.uimanager.get_actions_sensitive(self.toolactions),
self.uimanager.get_actions_sensitive(self.reportactions),
self.uimanager.get_actions_sensitive(
self.recent_manager.action_group))
self.uimanager.set_actions_sensitive(self.actiongroup, enable)
self.uimanager.set_actions_sensitive(self.readonlygroup, enable)
self.uimanager.set_actions_sensitive(self.undoactions, enable)
self.uimanager.set_actions_sensitive(self.redoactions, enable)
self.uimanager.set_actions_sensitive(self.fileactions, enable)
self.uimanager.set_actions_sensitive(self.toolactions, enable)
self.uimanager.set_actions_sensitive(self.reportactions, enable)
self.uimanager.set_actions_sensitive(
self.recent_manager.action_group, enable)
else:
self.uimanager.set_actions_sensitive(
self.actiongroup, self.action_st[0])
self.uimanager.set_actions_sensitive(
self.readonlygroup, self.action_st[1])
self.uimanager.set_actions_sensitive(
self.undoactions, self.action_st[2])
self.uimanager.set_actions_sensitive(
self.redoactions, self.action_st[3])
self.uimanager.set_actions_sensitive(
self.fileactions, self.action_st[4])
self.uimanager.set_actions_sensitive(
self.toolactions, self.action_st[5])
self.uimanager.set_actions_sensitive(
self.reportactions, self.action_st[6])
self.uimanager.set_actions_sensitive(
self.recent_manager.action_group, self.action_st[7])
def __change_undo_label(self, label, update_menu=True):
"""
Change the UNDO label

View File

@ -138,6 +138,7 @@ class PageView(DbGUIElement, metaclass=ABCMeta):
self.sidebar = None
self.bottombar = None
self.widget = None
self.vpane = None
DbGUIElement.__init__(self, dbstate.db)
@ -154,18 +155,20 @@ class PageView(DbGUIElement, metaclass=ABCMeta):
self.ident + "_bottombar",
defaults[1])
hpane = Gtk.Paned()
vpane = Gtk.Paned(orientation=Gtk.Orientation.VERTICAL)
hpane.pack1(vpane, resize=True, shrink=False)
self.vpane = Gtk.Paned(orientation=Gtk.Orientation.VERTICAL)
hpane.pack1(self.vpane, resize=True, shrink=False)
hpane.pack2(self.sidebar, resize=False, shrink=False)
hpane.show()
vpane.show()
self.vpane.show()
self.widget = self.build_widget()
self.widget.show_all()
self.widget.set_name('view')
vpane.pack1(self.widget, resize=True, shrink=False)
vpane.pack2(self.bottombar, resize=False, shrink=True)
self._setup_slider_config(vpane, 'vpane.slider-position')
self.vpane.pack1(self.widget, resize=True, shrink=False)
self.vpane.pack2(self.bottombar, resize=False, shrink=True)
self.vpane.show()
self._config.register('vpane.slider-position', -1)
self.vpane.set_position(self._config.get('vpane.slider-position'))
self.sidebar_toggled(self.sidebar.get_property('visible'))
self.hpane_sig = hpane.connect("draw", self.set_page_slider)
@ -343,6 +346,11 @@ class PageView(DbGUIElement, metaclass=ABCMeta):
self.bottombar.set_inactive()
self.active = False
def post_create(self):
if self.vpane:
self._setup_slider_config(self.vpane, 'vpane.slider-position')
self.vpane = None
@abstractmethod
def build_tree(self):
"""

View File

@ -29,7 +29,6 @@ BSDDBTxn class: Wrapper for BSDDB transaction-oriented methods
#-------------------------------------------------------------------------
import logging
import inspect
import os
#-------------------------------------------------------------------------
#
@ -73,14 +72,13 @@ class BSDDBTxn:
"""
# Conditional on __debug__ because all that frame stuff may be slow
if __debug__:
caller_frame = inspect.stack()[1]
frame = inspect.currentframe()
c_frame = frame.f_back
c_code = c_frame.f_code
_LOG.debug(" BSDDBTxn %s instantiated. Called from file %s,"
" line %s, in %s" %
((hex(id(self)),)+
(os.path.split(caller_frame[1])[1],)+
(tuple(caller_frame[i] for i in range(2, 4)))
)
)
" line %s, in %s", hex(id(self)), c_code.co_filename,
c_frame.f_lineno, c_code.co_name)
self.env = env
self.db = db
self.txn = None

View File

@ -224,6 +224,16 @@ class DBAPI(DbGeneric):
if self.transaction == None:
self.dbapi.rollback()
def _collation(self, locale):
"""
Get the adjusted collation if there is one, falling back on
the locale.collation.
"""
collation = self.dbapi.check_collation(locale)
if collation == None:
return locale.get_collation()
return collation
def transaction_begin(self, transaction):
"""
Transactions are handled automatically by the db layer.
@ -364,12 +374,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM person '
'ORDER BY surname '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle FROM person")
rows = self.dbapi.fetchall()
@ -386,9 +393,6 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
sql = ('SELECT family.handle ' +
'FROM family ' +
'LEFT JOIN person AS father ' +
@ -403,7 +407,7 @@ class DBAPI(DbGeneric):
'THEN mother.given_name ' +
'ELSE father.given_name ' +
'END) ' +
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
self.dbapi.execute(sql)
else:
self.dbapi.execute("SELECT handle FROM family")
@ -430,12 +434,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM citation '
'ORDER BY page '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle FROM citation")
rows = self.dbapi.fetchall()
@ -452,12 +453,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM source '
'ORDER BY title '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle from source")
rows = self.dbapi.fetchall()
@ -474,12 +472,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM place '
'ORDER BY title '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle FROM place")
rows = self.dbapi.fetchall()
@ -505,12 +500,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM media '
'ORDER BY desc '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle FROM media")
rows = self.dbapi.fetchall()
@ -536,12 +528,9 @@ class DBAPI(DbGeneric):
:type locale: A GrampsLocale object.
"""
if sort_handles:
if locale != glocale:
self.dbapi.check_collation(locale)
self.dbapi.execute('SELECT handle FROM tag '
'ORDER BY name '
'COLLATE "%s"' % locale.get_collation())
'COLLATE "%s"' % self._collation(locale))
else:
self.dbapi.execute("SELECT handle FROM tag")
rows = self.dbapi.fetchall()

View File

@ -117,6 +117,8 @@ class Connection:
collation = locale.get_collation().translate(self.__tmap)
if collation not in self.__collations:
self.__connection.create_collation(collation, locale.strcoll)
self.__collations.append(collation)
return collation
def execute(self, *args, **kwargs):
"""

View File

@ -31,7 +31,7 @@ SVG document generator.
#
#-------------------------------------------------------------------------
from io import StringIO
from xml.sax.saxutils import escape
#-------------------------------------------------------------------------
#
# Gramps modules
@ -147,7 +147,7 @@ class SvgDrawDoc(BaseDoc, DrawDoc):
linex = xpos + (width - self.string_width(font, line)) / 2
self.buffer.write(
'<tspan x="%4.2f" dy="%d">' % (linex, size) +
line +
escape(line) +
'</tspan>'
)
self.buffer.write('</text>\n')
@ -273,7 +273,7 @@ class SvgDrawDoc(BaseDoc, DrawDoc):
self.buffer.write(' font-family:serif;')
self.buffer.write(
'">' +
line +
escape(line) +
'</text>\n'
)
@ -307,7 +307,7 @@ class SvgDrawDoc(BaseDoc, DrawDoc):
self.buffer.write('font-family:serif;')
self.buffer.write(
'">' +
text +
escape(text) +
'</text>\n'
)

View File

@ -202,7 +202,7 @@ class CalendarWriter:
date = event.get_date_object()
place_handle = event.get_place_handle()
date_string = self.format_date(date, 1)
if date_string is not "":
if date_string != "":
# self.writeln("")
self.writeln("BEGIN:VEVENT")
time_s = time.gmtime(event.change)

View File

@ -92,13 +92,17 @@ class Backlinks(Gramplet):
edit_object(self.dbstate, self.uistate, objclass, handle)
def db_changed(self):
for item in ['person', 'family', 'source', 'citation', 'event',
'media', 'place', 'repository', 'note']:
self.connect(self.dbstate.db, '%s-delete' % item, self.update)
self.connect(self.dbstate.db, '%s-add' % item, self.update)
self.connect(self.dbstate.db, '%s-update' % item, self.update)
class PersonBacklinks(Backlinks):
"""
Displays the back references for a person.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'person-update', self.update)
def active_changed(self, handle):
self.update()
@ -119,7 +123,7 @@ class EventBacklinks(Backlinks):
Displays the back references for an event.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'event-update', self.update)
super().db_changed()
self.connect_signal('Event', self.update)
def update_has_data(self):
@ -139,7 +143,7 @@ class FamilyBacklinks(Backlinks):
Displays the back references for a family.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'family-update', self.update)
super().db_changed()
self.connect_signal('Family', self.update)
def update_has_data(self):
@ -159,7 +163,7 @@ class PlaceBacklinks(Backlinks):
Displays the back references for a place.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'place-update', self.update)
super().db_changed()
self.connect_signal('Place', self.update)
def update_has_data(self):
@ -179,7 +183,7 @@ class SourceBacklinks(Backlinks):
Displays the back references for a source,.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'source-update', self.update)
super().db_changed()
self.connect_signal('Source', self.update)
def update_has_data(self):
@ -199,7 +203,7 @@ class CitationBacklinks(Backlinks):
Displays the back references for a Citation,.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'citation-update', self.update)
super().db_changed()
self.connect_signal('Citation', self.update)
def update_has_data(self):
@ -219,7 +223,7 @@ class RepositoryBacklinks(Backlinks):
Displays the back references for a repository.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'repository-update', self.update)
super().db_changed()
self.connect_signal('Repository', self.update)
def update_has_data(self):
@ -239,7 +243,7 @@ class MediaBacklinks(Backlinks):
Displays the back references for a media object.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'media-update', self.update)
super().db_changed()
self.connect_signal('Media', self.update)
def update_has_data(self):
@ -259,7 +263,7 @@ class NoteBacklinks(Backlinks):
Displays the back references for a note.
"""
def db_changed(self):
self.connect(self.dbstate.db, 'note-update', self.update)
super().db_changed()
self.connect_signal('Note', self.update)
def update_has_data(self):

View File

@ -300,6 +300,8 @@ class DateRange:
"""
start = None
stop = None
if date.is_empty():
return (None, None)
if date.modifier == Date.MOD_NONE:
start = date.sortval
stop = date.sortval

View File

@ -206,8 +206,10 @@ class PlaceBaseView(ListView):
"""
if action:
action.set_state(value)
self.mapservice = mapkey = value.get_string()
config.set('interface.mapservice', mapkey)
self.mapservice = value.get_string()
else:
self.mapservice = value
config.set('interface.mapservice', self.mapservice)
config.save()
_ui = self.__create_maps_menu_actions()
self.uimanager.add_ui_from_string(_ui)

View File

@ -5,6 +5,7 @@
# Copyright (C) 2003-2005 Donald N. Allingham
# Copyright (C) 2008 Stefan Siegel
# Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2021 Mirko Leonhaeuser
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -156,7 +157,7 @@ class RelationshipCalculator(gramps.gen.relationship.RelationshipCalculator):
if removed < len(_removed):
return _removed[removed]
else:
return '(%s)' % self._make_roman(removed-2)
return '(%s) Urgroß' % self._make_roman(removed-1)
def _degree_text(self, degree, removed):
if removed == 0:

View File

@ -5,6 +5,7 @@
# Copyright (C) 2003-2005 Donald N. Allingham
# Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2018 Robin van der Vliet
# Copyright (C) 2020 Jan Sparreboom
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -35,7 +36,7 @@ import gramps.gen.relationship
#-------------------------------------------------------------------------
#
#
# Levels
#
#-------------------------------------------------------------------------
@ -69,9 +70,207 @@ _child_level = [ "", "",
_nibling_level = [ "", "",
"achter", "achterachter", "achterachterachter" ]
_parents_level = ["",
"ouders",
"grootouders",
"overgrootouders",
"betovergrootouders",
"overgrootouders 5e graad",
"overgrootouders 6e graad",
"overgrootouders 7e graad",
"overgrootouders 8e graad",
"overgrootouders 9e graad",
"overgrootouders 10e graad",
"overgrootouders 11e graad",
"overgrootouders 12e graad",
"overgrootouders 13e graad",
"overgrootouders 14e graad",
"overgrootouders 15e graad",
"overgrootouders 16e graad",
"overgrootouders 17e graad",
"overgrootouders 18e graad",
"overgrootouders 19e graad",
"overgrootouders 20e graad",
"overgrootouders 21e graad",
"overgrootouders 22e graad",
"overgrootouders 23e graad",
"overgrootouders 24e graad",
"overgrootouders 25e graad",
"overgrootouders 26e graad",
"overgrootouders 27e graad",
"overgrootouders 28e graad",
"overgrootouders 29e graad",
"overgrootouders 30e graad",
"overgrootouders 31e graad",
"overgrootouders 32e graad",
"overgrootouders 33e graad",
"overgrootouders 34e graad",
"overgrootouders 35e graad",
"overgrootouders 36e graad",
"overgrootouders 37e graad",
"overgrootouders 38e graad",
"overgrootouders 39e graad",
"overgrootouders 40e graad",
"overgrootouders 41e graad",
"overgrootouders 42e graad",
"overgrootouders 43e graad",
"overgrootouders 44e graad",
"overgrootouders 45e graad",
"overgrootouders 46e graad",
"overgrootouders 47e graad",
"overgrootouders 48e graad",
"overgrootouders 49e graad",
"overgrootouders 50e graad", ]
_siblings_level = ["",
"broers en zussen",
"ooms en tantes",
"oudooms en -tantes",
"overoudooms en -tantes",
"overoudooms en -tantes 5e graad",
"overoudooms en -tantes 6e graad",
"overoudooms en -tantes 7e graad",
"overoudooms en -tantes 8e graad",
"overoudooms en -tantes 9e graad",
"overoudooms en -tantes 10e graad",
"overoudooms en -tantes 11e graad",
"overoudooms en -tantes 12e graad",
"overoudooms en -tantes 13e graad",
"overoudooms en -tantes 14e graad",
"overoudooms en -tantes 15e graad",
"overoudooms en -tantes 16e graad",
"overoudooms en -tantes 17e graad",
"overoudooms en -tantes 18e graad",
"overoudooms en -tantes 19e graad",
"overoudooms en -tantes 20e graad",
"overoudooms en -tantes 21e graad",
"overoudooms en -tantes 22e graad",
"overoudooms en -tantes 23e graad",
"overoudooms en -tantes 24e graad",
"overoudooms en -tantes 25e graad",
"overoudooms en -tantes 26e graad",
"overoudooms en -tantes 27e graad",
"overoudooms en -tantes 28e graad",
"overoudooms en -tantes 29e graad",
"overoudooms en -tantes 30e graad",
"overoudooms en -tantes 41e graad",
"overoudooms en -tantes 42e graad",
"overoudooms en -tantes 43e graad",
"overoudooms en -tantes 44e graad",
"overoudooms en -tantes 45e graad",
"overoudooms en -tantes 46e graad",
"overoudooms en -tantes 47e graad",
"overoudooms en -tantes 48e graad",
"overoudooms en -tantes 49e graad",
"overoudooms en -tantes 50e graad", ]
_children_level = ["",
"kinderen",
"kleinkinderen",
"achterkleinkinderen",
"betachterkleinkinderen",
"kleinkinderen 5e graad",
"kleinkinderen 6e graad",
"kleinkinderen 7e graad",
"kleinkinderen 8e graad",
"kleinkinderen 9e graad",
"kleinkinderen 10e graad",
"kleinkinderen 11e graad",
"kleinkinderen 12e graad",
"kleinkinderen 13e graad",
"kleinkinderen 14e graad",
"kleinkinderen 15e graad",
"kleinkinderen 16e graad",
"kleinkinderen 17e graad",
"kleinkinderen 18e graad",
"kleinkinderen 19e graad",
"kleinkinderen 20e graad",
"kleinkinderen 21e graad",
"kleinkinderen 22e graad",
"kleinkinderen 23e graad",
"kleinkinderen 24e graad",
"kleinkinderen 25e graad",
"kleinkinderen 26e graad",
"kleinkinderen 27e graad",
"kleinkinderen 28e graad",
"kleinkinderen 29e graad",
"kleinkinderen 30e graad",
"kleinkinderen 31e graad",
"kleinkinderen 32e graad",
"kleinkinderen 33e graad",
"kleinkinderen 34e graad",
"kleinkinderen 35e graad",
"kleinkinderen 36e graad",
"kleinkinderen 37e graad",
"kleinkinderen 38e graad",
"kleinkinderen 39e graad",
"kleinkinderen 40e graad",
"kleinkinderen 41e graad",
"kleinkinderen 42e graad",
"kleinkinderen 43e graad",
"kleinkinderen 44e graad",
"kleinkinderen 45e graad",
"kleinkinderen 46e graad",
"kleinkinderen 47e graad",
"kleinkinderen 48e graad",
"kleinkinderen 49e graad",
"kleinkinderen 50e graad", ]
_nephews_nieces_level = ["",
"broers en zussen",
"neven en nichten",
"achterneven en -nichten",
"achterneven en -nichten 4e graad",
"achterneven en -nichten 5e graad",
"achterneven en -nichten 6e graad",
"achterneven en -nichten 7e graad",
"achterneven en -nichten 8e graad",
"achterneven en -nichten 9e graad",
"achterneven en -nichten 10e graad",
"achterneven en -nichten 11e graad",
"achterneven en -nichten 12e graad",
"achterneven en -nichten 13e graad",
"achterneven en -nichten 14e graad",
"achterneven en -nichten 15e graad",
"achterneven en -nichten 16e graad",
"achterneven en -nichten 17e graad",
"achterneven en -nichten 18e graad",
"achterneven en -nichten 19e graad",
"achterneven en -nichten 20e graad",
"achterneven en -nichten 21e graad",
"achterneven en -nichten 22e graad",
"achterneven en -nichten 23e graad",
"achterneven en -nichten 24e graad",
"achterneven en -nichten 25e graad",
"achterneven en -nichten 26e graad",
"achterneven en -nichten 27e graad",
"achterneven en -nichten 28e graad",
"achterneven en -nichten 29e graad",
"achterneven en -nichten 30e graad",
"achterneven en -nichten 31e graad",
"achterneven en -nichten 32e graad",
"achterneven en -nichten 33e graad",
"achterneven en -nichten 34e graad",
"achterneven en -nichten 35e graad",
"achterneven en -nichten 36e graad",
"achterneven en -nichten 37e graad",
"achterneven en -nichten 38e graad",
"achterneven en -nichten 39e graad",
"achterneven en -nichten 40e graad",
"achterneven en -nichten 41e graad",
"achterneven en -nichten 42e graad",
"achterneven en -nichten 43e graad",
"achterneven en -nichten 44e graad",
"achterneven en -nichten 45e graad",
"achterneven en -nichten 46e graad",
"achterneven en -nichten 47e graad",
"achterneven en -nichten 48e graad",
"achterneven en -nichten 49e graad",
"achterneven en -nichten 50e graad", ]
#-------------------------------------------------------------------------
#
#
# Relationship calculator Dutch version
#
#-------------------------------------------------------------------------
@ -273,6 +472,104 @@ class RelationshipCalculator(gramps.gen.relationship.RelationshipCalculator):
else:
return "%s%snicht (kozijn)" % (inlaw, step) \
+ " " + _ordinal_level[removed] + " graad"
# NIEUW
def get_plural_relationship_string(self, Ga, Gb,
reltocommon_a='', reltocommon_b='',
only_birth=True,
in_law_a=False, in_law_b=False):
"""
Provide a string that describes the relationsip between a person, and
a group of people with the same relationship. E.g. "grandparents" or
"children".
Ga and Gb can be used to mathematically calculate the relationship.
.. seealso::
http://en.wikipedia.org/wiki/Cousin#Mathematical_definitions
:param Ga: The number of generations between the main person and the
common ancestor.
:type Ga: int
:param Gb: The number of generations between the group of people and the
common ancestor
:type Gb: int
:param reltocommon_a: relation path to common ancestor or common
Family for person a.
Note that length = Ga
:type reltocommon_a: str
:param reltocommon_b: relation path to common ancestor or common
Family for person b.
Note that length = Gb
:type reltocommon_b: str
:param only_birth: True if relation between a and b is by birth only
False otherwise
:type only_birth: bool
:param in_law_a: True if path to common ancestors is via the partner
of person a
:type in_law_a: bool
:param in_law_b: True if path to common ancestors is via the partner
of person b
:type in_law_b: bool
:returns: A string describing the relationship between the person and
the group.
:rtype: str
"""
rel_str = "verre familie"
if Ga == 0:
# These are descendants
if Gb < len(_children_level):
rel_str = _children_level[Gb]
else:
rel_str = "verre afstammelingen"
elif Gb == 0:
# These are parents/grand parents
if Ga < len(_parents_level):
rel_str = _parents_level[Ga]
else:
rel_str = "verre voorouders"
elif Gb == 1:
# These are siblings/aunts/uncles
if Ga < len(_siblings_level):
rel_str = _siblings_level[Ga]
else:
rel_str = "verre ooms/tantes"
elif Ga == 1:
# These are nieces/nephews
if Gb < len(_nephews_nieces_level):
rel_str = _nephews_nieces_level[Gb]
else:
rel_str = "verre neven/nichten"
elif Ga > 1 and Ga == Gb:
# These are cousins in the same generation
if Ga <= len(_ordinal_level):
rel_str = "%s neven" % _ordinal_level[Ga-1]
else:
rel_str = "verre neven"
elif Ga > 1 and Ga > Gb:
# These are cousins in different generations with the second person
# being in a higher generation from the common ancestor than the
# first person.
if Gb <= len(_LEVEL_NAME) and (Ga-Gb) < len(_removed_level):
rel_str = "%s neven%s (omhoog)" % (_ordinal_level[Gb-1],
_removed_level[Ga-Gb])
else:
rel_str = "verre neven"
elif Gb > 1 and Gb > Ga:
# These are cousins in different generations with the second person
# being in a lower generation from the common ancestor than the
# first person.
if Ga <= len(_LEVEL_NAME) and (Gb-Ga) < len(_removed_level):
rel_str = "%s neven%s (omlaag)" % (_ordinal_level[Ga-1],
_removed_level[Gb-Ga])
else:
rel_str = "verre neven"
if in_law_b is True:
rel_str = "echtgenoten van %s" % rel_str
return rel_str
def get_single_relationship_string(self, Ga, Gb, gender_a, gender_b,
reltocommon_a, reltocommon_b,
@ -424,3 +721,6 @@ if __name__ == "__main__":
from gramps.gen.relationship import test
RC = RelationshipCalculator()
test(RC, True)

View File

@ -271,6 +271,7 @@ class BirthdayReport(Report):
for person_handle in people:
step()
person = self.database.get_person_from_handle(person_handle)
short_name = self.get_name(person)
birth_ref = person.get_birth_ref()
birth_date = None
if birth_ref:

View File

@ -441,7 +441,8 @@ class TagReport(Report):
for place_handle in place_list:
place = self.database.get_place_from_handle(place_handle)
place_title = _pd.display(self.database, place, self.place_format)
place_title = _pd.display(self.database, place, None,
self.place_format)
self.doc.start_row()

View File

@ -370,8 +370,9 @@ class GeoFamily(GeoGraphyView):
_("Family places for %s") % self.family_label(family))
person = None
if family:
person = dbstate.db.get_person_from_handle(
family.get_father_handle())
handle = family.get_father_handle()
if handle:
person = dbstate.db.get_person_from_handle(handle)
else:
return
family_id = family.gramps_id

View File

@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
VERSION_TUPLE = (5, 1, 4)
VERSION_TUPLE = (5, 1, 5)
VERSION_QUALIFIER = ""
VERSION = '.'.join(map(str,VERSION_TUPLE)) + VERSION_QUALIFIER
major_version = "%s.%s" % (VERSION_TUPLE[0], VERSION_TUPLE[1])

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 709 B

View File

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1003 B

View File

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1003 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>Gramps</string>
<key>CFBundleGetInfoString</key>
<string>Gramps-5.1.3-1, (C) 1997-2020 The Gramps Team http://www.gramps-project.org</string>
<string>Gramps-5.1.4-2, (C) 1997-2021 The Gramps Team http://www.gramps-project.org</string>
<key>CFBundleIconFile</key>
<string>gramps.icns</string>
<key>CFBundleIdentifier</key>
@ -17,13 +17,13 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>Gramps-5.1.3-1</string>
<string>Gramps-5.1.4-2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>Gramps-5.1.3-1</string>
<string>Gramps-5.1.4-2</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 1997 - 2020 The Gramps Team, GNU General Public License.</string>
<string>Copyright 1997 - 2021 The Gramps Team, GNU General Public License.</string>
<key>LSMinimumSystemVersion</key>
<string>10.9</string>
<key>GtkOSXLaunchScriptFile</key>

View File

@ -13,7 +13,7 @@
<plist>${project}/Info.plist</plist>
<!-- Build gramps-launcher with:
gcc -L$PREFIX/lib `python-config -\-cflags -\-ldflags` \
gcc -L$PREFIX/lib `python-config -\-cflags -\-ldflags -\-embed` \
-o $PREFIX/bin/gramps-launcher \
path/to/gtk-mac-bundler/examples/python-launcher.c
with the obvious substitution.
@ -41,19 +41,15 @@
</binary>
<binary recurse="True">
${prefix}/lib/python3.6/*.so
${prefix}/lib/python3.9/*.so
</binary>
<binary>
${prefix}/lib/librsvg-2.2.dylib
</binary>
<!--binary>
${prefix}/lib/libwebkit-1.0.2.dylib
</binary-->
<binary>
${prefix}/lib/libgtkmacintegration-gtk3.2.dylib
${prefix}/lib/libgtkmacintegration-gtk3.4.dylib
</binary>
<binary>
@ -65,7 +61,7 @@
</binary>
<binary>
${prefix}/lib/enchant
${prefix}/lib/enchant-2
</binary>
<binary>
@ -77,7 +73,7 @@
</binary>
<binary>
${prefix}/lib/libhunspell-1.6.0.dylib
${prefix}/lib/libhunspell-1.7.0.dylib
</binary>
<binary>
@ -96,6 +92,14 @@
${prefix}/lib/libgexiv2.dylib
</binary>
<binary>
${prefix}/lib/libgeocode-glib.dylib
</binary>
<binary>
${prefix}/lib/gio/modules/libgiognutls.so
</binary>
<gir>
${prefix}/share/gir-1.0/*.gir
</gir>
@ -137,6 +141,10 @@
${project}/gramps_launcher.py
</data>
<data>
${prefix}/etc/fonts
</data>
<data>
${prefix}/share/glib-2.0/schemas
</data>
@ -144,19 +152,19 @@
<!-- We have to pull in the python modules, which are mixed python
and loadable modules. -->
<data recurse="True">
${prefix}/lib/python3.6/*.py
${prefix}/lib/python3.9/*.py
</data>
<data>
${prefix}/lib/python3.6/config-3.6m-darwin/
${prefix}/lib/python3.9/config-3.9-darwin/
</data>
<data>
${prefix}/lib/python3.6/site-packages/gramps/gen/utils/resource-path
${prefix}/lib/python3.9/site-packages/gramps/gen/utils/resource-path
</data>
<data>
${prefix}/include/python3.6m/pyconfig.h
${prefix}/include/python3.9/pyconfig.h
</data>
@ -173,7 +181,7 @@
</data>
<data recurse="True">
${prefix}/lib/python3.6/site-packages/gramps/*.glade
${prefix}/lib/python3.9/site-packages/gramps/*.glade
</data>
<data>
@ -205,6 +213,7 @@
<data>
${prefix}/share/icons
</data>
<!-- Copy icons. Note that the .icns file is an Apple format which
contains up to 4 sizes of icon. You can use
/Developer/Applications/Utilities/Icon Composer.app to import

View File

@ -9,22 +9,12 @@
href="http://pywebkitgtk.googlecode.com/files/"/>
<repository type="tarball" name="ftp.gnome.org"
href="http://ftp.gnome.org/pub/GNOME/sources/"/>
<repository type="tarball" name="pyxdg"
href="http://www.gnome.org/~fpeters/pyxdg/"/>
<repository type="tarball" name="xdg-utils"
href="http://portland.freedesktop.org/download/"/>
<repository type="svn" name="gramps-addons"
href="https://svn.code.sf.net/p/gramps-addons/code/"/>
<repository type="tarball" name="oracle"
href="http://download.oracle.com/"/>
<repository type="tarball" name="pymodules"
href="https://pypi.python.org/packages/"/>
<repository type="tarball" name="stowers"
href="http://www.johnstowers.co.nz/files/"/>
<repository type="git" name="github" href="git://github.com/"/>
<repository type="tarball" name="github-tarball" href="https://github.com/"/>
<repository type="tarball" name="graphviz"
href="https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/"/>
<repository type="tarball" name="exiv2.org"
href="http://www.exiv2.org/releases/"/>
<repository type="tarball" name="pythonware"
@ -65,9 +55,9 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
</distutils>
<distutils id="gramps" supports-non-srcdir-builds="no">
<branch module="gramps-project/gramps/archive/v5.1.3.tar.gz"
repo="github-tarball" version="5.1.3"
checkoutdir="gramps-gramps-5.1.3"/>
<branch module="gramps-project/gramps/archive/v5.1.4.tar.gz"
repo="github-tarball" version="5.1.4"
checkoutdir="gramps-gramps-5.1.4"/>
<dependencies>
<dep package="meta-gramps-modules"/>
</dependencies>
@ -81,35 +71,10 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
</dependencies>
</distutils>
<autotools id="pyWebKitGtk" >
<branch module="pywebkitgtk-1.1.7.tar.bz2" version="1.1.7"
repo="pywebkitgtk"/>
<dependencies>
<dep package="WebKit"/>
<dep package="sqlite"/>
</dependencies>
</autotools>
<distutils id="pyenchant">
<branch repo="pymodules" module="73/73/49f95fe636ab3deed0ef1e3b9087902413bcdf74ec00298c3059e660cfbb/pyenchant-1.6.8.tar.gz"
version="1.6.1"/>
</distutils>
<distutils id="pyxdg">
<branch repo="pyxdg" module="pyxdg-0.17.tar.gz" version="0.17"
hash="sha256:fbc87711922b2dd6ceb23ee041f1f96da9b7dbb6971df03a3081b439def069ce"
md5sum="a086de99cc536095684d87f15594e4db" size="37372"/>
</distutils>
<autotools id="xdg-utils">
<branch module="xdg-utils-1.0.2.tgz" version="1.0.2" repo="xdg-utils"/>
</autotools>
<meson id="json-glib">
<branch module="json-glib/1.4/json-glib-1.4.4.tar.xz"
version="1.4.4" repo="ftp.gnome.org"
hash="sha256:720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47"/>
<meson id="json-glib" mesonargs="-Dgtk_doc=disabled -Dman=false -Dtests=false">
<branch module="json-glib/1.6/json-glib-1.6.2.tar.xz"
version="1.6.2" repo="ftp.gnome.org"
hash="sha256:a33d66c6d038bda46b910c6c6d59c4e15db014e363dc997a0414c2e07d134f24"/>
<dependencies>
<dep package="gobject-introspection"/>
</dependencies>
@ -128,46 +93,33 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
<autotools id="osmgpsmap" skip-autogen="never"
autogenargs="--disable-gtk-doc-html"
supports-non-srcdir-builds="no">
<branch module="nzjrs/osm-gps-map" revision="1.1.0" repo="github"/>
<branch module="nzjrs/osm-gps-map" revision="1.2.0" repo="github"/>
<dependencies>
<dep package="libsoup"/>
</dependencies>
<after>
<dep package="meta-gtk-osx-gtk3"/>
<dep package="meta-gtk-osx-gtk3.14"/>
</after>
</autotools>
<autotools id="graphviz" autogen-sh="configure"
autogenargs="--disable-sharp --disable-guile --disable-java --disable-lua --disable-ocaml --disable-perl --disable-php --disable-r --disable-ruby --disable-tcl --with-pangocairo">
<branch module="graphviz.tar.gz" version="2.40.1"
repo="graphviz" checkoutdir="graphviz-2.40.1"/>
<dependencies>
<dep package="pango"/>
<dep package="meta-gtk-osx-freetype"/>
<dep package="librsvg"/>
<dep package="gtk+-3.0"/>
</dependencies>
</autotools>
<cmake id="exiv2" cmakeargs="-DEXIV2_ENABLE_PNG=ON">
<branch module="exiv2-0.27.0a-Source.tar.gz" repo="exiv2.org"
checkoutdir="exiv2-0.27.0-Source" version="0.27.0"/>
<branch module="exiv2-0.27.3-Source.tar.gz" repo="exiv2.org"
checkoutdir="exiv2-0.27.3-Source" version="0.27.3"
hash="sha256:a79f5613812aa21755d578a297874fb59a85101e793edc64ec2c6bd994e3e778"/>
</cmake>
<meson id="gexiv2" mesonargs="-Dvapi=false">
<branch module="gexiv2/0.12/gexiv2-0.12.0.tar.xz"
repo="ftp.gnome.org" version="0.12.0"
hash="sha256:58f539b0386f36300b76f3afea3a508de4914b27e78f58ee4d142486a42f926a">
<branch module="gexiv2/0.12/gexiv2-0.12.2.tar.xz"
repo="ftp.gnome.org" version="0.12.2"
hash="sha256:2322b552aca330eef79724a699c51a302345d5e074738578b398b7f2ff97944c">
</branch>
<dependencies>
<dep package="exiv2"/>
</dependencies>
</meson>
<distutils id="pil">
<branch module="93/73/66854f63b1941aad9af18a1de59f9cf95ad1a87c801540222e332f6688d7/Pillow-4.1.1.tar.gz" version="4.1.1"
https://files.pythonhosted.org/packages/
<distutils id="pillow">
<branch module="21/23/af6bac2a601be6670064a817273d4190b79df6f74d8012926a39bc7aa77f/Pillow-8.2.0.tar.gz" version="8.2.0"
repo="pymodules"
hash="md5:f2565954955c8d10f3b4f1f72f852bf7">
hash="sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1">
</branch>
<dependencies>
<!--dep package="setuptools"/-->
@ -175,18 +127,63 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
</distutils>
<distutils id='pyicu'>
<branch version='2.5' repo='pymodules'
module='5a/99/c48c816095208bf3f4936ff67e571621fbddef461303a35a076f234e31f6/PyICU-2.5.tar.gz'/>
<branch version='2.7.2' repo='pymodules'
module='17/0f/9d6b7eb01650960239a5d4dc21cd6e7a96921807c043d287bae4b2f440e1/PyICU-2.7.2.tar.gz'
hash="sha256:1382869b22d91cc99274f9b525fa7d9199b44d9007ff0036a09747839a01e9dc"/>
<dependencies>
<dep package='icu'/>
</dependencies>
</distutils>
<!--Note the leading ; in autogen-template. It's there on purpose in case the user has set nice_build so that the nice prepended to the command doesn't eat the cd. -->
<autotools id="berkeleydb" autogen-sh="configure"
supports-non-srcdir-builds="no" makeargs="-C build_unix"
autogen-template="cd .;cd build_unix; ../dist/%(autogen-sh)s --prefix %(prefix)s %(autogenargs)s"
makeinstallargs="-C build_unix install">
<branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30"
repo="oracle"
hash="sha256:12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef" >
<patch file="berkeleydb-4.8-atomic.patch" strip='1'/>
</branch>
</autotools>
<!-- For out-of-source-tree builds (i.e., builddir is defined either
in .jhbuildrc-custom or passed as an option on the
command-line, the normal berkeleydb module will build in its
srcdir/build_unix directory. If you want to build it in the
build directory with most of the other modules, use this module
instead. -->
<autotools id="berkeleydb-nonsrctree" autogen-sh="configure"
autogen-template="%(srcdir)s/dist/%(autogen-sh)s --prefix %(prefix)s %(autogenargs)s" >
<branch module="berkeley-db/db-4.8.30.NC.tar.gz" version="4.8.30"
repo="oracle"
hash="sha256:12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef">
<patch file="berkeleydb-4.8-atomic.patch" strip='1'/>
</branch>
</autotools>
<distutils id="pybsddb">
<branch repo="pymodules" version="6.2.9"
module="f0/24/92034482656945fc6ceb10551222b43a0ff8d0c87e15839120487820067e/bsddb3-6.2.9.tar.gz"
hash="sha256:70d05ec8dc568f42e70fc919a442e0daadc2a905a1cfb7ca77f549d49d6e7801" />
<dependencies>
<dep package="python3"/>
</dependencies>
<after>
<dep package="berkeleydb"/>
<dep package="berkeleydb-nonsrctree"/>
</after>
</distutils>
<metamodule id="meta-gramps-modules">
<dependencies>
<dep package="python3"/>
<dep package="meta-gtk-osx-gtk3"/>
<dep package="meta-gtk-osx-gtk3-core-themes"/>
<dep package="goocanvas2"/>
<dep package="librsvg"/>
<dep package="shared-mime-info"/>
@ -202,7 +199,7 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
<dep package="pygobject3"/>
<dep package='pyicu'/>
<dep package='pybsddb'/>
<dep package="pil"/>
<dep package="pillow"/>
</dependencies>
</metamodule>

View File

@ -24,6 +24,7 @@ environ['GTK_PATH'] = bundle_res
environ['PANGO_RC_FILE'] = join(bundle_etc, 'pango', 'pangorc')
environ['PANGO_SYSCONFDIR'] = bundle_etc
environ['PANGO_LIBDIR'] = bundle_lib
environ['GIO_MODULE_DIR'] = join(bundle_lib, 'gio', 'modules')
environ['GDK_PIXBUF_MODULE_FILE'] = join(bundle_lib, 'gdk-pixbuf-2.0',
'2.10.0', 'loaders.cache')
environ['GI_TYPELIB_PATH'] = join(bundle_lib, 'girepository-1.0')
@ -40,6 +41,8 @@ environ['USERPROFILE'] = environ['HOME']
environ['APPDATA'] = join(environ['HOME'], 'Library', 'Application Support')
environ['PATH'] = join(bundle_contents, 'MacOS') + ':' + environ['PATH']
if __name__ == '__main__':
__file__ = 'gramps_launcher.py'
import gramps.grampsapp as app
app.main()

View File

@ -0,0 +1,40 @@
--- a/dist/configure 2010-04-12 13:25:23.000000000 -0700
+++ b/dist/configure 2021-04-11 11:27:32.000000000 -0700
@@ -19158,7 +19158,7 @@
# x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
+#include <stdlib.h>
int
main ()
{
@@ -20197,7 +20197,7 @@
if test "$db_cv_atomic" = no; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
+#include <stdlib.h>
int
main ()
{
--- a/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
+++ b/dbinc/atomic.h 2013-03-12 14:06:35.000000000 -0400
@@ -144,7 +144,7 @@
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
#define atomic_compare_exchange(env, p, o, n) \
- __atomic_compare_exchange((p), (o), (n))
+ __atomic_compare_exchange_db((p), (o), (n))
static inline int __atomic_inc(db_atomic_t *p)
{
int temp;
@@ -176,7 +176,7 @@
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
* which configure could be changed to use.
*/
-static inline int __atomic_compare_exchange(
+static inline int __atomic_compare_exchange_db(
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
{
atomic_value_t was;

View File

@ -1,160 +1,187 @@
2020-08-11 prculley <paulr2787@gmail.com>
2021-07-09 Tian Shixiong <tiansworld@fedoraproject.org>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po, po/fr.po,
po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po, po/it.po,
po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po, po/nn.po,
po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po, po/sk.po,
po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po, po/ta.po,
po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po:
Remove duplicates in Translations
* po/zh_CN.po: Update and fix Simplified Chinese translation
2020-08-10 prculley <paulr2787@gmail.com>
2021-07-16 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po,
po/fr.po, po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po,
po/it.po, po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po,
po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po,
po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po,
po/ta.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po,
po/zh_TW.po: Clean up translations for Default/Home Person
* po/de.po: fixed small German translation error for item also fixed
in Weblate GUI for master
2020-08-10 Leonhaeuser <mirko@leonhaeuser.de>
2021-06-28 Tian Shixiong <tiansworld@fedoraproject.org>
* po/de.po: Update German translation
* po/zh_CN.po: Update Simplified Chinese translation
2020-08-10 Paul Culley <paulr2787@gmail.com>
2021-07-05 pehlm <par.ekholm@pekholm.org>
* po/pl.po: Fix Charts/Pedigreeview tooltip Polish translation
(#1092) Fixes #11852
* po/sv.po: One update Swedish translation
2020-08-10 Krystian Safjan <ksafjan@gmail.com>
2021-06-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/pl.po: Fix and add objects to Polish translation of Gramps
(#1088)
* po/de.po: Fixed different German translations for "What's next"
also fixed in master (Weblate)
2020-07-23 Leonhaeuser <mirko@leonhaeuser.de>
2021-06-22 Matti Niemelä <matti.u.niemela@gmail.com>
* po/de.po: German translation fixed typo
* po/fi.po: Fix translation in Finnish
2020-07-17 niememat <niememat@gmail.com>
2021-06-17 Tian Shixiong <tiansworld@fedoraproject.org>
* po/fi.po: Update finnish translation
* po/zh_CN.po: Correct and improve Simplified Chinese translation.
Correct some terribly wrong and low quality translation, even machine
translation. Improve some existing translation for better user experience
as a software, use more written language.
2020-06-07 Tian Shixiong <tiansworld@fedoraproject.org>
2021-05-31 Tian Shixiong <tiansworld@fedoraproject.org>
* po/zh_CN.po: Update Simplified Chinese translation for gramps51
branch
* po/zh_CN.po: Improve and correct Simplified Chinese translation
2020-01-11 giansalvo <pioggia3+github@gmail.com>
2021-05-27 Tian Shixiong <tiansworld@fedoraproject.org>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po,
po/fr.po, po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po,
po/it.po, po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po,
po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po,
po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po,
po/ta.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po,
po/zh_TW.po: Fix bug 0011078: 'Default person' instead of 'Home
person' - modified button hints - modified filter rules names and descriptions - modified .pot and .po files - substituted 'home person' with 'Home Person'
* po/zh_CN.po: Improve and correct the Simplified Chinese
translation
2020-07-07 Leonhaeuser <mirko@leonhaeuser.de>
2021-05-21 Tian Shixiong <tiansworld@fedoraproject.org>
* po/de.po: Germen fixed translation error of Media:
* po/zh_CN.po: Update and improve Simplified Chinese translation
2020-07-04 Leonhaeuser <mirko@leonhaeuser.de>
2021-05-17 Tian Shixiong <tiansworld@fedoraproject.org>
* po/de.po: Fix typo
* po/zh_CN.po: Update Simplified Chinese translation
2020-07-01 Leonhaeuser <mirko@leonhaeuser.de>
2020-09-26 Jan Sparreboom <jan@sparreboom.net>
* po/de.po: update German translation
* po/nl.po: Update Dutch translation
2020-04-23 SNoiraud <serge.noiraud@laposte.net>
2021-05-07 Tian Shixiong <tiansworld@fedoraproject.org>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po,
po/fr.po, po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po,
po/it.po, po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po,
po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po,
po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po,
po/ta.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po,
po/zh_TW.po: Fix typo in gui/configure.py and translation files Fixes #11665
* po/zh_CN.po: Correct and Update Simplified Chinese translation
2020-06-22 pehlm <par.ekholm@pekholm.org>
2020-10-13 Tian Shixiong <tiansworld@fedoraproject.org>
* po/sv.po: A little adjustment to Swedish translation
* po/zh_CN.po: Update Simplified Chinese translation
2020-06-21 pehlm <par.ekholm@pekholm.org>
2021-05-14 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/sv.po: Updates to Swedish translation
* po/de.po: Corrected some German translation errors found during
handbook revision
2020-06-20 Megumi Sakata <megumi.sakata.k@gmail.com>
2021-04-28 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ja.po: Update Japanese translation
* po/de.po: corrected German translation of "confidence"
2020-04-28 vantu5z <vantu5z@mail.ru>
2021-04-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ru.po: update Russian translation
* po/de.po: German corrected translation of 'attribute'
2020-04-24 niememat <niememat@gmail.com>
2021-04-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/fi.po: Fix translation in Finnish
* po/de.po: Fixed translation error of "display name editor" into
German
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
2021-04-24 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: some translation fixes for German
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
2021-04-24 pehlm <par.ekholm@pekholm.org>
* po/ca.po: Updating Catalan translation
* po/sv.po: Changed immigration too, Swedish
2020-04-08 Leonhaeuser <mirko@leonhaeuser.de>
2021-04-24 pehlm <par.ekholm@pekholm.org>
* po/de.po: update Germn translation
* po/sv.po: Correction of Swedish translation
2020-03-26 vantu5z <vantu5z@mail.ru>
2021-04-22 Helder Geovane Gomes de Lima <he7d3r@gmail.com>
* po/ru.po: update Russian translation
* po/pt_BR.po: Update Portuguese translation (pt_BR) (#1199)
This pull request is an updated version of the patch I've provided
at <https://gramps-project.org/bugs/view.php?id=10547> in 2018, now
based on branch 5.1
2020-03-25 Translator5 <Translator5@users.noreply.github.com>
2021-04-19 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ru.po: [Language: Russian] Maintenance/gramps51 (#1027) * some Russian translations updates
* po/de.po: Corrected translation of markup in German translation
2020-03-03 Joan Creus <joan.creusandreu@gmail.com>
2021-04-17 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: Fixed translation of tags in German translation
2020-02-29 Joan Creus <joan.creusandreu@gmail.com>
2021-04-14 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ca.po: Updating Catalan translation
* po/de.po: German translation for type unified
2020-02-25 Bernard Banko <beernarrd@gmail.com>
2021-04-13 romjerome <romjerome@yahoo.fr>
* po/sl.po: V&O changed to PZV to avoid ampersand
* po/fr.po: 11656: typo, spelling correction contribution by Philippe
2020-02-07 pehlm <par.ekholm@pekholm.org>
2021-04-13 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/sv.po: Minor update to Swedish translation
* po/de.po: Fixed German translation of number for places
2020-01-31 vantu5z <vantu5z@mail.ru>
2021-03-21 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ru.po: update Russian translation
* po/de.po: Some small fixes in German translation
2020-01-26 Bernard Banko <beernarrd@gmail.com>
2021-03-11 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/sl.po: Slovenian translation update
* po/de.po: Update German translation for csv import/export
2020-01-23 prculley <paulr2787@gmail.com>
2021-03-01 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/ru.po: Fix typo in Russian translation
* po/de.po: small fix in German translation
2020-01-21 système <romjerome@users.noreply.github.com>
2021-02-12 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/fr.po: typos in french translation #11534 #10534
* po/de.po: additional small German translation fixes
2020-01-21 Fedik <getthesite@gmail.com>
2021-02-11 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* Ukrainian translation update
* po/de.po: Small fixes German translation
2021-02-06 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: fix wrong translation of source text in German
translation
2021-02-06 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: fixed small error in German translation
2021-01-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: small fixes German translation
2020-10-15 vantu5z <vantu5z@mail.ru>
* po/ru.po: Update Russian translation
2020-09-25 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation - typo fixes
2020-09-06 Tian Shixiong <tiansworld@fedoraproject.org>
* po/zh_CN.po: Update Simplified Chinese translation
2020-08-16 Jan Sparreboom <jan@sparreboom.net>
* po/nl.po: Update Dutch translation
2020-04-21 Lajos Nemeséri <nemeseril@gmail.com>
* po/hu.po: Revised and updated hu translation
2020-09-13 Juan Saavedra <jcsaaver@gmail.com>
* po/es.po: Update Spanish translation
2020-08-26 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: German translation two small corrections
2020-08-21 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2020-08-12 pehlm <par.ekholm@pekholm.org>
* Update Swedish translation

View File

@ -38,7 +38,7 @@ msgstr ""
"Project-Id-Version: gramps 3.3.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-15 22:20+0200\n"
"PO-Revision-Date: 2020-08-21 11:01+0200\n"
"PO-Revision-Date: 2020-09-25 09:02+0200\n"
"Last-Translator: Zdeněk Hataš <zdenek.hatas@gmail.com>\n"
"Language-Team: Czech <Czech <gnome-cs-list@gnome.org>>\n"
"Language: cs\n"
@ -2514,7 +2514,7 @@ msgstr "P=červen|D=června|T=červnu|O=červnem"
#: ../gramps/gen/datehandler/_datestrings.py:85
msgid "localized lexeme inflections||July"
msgstr "P=červenec|D=července|T=červenci|O=červencen"
msgstr "P=červenec|D=července|T=červenci|O=červencem"
#: ../gramps/gen/datehandler/_datestrings.py:86
msgid "localized lexeme inflections||August"
@ -14099,7 +14099,7 @@ msgstr "Link_Editor"
#: ../gramps/gui/editors/editlink.py:87 ../gramps/gui/editors/editlink.py:239
msgid "Link Editor"
msgstr " Editor linků"
msgstr "Editor linků"
#: ../gramps/gui/editors/editlink.py:91
msgid "Internet Address"
@ -15390,7 +15390,7 @@ msgstr "Příště se již neptat"
#: ../gramps/gui/glade/displaystate.glade:7
msgid "Gramps Warnings"
msgstr " Varování Gramps"
msgstr "Varování Gramps"
#: ../gramps/gui/glade/editaddress.glade:44
#: ../gramps/gui/glade/editchildref.glade:47
@ -23435,7 +23435,7 @@ msgstr "Dvojklikem zobrazit osoby v generacích"
#: ../gramps/plugins/gramplet/pedigreegramplet.py:264
#, python-format
msgid " has 1 of 1 individual (%(percent)s complete)\n"
msgstr "zahrnuje pouze jednoho jednotlivce (dokončeno z %(percent)s)\n"
msgstr " zahrnuje pouze jednoho jednotlivce (dokončeno z %(percent)s)\n"
#. Create the Generation title, set an index marker
#: ../gramps/plugins/gramplet/pedigreegramplet.py:267
@ -25070,7 +25070,7 @@ msgstr "Oddělený(á)"
#: ../gramps/plugins/importer/importgeneweb.py:197
msgid "GeneWeb import"
msgstr "importovat GeneWeb"
msgstr "Importovat GeneWeb"
#: ../gramps/plugins/importer/importgeneweb.py:912
#, python-brace-format
@ -25331,7 +25331,7 @@ msgid ""
"event description."
msgstr ""
"Uložit datum narození\n"
"v popisu události"
"v popisu události."
#: ../gramps/plugins/importer/importprogen.glade:1495
msgid ""
@ -25339,7 +25339,7 @@ msgid ""
"event description."
msgstr ""
"Uložit datum úmrtí\n"
"v popisu události"
"v popisu události."
#: ../gramps/plugins/importer/importprogen.glade:1515
msgid "Diverse"
@ -25606,7 +25606,7 @@ msgstr " Štítky: %d\n"
#: ../gramps/plugins/importer/importxml.py:291
#, python-format
msgid " Citations: %d\n"
msgstr "Citací: %d\n"
msgstr " Citací: %d\n"
#: ../gramps/plugins/importer/importxml.py:293
msgid "Number of new objects imported:\n"
@ -25917,7 +25917,7 @@ msgstr "Řádek ignorován "
#: ../gramps/plugins/lib/libgedcom.py:1540
#, python-format
msgid "Illegal character%s"
msgstr "neplatný znak%s"
msgstr "Neplatný znak%s"
#: ../gramps/plugins/lib/libgedcom.py:1820
msgid "Your GEDCOM file is corrupted. It appears to have been truncated."
@ -30079,7 +30079,7 @@ msgstr "Importují se osoby."
#: ../gramps/plugins/lib/libprogen.py:1414
msgid "see address on "
msgstr "viz adresa"
msgstr "viz adresa "
#: ../gramps/plugins/lib/libprogen.py:1417
msgid "see also address"
@ -30092,7 +30092,7 @@ msgstr "Důvod úmrtí"
#. start feedback about import progress (GUI/TXT)
#: ../gramps/plugins/lib/libprogen.py:1586
msgid "Importing families."
msgstr "Importují se rodiny"
msgstr "Importují se rodiny."
#: ../gramps/plugins/lib/libprogen.py:1691
msgid "Civil union"
@ -30468,12 +30468,12 @@ msgstr "Dánsko"
#. TODO for Arabic, should the next line's comma be translated?
#: ../gramps/plugins/mapservices/eniroswedenmap.py:81
msgid " parish"
msgstr "farnost"
msgstr " farnost"
#. TODO for Arabic, should the next line's comma be translated?
#: ../gramps/plugins/mapservices/eniroswedenmap.py:87
msgid " state"
msgstr "kraj"
msgstr " kraj"
#: ../gramps/plugins/mapservices/eniroswedenmap.py:150
msgid "Latitude not within '54.55' to '69.05'\n"
@ -31643,7 +31643,7 @@ msgstr "sp. %(reference)s : %(spouse)s"
#: ../gramps/plugins/textreport/descendreport.py:393
#, python-format
msgid "%s sp."
msgstr " %s sp."
msgstr "%s sp."
#: ../gramps/plugins/textreport/descendreport.py:526
#: ../gramps/plugins/textreport/detdescendantreport.py:1011
@ -36237,7 +36237,7 @@ msgstr " (1 bratr)"
#: ../gramps/plugins/view/relview.py:1053
#: ../gramps/plugins/view/relview.py:1108
msgid " (1 sister)"
msgstr "(1 sestra)"
msgstr " (1 sestra)"
#: ../gramps/plugins/view/relview.py:1055
#: ../gramps/plugins/view/relview.py:1110
@ -36304,14 +36304,14 @@ msgstr "Spusťte prosím nástroj pro ověření integrity/opravy databáze"
#, python-brace-format
msgid " ({number_of} child)"
msgid_plural " ({number_of} children)"
msgstr[0] "({number_of} potomek)"
msgstr[1] "({number_of} potomci)"
msgstr[2] "({number_of} potomků)"
msgstr[0] " ({number_of} potomek)"
msgstr[1] " ({number_of} potomci)"
msgstr[2] " ({number_of} potomků)"
#: ../gramps/plugins/view/relview.py:1567
#: ../gramps/plugins/view/relview.py:1613
msgid " (no children)"
msgstr "(bez dětí)"
msgstr " (bez dětí)"
#: ../gramps/plugins/view/relview.py:1871
msgid "Use shading"
@ -36550,7 +36550,7 @@ msgstr "Poslední změna nastala %(date)s"
#: ../gramps/plugins/webreport/basepage.py:1319
#, python-format
msgid " on %(date)s"
msgstr "%(date)s"
msgstr " %(date)s"
#: ../gramps/plugins/webreport/basepage.py:1340
#: ../gramps/plugins/webreport/basepage.py:1345
@ -36616,7 +36616,7 @@ msgstr "Další"
#: ../gramps/plugins/webreport/basepage.py:2127
msgid " [Click to Go]"
msgstr "[Kliknout pro pokračování]"
msgstr " [Kliknout pro pokračování]"
#: ../gramps/plugins/webreport/basepage.py:2151
msgid "Latter-Day Saints/ LDS Ordinance"
@ -36907,7 +36907,7 @@ msgstr "Volby Html"
#: ../gramps/plugins/webreport/narrativeweb.py:1678
#: ../gramps/plugins/webreport/webcal.py:1685
msgid "File extension"
msgstr "přípona souboru"
msgstr "Přípona souboru"
#: ../gramps/plugins/webreport/narrativeweb.py:1681
#: ../gramps/plugins/webreport/webcal.py:1688

940
po/de.po

File diff suppressed because it is too large Load Diff

3728
po/es.po

File diff suppressed because it is too large Load Diff

View File

@ -7166,7 +7166,7 @@ msgstr "tuntematon"
#: ../gramps/gen/lib/date.py:281
#, python-format
msgid "greater than %s years"
msgstr "korkeitaan %s vuotta"
msgstr "enintään %s vuotta"
#: ../gramps/gen/lib/date.py:286 ../gramps/gen/lib/date.py:314
#: ../gramps/gen/lib/date.py:316 ../gramps/gen/lib/date.py:322

View File

@ -20871,7 +20871,7 @@ msgid ""
"Changes cannot be completely abandoned because the number of changes made in "
"the session exceeded the limit."
msgstr ""
"Les changements ne peuvent être complètement abandonner car le nombre de "
"Les changements ne peuvent être complètement abandonnés car le nombre de "
"modifications effectuées pendant la session excèdent la limite."
#: ../gramps/gui/viewmanager.py:802

1290
po/hu.po

File diff suppressed because it is too large Load Diff

23005
po/nl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

416
po/ru.po

File diff suppressed because it is too large Load Diff

View File

@ -21,13 +21,13 @@
# Jens Arvidsson <jya@sverige.nu>, 2002-2005.
# Stefan Björk <betula@users.sourceforge.net>, 2005-2006.
# Peter Landgren <peter.talken@telia.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017.
# Pär Ekholm <pehlm@pekholm.org>, 2018, 2019, 2020.
# Pär Ekholm <pehlm@pekholm.org>, 2018, 2019, 2020, 2021.
msgid ""
msgstr ""
"Project-Id-Version: sv\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-15 22:20+0200\n"
"PO-Revision-Date: 2020-08-12 20:03+0200\n"
"PO-Revision-Date: 2021-07-05 15:42+0200\n"
"Last-Translator: Pär Ekholm <pehlm@pekholm.se>\n"
"Language-Team: \n"
"Language: sv\n"
@ -7501,7 +7501,7 @@ msgstr "Vald"
#: ../gramps/gen/lib/eventtype.py:181
msgid "Emigration"
msgstr "Utflyttning"
msgstr "Utvandring"
#: ../gramps/gen/lib/eventtype.py:182
msgid "First Communion"
@ -7509,7 +7509,7 @@ msgstr "Första nattvarden"
#: ../gramps/gen/lib/eventtype.py:183
msgid "Immigration"
msgstr "Inflyttning"
msgstr "Invandring"
#: ../gramps/gen/lib/eventtype.py:184
msgid "Graduation"
@ -7704,7 +7704,7 @@ msgstr "vald"
#: ../gramps/gen/lib/eventtype.py:231
msgid "Emigration abbreviation|em."
msgstr "utfl."
msgstr "utv."
#: ../gramps/gen/lib/eventtype.py:232
msgid "First Communion abbreviation|f.comm."
@ -7712,7 +7712,7 @@ msgstr "1.nattv."
#: ../gramps/gen/lib/eventtype.py:233
msgid "Immigration abbreviation|im."
msgstr "infl."
msgstr "inv."
#: ../gramps/gen/lib/eventtype.py:234
msgid "Graduation abbreviation|grad."
@ -33921,7 +33921,7 @@ msgstr ""
"\n"
"Ett mediaobjekt är en samling information om ett mediaobjekts datafil: namn, "
"sökväg, beskrivning, ID, notiser, källreferenser etc. Dessa data "
"%(bold_start)sinnehåller inte datafilen självf%(bold_end)s.\n"
"%(bold_start)sinnehåller inte själva datafilen%(bold_end)s.\n"
"\n"
"De datafiler som innehåller bilder, ljud, video etc, lagras separat på "
"hårddisken. Dessa filer ligger utanför Gramps kontroll och tas inte med i "

File diff suppressed because it is too large Load Diff

View File

@ -419,8 +419,7 @@ package_data = package_data_core + package_data_gui
# Resources
#
#-------------------------------------------------------------------------
data_files_core = [('share/mime-info', ['data/gramps.mime']),
('share/icons', ['images/gramps.png'])]
data_files_core = [('share/mime-info', ['data/gramps.mime'])]
DOC_FILES = ['AUTHORS', 'COPYING', 'FAQ', 'INSTALL', 'NEWS', 'README.md',
'TODO']
GEDCOM_FILES = glob.glob(os.path.join('example', 'gedcom', '*.*'))
@ -441,8 +440,8 @@ data_files_core.append(('share/gramps/css/swanky-purse/images', SWANKY_IMG))
PNG_FILES = glob.glob(os.path.join('data', '*.png'))
SVG_FILES = glob.glob(os.path.join('data', '*.svg'))
data_files_core.append(('share/icons/gnome/48x48/mimetypes', PNG_FILES))
data_files_core.append(('share/icons/gnome/scalable/mimetypes', SVG_FILES))
data_files_core.append(('share/icons/hicolor/48x48/mimetypes', PNG_FILES))
data_files_core.append(('share/icons/hicolor/scalable/mimetypes', SVG_FILES))
DTD_FILES = glob.glob(os.path.join('data', '*.dtd'))
RNG_FILES = glob.glob(os.path.join('data', '*.rng'))
@ -465,6 +464,20 @@ data_files_gui.append(('share/gramps/images/hicolor/22x22/actions', ICON_22))
data_files_gui.append(('share/gramps/images/hicolor/24x24/actions', ICON_24))
data_files_gui.append(('share/gramps/images/hicolor/48x48/actions', ICON_48))
data_files_gui.append(('share/gramps/images/hicolor/scalable/actions', ICON_SC))
APP_16 = os.path.join(THEME, '16x16', 'apps', 'gramps.png')
APP_22 = os.path.join(THEME, '22x22', 'apps', 'gramps.png')
APP_24 = os.path.join(THEME, '24x24', 'apps', 'gramps.png')
APP_48 = os.path.join(THEME, '48x48', 'apps', 'gramps.png')
APP_128 = os.path.join(THEME, '128x128', 'apps', 'gramps.png')
APP_256 = os.path.join(THEME, '256x256', 'apps', 'gramps.png')
APP_SC = os.path.join(THEME, 'scalable', 'apps', 'gramps.svg')
data_files_gui.append(('share/icons/hicolor/16x16/apps', [APP_16]))
data_files_gui.append(('share/icons/hicolor/22x22/apps', [APP_22]))
data_files_gui.append(('share/icons/hicolor/24x24/apps', [APP_24]))
data_files_gui.append(('share/icons/hicolor/48x48/apps', [APP_48]))
data_files_gui.append(('share/icons/hicolor/128x128/apps', [APP_128]))
data_files_gui.append(('share/icons/hicolor/256x256/apps', [APP_256]))
data_files_gui.append(('share/icons/hicolor/scalable/apps', [APP_SC]))
data_files = data_files_core + data_files_gui