Compare commits
562 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 04d61dbc07 | |||
| cc7ca7ff99 | |||
| 01403a0d03 | |||
| b95b4258ef | |||
| 7994d01320 | |||
| 67e2620e7a | |||
| f15263e754 | |||
| 8408cea4b5 | |||
| fd380e345c | |||
| ffa97fcad2 | |||
| dafedbebd5 | |||
| 71d95faeea | |||
| 33e3f4eb64 | |||
| bb1c784d04 | |||
| 9938c71a1c | |||
| bd6e7c1007 | |||
| 60f1866292 | |||
| 3ca82e2ebc | |||
| 8ffb544b2c | |||
| e3b6076eef | |||
| 9ea958661b | |||
| d30376ca20 | |||
| 80b3572e30 | |||
| 8000eaca2f | |||
| 8654c50594 | |||
| 261a3d8965 | |||
| 4147bc728a | |||
| 3a9a7053ec | |||
| b96fd8a274 | |||
| 26cf0601d8 | |||
| c59278ef20 | |||
| 767557be61 | |||
| 495d4e58ae | |||
| fd90a80cf8 | |||
| f6c0103f32 | |||
| 04c1dc8503 | |||
| 8172e1017e | |||
| ea30c3599b | |||
| 5f3ca40633 | |||
| 9c64dafaea | |||
| 13d83919b9 | |||
| 62d5a136a4 | |||
| b57061d7c9 | |||
| f7be7ab63f | |||
| 97923e7530 | |||
| 75aabf570d | |||
| 41f1e91600 | |||
| 981c0dfc5c | |||
| d558a9a004 | |||
| 95776f8e84 | |||
| 1d55d70914 | |||
| 39cb8bd64a | |||
| 17a136d2d8 | |||
| d55775edd7 | |||
| 97a88be39f | |||
| 8a1ef27871 | |||
| d780647e8d | |||
| 8684c66b2d | |||
| 216bcd2a10 | |||
| 715b93d109 | |||
| 272f2feafa | |||
| 914bd6c0d3 | |||
| 319a36b2b8 | |||
| a265f1fd38 | |||
| 3f217aeed1 | |||
| 6f18918b9c | |||
| 9f97c34a90 | |||
| e8eb5bf0a1 | |||
| b523530fb0 | |||
| e66aa0d501 | |||
| 0d698c13cc | |||
| 4232032ce3 | |||
| 8f4b51c837 | |||
| f2caecd621 | |||
| c26d6902d1 | |||
| b00b1f37f1 | |||
| 9230de61be | |||
| 9906f1e4ab | |||
| a68c0f7aa7 | |||
| 513b27531d | |||
| b8f007c4dd | |||
| e375df1e2a | |||
| df81a10fe8 | |||
| fa53805534 | |||
| 9aa8b26425 | |||
| e614a79cef | |||
| 343633a189 | |||
| eb14abbf3e | |||
| 47a83a82d7 | |||
| 5154d0c016 | |||
| a2c6641774 | |||
| 924d82a7c4 | |||
| f1f8847a86 | |||
| 748fbd0949 | |||
| e2e659dc94 | |||
| 6cbc2b896d | |||
| d210275a4e | |||
| 0a3a65ffb0 | |||
| e34b98033e | |||
| e361c6dd49 | |||
| 96de0ceb4e | |||
| 6d3505af62 | |||
| 0f88753a72 | |||
| 2b2624fd7a | |||
| 26debf0a82 | |||
| 5024e1fc09 | |||
| 95f4fd2e5a | |||
| 440832d0f5 | |||
| 58335cfee2 | |||
| 2ce48d3793 | |||
| f91063884e | |||
| a21cb546f7 | |||
| 490fb1ea3b | |||
| a5b5910f7f | |||
| 2a17f8d99f | |||
| 349edca738 | |||
| 32230d673e | |||
| 67b83794ef | |||
| 7d6113cf38 | |||
| cc7c0a3f13 | |||
| dd63d479cd | |||
| 31bf3edf17 | |||
| 1ce63261c3 | |||
| 06732b1b5d | |||
| 26b78c17af | |||
| d83fff3b62 | |||
| 823bcaac0d | |||
| b9c324ef37 | |||
| 3601877a63 | |||
| 2ce32d8c6b | |||
| 23d2c8e694 | |||
| 28dc2e5158 | |||
| 2baa6f5e40 | |||
| eb1b4c1eb5 | |||
| 51f2052cfe | |||
| ccf6d59b17 | |||
| 74d72f4dd0 | |||
| ce6f435cd4 | |||
| 5578a987bc | |||
| 7c09b05b82 | |||
| 9ce92f41e3 | |||
| 77cdbb11b5 | |||
| 690e8b308e | |||
| aeed7edd46 | |||
| ae66ada99c | |||
| b52c118673 | |||
| 72277db766 | |||
| 7ae77abead | |||
| 04b1463746 | |||
| 1eeae2edf8 | |||
| 740adc7070 | |||
| a2dbdbb61a | |||
| 8d5b0c83ce | |||
| 01afe251fb | |||
| 1fc212192e | |||
| 763f2738dd | |||
| 152ed0b6bc | |||
| 5624fb1490 | |||
| 32c700c6bf | |||
| 130740553d | |||
| a2ae7b93fc | |||
| 675dfdbc70 | |||
| 8184f1b603 | |||
| 34beeaad70 | |||
| 50d8b110ae | |||
| 539a443639 | |||
| 06cb9d7ea6 | |||
| 0264dbbe43 | |||
| d693881b98 | |||
| 801be84465 | |||
| f46e5479a7 | |||
| 7807ff8a6d | |||
| 672603c8ae | |||
| c30dfc6343 | |||
| e6ed0612e3 | |||
| 9b0cf1b976 | |||
| ddb29b1628 | |||
| 1a8406e2e4 | |||
| 09e89549de | |||
| afaeb7c995 | |||
| 6fa30b889d | |||
| 1916383a28 | |||
| 379c96ee6a | |||
| 3938fac0d4 | |||
| ac37f11b87 | |||
| fd072528d2 | |||
| 7b45bbf72e | |||
| aea9ef3645 | |||
| 5157700da3 | |||
| 05f7744cba | |||
| fc9e5c2a4a | |||
| bfc76a08d4 | |||
| e3eedb2219 | |||
| b7487330a7 | |||
| 1025a38caa | |||
| 2054c467db | |||
| 789b72289c | |||
| 2e1132bec0 | |||
| 8ccfa43e56 | |||
| 40140859af | |||
| e69e6ca338 | |||
| fb29a77f83 | |||
| 06cca96ad0 | |||
| 2c49461529 | |||
| 73d19851ef | |||
| 16c8e61944 | |||
| 2fbf945309 | |||
| cf184e72e8 | |||
| 1c27b785f4 | |||
| da7e4cc763 | |||
| 5d2fd8cbda | |||
| 005beac33f | |||
| ae53b401ce | |||
| 79c54aaedc | |||
| 4360976d73 | |||
| 5e9d79ac6f | |||
| ee1d9be898 | |||
| 75b0b66269 | |||
| c54f381737 | |||
| 2aa6b54de4 | |||
| 49bad564ae | |||
| 03ab64c4d5 | |||
| f7bd062bdb | |||
| c312c96987 | |||
| 6b2066c797 | |||
| 5d15ccb2a2 | |||
| 0095a07f12 | |||
| bb5b03dd78 | |||
| 26351c18c9 | |||
| f5861169fe | |||
| 4e2f98da02 | |||
| 95a0216287 | |||
| 03fb2ff1c2 | |||
| 17141a0536 | |||
| 528852b9b3 | |||
| 0de286e7a8 | |||
| 7979bf79fd | |||
| 7100c51a31 | |||
| 57f7502105 | |||
| 0f925a86f5 | |||
| 17f4d93363 | |||
| cea48b618f | |||
| 290d6f7287 | |||
| 4d0e86a2e8 | |||
| 831c7f9c66 | |||
| 702e51dd47 | |||
| f3555d0168 | |||
| ecd6da40dd | |||
| bedc4b8e74 | |||
| 8a8a21f85d | |||
| c7350c53e2 | |||
| 52e76b506a | |||
| ab52d0988e | |||
| 5935a315b2 | |||
| 793b13be67 | |||
| 48dfca57e2 | |||
| a07aae2e30 | |||
| 8f5daac4a7 | |||
| 0cd6394b72 | |||
| 57d8dcd574 | |||
| d5bb4da5a1 | |||
| 5c44d925e1 | |||
| c7e2e09b42 | |||
| 669e4af0b7 | |||
| 88f7a701a3 | |||
| 52c087154f | |||
| 1eaa609058 | |||
| 5f0c2c1c54 | |||
| 6d39920e6f | |||
| 2b62729f52 | |||
| 1c856bb93b | |||
| 710e40425f | |||
| bb3eecb365 | |||
| 8de8c69686 | |||
| 4379a09fd3 | |||
| 0dc2be6dd5 | |||
| daa845492d | |||
| cc28935b15 | |||
| 3d1ef5e595 | |||
| 44bdd14609 | |||
| bec5a41829 | |||
| c3206121df | |||
| 1e52204d94 | |||
| 82cd211d29 | |||
| 4244d70312 | |||
| 98cc9b3740 | |||
| efcf0d1b83 | |||
| c1024aa61d | |||
| fe3efc57ab | |||
| 52f2d7b4ba | |||
| 9e0e256fd2 | |||
| 50625c654b | |||
| 1e10eabb15 | |||
| a7b934003b | |||
| 1b2e91d365 | |||
| ff17f57ba3 | |||
| a206503a9b | |||
| 846a4d1a32 | |||
| d75d9797c0 | |||
| 5767b9c3c8 | |||
| d397b83dc8 | |||
| 7617891faf | |||
| d096d269c7 | |||
| e983578fff | |||
| e10df9eb6d | |||
| 14acaca0b5 | |||
| 6ba958cc41 | |||
| efbec440fd | |||
| 578daa825d | |||
| 29994242c7 | |||
| 69261509ee | |||
| d3d51677f9 | |||
| 6602843f5a | |||
| 7ec4a429a4 | |||
| 16d40189c6 | |||
| 4b9dba0c53 | |||
| dd80e4b80e | |||
| e39e59c795 | |||
| 590a5cf59a | |||
| f5b6389042 | |||
| a06478f8ed | |||
| a88ae843e3 | |||
| 71931e2e2e | |||
| e817b3cc4e | |||
| 7519561027 | |||
| 54944968cc | |||
| 6689ebd133 | |||
| e92a89e90f | |||
| 9d167aa0e4 | |||
| 3e54390047 | |||
| 40a81ae8eb | |||
| ff6d9a0936 | |||
| 6d4e4bd12d | |||
| 77d533f930 | |||
| 90dcc9b9ea | |||
| f823e4f126 | |||
| a833dfb3ac | |||
| f6a5c9166e | |||
| ee5f2fa600 | |||
| ba6254ca3f | |||
| 7258bd9fd6 | |||
| 49632d8789 | |||
| 5f101300af | |||
| 4859c14aaa | |||
| d89557acf4 | |||
| cdd3177b19 | |||
| bb8ce0cce6 | |||
| f4a8f21032 | |||
| e894c4478f | |||
| bb255c8529 | |||
| 56afb5bca9 | |||
| 17dc7f7d23 | |||
| 5c6a0ebff3 | |||
| ede3707b51 | |||
| 0b6911f0da | |||
| 3fccf5a9cb | |||
| cce5a26a9b | |||
| 83957ecdf0 | |||
| 9da8f705f6 | |||
| ce4cd33139 | |||
| 804c03b286 | |||
| bb3a1d3609 | |||
| a9b4e22fb0 | |||
| b039a199d7 | |||
| dda257bcd6 | |||
| ce30c874d1 | |||
| 2f97ec7acd | |||
| d2bad63603 | |||
| 9a699aef81 | |||
| 3a505745f3 | |||
| 2da2166004 | |||
| 6d67dff94c | |||
| 1f778e8ce1 | |||
| 81a1b675af | |||
| f24e29998d | |||
| 2c15e382bd | |||
| 1ef467c9e3 | |||
| 7b3c86a4f5 | |||
| 73705b08cd | |||
| f123cac308 | |||
| c61e79be76 | |||
| 135acff4e8 | |||
| 0910bebe56 | |||
| 805e07d09a | |||
| e6324fe3d8 | |||
| 75d2f3dd00 | |||
| aefa262cd1 | |||
| a6ef08d4d3 | |||
| 9eb04593f5 | |||
| 45c06cac54 | |||
| 77124496e8 | |||
| 6bca4083cb | |||
| 3ba2253ac0 | |||
| eb36980715 | |||
| 8366ceb896 | |||
| 5311cc7744 | |||
| 0213e65ff0 | |||
| c82ec4c65b | |||
| 63cd18ebfb | |||
| 52b9fe8276 | |||
| cd092897bc | |||
| 735e17a8cb | |||
| 08a4aeff7b | |||
| 0fb1742362 | |||
| e4564ec86e | |||
| 76961fd675 | |||
| 2f9704c680 | |||
| 98a38cde57 | |||
| b5e9795ccf | |||
| 4f14cbc12c | |||
| b765d7eae0 | |||
| 3f28b5fcb5 | |||
| 03d0baa2bf | |||
| 3096c2b09a | |||
| 976edfbf1d | |||
| 2a5fee85c5 | |||
| 1b1452c7b7 | |||
| 021ea6baab | |||
| 50ed9268f9 | |||
| f4832dd785 | |||
| a94fc04890 | |||
| 488eaced8c | |||
| 9442c1ef7e | |||
| 67c8fd18cb | |||
| 29b0e824a2 | |||
| fb886c5954 | |||
| 06aa83e263 | |||
| 051311bbbd | |||
| f4c94c48b4 | |||
| c04b6f6fdf | |||
| 455cd151b7 | |||
| 4dd6abfe85 | |||
| 73402dfb05 | |||
| a1c02bda9b | |||
| 67cf51bbf3 | |||
| 77cc12a42e | |||
| 290815cba8 | |||
| 979a477773 | |||
| 2e17c65a2c | |||
| a592f7b2fd | |||
| 03a89c73e3 | |||
| acfbb0a763 | |||
| 1b824c410b | |||
| 6cdc88e6f8 | |||
| a9748571f3 | |||
| 263a082afe | |||
| dd9ddab849 | |||
| cfa278886b | |||
| 1c430a6b91 | |||
| b0eb712933 | |||
| 51a7ad9483 | |||
| d6e9d62fad | |||
| 3bac4a1036 | |||
| 1995a7068c | |||
| 5dc06d023d | |||
| d98a1857dc | |||
| 7da8811327 | |||
| 15db2dd603 | |||
| 97b15322d4 | |||
| 824bf7e40f | |||
| 56fa261ef2 | |||
| 1efab19f1e | |||
| 51e294f748 | |||
| cb65fd93ca | |||
| 5b9600d835 | |||
| cf80d17040 | |||
| d4f906f22d | |||
| d189e334d8 | |||
| a48a94d872 | |||
| 8e5dc220dc | |||
| dca2f610dc | |||
| 3d1833e307 | |||
| aa221cc3c7 | |||
| 51b7d1c420 | |||
| 674d286f87 | |||
| 0161c4b917 | |||
| de31a42fc8 | |||
| 9c508de5fd | |||
| 1b00d95ce4 | |||
| 78870decb8 | |||
| 1a5696eb2c | |||
| 269d38da2c | |||
| 99f77b0a88 | |||
| 264fdda4d0 | |||
| 8092b88ad4 | |||
| 3251e2ae88 | |||
| f718c5f8b4 | |||
| a96a446b47 | |||
| 5658411acf | |||
| a4403d719e | |||
| 8597a10c40 | |||
| d0c0045dc1 | |||
| 868abdc0d9 | |||
| ebf88bf5c5 | |||
| c3814a4e42 | |||
| 52fe365919 | |||
| bc39dda9e7 | |||
| 257275f169 | |||
| 9e61809b17 | |||
| 9e2b935db1 | |||
| 9a386574d8 | |||
| 90bdb0a840 | |||
| ae322dbdc8 | |||
| 208feceb03 | |||
| 32dd3a2e14 | |||
| 0ae51c9522 | |||
| 59bd9f040d | |||
| df00dd1f32 | |||
| ca49b56774 | |||
| 19f8c3561c | |||
| 79ff9bc216 | |||
| b54672d28d | |||
| 6b42d71158 | |||
| ac593d814d | |||
| 617e2212c8 | |||
| ad15ef7961 | |||
| 406faa5603 | |||
| 4e0d562208 | |||
| 43ef686622 | |||
| d59fe6b2af | |||
| d677a1a785 | |||
| be776d6a31 | |||
| 1482fedb9c | |||
| 00f8df60ce | |||
| f31caf1ea4 | |||
| 8ebb4d35fa | |||
| c5f2717623 | |||
| e5d5cfbd3a | |||
| bd5f6e4711 | |||
| e15deff4ed | |||
| 9d906c29a2 | |||
| 6577d43e4e | |||
| 1a065485e3 | |||
| 009783a59a | |||
| 1b4f70c808 | |||
| dd4a727521 | |||
| ebb7111f25 | |||
| 86fd14613e | |||
| 5276461239 | |||
| 40f47bc22d | |||
| 8150403ccb | |||
| b43d94ab16 | |||
| 849290a3b7 | |||
| 0b617e9fd6 | |||
| 6eb435142e | |||
| e14ea777d5 | |||
| 46d73a16a0 | |||
| 4d2b918d39 | |||
| 4acfdcce52 | |||
| f3b3eec211 | |||
| a840566e02 | |||
| f6a2199f68 | |||
| dfc9dde32d | |||
| 50f93f54ec | |||
| 9cb1d96725 | |||
| 40013dccc3 | |||
| 24af1b8420 | |||
| 213d656df4 | |||
| c09b4e96d2 | |||
| a80875e00c | |||
| bbdedb5097 | |||
| dd0671b111 |
+3
-3
@@ -7,9 +7,6 @@ build/
|
||||
dist/
|
||||
|
||||
# Gramps
|
||||
data/tips.xml
|
||||
data/holidays.xml
|
||||
po/.intltool-merge-cache
|
||||
docs/_build/
|
||||
|
||||
# Editing
|
||||
@@ -23,5 +20,8 @@ test/data
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
|
||||
# Glade temp files
|
||||
*~
|
||||
|
||||
@@ -126,10 +126,10 @@ class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
|
||||
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
|
||||
|
||||
# Regular expression matching correct function names
|
||||
function-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
function-rgx=(([a-z_][a-z0-9_]{2,30})|(_T_))$
|
||||
|
||||
# Naming hint for function names
|
||||
function-name-hint=[a-z_][a-z0-9_]{2,30}$
|
||||
function-name-hint=(([a-z_][a-z0-9_]{2,30})|(_T_))$
|
||||
|
||||
# Regular expression matching correct inline iteration names
|
||||
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
|
||||
|
||||
+32
-15
@@ -23,16 +23,11 @@
|
||||
# After changing this file, check it on:
|
||||
# http://lint.travis-ci.org/
|
||||
|
||||
sudo: required
|
||||
dist: trusty
|
||||
os: linux
|
||||
dist: xenial
|
||||
language: python
|
||||
python:
|
||||
- 3.3 # This is irrelevant, because the virtualenv is not used at all
|
||||
|
||||
# FIXME: The minimum requirement for Gramps is Python 3.2, so a test environment
|
||||
# for Python 3.2 should be added to this environment which is Python 3.3. It
|
||||
# will not be possible to run coverage under Python 3.2, because coverage is
|
||||
# Python 3.3 (or above) only.
|
||||
- 3.5
|
||||
|
||||
addons:
|
||||
apt:
|
||||
@@ -51,7 +46,7 @@ addons:
|
||||
- python3-dev
|
||||
- python3-nose
|
||||
- python3-mock
|
||||
- python3-pyicu
|
||||
- python3-icu
|
||||
- python3-coverage
|
||||
- python3-jsonschema
|
||||
# lxml dependencies. for merge_ref_test to work
|
||||
@@ -72,7 +67,7 @@ install:
|
||||
# by the automatic git checkout.
|
||||
|
||||
# Download Sean Ross-Ross's Pure Python module containing a framework to
|
||||
# manipulate and analyze python ast�s and bytecode. This is loaded to
|
||||
# manipulate and analyze python ast�s and bytecode. This is loaded to
|
||||
# /home/travis/build/gramps-project/gramps/meta
|
||||
# FIXME: This should be loaded from the release directory at
|
||||
# https://pypi.python.org/pypi/meta
|
||||
@@ -95,11 +90,11 @@ before_script:
|
||||
# set GRAMPS_RESOURCES for locale, data,image and documentation
|
||||
- export GRAMPS_RESOURCES=.
|
||||
# Install addons
|
||||
- mkdir -p ~/.gramps/gramps50/plugins/
|
||||
- wget https://github.com/gramps-project/addons/raw/master/gramps50/download/CliMerge.addon.tgz
|
||||
- tar -C ~/.gramps/gramps50/plugins -xzf CliMerge.addon.tgz
|
||||
- wget https://github.com/gramps-project/addons/raw/master/gramps50/download/ExportRaw.addon.tgz
|
||||
- tar -C ~/.gramps/gramps50/plugins -xzf ExportRaw.addon.tgz
|
||||
- mkdir -p ~/.gramps/gramps52/plugins/
|
||||
- wget https://github.com/gramps-project/addons/raw/master/gramps52/download/CliMerge.addon.tgz
|
||||
- tar -C ~/.gramps/gramps52/plugins -xzf CliMerge.addon.tgz
|
||||
- wget https://github.com/gramps-project/addons/raw/master/gramps52/download/ExportRaw.addon.tgz
|
||||
- tar -C ~/.gramps/gramps52/plugins -xzf ExportRaw.addon.tgz
|
||||
|
||||
script:
|
||||
# Ignore the virtualenv entirely. Use nosetests3, python3 (3.4.0) and coverage
|
||||
@@ -127,3 +122,25 @@ after_success:
|
||||
# picks up coverage from /usr/bin, rather than from
|
||||
# /home/travis/virtualenv/python3.3.6/bin/
|
||||
- PATH=/usr/bin:$PATH bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
stages:
|
||||
- test
|
||||
# Only execute deployment stage on tagged commits, and from our repository
|
||||
# (e.g. not PRs).
|
||||
- name: deploy
|
||||
if: tag IS PRESENT AND repo = gramps-project/gramps
|
||||
|
||||
env:
|
||||
global:
|
||||
- TWINE_USERNAME=__token__
|
||||
|
||||
jobs:
|
||||
include:
|
||||
# Deploy source distribution
|
||||
- stage: deploy
|
||||
name: Deploy source distribution and wheel
|
||||
install: skip
|
||||
script:
|
||||
- python3 setup.py sdist bdist_wheel
|
||||
- python3 -m pip install twine
|
||||
- python3 -m twine upload --repository testpypi --skip-existing dist/*
|
||||
|
||||
@@ -1,527 +1,402 @@
|
||||
2019-08-08 prculley <paulr2787@gmail.com>
|
||||
2020-08-11 prculley <paulr2787@gmail.com>
|
||||
|
||||
* AUTHORS, ChangeLog, FAQ, NEWS, po/ChangeLog, po/gramps.pot:
|
||||
Prepare for Release 5.0.2
|
||||
* 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
|
||||
|
||||
2019-08-08 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-10 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/plug/_gramplet.py: Fix some Gramplets not updating
|
||||
during tree changes after db change. (#865) Fixes #11234
|
||||
* 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
|
||||
|
||||
2019-08-08 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-10 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* gramps/plugins/gramplet/events.py: Fix Events Grampslet for bad
|
||||
sort order on dates/ages (#867) Fixes #7616
|
||||
* po/de.po: Update German translation
|
||||
|
||||
2019-08-08 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-10 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/gui/editors/displaytabs/backreflist.py,
|
||||
gramps/gui/editors/displaytabs/backrefmodel.py: Fix References Tab
|
||||
to update on Deletes of items when editor is open (#864) Fixes #11231
|
||||
* gramps/gui/views/treemodels/eventmodel.py: Events View: "Main
|
||||
Participants" column does not (#1075) show the full list of participants when expanded. Fixes #11805
|
||||
|
||||
2019-08-08 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-10 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* data/tests/imp_notetest_dfs.gramps,
|
||||
gramps/plugins/lib/libgedcom.py: Fix GEDCOM import for better
|
||||
support of TMG (#861) Fixes #11224
|
||||
* po/pl.po: Fix Charts/Pedigreeview tooltip Polish translation
|
||||
(#1092) Fixes #11852
|
||||
|
||||
2019-08-07 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-10 Krystian Safjan <ksafjan@gmail.com>
|
||||
|
||||
* gramps/gui/editors/__init__.py: Fix Edit Link 'New' button to work
|
||||
(#863) Fixes #11225
|
||||
* po/gramps.pot, po/pl.po: Fix and add objects to Polish translation
|
||||
of Gramps (#1088)
|
||||
|
||||
2019-08-07 Paul Culley <paulr2787@gmail.com>
|
||||
2020-08-06 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* data/tests/exp_sample_ged.ged, data/tests/imp_sample.ged,
|
||||
data/tests/imp_sample.gramps,
|
||||
gramps/plugins/export/exportgedcom.py,
|
||||
gramps/plugins/lib/libgedcom.py: Fix GEDCOM importer to properly
|
||||
handle multiple surnames per 5.5.1 (#862) Fixes #11228
|
||||
* mac/gramps.modules: Use current Gtk release instead of Gtk-3.14.
|
||||
|
||||
2019-08-01 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
2020-08-06 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* gramps/plugins/webreport/common.py,
|
||||
gramps/plugins/webreport/place.py: Narrative web: Sort problem with
|
||||
places. (#854) * Narrative web: Sort problem with places. Fixes #10868. Places list is not sorted depending on the selected language. If you start gramps in english or another language then try to
|
||||
generated a narrative web report in another language, the navigation
|
||||
alphabet is incorrect. This is true for the place list and the
|
||||
person list. The problem was related to pyICU. * Narrative web: some pylint improvement.
|
||||
* mac/gramps.modules: Upgrade pymodules for Python 3.8
|
||||
compatibility.
|
||||
|
||||
2019-08-01 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-09 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/navigator.py, gramps/gui/viewmanager.py: Fix Navigator
|
||||
sidebar so can change view type with proper resize (#853) Fixes #6422, #11164
|
||||
* gramps/plugins/export/exportxml.py: Fix XML export when 'Group-as"
|
||||
name contains XML invalid chars Fixes #11834
|
||||
|
||||
2019-07-31 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-08 SNoiraud <serge.noiraud@laposte.net>
|
||||
|
||||
* gramps/gui/views/treemodels/flatbasemodel.py: fix crash when using
|
||||
sidebar filter and merging in another view (#858) Fixes #11089, #11064, #11134
|
||||
* gramps/plugins/webreport/basepage.py: NarWeb: Province place-type
|
||||
is not displayed
|
||||
|
||||
2019-07-31 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/drawreport/ancestortree.py,
|
||||
gramps/plugins/lib/librecurse.py: Fix AncestorTree so add siblings
|
||||
to center person works (#852) Fixes #11215
|
||||
* 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
|
||||
|
||||
2019-07-31 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-03 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/config.py, gramps/gen/plug/docgen/graphdoc.py,
|
||||
gramps/grampsapp.py, gramps/gui/configure.py: Fix graphs on Windows
|
||||
for font selection not working (#849) Fixes #11212
|
||||
* gramps/gui/viewmanager.py: Fix menus when db fails to open due to
|
||||
upgrade/downgrade etc. Fixes #11604
|
||||
|
||||
2019-07-31 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-03 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/db/dbapi/dbapi.py: Fix dbapi reindex_reference_maps
|
||||
tool to properly close transaction (#847) Fixes #11195
|
||||
* gramps/gui/plug/_windows.py: Fix issue with attach source tool,
|
||||
results panel Fixes #11780
|
||||
|
||||
2019-07-10 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-03 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/widgets/selectionwidget.py: Fix zoom via mouse wheel in
|
||||
media event editor selectionwidget (#835) also fixes zooming with scroll bars always present Fixes #11198
|
||||
* gramps/plugins/export/exportgedcom.py: Fix GEDCOM export; don't
|
||||
include ADDR when address is missing Fixes #11825
|
||||
|
||||
2019-03-20 vantu5z <vantu5z@mail.ru>
|
||||
2020-07-02 SNoiraud <serge.noiraud@laposte.net>
|
||||
|
||||
* po/ru.po: update Russian translation
|
||||
* gramps/gui/editors/editplace.py,
|
||||
gramps/gui/editors/editplaceref.py: Coordinates containing a comma
|
||||
instead of a period Fixes #11823
|
||||
|
||||
2019-06-14 Mattkmmr <49940207+Mattkmmr@users.noreply.github.com>
|
||||
2020-07-23 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* gramps/plugins/gramplet/metadataviewer.py: Fix metadataviewer.py
|
||||
(#823) Fix so that metadata is actually detected and displayed (signal was
|
||||
not getting detected).
|
||||
* po/de.po: German translation fixed typo
|
||||
|
||||
2019-06-12 niememat <niememat@gmail.com>
|
||||
2020-07-17 niememat <niememat@gmail.com>
|
||||
|
||||
* po/fi.po: Update finnish translation
|
||||
|
||||
2019-06-11 John Ralls <jralls@ceridwen.us>
|
||||
2020-06-07 Tian Shixiong <tiansworld@fedoraproject.org>
|
||||
|
||||
* mac/gramps.modules: Fix graphviz and exiv2 download URLs.
|
||||
* po/zh_CN.po: Update Simplified Chinese translation for gramps51
|
||||
branch
|
||||
|
||||
2019-06-11 John Ralls <jralls@ceridwen.us>
|
||||
2020-07-08 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* mac/gramps.modules: Update dependency versions and download paths.
|
||||
* 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
|
||||
|
||||
2019-06-10 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
2020-07-08 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/gen/utils/place.py, gramps/gen/utils/test/place_test.py,
|
||||
gramps/plugins/view/geoplaces.py: Avoid comma in a lat/lon entry
|
||||
field. (#812) * Avoid comma in a lat/lon entry field. * Be more precise on the tooltip text. * conv_lat_lon should not accept comma in lat/lon * Tests failed with comma in lat/lon * geoplaces fails to center if bad lat/lon
|
||||
* 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
|
||||
|
||||
2019-06-10 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
2020-01-11 giansalvo <pioggia3+github@gmail.com>
|
||||
|
||||
* gramps/gui/editors/displaytabs/surnametab.py,
|
||||
gramps/gui/widgets/monitoredwidgets.py: Avoid invalid characters in
|
||||
the entry field (#811) In this patch: 1 - If you copy/paste strings from another application, you can add CR, LF, TAB and other special characters. I remove
|
||||
them. 2 - suppress all leading and trailing spaces for these
|
||||
entry field.
|
||||
|
||||
2019-06-10 milotype <43657314+milotype@users.noreply.github.com>
|
||||
|
||||
* po/hr.po: Update Croatian translation (#824)
|
||||
|
||||
2019-06-09 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/displaystate.py, gramps/gui/views/listview.py: Fix
|
||||
crash for multiple deletes in one transaction (#814) Fixes #11117
|
||||
|
||||
2019-06-10 Ed Bennett <pyedward@swansea.ac.uk>
|
||||
|
||||
* gramps/gen/relationship.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: Adjust translation
|
||||
strings for unmarried partners to give correct text in English
|
||||
(#818) Fixes #11109
|
||||
|
||||
2019-05-07 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/gramps.modules: Disable vala for gexiv2, it breaks
|
||||
introspection.
|
||||
|
||||
2019-01-05 caigner <github@sys-admin.at>
|
||||
|
||||
* gramps/gui/views/navigationview.py, po/ar.po, po/bg.po, po/br.po,
|
||||
* 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: changed
|
||||
'Edit ->Set Home Person' to 'Edit -> Set Home Person'
|
||||
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'
|
||||
|
||||
2019-04-14 système <romjerome@users.noreply.github.com>
|
||||
2020-07-07 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/fr.po: typo on french translation
|
||||
* po/de.po: Germen fixed translation error of Media:
|
||||
|
||||
2019-04-13 Paul Culley <paulr2787@gmail.com>
|
||||
2020-07-04 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* gramps/plugins/lib/libgedcom.py: Fix failure after Gedcom import
|
||||
if missing objects were found (#807) Fixes #11082
|
||||
* po/de.po: Fix typo
|
||||
|
||||
2019-03-26 John Ralls <jralls@ceridwen.us>
|
||||
2020-07-01 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* gramps/gen/utils/maclocale.py: [maclocale] Fix none type has no
|
||||
len(). Fixes #11075
|
||||
* po/de.po: update German translation
|
||||
|
||||
2019-03-17 Paul Culley <paulr2787@gmail.com>
|
||||
2020-02-16 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* data/tests/imp_sample.gramps, gramps/plugins/lib/libgedcom.py: Fix
|
||||
Gedcom import so it doesn't create completely empty Birth events
|
||||
(#799) Fixes #10145 Note: a completely empty birth event is removed by Check and Repair;
|
||||
this is wrong in that sometimes we know a person is born, but not
|
||||
date/place. In Gedcom this is indicated by "1 BIRT Y" lines. So this PR adds a description to the birth event. This is not an
|
||||
issue for other event types, the C&R tool sees the non-default type
|
||||
and leaves it alone, but birth is the default type.
|
||||
* 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.
|
||||
|
||||
2019-03-17 milotype <43657314+milotype@users.noreply.github.com>
|
||||
2020-04-23 SNoiraud <serge.noiraud@laposte.net>
|
||||
|
||||
* po/hr.po: Update Croatian translation (#803) update with current maint50 pot file
|
||||
* 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
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
2020-05-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/view/relview.py: Fix Relationship view so ages are
|
||||
according to Preferences (#798) Fixes #11040
|
||||
* gramps/plugins/tool/verify.py: Fix Verify tool bug caused by bad
|
||||
change in GObject introspection Fixes: #11708
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
2020-06-22 pehlm <par.ekholm@pekholm.org>
|
||||
|
||||
* gramps/gui/editors/displaytabs/personeventembedlist.py: Fix Person
|
||||
Editor Events to properly update during external changes (#797) like Event delete or update. Fixes #11051 Looks like someone simply forgot to register the handles with the
|
||||
callman... I checked other similar cases and did not see any other issues.
|
||||
* po/sv.po: A little adjustment to Swedish translation
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
2020-06-21 pehlm <par.ekholm@pekholm.org>
|
||||
|
||||
* po/sv.po: Updates to Swedish translation
|
||||
|
||||
2020-06-20 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* 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.
|
||||
|
||||
2020-06-20 Megumi Sakata <megumi.sakata.k@gmail.com>
|
||||
|
||||
* po/ja.po: Update Japanese translation
|
||||
|
||||
2020-06-07 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/plugins/webreport/person.py,
|
||||
gramps/plugins/webreport/place.py: Navweb: incorrect link type for
|
||||
osm css files (#1071) Fixes #011787
|
||||
|
||||
2020-06-07 prculley <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.
|
||||
|
||||
2020-06-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* : commit e614a79cef213f57552ceb566eb2d294c9435231 Author: vantu5z
|
||||
<vantu5z@mail.ru> Date: Tue Apr 28 15:23:25 2020 +0300
|
||||
|
||||
2020-03-16 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/plug/menu/_enumeratedlist.py: Fix some reports for CLI
|
||||
where warning message about Value not found Fixes #11621
|
||||
|
||||
2020-03-16 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/cli/plug/__init__.py: Fix Genealogy Tree reports for crash
|
||||
in CLI Fixes #11621
|
||||
|
||||
2020-04-10 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/views/treemodels/treebasemodel.py: Add uistate to tree
|
||||
views filter initialization Fixes #11657
|
||||
|
||||
2020-04-04 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/lib/libgedcom.py: Fix GEDCOM import for bad source
|
||||
title when sources precede references. Fixes #11610
|
||||
|
||||
2020-03-31 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/tool/removeunused.py: Fix RemoveUnused tool for
|
||||
crash caused by Gtk introspection bug Fixes #11634
|
||||
|
||||
2020-03-30 prculley <paulr2787@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
|
||||
|
||||
2020-03-26 SNoiraud <serge.noiraud@laposte.net>
|
||||
|
||||
* gramps/gui/editors/displaytabs/eventrefmodel.py,
|
||||
gramps/plugins/gramplet/events.py: Age: test if the death is the
|
||||
same day as birth
|
||||
|
||||
2020-03-25 SNoiraud <serge.noiraud@laposte.net>
|
||||
|
||||
* 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
|
||||
|
||||
2020-03-23 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/viewmanager.py: Fix Dashboard Gramplets to update
|
||||
during db close when not shown Fixes #11632
|
||||
|
||||
2020-03-14 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/grampsapp.py: Fix Windows GUI mode startup for crash with
|
||||
some languages Fixes: #11612. #11490, #11518, #9179, #9201, #9266
|
||||
|
||||
2020-03-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/db/generic.py, gramps/plugins/db/dbapi/dbapi.py: Fix
|
||||
dbapi to support "Abandon Changes & Quit" feature Fixes #11599
|
||||
|
||||
2020-02-08 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/lib/grampstype.py: Fix GrampsType for comparison bug
|
||||
with empty string as one value Fixes #11563
|
||||
|
||||
2020-05-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/tool/verify.py: Fix Verify tool bug caused by bad
|
||||
change in GObject introspection Fixes: #11708
|
||||
|
||||
2020-04-24 niememat <niememat@gmail.com>
|
||||
|
||||
* po/fi.po: Fix translation in Finnish
|
||||
|
||||
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
|
||||
|
||||
* po/ca.po: Updating Catalan translation
|
||||
|
||||
2020-04-18 Joan Creus <joan.creusandreu@gmail.com>
|
||||
|
||||
* po/ca.po: Updating Catalan translation
|
||||
|
||||
2020-01-20 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/datehandler/__init__.py: Fix Date Display so that it
|
||||
uses LC_TIME if defined Fixes #11230
|
||||
|
||||
2020-01-12 prculley <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
|
||||
|
||||
2020-01-08 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/managedwindow.py: Try to fix exceptions on
|
||||
ManagedWindow close Issues #10252, #10642, #10821, #11163, #11440, #11476, #11482,
|
||||
#11508
|
||||
|
||||
2020-04-08 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* : Merge John Ralls's 'bug11639' into maintenance/gramps51
|
||||
|
||||
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/plugins/tool/verify.py: Same date of birth and death gives
|
||||
an error. (#1011) Fixes #011553
|
||||
|
||||
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/plugins/lib/maps/osmgps.py: Geography: add a popup for a
|
||||
bad tiles path (#1025)
|
||||
|
||||
2020-04-04 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/plugins/webreport/narrativeweb.py: Narweb: image size limit
|
||||
doesn't match tooltip (#1004) Fixes #011536
|
||||
|
||||
2020-04-01 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* 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
|
||||
|
||||
2020-03-26 vantu5z <vantu5z@mail.ru>
|
||||
|
||||
* po/ru.po: update Russian translation
|
||||
|
||||
2020-03-25 Translator5 <Translator5@users.noreply.github.com>
|
||||
|
||||
* po/ru.po: [Language: Russian] Maintenance/gramps51 (#1027) * some Russian translations updates Новый перевод для неких случаев, но
|
||||
улучшающие понимание и выглядит
|
||||
более уместно. Также применены
|
||||
русские переводы слов, которые
|
||||
использовали до того англицизмы
|
||||
|
||||
2020-03-03 Joan Creus <joan.creusandreu@gmail.com>
|
||||
|
||||
* po/ca.po: Updating Catalan translation
|
||||
|
||||
2020-02-29 Joan Creus <joan.creusandreu@gmail.com>
|
||||
|
||||
* po/ca.po: Updating Catalan translation
|
||||
|
||||
2020-02-25 Bernard Banko <beernarrd@gmail.com>
|
||||
|
||||
* po/sl.po: V&O changed to PZV to avoid ampersand
|
||||
|
||||
2020-02-07 pehlm <par.ekholm@pekholm.org>
|
||||
|
||||
* po/sv.po: Minor update to Swedish translation
|
||||
|
||||
2020-01-07 prculley <paulr2787@gmail.com>
|
||||
|
||||
* data/tests/exp_sample_ged.ged,
|
||||
data/tests/imp_FTM_16dec2015a-mod1.gramps,
|
||||
data/tests/imp_MediaTest.gramps, data/tests/imp_sample.gramps,
|
||||
gramps/plugins/export/exportgedcom.py,
|
||||
gramps/plugins/lib/libgedcom.py: Gedcom fixes for mime and finding
|
||||
media (#795) * Fix Gedcom import/export for more comprehensive mime types Fixes #11041 * Fix Gedcom import to better find media files Issue #11041 * Fix Gedcom test files for media mime and error location message
|
||||
gramps/plugins/export/exportgedcom.py: Fix GEDCOM export of
|
||||
estimated/calculated dates with modifers Fixes #11513
|
||||
|
||||
2019-03-17 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
2020-01-11 Ross Gammon <rossgammon@mail.dk>
|
||||
|
||||
* gramps/plugins/lib/maps/geography.py: Unhandled exception in
|
||||
Geography editor (#793) Fixes #11048 better pylint score remove unused code
|
||||
* debian/changelog: New debian release - update changelog
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/filters/rules/person/_relationshippathbetween.py: Fix
|
||||
relationshippathbetween filter rule when parent is missing (#792) Fixes #11049 Another HandleError issue, this one hidden by the raw except. Filter
|
||||
rule just did not work if a family in the path had a missing parent.
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/plug/docgen/graphdoc.py: Fix Graphs that use graphdoc
|
||||
pdf via Ghostscript with multi-page (#791) for poor font rendering of some characters (thanks to Ken Sharp) Fixes #11047
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* example/gramps/data.gramps, example/gramps/example.gramps: Fix
|
||||
example gramps files so media is found (#785) Fixes #11015 On Windows the location of the example files is "c:\program
|
||||
files\grampsaio64-5.0.1\share\doc\gramps\example\gramps". On my Ubuntu install from the .deb file these files are in
|
||||
"/usr/share/doc/gramps/example/gramps" Since the default GRAMPS_RESOURCES value for each system is the
|
||||
'share', to find the media files we need to append
|
||||
"/doc/gramps/example/gramps" to have the example files work
|
||||
properly.
|
||||
|
||||
2019-03-16 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/tool/finddupes.py: fix finddupes tool when run from
|
||||
Match Threshold screen again (#790) after merge. Avoids HandleError because potentials dict is not
|
||||
cleared. Fixes #11044
|
||||
|
||||
2019-01-17 vantu5z <vantu5z@mail.ru>
|
||||
2020-01-31 vantu5z <vantu5z@mail.ru>
|
||||
|
||||
* po/ru.po: update Russian translation
|
||||
|
||||
2019-02-27 Bernard Banko <beernarrd@gmail.com>
|
||||
2020-01-26 Bernard Banko <beernarrd@gmail.com>
|
||||
|
||||
* po/sl.po: Slovenian translation correction
|
||||
* po/sl.po: Slovenian translation update
|
||||
|
||||
2019-02-16 système <romjerome@users.noreply.github.com>
|
||||
2020-01-23 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/fr.po: update french translation
|
||||
* po/ru.po: Fix typo in Russian translation
|
||||
|
||||
2019-02-14 système <romjerome@users.noreply.github.com>
|
||||
2020-01-21 système <romjerome@users.noreply.github.com>
|
||||
|
||||
* po/fr.po: update (partial) french translation
|
||||
* po/fr.po: typos in french translation #11534 #10534
|
||||
|
||||
2019-02-14 système <romjerome@users.noreply.github.com>
|
||||
2020-01-21 Fedik <getthesite@gmail.com>
|
||||
|
||||
* po/fr.po: merge with last template
|
||||
* po/uk.po: Ukrainian translation update
|
||||
|
||||
2019-02-14 système <romjerome@users.noreply.github.com>
|
||||
2020-01-11 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* po/fr.po: bug 10841: Typos in the French translation
|
||||
* mac/Info.plist, mac/gramps.modules: Mac release of 5.1.2.
|
||||
|
||||
2019-02-14 système <romjerome@users.noreply.github.com>
|
||||
2020-01-10 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/fr.po: fix a typo
|
||||
|
||||
2019-02-13 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* data/tests/imp_MediaTest.gramps, gramps/plugins/lib/libgedcom.py:
|
||||
Fix Gedcom import for multiple notes on OBJE (MULTIMEDIA_LINK)
|
||||
(#782) Fixes #10277
|
||||
|
||||
2019-02-13 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/db/dbapi/dbapi.py,
|
||||
gramps/plugins/importer/importxml.py: Deal with SQLite db corrupted
|
||||
by None name mapping (#784) Fixes #11011
|
||||
|
||||
2019-02-13 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/importer/importxml.py: Fix XML import to add tags
|
||||
to Events, Sources, Places, Repos, Cits (#780) Fixes #11004
|
||||
|
||||
2019-02-13 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/editors/displaytabs/eventembedlist.py,
|
||||
gramps/gui/editors/displaytabs/personrefembedlist.py,
|
||||
gramps/gui/editors/displaytabs/placerefembedlist.py,
|
||||
gramps/gui/editors/editcitation.py,
|
||||
gramps/gui/editors/editevent.py,
|
||||
gramps/gui/editors/editeventref.py,
|
||||
gramps/gui/editors/editfamily.py, gramps/gui/editors/editperson.py:
|
||||
Fix for delete of a ref'd primary obj while editing an added obj.
|
||||
(#779) Also fixed to update the ref'd obj on changes from outside the
|
||||
editor. Fixes #10999, #11000, #11001, #11002
|
||||
|
||||
2019-02-13 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/filters/_genericfilter.py,
|
||||
gramps/gui/views/treemodels/treebasemodel.py: Fix Place Tree view
|
||||
when using enclosed by sidebar filter (#764) the filter was incorrectly using a standard place cursor instead of
|
||||
the tree cursor. Fixes #10948
|
||||
|
||||
2019-02-10 Bernard Banko <beernarrd@gmail.com>
|
||||
|
||||
* po/sl.po: Slovenian language update
|
||||
|
||||
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
|
||||
|
||||
* po/it.po: Italian translation updates - restore few strings from the welcome Gramplet that got lost after the split of a messages in smaller messages; - fix few errors.
|
||||
|
||||
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
|
||||
|
||||
* po/it.po: Refresh the Italian po file
|
||||
|
||||
2019-02-02 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/editors/editfamily.py: Fix EditFamily for adding a
|
||||
child to single parent family with (#777) Surname guessing set to combination. Fixes #10997
|
||||
|
||||
2019-01-22 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/drawreport/descendtree.py: Fix Descendent Tree
|
||||
report for crash when person has multiple (#773) families and one of them doesn't have a spouse. Fixes #10983, #10971, #10661
|
||||
|
||||
2019-01-22 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: Update German translation
|
||||
|
||||
2019-01-21 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/db/dbapi/dbapi.py: Fix Name editor crash after
|
||||
clearing a group_as name on dbapi dbs (#771) Fixes #10981
|
||||
|
||||
2019-01-22 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/gen/merge/mergefamilyquery.py,
|
||||
gramps/gui/merge/mergecitation.py, gramps/gui/merge/mergeevent.py,
|
||||
gramps/gui/merge/mergefamily.py, gramps/gui/merge/mergemedia.py,
|
||||
gramps/gui/merge/mergenote.py, gramps/gui/merge/mergeperson.py,
|
||||
gramps/gui/merge/mergeplace.py,
|
||||
gramps/gui/merge/mergerepository.py,
|
||||
gramps/gui/merge/mergesource.py,
|
||||
gramps/plugins/test/db_undo_and_signals_test.py: We should stay on
|
||||
the selected item in list views: (#770) Fixes #10966 When we try to merge two objects, we should stay on the selected row
|
||||
in list views. This problem occurs for persons, families, events,
|
||||
places, sources, citations, repositories, media and notes. Another problem: In case we select the first family and select the
|
||||
gramps_id of the second family, the new gramps_id is ignored:
|
||||
problem in MergeFamilyQuery
|
||||
|
||||
2019-01-21 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/graph/gvrelgraph.py: Fix Relationship Graph; extra
|
||||
people when using filters & subgraphs (#769) subgraph option wasn't checking parents against filtered results Fixes #10947
|
||||
|
||||
2019-01-22 Christian Aigner <github@sys-admin.at>
|
||||
|
||||
* po/de.po: [German] Change Text on Settings -> Colour (#767) * Unified the labels. The overall appearance looks now a bit cleaner. * Fixed a grammatical bug (das -> dass)
|
||||
|
||||
2019-01-21 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/display/place.py: fix Place Format Editor file
|
||||
save/load for difficult names (#766) Fixes #10949
|
||||
|
||||
2019-01-22 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/plugins/graph/gvfamilylines.py: Not all place types appears
|
||||
on family lines Graph (#763)
|
||||
|
||||
2019-01-22 Christian Aigner <github@sys-admin.at>
|
||||
|
||||
* po/de.po: Corrections in 'Tip of Day'; changed 'Schlussnotizen' to
|
||||
'Quellennachweis' (#753)
|
||||
|
||||
2019-01-12 vantu5z <vantu5z@mail.ru>
|
||||
|
||||
* po/ru.po: update Russian translation
|
||||
|
||||
2019-01-12 Sam Manzi <manzi.sam@gmail.com>
|
||||
|
||||
* gramps/plugins/tool/sortevents.py: Remember location of Sort
|
||||
Events Tool (#750) Issue #9795
|
||||
|
||||
2019-01-11 Zdeněk Hataš <zdenek.hatas@gmail.com>
|
||||
|
||||
* po/cs.po: Update Czech translation
|
||||
|
||||
2019-01-05 Paul Culley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gui/editors/editmedia.py: Fix Media editor when using
|
||||
double click the preview of added media (#752) Fixes #10923
|
||||
|
||||
2019-01-05 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: update German translation
|
||||
|
||||
2019-01-05 niememat <niememat@gmail.com>
|
||||
|
||||
* po/fi.po: Fix and updated translation in Finnish
|
||||
|
||||
2019-01-04 P Ekholm <par.ekholm@pekholm.se>
|
||||
|
||||
* po/sv.po: Update Swedish translation
|
||||
|
||||
2019-01-02 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/gramps.pot: Update gramps.pot
|
||||
|
||||
2019-01-01 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/gramps.pot: Revert "update gramps.pot", the update_po.py
|
||||
doesn't work with glade files on Windows This reverts commit fcfecef459b37cbba0c61ae18f19f93363124980.
|
||||
|
||||
2019-01-01 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/gramps.pot: update gramps.pot
|
||||
|
||||
2019-01-01 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/update_po.py: Fix update_po.py to run on Windows
|
||||
|
||||
2018-12-31 caigner <github@sys-admin.at>
|
||||
|
||||
* po/de.po: German translation corrections
|
||||
|
||||
2018-12-30 Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: update German translation
|
||||
|
||||
2018-12-29 Serge Noiraud <Serge.Noiraud@laposte.net>
|
||||
|
||||
* gramps/gui/editors/editplace.py,
|
||||
gramps/gui/editors/editplaceref.py: Avoid leading and trailing
|
||||
spaces when copy/paste (#747) coordinates from a map provider. Fixes #10937
|
||||
|
||||
2018-12-28 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* gramps/gui/widgets/fanchart.py,
|
||||
gramps/plugins/docgen/cairodoc.py,
|
||||
gramps/plugins/lib/maps/messagelayer.py,
|
||||
gramps/plugins/view/pedigreeview.py: Set correct font resolution for
|
||||
Mac when drawing text directly to cairo. (#745) Fixes #0010924
|
||||
|
||||
2018-12-28 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Add some untranslated strings in po/sv.po
|
||||
|
||||
2018-12-28 vantu5z <vantu5z@mail.ru>
|
||||
|
||||
* po/ru.po: update Russian translation
|
||||
|
||||
2018-12-26 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/da.po: remove crlf line endings on da.po
|
||||
|
||||
2018-12-24 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/gramps_launcher.py: Remove extraneous setting of
|
||||
GTK_IM_MODULE_FILE. Fixes #10929
|
||||
|
||||
2018-12-22 Zdeněk Hataš <zdenek.hatas@gmail.com>
|
||||
|
||||
* po/cs.po: Update Czech translation
|
||||
|
||||
2018-12-21 RossGammon <upstream@the-gammons.net>
|
||||
|
||||
* debian/changelog, debian/copyright: Update debian files after
|
||||
5.0.1 release (#744)
|
||||
|
||||
2018-12-20 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/gen/const.py, gramps/version.py: Bump to 5.0.2
|
||||
|
||||
2018-11-15 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po - all strings complete
|
||||
|
||||
2018-11-14 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-14 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-13 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-12 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-11 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-10 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-09 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-07 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* po/sv.po: Update po/sv.po
|
||||
|
||||
2018-11-07 Pär Ekholm <pelle.ekh@koping.net>
|
||||
|
||||
* Update po/sv.po
|
||||
* gramps/gen/const.py, gramps/gui/grampsgui.py, gramps/version.py:
|
||||
Bump to v5.1.3
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@ We do not check all dependencies of Gramps, see README for a list of
|
||||
all required and optional dependencies. Missing dependencies will
|
||||
result in runtime errors.
|
||||
|
||||
To install all needed dependences you can use (in Ubuntu):
|
||||
sudo apt-get build-dep gramps
|
||||
|
||||
To build and install, whether from a tarball or git repo:
|
||||
python3 setup.py build
|
||||
sudo python3 setup.py install
|
||||
@@ -48,7 +51,7 @@ things like MIME type and desktop entries.
|
||||
|
||||
See below for ways to invoke Gramps.
|
||||
|
||||
Typical install directories in linux (ubuntu) are:
|
||||
Typical install directories in linux (Ubuntu) are:
|
||||
* /usr/local/lib/python3.4/dist-packages/gramps/ : the gramps python module
|
||||
* /usr/local/share/mime-info : mime info so gramps opens files automatically
|
||||
* /usr/local/share/icons/gnome : our icons
|
||||
|
||||
+1
-6
@@ -1,5 +1,5 @@
|
||||
include ChangeLog
|
||||
include AUTHORS
|
||||
include ChangeLog
|
||||
include COPYING
|
||||
include FAQ
|
||||
include Gramps.py
|
||||
@@ -10,11 +10,9 @@ include RELEASE_NOTES
|
||||
include TODO
|
||||
include CONTRIBUTING
|
||||
include TestPlan.txt
|
||||
recursive-include bash *
|
||||
recursive-include data *
|
||||
recursive-include debian *
|
||||
recursive-include docs *
|
||||
recursive-include example *
|
||||
recursive-include gramps *
|
||||
recursive-include help *
|
||||
recursive-include images *
|
||||
@@ -24,9 +22,6 @@ recursive-include test *
|
||||
recursive-include windows *
|
||||
|
||||
# Remove files created in the build
|
||||
exclude data/tips.xml
|
||||
exclude data/holidays.xml
|
||||
exclude po/.intltool-merge-cache
|
||||
global-exclude *.pyc
|
||||
global-exclude *.pyo
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ Please read the **INSTALL** file if you intend to build from source.
|
||||
|
||||
Requirements
|
||||
============
|
||||
The following packages **MUST** be installed in order for Gramps to work:
|
||||
The following three packages **MUST** be installed in order for Gramps to work:
|
||||
|
||||
* **Python** 3.2 or greater - The programming language used by Gramps. https://www.python.org/
|
||||
* **GTK** 3.10 or greater - A cross-platform widget toolkit for creating graphical user interfaces. http://www.gtk.org/
|
||||
* **Python** 3.3 or greater - The programming language used by Gramps. https://www.python.org/
|
||||
* **GTK** 3.12 or greater - A cross-platform widget toolkit for creating graphical user interfaces. http://www.gtk.org/
|
||||
* **pygobject** 3.12 or greater - Python Bindings for GLib/GObject/GIO/GTK+ https://wiki.gnome.org/Projects/PyGObject
|
||||
|
||||
The following three packages with GObject Introspection bindings (the gi packages)
|
||||
The following packages with GObject Introspection bindings (the gi packages)
|
||||
|
||||
* **cairo** 1.13.1 or greater - a 2D graphics library with support for multiple output devices. http://cairographics.org/
|
||||
* **Pycairo** 1.13.3 or greater - GObject Introspection bindings for cairo. https://github.com/pygobject/pycairo
|
||||
@@ -103,6 +103,23 @@ The following packages are optional:
|
||||
|
||||
More font support in the reports
|
||||
|
||||
* **geocodeglib**
|
||||
|
||||
A library use to associate a geographical position (latitude, longitude)
|
||||
to a place name. This is used if you already have osmgpsmap installed.
|
||||
If installed, when you add or link a place from the map, you have a red line
|
||||
at the end of the table for selection.
|
||||
Debian, Ubuntu, ... : gir1.2-geocodeglib-1.0
|
||||
Fedora, Redhat, ... : geocode-glib
|
||||
openSUSE : geocode-glib
|
||||
ArchLinux : geocode-glib
|
||||
...
|
||||
|
||||
* **fontconfig**
|
||||
|
||||
Python bindings of fontconfig are required for displaying
|
||||
genealogical symbols
|
||||
|
||||
Optional packages required by Third-party Addons
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
+351
-35
@@ -1,14 +1,14 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Basic-Ash Stylesheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
@@ -16,11 +16,13 @@ developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -34,10 +36,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
black #000
|
||||
gray dark #555
|
||||
@@ -45,21 +47,21 @@ gray #999
|
||||
gray light #CCC
|
||||
gray very light #EEE
|
||||
white #FFF
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Characteristic of this style is that it uses the full width of the browser
|
||||
window and that horizontal highlighting bars extend over the full width of
|
||||
the page.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NarrativeWeb Styles
|
||||
------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
color: black;
|
||||
margin: 0px;
|
||||
background-color: #EEE;
|
||||
@@ -67,6 +69,13 @@ body {
|
||||
body > div {
|
||||
clear: both;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
@@ -75,9 +84,29 @@ body > div {
|
||||
float: right;
|
||||
margin: 2em;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -205,6 +234,90 @@ div#alphanav ul li a:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 35px;
|
||||
border: 0px;
|
||||
color: #555;
|
||||
background-color: #EEE;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #EEE;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
@@ -283,18 +396,41 @@ table#SortByCount thead th.ColumnQuantity a:after {
|
||||
table.surname td.ColumnName {
|
||||
background-color: #EEE;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #DDE;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #DDE;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #DDE;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
table.IndividualList td.ColumnSurname {
|
||||
background-color: #EEE;
|
||||
}
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #DDE;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
#Places table.infolist td.ColumnName {
|
||||
background-color: #EEE;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #DDE;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
@@ -310,6 +446,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #DDE;
|
||||
}
|
||||
#EventList td.ColumnPerson span.person:after,
|
||||
#EventList td.ColumnPerson span.father:after,
|
||||
#EventList td.ColumnPerson span.mother:after,
|
||||
@@ -330,10 +470,33 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
table.eventlist tbody tr td:first-child,
|
||||
table.eventlist thead tr th:first-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnDate {
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -367,7 +530,15 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display: block;
|
||||
border: solid 1px #999;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#GalleryDetail h3 {
|
||||
text-align: center;
|
||||
}
|
||||
@@ -377,6 +548,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #DDE;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
@@ -384,13 +559,10 @@ div#SourceDetail {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Contact #summaryarea {
|
||||
width: 50em;
|
||||
margin: 2em auto;
|
||||
padding: 3em;
|
||||
background-color: #EEE;
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #GalleryDisplay img {
|
||||
float: right;
|
||||
border: solid 1px #999;
|
||||
}
|
||||
@@ -404,6 +576,12 @@ div#SourceDetail {
|
||||
#Contact #city:after {
|
||||
content: ",";
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Contact,
|
||||
#Contact #GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
@@ -413,20 +591,29 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.subsection {
|
||||
clear: both;
|
||||
overflow: visible;
|
||||
overflow: hidden;
|
||||
}
|
||||
.subsection p {
|
||||
margin: 0px;
|
||||
@@ -434,27 +621,62 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color: #DDE;
|
||||
}
|
||||
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist th:first-child {
|
||||
width: 9em;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist th:last-child {
|
||||
div#families table.fixed_subtables table.eventlist th.ColumnDate {
|
||||
width: 12%;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist th.ColumnSources {
|
||||
width: 5em;
|
||||
}
|
||||
div#families table.attrlist td.ColumnType {
|
||||
color: black;
|
||||
}
|
||||
div#families table.fixed_subtables .Child table.eventlist .ColumnName {
|
||||
width: 60%;
|
||||
}
|
||||
div#families table.fixed_subtables .Child table.eventlist .ColumnDate {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Subsection : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
float: left;
|
||||
width: 130px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin: 0.8em 0.5em;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery h4 + .thumbnail {
|
||||
margin-left: 15px;
|
||||
@@ -462,6 +684,39 @@ div#families table.attrlist td.ColumnType {
|
||||
* first thumnail on each next row should also have a margin-left
|
||||
* of 15 px. */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
@@ -469,17 +724,24 @@ div#families table.attrlist td.ColumnType {
|
||||
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
|
||||
display: none; */
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsection : Narrative
|
||||
----------------------------------------------------- */
|
||||
h4 + div.grampsstylednote, a.familymap {
|
||||
margin: 1em 15px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : Family Map
|
||||
@@ -487,6 +749,15 @@ div.grampsstylednote p {
|
||||
a.familymap {
|
||||
display: block;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Subsection : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -532,6 +803,7 @@ a.familymap {
|
||||
}
|
||||
#footer > * {
|
||||
background-color: #EEE;
|
||||
font-size: 80%;
|
||||
}
|
||||
#footer p#createdate {
|
||||
float: left;
|
||||
@@ -547,10 +819,16 @@ a.familymap {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
----------------------------------------------------- */
|
||||
body#FamilyMap {
|
||||
background-color: #EEE ! important;
|
||||
background-color: #EEE !important;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
@@ -569,16 +847,12 @@ table.calendar {
|
||||
background-color: white;
|
||||
border-bottom-style: none;
|
||||
padding-top: 1em;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 15px 0px 0px;
|
||||
font-weight: bold;
|
||||
color: #999;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
border-top: solid 4px #999;
|
||||
vertical-align: middle;
|
||||
@@ -587,7 +861,6 @@ table.calendar {
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
@@ -596,7 +869,7 @@ table.calendar {
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar td {
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #CCC;
|
||||
@@ -604,7 +877,7 @@ table.calendar {
|
||||
}
|
||||
.calendar td:first-child {
|
||||
border-left-style: none;
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top-style: none;
|
||||
@@ -648,8 +921,6 @@ body#fullyearlinked div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
height: 18em;
|
||||
border: solid 1px black;
|
||||
}
|
||||
@@ -666,3 +937,48 @@ body#fullyearlinked table.calendar tbody td {
|
||||
body#OneDay div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #555;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 6px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
+459
-76
@@ -3,13 +3,15 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
# Copyright (C) 2018 Theo van Rijn
|
||||
# Copyright (C) 2019 Serge Noiraud
|
||||
#
|
||||
# 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
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
@@ -72,6 +74,13 @@ img {
|
||||
.thumbnail a:hover {
|
||||
background: none;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: #FFF;
|
||||
color: #000;
|
||||
@@ -94,6 +103,10 @@ img {
|
||||
width: 96px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
@@ -101,6 +114,22 @@ img {
|
||||
padding: 0;
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -110,7 +139,6 @@ h1 {
|
||||
h2 {
|
||||
font: bold 1em sans-serif;
|
||||
text-align: center;
|
||||
float: center;
|
||||
}
|
||||
h3 {
|
||||
font: bold italic 1.6em serif;
|
||||
@@ -221,6 +249,55 @@ p#user_header {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* Navigation
|
||||
----------------------------------------------------- */
|
||||
div#nav, #subnavigation {
|
||||
border: solid 1px #EEE; /* needed by IE7 */
|
||||
background-color: #13A926;
|
||||
}
|
||||
#subnavigation ul {
|
||||
overflow: hidden;
|
||||
}
|
||||
div#nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
margin: 0px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#subnavigation ul {
|
||||
border-bottom: solid 1px #999;
|
||||
}
|
||||
div#nav ul li, #subnavigation ul li {
|
||||
float: left;
|
||||
}
|
||||
div#nav ul li a, #subnavigation ul li a {
|
||||
display: block;
|
||||
font-size: smaller;
|
||||
font-weight: bold;
|
||||
padding: 5px;
|
||||
border-bottom: solid 1px #EEE;
|
||||
}
|
||||
div#nav ul li a:hover, #subnavigation ul li a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #CCC;
|
||||
border-bottom: solid 1px black;
|
||||
}
|
||||
div#nav ul li.CurrentSection a {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
border: solid 1px #999;
|
||||
border-bottom-style: none;
|
||||
background-color: white;
|
||||
}
|
||||
#nav ul li.CurrentSection a:hover {
|
||||
background-color: #903;
|
||||
}
|
||||
|
||||
/* Webcal
|
||||
----------------------------------------------------- */
|
||||
#subnavigation ul li.CurrentSection a {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/* Footer
|
||||
----------------------------------------------------- */
|
||||
div#footer {
|
||||
@@ -270,6 +347,131 @@ div#footer p#copyright img {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation
|
||||
----------------------------------------------------- */
|
||||
div#alphanav {
|
||||
background-color: #EEE;
|
||||
}
|
||||
div#alphanav ul {
|
||||
list-style: none;
|
||||
border-width: 2px 0px 4px 0px;
|
||||
border-style: solid;
|
||||
border-color: black;
|
||||
margin: 0px;
|
||||
padding-left: 15px;
|
||||
/* float container stretch, see www.quirksmode.org/css/clearing.html */
|
||||
overflow: hidden;
|
||||
}
|
||||
div#alphanav ul li {
|
||||
float: left;
|
||||
font-size: larger;
|
||||
font-weight: bold;
|
||||
}
|
||||
div#alphanav ul li:after {
|
||||
content: " |";
|
||||
}
|
||||
div#alphanav ul li a {
|
||||
display: block;
|
||||
padding: 4px 8px;
|
||||
line-height: 100%;
|
||||
float: left;
|
||||
|
||||
}
|
||||
div#alphanav ul li a:hover {
|
||||
text-decoration: none;
|
||||
background-color: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 60px;
|
||||
border: 0px;
|
||||
color: #FFF;
|
||||
background-color: #00029D;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #13A926;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table.infolist {
|
||||
@@ -312,13 +514,12 @@ table.infolist tr td.ColumnRowLabel a {
|
||||
}
|
||||
table.infolist tr td.ColumnType {
|
||||
width: 6%;
|
||||
padding-left: 20px;
|
||||
}
|
||||
table.infolist tr td.ColumnAttribute {
|
||||
width: 10%;
|
||||
}
|
||||
table.infolist tr td.ColumnValue {
|
||||
width: 40%;
|
||||
width: 30%;
|
||||
}
|
||||
table.infolist tr td.ColumnName {
|
||||
width: 30%;
|
||||
@@ -333,7 +534,7 @@ table.infolist tr td.ColumnPartner {
|
||||
table.infolist tr td.ColumnParents {
|
||||
width: 30%;
|
||||
}
|
||||
table.infolist tbody tr td.ColumnParents span.father,
|
||||
table.infolist tbody tr td.ColumnParents span.father,
|
||||
table.infolist tbody tr td.ColumnParents span.mother {
|
||||
display: block;
|
||||
}
|
||||
@@ -394,6 +595,9 @@ div#IndividualDetail table.infolist tbody tr td.ColumnAttribute {
|
||||
#familymap a.familymap {
|
||||
margin-left:20px;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* Surnames
|
||||
----------------------------------------------------- */
|
||||
@@ -401,11 +605,11 @@ div#IndividualDetail table.infolist tbody tr td.ColumnAttribute {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.surnamelist thead tr th.ColumnSurname,
|
||||
table.surnamelist thead tr th.ColumnSurname,
|
||||
#Surnames table.surnamelist tbody tr td.ColumnSurname {
|
||||
width: 50%;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname,
|
||||
table#SortByName thead tr th.ColumnSurname,
|
||||
table#SortByCount thead tr th.ColumnQuantity {
|
||||
background-color: #00029D;
|
||||
color: #FFF;
|
||||
@@ -416,7 +620,7 @@ table.surnamelist thead tr th.ColumnSurname a {
|
||||
table.surnamelist thead tr th.ColumnSurname a:hover {
|
||||
color: #000;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname a:after,
|
||||
table#SortByName thead tr th.ColumnSurname a:after,
|
||||
table#SortByCount thead tr th.ColumnQuantity a:after {
|
||||
content: " ↓";
|
||||
}
|
||||
@@ -467,11 +671,9 @@ div#Places table.infolist tbody tr td.ColumnLongitude {
|
||||
}
|
||||
div#PlaceDetail h5 {
|
||||
font: bold .7cm serif;
|
||||
float: center;
|
||||
text-align: center;
|
||||
border-bottom: double 4px #13A926;
|
||||
}
|
||||
|
||||
|
||||
/* EventList and EventDetail
|
||||
------------------------------------------------------ */
|
||||
@@ -482,18 +684,40 @@ div#EventList, div#EventDetail {
|
||||
table.eventlist tbody tr td.ColumnEvent {
|
||||
width: 10%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnPlace {
|
||||
width: 25%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnNotes {
|
||||
width: 20%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
vertical-align: top;
|
||||
width: 5%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnPerson {
|
||||
width: 35%;
|
||||
}
|
||||
table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#families table.infolist th.ColumnEvent {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.infolist td.ColumnAttribute {
|
||||
padding-left: 0px;
|
||||
}
|
||||
div#IndividualDetail div#families table.eventlist tr td {
|
||||
border-bottom: dashed 1px #000;
|
||||
}
|
||||
@@ -525,7 +749,7 @@ div#EventList table.alphaevent tbody tr td.ColumnGRAMPSID {
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson {
|
||||
width: 50%;
|
||||
}
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.father,
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.father,
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.mother {
|
||||
display:block;
|
||||
}
|
||||
@@ -550,14 +774,14 @@ div#EventDetail table.eventlist tbody tr td.ColumnAttribute {
|
||||
div#EventDetail table.eventlist tbody tr td.ColumnDate {
|
||||
border-top: solid 1px #000;
|
||||
}
|
||||
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
#EventList table.infolist tr td a,
|
||||
#EventDetail table.infolist tr td a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr td span.mother,
|
||||
#EventDetail table.infolist tr td span.father,
|
||||
#EventDetail table.infolist tr td span.mother {
|
||||
@@ -578,6 +802,26 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#Gallery table.infolist tbody tr td {
|
||||
border-bottom: dashed 1px #000;
|
||||
}
|
||||
@@ -627,7 +871,15 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
|
||||
}
|
||||
#GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#GalleryDetail div#summaryarea{
|
||||
margin: 0;
|
||||
padding: 2em 0 0 0;
|
||||
@@ -641,7 +893,6 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
|
||||
}
|
||||
#GalleryDetail div#summaryarea table.gallery {
|
||||
padding-bottom: 0;
|
||||
margin: 1 .5em 0 0;
|
||||
border-style: solid;
|
||||
border-width: 2px 0 1px 0;
|
||||
border-color: #000;
|
||||
@@ -679,54 +930,57 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
/* Contact
|
||||
------------------------------------------------- */
|
||||
#Contact #summaryarea {
|
||||
width: 500px;
|
||||
margin: 0 auto;
|
||||
padding: 3em;
|
||||
border: double 4px #000;
|
||||
background-color: #BCEAF6;
|
||||
}
|
||||
#Contact #summaryarea img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
#researcher {
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Contact, #Contact #summaryarea #researcher,
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#Contact #summaryarea #researcher {
|
||||
font: normal 1.5em/1.4em serif;
|
||||
margin-top: .3em;
|
||||
}
|
||||
#researcher h3 {
|
||||
#Contact #summaryarea #researcher h3 {
|
||||
font: normal 1.2em/1.4em serif;
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
}
|
||||
#researcher span {
|
||||
float: left;
|
||||
#Contact #summaryarea #researcher span {
|
||||
display: block;
|
||||
font: normal .9em/1.4em serif;
|
||||
margin-right: .4em;
|
||||
}
|
||||
#streetaddress {
|
||||
#Contact #summaryarea #streetaddress {
|
||||
width: 100%;
|
||||
}
|
||||
#locality, .locality {
|
||||
#Contact #summaryarea #locality, .locality {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
#city:after {
|
||||
#Contact #summaryarea #city:after {
|
||||
content: ",";
|
||||
}
|
||||
#country {
|
||||
#Contact #summaryarea #country {
|
||||
clear: left;
|
||||
}
|
||||
#email {
|
||||
#Contact #summaryarea #email {
|
||||
clear: left;
|
||||
}
|
||||
#email a {
|
||||
#Contact #summaryarea #email a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Download
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
div#Download {
|
||||
div#Download {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
}
|
||||
@@ -740,7 +994,7 @@ div#Download table.download {
|
||||
div#Download table.download tbody tr#Row02 {
|
||||
border-bottom: solid 2px #000;
|
||||
}
|
||||
div#Download table.download tbody tr td {
|
||||
div#Download table.download tbody tr td {
|
||||
border: solid 1px #000;
|
||||
text-align: left;
|
||||
}
|
||||
@@ -764,6 +1018,9 @@ div#Download table.download td.ColumnModified {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#Sources table.infolist tr td.ColumnName {
|
||||
width: 70%;
|
||||
}
|
||||
div#SourceDetail {
|
||||
min-height: 900px
|
||||
}
|
||||
@@ -813,17 +1070,29 @@ div#AddressBookList table.addressbook tbody tr td.ColumnWebLinks {
|
||||
|
||||
/* Subsections
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction, #Contact {
|
||||
padding: 2em 0 3em 0;
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay,
|
||||
#Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 0;
|
||||
border: 0px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
margin: 0 20px 1em 20px;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
float: right;
|
||||
margin: 0;
|
||||
padding: 0 20px 3em 2em;
|
||||
}
|
||||
#Home a, #Introduction a, #Contact a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
@@ -860,8 +1129,14 @@ div#events h4 {
|
||||
#IndividualDetail div#events table.eventtable {
|
||||
width: 100%;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnEvent {
|
||||
width: 12%;
|
||||
#families table.eventlist tbody tr td.ColumnEvent {
|
||||
vertical-align: top;
|
||||
width: 8%;
|
||||
}
|
||||
div#RelationshipDetail table.infolist tbody tr td.ColumnAttribute,
|
||||
div#IndividualDetail table.infolist tbody tr td.ColumnAttribute {
|
||||
vertical-align: top;
|
||||
width: 10%;
|
||||
}
|
||||
#IndividualDetail div#events table.infolist tbody tr td {
|
||||
padding-top: .4em;
|
||||
@@ -927,6 +1202,15 @@ div#families {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#families .infolist h4 {
|
||||
font: bold 1.2em sans-serif;
|
||||
color: #FFF;
|
||||
padding: 0px 0px 0px 20px;
|
||||
border-width: 4px 0px 4px 0px;
|
||||
border-style: solid;
|
||||
border-color: #00029D;
|
||||
background-color: #13A926;
|
||||
}
|
||||
div#families table.infolist tbody tr.BeginFamily {
|
||||
border-top: solid 1px #000;
|
||||
}
|
||||
@@ -939,6 +1223,10 @@ div#Families table.infolist tbody tr td.ColumnAttribute {
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue p {
|
||||
margin-top: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue {
|
||||
width: 70%;
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue ol {
|
||||
margin: 0;
|
||||
@@ -953,6 +1241,22 @@ div#families table.infolist tbody tr td.ColumnValue ol li a {
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout:fixed;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist th.ColumnDate {
|
||||
width: 12%;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist th.ColumnSources {
|
||||
width: 5em;
|
||||
}
|
||||
div#families table.fixed_subtables .Child table.eventlist .ColumnName {
|
||||
width: 60%;
|
||||
}
|
||||
div#families table.fixed_subtables .Child table.eventlist .ColumnDate {
|
||||
width: 20%;
|
||||
}
|
||||
div#families table.fixed_subtables .BeginFamily .ColumnType {
|
||||
width: 7em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Subsection: Families: Attributes
|
||||
------------------------------------------------- */
|
||||
@@ -969,17 +1273,14 @@ SourcesType {
|
||||
div#families table.infolist tbody tr td.Value {
|
||||
width: 15%;
|
||||
}
|
||||
div#families table.infolist tr td.Notes {
|
||||
width: 40%;
|
||||
}
|
||||
div#families table.infolist tbody tr td.Sources {
|
||||
width: 15%;
|
||||
width: 5%;
|
||||
}
|
||||
|
||||
/* Subsection: Families: LDS Ordinance
|
||||
------------------------------------------------------ */
|
||||
div#families table.infolist {
|
||||
font: normal .8em sans;
|
||||
font: normal .9em sans;
|
||||
}
|
||||
div#families table.infolist tbody tr.BeginOrdinance {
|
||||
border-top: solid 1px #000;
|
||||
@@ -1094,6 +1395,7 @@ div.Residence table.infolist tr td {
|
||||
float: left;
|
||||
width: 130px;
|
||||
text-align: center;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery div.thumbnail a {
|
||||
display: block;
|
||||
@@ -1117,6 +1419,42 @@ div.Residence table.infolist tr td {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsections : Narrative
|
||||
----------------------------------------------------- */
|
||||
@@ -1127,9 +1465,22 @@ div.narrative {
|
||||
font: normal .9em/1.4em sans-serif;
|
||||
margin: 0.1em 0 0.2em 0;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0.1em 0 0.2em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
/* Subsections : References
|
||||
----------------------------------------------------- */
|
||||
@@ -1169,6 +1520,9 @@ div#summaryarea table.infolist tr td, div#summaryarea table.infolist tr td p {
|
||||
font: normal .9em/1.2em sans-serif;
|
||||
vertical-align: top;
|
||||
}
|
||||
div#summaryarea table.infolist tr td.ColumnValue {
|
||||
width: 70%;
|
||||
}
|
||||
div#summaryarea table.infolist tr td a, div#summaryarea table.infolist tr td p a {
|
||||
display:inline;
|
||||
}
|
||||
@@ -1198,7 +1552,7 @@ table.WebLinks tbody tr td.ColumnPath {
|
||||
width: 50%;
|
||||
}
|
||||
table.weblinks tbody tr td.ColumnDescription {
|
||||
width: 30%;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
/* Subsections : Pedigree
|
||||
@@ -1252,7 +1606,7 @@ div#pedigree {
|
||||
/* Calendar Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
#OneDay, #WebCal, #YearGlance {
|
||||
width: 95%
|
||||
width: 100%
|
||||
}
|
||||
/* Calendar : General */
|
||||
.calendar {
|
||||
@@ -1281,19 +1635,10 @@ div#pedigree {
|
||||
color: #542;
|
||||
padding:.3em 0 .2em 0;
|
||||
background-color: #FFF;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float:right;
|
||||
color: #FFF;
|
||||
margin:-24px 10px 0 0;
|
||||
}
|
||||
#CreatorInfo a {
|
||||
color: #FFF;
|
||||
}
|
||||
#CreatorInfo a:hover {
|
||||
color: #FFF;
|
||||
}
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekday {
|
||||
font-style:italic;
|
||||
color: #000;
|
||||
@@ -1316,8 +1661,8 @@ div#pedigree {
|
||||
font-size:1.2em;
|
||||
line-height:100%;
|
||||
text-align:center;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
color: #542;
|
||||
margin:0 0 0 .5em;
|
||||
padding:.2em 0;
|
||||
background-color: #D8F3D6;
|
||||
}
|
||||
@@ -1357,9 +1702,12 @@ div#pedigree {
|
||||
display:block;
|
||||
width:92%;
|
||||
margin:0 4%;
|
||||
padding:.2em 0 .3em 0;
|
||||
padding:.6em 0 .3em 0;
|
||||
border-top: dashed 1px #000;
|
||||
}
|
||||
.calendar tbody tr td ul li:first-child {
|
||||
border-top: 10px;
|
||||
}
|
||||
|
||||
/* Calendar : Birthday, Anniversary, Highlight */
|
||||
.calendar tbody tr td ul li em {
|
||||
@@ -1377,9 +1725,9 @@ div#pedigree {
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
color: #333;
|
||||
background-color: #D8F3D6;
|
||||
@@ -1390,13 +1738,10 @@ body#fullyearlinked {
|
||||
background-color: #FFF;
|
||||
}
|
||||
body#fullyearlinked div.content {
|
||||
width:963px;
|
||||
margin:0 auto;
|
||||
padding:15px 0 2px 2px;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float:left;
|
||||
width:320px;
|
||||
height:18em;
|
||||
border:solid 1px #000;
|
||||
}
|
||||
@@ -1411,10 +1756,8 @@ body#fullyearlinked table.calendar thead tr th.monthName {
|
||||
padding:2px 0;
|
||||
border-bottom: solid 1px #000;
|
||||
}
|
||||
body#fullyearlinked table.calendar tbody tr td {
|
||||
height:3em;
|
||||
}
|
||||
body#fullyearlinked table.calendar tbody tr td.emptyDays {
|
||||
height:52px;
|
||||
background-color: #FFF;
|
||||
}
|
||||
body#fullyearlinked table.calendar tbody tr td.saturday {
|
||||
@@ -1452,3 +1795,43 @@ table.oneday tbody tr td.ColumnText {
|
||||
table.oneday tbody tr td.ColumnEvent {
|
||||
width: 10%;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #000290;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 3px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
+359
-38
@@ -1,14 +1,15 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Basic - Cypress
|
||||
Style Author: Jason Simanek (2008)
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the original 'Tranquil' stylesheet
|
||||
**************************************************************************************************
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the
|
||||
original 'Tranquil' stylesheet
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
@@ -16,11 +17,13 @@ developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -34,10 +37,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
black #000
|
||||
slate dark #454
|
||||
@@ -45,21 +48,21 @@ slate #7C8F7C
|
||||
slate light #9DBF9D
|
||||
slate very light #E0E6E0
|
||||
white #FFF
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Characteristic of this style is that it uses the full width of the browser
|
||||
window and that horizontal highlighting bars extend over the full width of
|
||||
the page.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NarrativeWeb Styles
|
||||
------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
color: black;
|
||||
margin: 0px;
|
||||
background-color: #454;
|
||||
@@ -67,6 +70,13 @@ body {
|
||||
body > div {
|
||||
clear: both;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: white;
|
||||
border-top: solid 1px #7C8F7C;
|
||||
@@ -75,9 +85,29 @@ body > div {
|
||||
float: right;
|
||||
margin: 2em;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -209,6 +239,95 @@ div#alphanav ul li a:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 35px;
|
||||
border: 0px;
|
||||
color: #E0E6E0;
|
||||
background-color: #454;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
color: #454;
|
||||
background-color: #454;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
.nav.responsive li#CurrentSection a {
|
||||
color: #454;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
@@ -258,9 +377,6 @@ td.ColumnLetter, td.ColumnRowLabel {
|
||||
td.ColumnEvent, td.ColumnDate {
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.ColumnPlace, td.ColumnDescription {
|
||||
width: 20%
|
||||
}
|
||||
/* end of customizations by Stephane */
|
||||
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
|
||||
font-size: 90%;
|
||||
@@ -319,12 +435,31 @@ table.surname td.ColumnName {
|
||||
table.surname td.ColumnName > a {
|
||||
padding-left: 15px;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
table.IndividualList td.ColumnSurname {
|
||||
background-color: #E0E6E0;
|
||||
}
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
@@ -338,6 +473,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#Places table.infolist td.ColumnName > a {
|
||||
padding-left: 1ex;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
@@ -353,6 +492,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
#EventList td.ColumnPerson span.person:after,
|
||||
#EventList td.ColumnPerson span.father:after,
|
||||
#EventList td.ColumnPerson span.mother:after,
|
||||
@@ -373,10 +516,49 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
table.eventlist tbody tr td:first-child,
|
||||
table.eventlist thead tr th:first-child {
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
padding-left: 15px;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.eventlist tbody tr td.ColumnDate,
|
||||
#families table.eventlist tbody tr td.ColumnNotes {
|
||||
padding-left: 15px;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
table.eventlist th.ColumnDate {
|
||||
padding-left: 15px;
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -413,7 +595,15 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display: block;
|
||||
border: solid 1px #7C8F7C;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#GalleryDetail h3 {
|
||||
text-align: center;
|
||||
}
|
||||
@@ -423,6 +613,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
@@ -430,13 +624,10 @@ div#SourceDetail {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Contact #summaryarea {
|
||||
width: 40em;
|
||||
margin: 2em auto;
|
||||
padding: 3em;
|
||||
background-color: #E0E6E0;
|
||||
border: solid 1px #7C8F7C;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
float: right;
|
||||
border: solid 1px #7C8F7C;
|
||||
}
|
||||
@@ -463,20 +654,31 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
margin: 0;
|
||||
border: 0px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.subsection {
|
||||
clear: both;
|
||||
overflow: visible;
|
||||
overflow: hidden;
|
||||
}
|
||||
.subsection p {
|
||||
margin: 0px;
|
||||
@@ -484,6 +686,10 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color: #9DBF9D;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
@@ -499,12 +705,33 @@ div#families table.attrlist td.ColumnType {
|
||||
|
||||
/* Subsection : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
float: left;
|
||||
width: 130px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin: 0.8em 0.5em;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery h4 + .thumbnail {
|
||||
margin-left: 15px;
|
||||
@@ -512,6 +739,39 @@ div#families table.attrlist td.ColumnType {
|
||||
* first thumnail on each next row should also have a margin-left
|
||||
* of 15 px. */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery img {
|
||||
border: solid 1px #7C8F7C;
|
||||
}
|
||||
@@ -519,17 +779,30 @@ div#families table.attrlist td.ColumnType {
|
||||
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
|
||||
display: none; */
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsection : Narrative
|
||||
----------------------------------------------------- */
|
||||
h4 + div.grampsstylednote, a.familymap {
|
||||
margin: 1em 15px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Subsection : Family Map
|
||||
@@ -537,6 +810,9 @@ div.grampsstylednote p {
|
||||
a.familymap {
|
||||
display: block;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Subsection : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -577,6 +853,7 @@ a.familymap {
|
||||
#footer {
|
||||
clear: both;
|
||||
color: #E0E6E0;
|
||||
font-size: 80%;
|
||||
padding-top: 1em;
|
||||
background-color: #9DBF9D;
|
||||
border-top: solid 1px #454;
|
||||
@@ -601,10 +878,16 @@ a.familymap {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
----------------------------------------------------- */
|
||||
body#FamilyMap {
|
||||
background-color: #E0E6E0 ! important;
|
||||
background-color: #454 !important;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
@@ -623,16 +906,12 @@ table.calendar {
|
||||
background-color: white;
|
||||
border-bottom-style: none;
|
||||
padding-top: 1em;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 15px 0px 0px;
|
||||
font-weight: bold;
|
||||
color: #7C8F7C;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
border-top: solid 4px #7C8F7C;
|
||||
vertical-align: middle;
|
||||
@@ -650,7 +929,7 @@ table.calendar {
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar td {
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #9DBF9D;
|
||||
@@ -658,7 +937,7 @@ table.calendar {
|
||||
}
|
||||
.calendar td:first-child {
|
||||
border-left-style: none;
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top-style: none;
|
||||
@@ -706,8 +985,6 @@ body#fullyearlinked div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
height: 18em;
|
||||
border: solid 1px black;
|
||||
}
|
||||
@@ -724,3 +1001,47 @@ body#fullyearlinked table.calendar tbody td {
|
||||
body#OneDay div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #454;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 6px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
+361
-38
@@ -1,14 +1,15 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Basic - Lilac
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the original 'Business' stylesheet
|
||||
**************************************************************************************************
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the
|
||||
original 'Business' stylesheet
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
@@ -16,11 +17,13 @@ developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -34,10 +37,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
black #000
|
||||
lilac dark #2E2E61
|
||||
@@ -45,14 +48,14 @@ lilac #669
|
||||
lilac light #B4B4CB
|
||||
lilac very light #E0E0E9
|
||||
white #FAFAFF
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Characteristic of this style is that it uses the full width of the browser
|
||||
window and that horizontal highlighting bars extend over the full width of
|
||||
the page.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NarrativeWeb Styles
|
||||
------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
@@ -67,6 +70,13 @@ body {
|
||||
body > div {
|
||||
clear: both;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: #FAFAFF;
|
||||
border-top: solid 1px #669;
|
||||
@@ -75,9 +85,29 @@ body > div {
|
||||
float: right;
|
||||
margin: 2em;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -207,6 +237,90 @@ div#alphanav ul li a:hover {
|
||||
color: #FAFAFF;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 35px;
|
||||
border: 0px;
|
||||
color: #2E2E61;
|
||||
background-color: #E0E0E9;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #669;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
@@ -309,12 +423,31 @@ table.surname td.ColumnName {
|
||||
table.surname td.ColumnName > a {
|
||||
padding-left: 15px;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
table.IndividualList td.ColumnSurname {
|
||||
background-color: #E0E0E9;
|
||||
}
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
@@ -331,6 +464,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#Places table.infolist td.ColumnName > a {
|
||||
padding-left: 1ex;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
@@ -346,6 +483,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
#EventList td.ColumnPerson span.person:after,
|
||||
#EventList td.ColumnPerson span.father:after,
|
||||
#EventList td.ColumnPerson span.mother:after,
|
||||
@@ -366,9 +507,54 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.eventlist tbody tr td.ColumnDate,
|
||||
#families table.eventlist tbody tr td.ColumnNotes {
|
||||
padding-left: 20px;
|
||||
}
|
||||
table.eventlist tbody tr td:first-child,
|
||||
table.eventlist thead tr th:first-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
padding-left: 20px;
|
||||
width: 5%;
|
||||
}
|
||||
#families table.eventlist th.ColumnDate {
|
||||
padding-left: 20px;
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
@@ -406,7 +592,15 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display: block;
|
||||
border: solid 1px #669;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#GalleryDetail h3 {
|
||||
text-align: center;
|
||||
}
|
||||
@@ -416,6 +610,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
@@ -423,13 +621,10 @@ div#SourceDetail {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Contact #summaryarea {
|
||||
width: 40em;
|
||||
margin: 2em auto;
|
||||
padding: 3em;
|
||||
background-color: #E0E0E9;
|
||||
border: solid 1px #669;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
float: right;
|
||||
border: solid 1px #669;
|
||||
}
|
||||
@@ -456,20 +651,31 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
margin: 0;
|
||||
border: 0px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.subsection {
|
||||
clear: both;
|
||||
overflow: visible;
|
||||
overflow: hidden;
|
||||
}
|
||||
.subsection p {
|
||||
margin: 0px;
|
||||
@@ -477,6 +683,10 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
@@ -492,12 +702,33 @@ div#families table.attrlist td.ColumnType {
|
||||
|
||||
/* Subsection : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
float: left;
|
||||
width: 130px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin: 0.8em 0.5em;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery h4 + .thumbnail {
|
||||
margin-left: 15px;
|
||||
@@ -505,6 +736,39 @@ div#families table.attrlist td.ColumnType {
|
||||
* first thumnail on each next row should also have a margin-left
|
||||
* of 15 px. */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery img {
|
||||
border: solid 1px #669;
|
||||
}
|
||||
@@ -512,17 +776,30 @@ div#families table.attrlist td.ColumnType {
|
||||
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
|
||||
display: none; */
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsection : Narrative
|
||||
----------------------------------------------------- */
|
||||
h4 + div.grampsstylednote, a.familymap {
|
||||
margin: 1em 15px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Subsection : Family Map
|
||||
@@ -530,6 +807,9 @@ div.grampsstylednote p {
|
||||
a.familymap {
|
||||
display: block;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Subsection : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -575,6 +855,7 @@ a.familymap {
|
||||
}
|
||||
#footer > * {
|
||||
background-color: #E0E0E9;
|
||||
font-size: 80%;
|
||||
}
|
||||
#footer p#createdate {
|
||||
float: left;
|
||||
@@ -593,10 +874,16 @@ a.familymap {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
----------------------------------------------------- */
|
||||
body#FamilyMap {
|
||||
background-color: #E0E0E9 ! important;
|
||||
background-color: #E0E0E9 !important;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
@@ -615,19 +902,12 @@ table.calendar {
|
||||
background-color: #FAFAFF;
|
||||
border-bottom-style: none;
|
||||
padding-top: 1em;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 15px 0px 0px;
|
||||
font-weight: bold;
|
||||
color: #669;
|
||||
}
|
||||
#CreatorInfo a[href]:hover {
|
||||
background-color: #B4B4CB;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
border-top: solid 4px #669;
|
||||
vertical-align: middle;
|
||||
@@ -645,7 +925,7 @@ table.calendar {
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar td {
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #B4B4CB;
|
||||
@@ -653,7 +933,7 @@ table.calendar {
|
||||
}
|
||||
.calendar td:first-child {
|
||||
border-left-style: none;
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top-style: none;
|
||||
@@ -704,8 +984,6 @@ body#fullyearlinked div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
height: 18em;
|
||||
border: solid 1px black;
|
||||
}
|
||||
@@ -722,3 +1000,48 @@ body#fullyearlinked table.calendar tbody td {
|
||||
body#OneDay div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #2E2E61;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 6px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
+361
-38
@@ -1,14 +1,15 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Basic-Peach Stylesheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with a new orange color scheme.
|
||||
**************************************************************************************************
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with a new orange
|
||||
color scheme.
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
@@ -16,11 +17,13 @@ developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -34,10 +37,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
black #36220B
|
||||
brown #8C581C
|
||||
@@ -45,21 +48,21 @@ orange dark #EA8414
|
||||
orange #FFC35E
|
||||
orange light #FFE09F
|
||||
yellow light #FFFBE7
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Characteristic of this style is that it uses the full width of the browser
|
||||
window and that horizontal highlighting bars extend over the full width of
|
||||
the page.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NarrativeWeb Styles
|
||||
------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
color: #36220B;
|
||||
margin: 0px;
|
||||
background-color: #FFE09F;
|
||||
@@ -67,6 +70,13 @@ body {
|
||||
body > div {
|
||||
clear: both;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: #FFFBE7;
|
||||
border-top: solid 1px #8C581C;
|
||||
@@ -75,9 +85,29 @@ body > div {
|
||||
float: right;
|
||||
margin: 2em;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -207,6 +237,90 @@ div#alphanav ul li a:hover {
|
||||
color: #FFFBE7;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 35px;
|
||||
border: 0px;
|
||||
color: #EA8414;
|
||||
background-color: #FFE09F;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #FFC35E;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
@@ -309,12 +423,31 @@ table.surname td.ColumnName {
|
||||
table.surname td.ColumnName > a {
|
||||
padding-left: 15px;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
table.IndividualList td.ColumnSurname {
|
||||
background-color: #FFE09F;
|
||||
}
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
@@ -331,6 +464,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#Places table.infolist td.ColumnName > a {
|
||||
padding-left: 1ex;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
@@ -346,6 +483,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
#EventList td.ColumnPerson span.person:after,
|
||||
#EventList td.ColumnPerson span.father:after,
|
||||
#EventList td.ColumnPerson span.mother:after,
|
||||
@@ -366,10 +507,57 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 20px;
|
||||
}
|
||||
#families table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.eventlist tbody tr td.ColumnDate,
|
||||
#families table.eventlist tbody tr td.ColumnNotes {
|
||||
padding-left: 20px;
|
||||
}
|
||||
table.eventlist tbody tr td:first-child,
|
||||
table.eventlist thead tr th:first-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -406,6 +594,13 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display: block;
|
||||
border: solid 1px #EA8414;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#GalleryDetail h3 {
|
||||
text-align: center;
|
||||
@@ -416,6 +611,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
@@ -423,13 +622,10 @@ div#SourceDetail {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Contact #summaryarea {
|
||||
width: 40em;
|
||||
margin: 2em auto;
|
||||
padding: 3em;
|
||||
background-color: #FFE09F;
|
||||
border: solid 1px #EA8414;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
float: right;
|
||||
border: solid 1px #EA8414;
|
||||
}
|
||||
@@ -456,13 +652,24 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
margin: 0;
|
||||
border: 0px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
padding-left: 15px;
|
||||
@@ -477,6 +684,10 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
@@ -492,12 +703,33 @@ div#families table.attrlist td.ColumnType {
|
||||
|
||||
/* Subsection : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
float: left;
|
||||
width: 130px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin: 0.8em 0.5em;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery h4 + .thumbnail {
|
||||
margin-left: 15px;
|
||||
@@ -505,6 +737,39 @@ div#families table.attrlist td.ColumnType {
|
||||
* first thumnail on each next row should also have a margin-left
|
||||
* of 15 px. */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery img {
|
||||
border: solid 1px #8C581C;
|
||||
}
|
||||
@@ -512,17 +777,30 @@ div#families table.attrlist td.ColumnType {
|
||||
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
|
||||
display: none; */
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsection : Narrative
|
||||
----------------------------------------------------- */
|
||||
h4 + div.grampsstylednote, a.familymap {
|
||||
margin: 1em 15px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Subsection : Family Map
|
||||
@@ -530,6 +808,9 @@ div.grampsstylednote p {
|
||||
a.familymap {
|
||||
display: block;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Subsection : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -575,6 +856,7 @@ a.familymap {
|
||||
}
|
||||
#footer > * {
|
||||
background-color: #FFE09F;
|
||||
font-size: 80%;
|
||||
}
|
||||
#footer p#createdate {
|
||||
float: left;
|
||||
@@ -593,11 +875,17 @@ a.familymap {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
----------------------------------------------------- */
|
||||
button#drop {
|
||||
background-color: #FFE09F;
|
||||
border: solid 1px #EA8414 ! important;
|
||||
border: solid 1px #EA8414 !important;
|
||||
}
|
||||
button#drop:hover {
|
||||
background-color: #FFC35E;
|
||||
@@ -625,19 +913,12 @@ table.calendar {
|
||||
background-color: #FFFBE7;
|
||||
border-bottom-style: none;
|
||||
padding-top: 1em;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 15px 0px 0px;
|
||||
font-weight: bold;
|
||||
color: #8C581C;
|
||||
}
|
||||
#CreatorInfo a[href]:hover {
|
||||
background-color: #FFC35E;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
border-top: solid 4px #8C581C;
|
||||
vertical-align: middle;
|
||||
@@ -646,7 +927,6 @@ table.calendar {
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #FFC35E;
|
||||
@@ -655,7 +935,7 @@ table.calendar {
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar td {
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #FFC35E;
|
||||
@@ -663,7 +943,7 @@ table.calendar {
|
||||
}
|
||||
.calendar td:first-child {
|
||||
border-left-style: none;
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top-style: none;
|
||||
@@ -714,8 +994,6 @@ body#fullyearlinked div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
height: 18em;
|
||||
border: solid 1px #36220B;
|
||||
}
|
||||
@@ -732,3 +1010,48 @@ body#fullyearlinked table.calendar tbody td {
|
||||
body#OneDay div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #EA8414;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 6px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
+363
-38
@@ -1,14 +1,15 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Basic-Spruce Stylesheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with a new blue color scheme.
|
||||
**************************************************************************************************
|
||||
Note: Adapted from GRAMPS original Modern Style stylesheet with a new blue
|
||||
color scheme.
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
@@ -16,11 +17,14 @@ developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -34,10 +38,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
black #000
|
||||
blue dark #204D91
|
||||
@@ -45,21 +49,21 @@ blue #7CA3DD
|
||||
blue light #BFD0EA
|
||||
blue very light #EAEEF4
|
||||
white #FFF
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Characteristic of this style is that it uses the full width of the browser
|
||||
window and that horizontal highlighting bars extend over the full width of
|
||||
the page.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
NarrativeWeb Styles
|
||||
------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
color: black;
|
||||
margin: 0px;
|
||||
background-color: #EAEEF4;
|
||||
@@ -67,6 +71,13 @@ body {
|
||||
body > div {
|
||||
clear: both;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
background-color: #FFF;
|
||||
border-top: solid 1px #7CA3DD;
|
||||
@@ -75,9 +86,29 @@ body > div {
|
||||
float: right;
|
||||
margin: 2em;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.fullclear {
|
||||
clear: both;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
@@ -207,6 +238,90 @@ div#alphanav ul li a:hover {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 35px;
|
||||
border: 0px;
|
||||
color: #204D91;
|
||||
background-color: #EAEEF4;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #EEE;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
@@ -309,12 +424,31 @@ table.surname td.ColumnName {
|
||||
table.surname td.ColumnName > a {
|
||||
padding-left: 15px;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
table.IndividualList td.ColumnSurname {
|
||||
background-color: #EAEEF4;
|
||||
}
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #EAEEF4;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
@@ -331,6 +465,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#Places table.infolist td.ColumnName > a {
|
||||
padding-left: 1ex;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
@@ -346,6 +484,10 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
#EventList td.ColumnPerson span.person:after,
|
||||
#EventList td.ColumnPerson span.father:after,
|
||||
#EventList td.ColumnPerson span.mother:after,
|
||||
@@ -366,10 +508,57 @@ table.IndividualList td.ColumnSurname {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 20px;
|
||||
}
|
||||
#families table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.eventlist tbody tr td.ColumnDate,
|
||||
#families table.eventlist tbody tr td.ColumnNotes {
|
||||
padding-left: 20px;
|
||||
}
|
||||
table.eventlist tbody tr td:first-child,
|
||||
table.eventlist thead tr th:first-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
}
|
||||
table.eventlist td.ColumnEvent,
|
||||
table.eventlist td.ColumnDate,
|
||||
table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -406,6 +595,13 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display: block;
|
||||
border: solid 1px #7CA3DD;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#GalleryDetail h3 {
|
||||
text-align: center;
|
||||
@@ -416,6 +612,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
@@ -423,13 +623,10 @@ div#SourceDetail {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Contact #summaryarea {
|
||||
width: 40em;
|
||||
margin: 2em auto;
|
||||
padding: 3em;
|
||||
background-color: #EAEEF4;
|
||||
border: solid 1px #7CA3DD;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
float: right;
|
||||
border: solid 1px #7CA3DD;
|
||||
}
|
||||
@@ -456,20 +653,31 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction {
|
||||
overflow: hidden;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin: 1em;
|
||||
margin: 0;
|
||||
border: 0px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home p, #Introduction p {
|
||||
padding-left: 15px;
|
||||
}
|
||||
.subsection {
|
||||
clear: both;
|
||||
overflow: visible;
|
||||
overflow: hidden;
|
||||
}
|
||||
.subsection p {
|
||||
margin: 0px;
|
||||
@@ -477,6 +685,10 @@ div#SourceDetail {
|
||||
|
||||
/* Subsection : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
@@ -492,12 +704,33 @@ div#families table.attrlist td.ColumnType {
|
||||
|
||||
/* Subsection : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#indivgallery {
|
||||
background-color: white;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
float: left;
|
||||
width: 130px;
|
||||
font-size: smaller;
|
||||
text-align: center;
|
||||
margin: 0.8em 0.5em;
|
||||
background-color: white;
|
||||
}
|
||||
#indivgallery h4 + .thumbnail {
|
||||
margin-left: 15px;
|
||||
@@ -505,6 +738,39 @@ div#families table.attrlist td.ColumnType {
|
||||
* first thumnail on each next row should also have a margin-left
|
||||
* of 15 px. */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery img {
|
||||
border: solid 1px #7CA3DD;
|
||||
}
|
||||
@@ -512,17 +778,30 @@ div#families table.attrlist td.ColumnType {
|
||||
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
|
||||
display: none; */
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsection : Narrative
|
||||
----------------------------------------------------- */
|
||||
h4 + div.grampsstylednote, a.familymap {
|
||||
margin: 1em 15px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* Subsection : Family Map
|
||||
@@ -530,6 +809,9 @@ div.grampsstylednote p {
|
||||
a.familymap {
|
||||
display: block;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
/* Subsection : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -575,6 +857,7 @@ a.familymap {
|
||||
}
|
||||
#footer > * {
|
||||
background-color: #EAEEF4;
|
||||
font-size: 80%;
|
||||
}
|
||||
#footer p#createdate {
|
||||
float: left;
|
||||
@@ -593,10 +876,16 @@ a.familymap {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
----------------------------------------------------- */
|
||||
body#FamilyMap {
|
||||
background-color: #EAEEF4 ! important;
|
||||
background-color: #EAEEF4 !important;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
@@ -615,19 +904,12 @@ table.calendar {
|
||||
background-color: #FFF;
|
||||
border-bottom-style: none;
|
||||
padding-top: 1em;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 15px 0px 0px;
|
||||
font-weight: bold;
|
||||
color: #7CA3DD;
|
||||
}
|
||||
#CreatorInfo a[href]:hover {
|
||||
background-color: #BFD0EA;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
border-top: solid 4px #7CA3DD;
|
||||
vertical-align: middle;
|
||||
@@ -645,7 +927,7 @@ table.calendar {
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar td {
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #BFD0EA;
|
||||
@@ -653,7 +935,7 @@ table.calendar {
|
||||
}
|
||||
.calendar td:first-child {
|
||||
border-left-style: none;
|
||||
padding: 0px 0px 0px 1ex;
|
||||
padding: 0px 5px 0px 1ex;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top-style: none;
|
||||
@@ -704,8 +986,6 @@ body#fullyearlinked div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
height: 18em;
|
||||
border: solid 1px black;
|
||||
}
|
||||
@@ -722,3 +1002,48 @@ body#fullyearlinked table.calendar tbody td {
|
||||
body#OneDay div.content {
|
||||
overflow: hidden;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #204D91;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 6px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
@@ -77,8 +77,7 @@ ul#dropmenu li:hover > a {
|
||||
color: #fafafa
|
||||
}
|
||||
|
||||
*html ul#dropmenu li a:hover /* IE6 */
|
||||
{
|
||||
*html ul#dropmenu li a:hover /* IE6 */ {
|
||||
color: #fafafa
|
||||
}
|
||||
ul#dropmenu li:hover > ul {
|
||||
@@ -129,13 +128,11 @@ ul#dropmenu ul a {
|
||||
float: none;
|
||||
text-transform: none;
|
||||
}
|
||||
*html ul#dropmenu ul a /* IE6 */
|
||||
{
|
||||
*html ul#dropmenu ul a /* IE6 */ {
|
||||
height: 10px;
|
||||
width: 150px;
|
||||
}
|
||||
*:first-child+html ul#dropmenu ul a /* IE7 */
|
||||
{
|
||||
*:first-child+html ul#dropmenu ul a /* IE7 */ {
|
||||
height: 10px;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
+389
-28
@@ -19,6 +19,8 @@ Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2011 Michiel D. Nauta
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -56,25 +58,35 @@ Middle Light images/Web_Mainz_MidLight.png
|
||||
|
||||
|
||||
NarrativeWeb Styles
|
||||
--------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
-----------------------------------------------------------------*/
|
||||
body {
|
||||
font-family: Georgia, serif;
|
||||
font-size: 90%;
|
||||
font-size: 100%;
|
||||
color: #7D5925;
|
||||
background: url(../images/Web_Mainz_Bkgd.png) black repeat;
|
||||
}
|
||||
body > div {
|
||||
width: 85%;
|
||||
margin: 0px auto;
|
||||
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
|
||||
overflow: hidden;
|
||||
padding: 0px 1.5em;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
padding: 1.5em 1.5em;
|
||||
overflow: auto;
|
||||
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
@@ -82,6 +94,22 @@ div.snapshot div.thumbnail {
|
||||
div.snapshot a {
|
||||
display: inline;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
|
||||
/* General Text
|
||||
-----------------------------------------------------------------*/
|
||||
@@ -122,7 +150,8 @@ a {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
a[href]:hover, a[href]:active {
|
||||
background-color: #FFFFE7;
|
||||
background-color: #D8C19F;
|
||||
font-style: italic;
|
||||
}
|
||||
.grampsid {
|
||||
font-family: monospace;
|
||||
@@ -139,7 +168,7 @@ a[href]:hover, a[href]:active {
|
||||
/* Navigation
|
||||
-----------------------------------------------------------------*/
|
||||
div#nav, #subnavigation {
|
||||
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
|
||||
background: url(../images/Web_Mainz_Mid.png) repeat-x top left;
|
||||
}
|
||||
div#nav ul, #subnavigation ul {
|
||||
list-style-type: none;
|
||||
@@ -204,6 +233,91 @@ div#alphanav ul li a:hover {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 80px;
|
||||
border: 0px;
|
||||
color: #7D5925;
|
||||
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
height:1.4em;
|
||||
text-align: left;
|
||||
background-color: #D8C19F;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
-----------------------------------------------------------------*/
|
||||
table {
|
||||
@@ -270,12 +384,40 @@ table#SortByName thead th.ColumnSurname a:after,
|
||||
table#SortByCount thead th.ColumnQuantity a:after {
|
||||
content: " \2193";
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
table#SortByName tbody tr:hover,
|
||||
table#SortByCount tbody tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
table.surname tbody tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
#SurnameDetail h3 {
|
||||
border-bottom-width: 0px;
|
||||
padding-bottom: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
#parents table.infolist tbody tr:hover,
|
||||
table.IndividualList tbody tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
|
||||
/* Places
|
||||
----------------------------------------------------- */
|
||||
#Places table.infolist tbody tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
/* Events
|
||||
-----------------------------------------------------------------*/
|
||||
#EventList tr.BeginType td {
|
||||
@@ -289,6 +431,10 @@ table#SortByCount thead th.ColumnQuantity a:after {
|
||||
#EventList td.ColumnPerson a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tbody tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
/* Family events, put mother on next line */
|
||||
#EventList td.ColumnPerson span.father,
|
||||
#EventList td.ColumnPerson span.mother,
|
||||
@@ -312,9 +458,57 @@ table#SortByCount thead th.ColumnQuantity a:after {
|
||||
#EventDetail td.ColumnPerson span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 25px;
|
||||
}
|
||||
#families table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 20px;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#families table.eventlist tbody tr td.ColumnDate,
|
||||
#families table.eventlist tbody tr td.ColumnNotes {
|
||||
padding-left: 25px;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnEvent {
|
||||
padding-right: 0px;
|
||||
width: 8%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnDate {
|
||||
padding-right: 0px;
|
||||
width: 15%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnEvent,
|
||||
#IndividualDetail div table.eventlist td.ColumnDate,
|
||||
#IndividualDetail div table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
@@ -361,6 +555,13 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
margin: 0px auto;
|
||||
display:block;
|
||||
border: solid 1px #7D5925;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sources
|
||||
@@ -368,6 +569,10 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
#Sources table.infolist tbody tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
-----------------------------------------------------------------*/
|
||||
@@ -376,7 +581,7 @@ div#SourceDetail {
|
||||
padding-bottom: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
#Contact img {
|
||||
#Contact #summaryarea #GalleryDisplay img {
|
||||
display: block;
|
||||
margin: 0px auto 1em auto;
|
||||
border: solid 1px #7D5925;
|
||||
@@ -402,16 +607,31 @@ div#SourceDetail {
|
||||
|
||||
/* SubSection
|
||||
-----------------------------------------------------------------*/
|
||||
#Home img, #Introduction img {
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay {
|
||||
display: block;
|
||||
margin: 1em auto;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay {
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#Home a, #Introduction a, #Contact a {
|
||||
color: black;
|
||||
}
|
||||
.subsection {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
}
|
||||
.subsection p {
|
||||
margin: 0px;
|
||||
@@ -419,6 +639,10 @@ div#SourceDetail {
|
||||
|
||||
/* SubSection : Families
|
||||
-----------------------------------------------------------------*/
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tbody tr:hover,
|
||||
table.relationships tr:hover td {
|
||||
background-color: #D8C19F;
|
||||
}
|
||||
div#families table.fixed_subtables table.eventlist {
|
||||
table-layout: fixed;
|
||||
}
|
||||
@@ -428,9 +652,29 @@ div#families table.fixed_subtables table.eventlist th:first-child {
|
||||
div#families table.fixed_subtables table.eventlist th:last-child {
|
||||
width: 5em;
|
||||
}
|
||||
div#families .infolist h4 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* SubSection : Gallery
|
||||
-----------------------------------------------------------------*/
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery {
|
||||
/* float container stretch, see www.quirksmode.org/css/clearing.html */
|
||||
overflow: hidden;
|
||||
@@ -449,6 +693,42 @@ div#families table.fixed_subtables table.eventlist th:last-child {
|
||||
/* ## remove this line and the comment markers from the line below to hide the description in Individual Gallery
|
||||
display: none; */
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* SubSection : Narrative
|
||||
-----------------------------------------------------------------*/
|
||||
@@ -456,11 +736,24 @@ h4 + div.grampsstylednote, a.familymap {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 10px;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0 0 0.3em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
/* SubSection : Source References
|
||||
@@ -501,20 +794,38 @@ div.grampsstylednote p {
|
||||
-----------------------------------------------------------------*/
|
||||
#footer {
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6;
|
||||
border-top: dashed 1px #7D5925;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
#footer p#createdate {
|
||||
float: left;
|
||||
width: 50%;
|
||||
text-align: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
#footer p#copyright {
|
||||
float: right;
|
||||
width: 40%;
|
||||
text-align: right;
|
||||
}
|
||||
#footer p#copyright img {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
#footer > * {
|
||||
font-size: 80%;
|
||||
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Overwritten
|
||||
-----------------------------------------------------------------*/
|
||||
@@ -522,10 +833,10 @@ button#drop {
|
||||
font-style: italic;
|
||||
color: #FFF2C6;
|
||||
background: url(../images/Web_Mainz_Bkgd.png) #7D5925 repeat;
|
||||
border: outset 3px black ! important;
|
||||
border: outset 3px black !important;
|
||||
}
|
||||
div#map_canvas {
|
||||
border-color: #7D5925 ! important;
|
||||
border-color: #7D5925 !important;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
@@ -545,28 +856,24 @@ table.calendar {
|
||||
.calendar thead th.monthName {
|
||||
font-size: xx-large;
|
||||
color: #767D25;
|
||||
border-bottom-color: #7D5925;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
.calendar thead th abbr {
|
||||
border-bottom-style: none;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float: right;
|
||||
margin: -1em 0px 0px 0px;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
.calendar tfoot td {
|
||||
border-top: double 4px #7D5925;
|
||||
}
|
||||
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
width: 1.5em;
|
||||
font-size: large;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
margin-top: 1px;
|
||||
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
|
||||
}
|
||||
|
||||
@@ -610,10 +917,11 @@ table.calendar {
|
||||
color: #767D25;
|
||||
}
|
||||
.calendar td ul li span.yearsmarried em {
|
||||
color: black;
|
||||
color: #767D25;
|
||||
}
|
||||
.calendar td.highlight div.date {
|
||||
color: #767D25;
|
||||
margin-top: 1px;
|
||||
background-image: none;
|
||||
background-color: #FFFFE7;
|
||||
}
|
||||
@@ -626,8 +934,6 @@ table.calendar {
|
||||
|
||||
/* Calendar : Full Year */
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 315px;
|
||||
height: 18em;
|
||||
border: solid 1px #7D5925;
|
||||
}
|
||||
@@ -640,3 +946,58 @@ body#fullyearlinked table.calendar thead th.monthName {
|
||||
body#fullyearlinked table.calendar tbody td {
|
||||
height: 3em;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
text-align: center;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
padding: 2px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #7D5925;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-left: 8px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td.previous .date:hover,
|
||||
body#fullyearlinked #YearGlance tbody td.next .date:hover {
|
||||
border-radius: 10px;
|
||||
border: 5px solid;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td div.empty .date:hover {
|
||||
border-radius: 10px;
|
||||
border: 5px solid;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td.highlight .date:hover {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
background: url(../images/Web_Mainz_Bkgd.png) black repeat;
|
||||
}
|
||||
|
||||
+406
-47
@@ -1,24 +1,26 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Nebraska Default Stylesheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
developed and governed by genealogists.
|
||||
|
||||
Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright 2008 Jason M. Simanek
|
||||
Copyright 2009 Stephane Charette
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
Copyright 2018 Theo van Rijn
|
||||
Copyright (C) 2019 Serge Noiraud
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
@@ -32,10 +34,10 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
brown darkest #453619
|
||||
brown dark #542
|
||||
brown #A97
|
||||
@@ -43,14 +45,14 @@ brown light #C1B398
|
||||
brown lightest #F6F2EE
|
||||
gray #696969
|
||||
green #5D835F
|
||||
--------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
NarrativeWeb Styles
|
||||
--------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
---------------------------------------------------------------------------- */
|
||||
|
||||
body {
|
||||
color:#000;
|
||||
@@ -82,10 +84,21 @@ img {
|
||||
.thumbnail a:hover {
|
||||
background:none;
|
||||
}
|
||||
#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 98%;
|
||||
}
|
||||
#outerwrapper > div {
|
||||
clear: both;
|
||||
}
|
||||
.content {
|
||||
padding-top: 1cm;
|
||||
background-color:#FFF;
|
||||
}
|
||||
#ThumbnailPreview div.snapshot {
|
||||
float: right;
|
||||
margin: 0;
|
||||
}
|
||||
.content div.snapshot {
|
||||
float:right;
|
||||
margin:1.6em;
|
||||
@@ -100,6 +113,22 @@ img {
|
||||
.content div.snapshot div.thumbnail span {
|
||||
display:none;
|
||||
}
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media only screen and (width > 1080px) {
|
||||
body#fullyearlinked table.calendar {
|
||||
float: left;
|
||||
width: 33.3%;
|
||||
}
|
||||
}
|
||||
.fullclear {
|
||||
width:100%;
|
||||
height:1px;
|
||||
@@ -143,7 +172,7 @@ p#description {
|
||||
background-color:#FFF;
|
||||
}
|
||||
p a {
|
||||
color:#FFF;
|
||||
color:#542;
|
||||
text-decoration:underline;
|
||||
}
|
||||
sup {
|
||||
@@ -254,6 +283,96 @@ div#subnavigation ul li.CurrentSection a {
|
||||
border-width: 0 0 1px 0;
|
||||
}
|
||||
|
||||
/* Responsive navigation */
|
||||
button.navIcon {
|
||||
display: none;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
div#header::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
div#nav::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1080px) {
|
||||
|
||||
/* Use less & all realestate on mobiles. */
|
||||
div#outerwrapper {
|
||||
margin: 5px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
background: none; /* Works in IE too. */
|
||||
}
|
||||
|
||||
/* Undo some of the #nav styles - to enable the class .nav */
|
||||
.nav ul, #subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: unset;
|
||||
width: 200px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.nav ul li, #subnavigation ul li {
|
||||
float: unset;
|
||||
display: unset
|
||||
}
|
||||
|
||||
/* Start with hidden menu options */
|
||||
/* .nav li:not(:first-child) {display: none;} */
|
||||
.nav li {display: none;}
|
||||
.nav ul {display: none;}
|
||||
|
||||
button.navIcon {
|
||||
display: block;
|
||||
float: left;
|
||||
font-size:2.9em;
|
||||
line-height: 70px;
|
||||
border: 0px;
|
||||
background-color: #542;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
.nav.responsive {position: absolute; display: block; z-index: 100;}
|
||||
.nav.responsive a.icon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav.responsive ::after {
|
||||
/* need to remove the "|" when we are in the dropdown menu. */
|
||||
color: #A97;
|
||||
background-color: #A97;
|
||||
}
|
||||
.nav.responsive li {
|
||||
display: block;
|
||||
text-align: left;
|
||||
background-color: #A97;
|
||||
/* required by IE */
|
||||
float: left;
|
||||
clear: both;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div#nav ul, #subnavigation ul {
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table.infolist {
|
||||
@@ -339,6 +458,20 @@ table.surnamelist tr th a, table.surnamelist tr th a:visited {
|
||||
table.surnamelist tr th:hover {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
table#SortByName tr:hover td.ColumnSurname,
|
||||
table#SortByCount tr:hover td.ColumnQuantity {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
table#SortByName tr:hover,
|
||||
table#SortByCount tr:hover,
|
||||
table#SortByName tr:hover td.ColumnQuantity,
|
||||
table#SortByCount tr:hover td.ColumnSurname {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
table.surname tr:hover,
|
||||
table.surname tr:hover td.ColumnName {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
table.surnamelist thead tr th.ColumnLetter {
|
||||
padding-left:20px;
|
||||
padding-right:10px;
|
||||
@@ -394,6 +527,11 @@ table.surname thead tr th.ColumnParents, table.surname tbody tr td.ColumnParents
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
#parents table.infolist tr:hover,
|
||||
table.IndividualList tr:hover,
|
||||
table.IndividualList tr:hover td.ColumnSurname {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
#Individuals { }
|
||||
#Individuals table.IndividualList {
|
||||
border-bottom:solid 1px #A97;
|
||||
@@ -437,6 +575,7 @@ table.IndividualList tbody tr td.ColumnName a:hover {
|
||||
#IndividualDetail div table.infolist tr td {
|
||||
font:normal .9em/1.2em sans-serif;
|
||||
vertical-align:top;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#IndividualDetail div table.infolist tr td a {
|
||||
display:inline;
|
||||
@@ -449,11 +588,15 @@ table.IndividualList tbody tr td.ColumnName a:hover {
|
||||
color:#696969;
|
||||
}
|
||||
#IndividualDetail div.subsection table tr td:first-child {
|
||||
color:#696969;
|
||||
padding-left:20px;
|
||||
}
|
||||
#familymap a.familymap {
|
||||
margin-left:20px;
|
||||
}
|
||||
a.family_map {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* Subsections : Attributes
|
||||
----------------------------------------------------- */
|
||||
@@ -486,6 +629,10 @@ table.attrlist tbody tr td.ColumnSources {
|
||||
|
||||
/* Sources
|
||||
----------------------------------------------------- */
|
||||
#Sources table.infolist tr:hover,
|
||||
#Sources table.infolist tr:hover td.ColumnType {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
#Sources { }
|
||||
#Sources table.infolist tbody tr td.ColumnRowLabel {
|
||||
padding-bottom:0;
|
||||
@@ -534,6 +681,10 @@ table.relationships tbody tr td.ColumnPartner a:hover {
|
||||
#Places table.infolist tbody tr td.ColumnName {
|
||||
padding:0;
|
||||
}
|
||||
#Places table.infolist tr:hover,
|
||||
#Places table.infolist tr:hover td.ColumnName {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
#Places table.infolist tbody tr td.ColumnName a {
|
||||
padding:.1em 10px .3em 10px;
|
||||
}
|
||||
@@ -553,7 +704,11 @@ table.relationships tbody tr td.ColumnPartner a:hover {
|
||||
#EventDetail table.infolist tr td a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr:hover,
|
||||
#EventList table.infolist tr:hover td.ColumnType {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr td span.mother,
|
||||
#EventDetail table.infolist tr td span.father,
|
||||
#EventDetail table.infolist tr td span.mother {
|
||||
@@ -575,10 +730,27 @@ table.relationships tbody tr td.ColumnPartner a:hover {
|
||||
#EventDetail table.infolist tr td span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
table.eventlist tbody tr td.ColumnSources {
|
||||
#IndividualDetail div table.eventlist tbody tr td:first-child,
|
||||
#IndividualDetail div table.eventlist thead tr th:first-child {
|
||||
padding-left: 10px;
|
||||
}
|
||||
#IndividualDetail div table.eventlist tbody tr td.ColumnSources {
|
||||
padding-left: 5px;
|
||||
width: 5%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist tbody tr td.ColumnEvent {
|
||||
padding-right: 0px;
|
||||
width: 8%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist tbody tr td.ColumnDate {
|
||||
padding-left: 10px;
|
||||
width: 15%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnEvent,
|
||||
#IndividualDetail div table.eventlist td.ColumnDate,
|
||||
#IndividualDetail div table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -634,6 +806,13 @@ table.eventlist tbody tr td.ColumnSources {
|
||||
}
|
||||
#GalleryDisplay img {
|
||||
margin:0 auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1600px) {
|
||||
#GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
#GalleryDetail div#summaryarea{
|
||||
margin:0;
|
||||
@@ -679,7 +858,6 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
#Contact #summaryarea {
|
||||
width:500px;
|
||||
margin:0 auto;
|
||||
padding:3em;
|
||||
background-color:#F1ECE2;
|
||||
@@ -697,7 +875,6 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
padding:0;
|
||||
}
|
||||
#researcher span {
|
||||
float:left;
|
||||
display:block;
|
||||
font:normal .9em/1.4em serif;
|
||||
margin-right:.4em;
|
||||
@@ -725,9 +902,9 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* Download
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
#Download {
|
||||
#Download {
|
||||
padding:1cm;
|
||||
height:396px;
|
||||
}
|
||||
@@ -747,7 +924,7 @@ table.download thead tr th {
|
||||
table.download tbody tr#Row02 {
|
||||
border-bottom:solid 2px #000;
|
||||
}
|
||||
table.download thead tr th, table.download tbody tr td {
|
||||
table.download thead tr th, table.download tbody tr td {
|
||||
padding-left:10px;
|
||||
padding-top:20px;
|
||||
border-style:solid;
|
||||
@@ -779,20 +956,32 @@ table.download td.Modified {
|
||||
|
||||
/* Subsections
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction, #Contact {
|
||||
padding:2em 0 3em 0;
|
||||
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
|
||||
float: right;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
display: block;
|
||||
max-width: 950px;
|
||||
height: auto;
|
||||
float: right;
|
||||
}
|
||||
@media only screen and (max-width: 1080px) {
|
||||
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
|
||||
#Contact #GalleryDisplay img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
#Home p, #Introduction p {
|
||||
margin:0 20px 1em 20px;
|
||||
}
|
||||
#Home img, #Introduction img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 20px 3em 2em;
|
||||
}
|
||||
#Home a, #Introduction a, #Contact a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
div.subsection{
|
||||
padding-bottom:.5em;
|
||||
@@ -838,9 +1027,6 @@ div#events h4 {
|
||||
padding-bottom:4px;
|
||||
background-color:#A97;
|
||||
}
|
||||
#IndividualDetail div#events table.infolist thead tr th:first-child {
|
||||
padding-left:20px;
|
||||
}
|
||||
#IndividualDetail div#events table.infolist tbody tr td {
|
||||
padding-top:.4em;
|
||||
padding-bottom:.8em;
|
||||
@@ -856,6 +1042,51 @@ table.infolist tbody tr td.ColumnValue p {
|
||||
color:#696969;
|
||||
margin:.2em 0 0 2em;
|
||||
}
|
||||
#attributes table.infolist td.ColumnType {
|
||||
width: 10%;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#attributes table.infolist td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
#attributes table.infolist td.ColumnSources {
|
||||
width: 5%;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#WebLinks table.weblinks tbody tr td:first-child {
|
||||
vertical-align:middle;
|
||||
}
|
||||
#WebLinks table.weblinks td.ColumnType,
|
||||
#WebLinks table.weblinks td.ColumnDescription {
|
||||
}
|
||||
#events table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist th.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#families table.eventlist td.ColumnEvent,
|
||||
#families table.eventlist td.ColumnDate,
|
||||
#families table.eventlist td.ColumnPlace,
|
||||
#families table.eventlist td.ColumnDescription,
|
||||
#families table.eventlist td.ColumnSources {
|
||||
padding-top:.4em;
|
||||
padding-bottom:.8em;
|
||||
}
|
||||
#families table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
padding-left: 20px;
|
||||
}
|
||||
#families table.eventlist td.ColumnNotes {
|
||||
font:normal 1.1em/1.4em sans-serif;
|
||||
}
|
||||
#families table.eventlist tbody tr td:first-child,
|
||||
#families table.eventlist thead tr th:first-child {
|
||||
width: 10%;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
/* Subsections : Attributes
|
||||
----------------------------------------------------- */
|
||||
@@ -878,10 +1109,15 @@ div#parents table.infolist tbody tr td.ColumnValue ol li {
|
||||
|
||||
/* Subsections : Families
|
||||
----------------------------------------------------- */
|
||||
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
|
||||
table.relationships tr:hover {
|
||||
background-color:#C1B398;
|
||||
}
|
||||
div#families table.infolist {
|
||||
margin-top:.5em;
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue p {
|
||||
margin-left:0;
|
||||
margin-top:0;
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue ol {
|
||||
@@ -926,6 +1162,23 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
|
||||
|
||||
/* Subsections : Gallery
|
||||
----------------------------------------------------- */
|
||||
#gallery {
|
||||
background-color: green;
|
||||
}
|
||||
#gallery .gallerycell {
|
||||
float: left;
|
||||
width: 130px;
|
||||
height: 150px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
background-color: white;
|
||||
border-top: solid 1px #999;
|
||||
border-right: solid 1px #999;
|
||||
}
|
||||
#gallery .thumbnail {
|
||||
font-size: smaller;
|
||||
margin: 3em auto;
|
||||
}
|
||||
#indivgallery h4 {
|
||||
margin-bottom:1em;
|
||||
}
|
||||
@@ -934,6 +1187,40 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
|
||||
float:left;
|
||||
width:130px;
|
||||
text-align:center;
|
||||
background-color: #F6F2EE;
|
||||
}
|
||||
#gallery div.indexno {
|
||||
float: right;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
}
|
||||
#indivgallery div.date {
|
||||
float: right;
|
||||
width: 1.8em;
|
||||
font-size: large;
|
||||
text-align: center;
|
||||
background-color: #CCC;
|
||||
color: #555;
|
||||
}
|
||||
#indivgallery .thumbnail ul {
|
||||
font-size: smaller;
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
}
|
||||
#indivgallery .thumbnail ul li:first-child {
|
||||
border-style: none;
|
||||
}
|
||||
#indivgallery .thumbnail ul li {
|
||||
border-top: dashed 1px #CCC;
|
||||
border-top-style: dashed;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#gallery img {
|
||||
border: solid 1px #999;
|
||||
}
|
||||
#indivgallery .thumbnail a {
|
||||
display:block;
|
||||
@@ -957,22 +1244,35 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
}
|
||||
div.snapshot div.thumbnail {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Subsections : Narrative
|
||||
----------------------------------------------------- */
|
||||
div.narrative {
|
||||
padding-bottom:0;
|
||||
}
|
||||
i.NoteType {
|
||||
font-weight: bold;
|
||||
font-size: .8em;
|
||||
}
|
||||
i + div.grampsstylednote p {
|
||||
margin: 0.1em 0 0.2em 0;
|
||||
}
|
||||
div.grampsstylednote p {
|
||||
padding-bottom: 0.6em;
|
||||
}
|
||||
.narrative p {
|
||||
margin: 0.1em 0 0.2em 0;
|
||||
font:normal .9em/1.4em sans-serif;
|
||||
}
|
||||
|
||||
/* Subsections : References
|
||||
/* Subsection : References
|
||||
----------------------------------------------------- */
|
||||
#references ol {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
/* Subsections : Source References
|
||||
----------------------------------------------------- */
|
||||
@@ -1070,6 +1370,9 @@ div#pedigree {
|
||||
background-color: #542;
|
||||
border-top: solid 8px #A97;
|
||||
}
|
||||
#footer > * {
|
||||
font-size: 80%;
|
||||
}
|
||||
#footer a, #footer a:visited {
|
||||
text-decoration: none;
|
||||
color: #C1B398;
|
||||
@@ -1111,6 +1414,12 @@ div#pedigree {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Updates
|
||||
----------------------------------------------------- */
|
||||
#Updates table.list td.date {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
/* Calendar : General */
|
||||
@@ -1145,18 +1454,15 @@ body#WebCal {
|
||||
color:#542;
|
||||
padding:.3em 0 .2em 0;
|
||||
background-color:#FFF;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float:right;
|
||||
color:#FFF;
|
||||
margin:-24px 10px 0 0;
|
||||
}
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekday {
|
||||
color:#542;
|
||||
background-color:#A97;
|
||||
}
|
||||
.calendar thead tr th.saturday,
|
||||
.calendar thead tr th.saturday,
|
||||
.calendar thead tr th.sunday { }
|
||||
.calendar tfoot tr td {
|
||||
padding:.7em 5% 1em 5%;
|
||||
@@ -1170,14 +1476,12 @@ body#WebCal {
|
||||
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar tbody tr td div.date {
|
||||
float:right;
|
||||
float:none;
|
||||
display:block;
|
||||
width:1.8em;
|
||||
font-size:1.2em;
|
||||
line-height:100%;
|
||||
text-align:center;
|
||||
color:#542;
|
||||
margin:0 0 0 .5em;
|
||||
padding:.2em 0;
|
||||
background-color:#F6F2EE;
|
||||
}
|
||||
@@ -1240,26 +1544,25 @@ body#WebCal {
|
||||
.calendar tbody tr td.highlight div.date {
|
||||
color:#0A65B5;
|
||||
background-color:#C2E1FE;
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
color:#A97;
|
||||
background-color:#F6F2EE;
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
|
||||
/* Calendar : Full Year */
|
||||
body#fullyearlinked div.content {
|
||||
width:963px;
|
||||
margin:0 auto;
|
||||
padding:15px 0 2px 2px;
|
||||
padding:5px 0 2px 2px;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float:left;
|
||||
width:320px;
|
||||
height:18em;
|
||||
border:solid 1px #7D5925;
|
||||
}
|
||||
@@ -1273,3 +1576,59 @@ body#fullyearlinked table.calendar thead tr th.monthName {
|
||||
body#fullyearlinked table.calendar tbody tr td {
|
||||
height:3em;
|
||||
}
|
||||
body#OneDay h3 {
|
||||
font-size: xx-large;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#WebCal table.calendar tfoot {
|
||||
display: none;
|
||||
}
|
||||
#WebCal table.calendar tr td {
|
||||
word-wrap: break-word;
|
||||
border-bottom:solid 1px #7D5925;
|
||||
border-right:solid 1px #7D5925;
|
||||
padding-left: 0px;
|
||||
}
|
||||
#WebCal .calendar tr td .empty {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable {
|
||||
border: 5px solid rgba(255,255,255,.0);
|
||||
}
|
||||
#WebCal .calendar tr td .clickable:hover {
|
||||
display: block;
|
||||
overflow:auto;
|
||||
word-wrap: break-word;
|
||||
cursor: text;
|
||||
border-radius: 10px 0px 10px 10px;
|
||||
border: 5px solid #453619;
|
||||
padding: 0px;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td {
|
||||
height:48px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td.previous {
|
||||
border-width:0px 1px 1px 0px;
|
||||
border-color:#C1B398;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td.next {
|
||||
border-width:1px 0px 0px 1px;
|
||||
border-color:#C1B398;
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td .date {
|
||||
font-size: 30px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
border-radius: 45px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
float: none;
|
||||
border: 5px solid rgba(0,0,0,.0);
|
||||
}
|
||||
body#fullyearlinked #YearGlance tbody td:hover .date {
|
||||
border-radius: 45px;
|
||||
border: 5px solid;
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Print Style Sheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Modified by Rob G. Healey, July 2008
|
||||
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
developed and governed by genealogists.
|
||||
|
||||
'Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
@@ -31,21 +31,21 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
gray #A7A7A7
|
||||
red #520
|
||||
black #000
|
||||
white #FFF
|
||||
---------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
NarrativeWeb Styles
|
||||
--------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
@@ -419,7 +419,7 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
#researcher {
|
||||
margin:16pt 0 0 0;
|
||||
@@ -456,13 +456,13 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
clear:left;
|
||||
}
|
||||
|
||||
/* Subsections
|
||||
/* Subsections
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction, #Download, #Contact {
|
||||
padding:3em 20px;
|
||||
}
|
||||
|
||||
/* Subsections : Events
|
||||
/* Subsections : Events
|
||||
----------------------------------------------------- */
|
||||
#IndividualDetail .ColumnValue {
|
||||
padding:4pt 0;
|
||||
@@ -472,7 +472,7 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
margin:1pt 0 0 18pt;
|
||||
}
|
||||
|
||||
/* Subsections : Gallery
|
||||
/* Subsections : Gallery
|
||||
----------------------------------------------------- */
|
||||
#indivgallery h4 {
|
||||
margin-bottom:1em;
|
||||
@@ -532,7 +532,7 @@ table.attrlist tbody tr td.ColumnSources {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
/* Subsections : Pedigree
|
||||
/* Subsections : Pedigree
|
||||
----------------------------------------------------- */
|
||||
#pedigree a {
|
||||
text-decoration:none;
|
||||
@@ -574,7 +574,7 @@ table.attrlist tbody tr td.ColumnSources {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Subsections : Ancestors Tree
|
||||
/* Subsections : Ancestors Tree
|
||||
----------------------------------------------------- */
|
||||
#tree {
|
||||
page-break-before:always;
|
||||
@@ -674,7 +674,7 @@ p#createdate {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
/* Calendar Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
/* Calendar : General */
|
||||
body#WebCal h1#SiteTitle {
|
||||
@@ -719,10 +719,6 @@ body#WebCal h1#SiteTitle {
|
||||
padding:5pt;
|
||||
border-width:0;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float:right;
|
||||
margin:0 10px 0 0;
|
||||
}
|
||||
body#WebCal a {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
@@ -795,9 +791,9 @@ body#WebCal a {
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
font-weight:normal;
|
||||
font-size:12pt;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
@@ -20,17 +20,18 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Web_Navigation-Vertical.css Stylesheet
|
||||
***************************************************************************************************
|
||||
*******************************************************************************
|
||||
|
||||
# $Id: Web_Navigation-Vertical.css 15241 2010-04-19 11:07:00Z robhealey1 $
|
||||
|
||||
Body Element
|
||||
----------------------------------------------------- */
|
||||
body { background: -webkit-gradient
|
||||
(linear, left top, left bottom, from(#ccc), to(#fff));
|
||||
body {
|
||||
background: -webkit-gradient (linear, left top, left bottom,
|
||||
from(#ccc), to(#fff));
|
||||
color: #000;
|
||||
padding: 60px 0px 0px 146px;
|
||||
}
|
||||
|
||||
+39
-35
@@ -10,7 +10,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
@@ -20,15 +20,15 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Visually Impaired Stylesheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
***************************************************************************************************
|
||||
*******************************************************************************
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------
|
||||
brown dark #453619, #542
|
||||
brown light #C1B398
|
||||
gray #696969
|
||||
@@ -47,7 +47,7 @@ Females Web_Gender_Female.png
|
||||
|
||||
|
||||
NarrativeWeb Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
---------------------------------------------------------------------------- */
|
||||
div#alphabet ul li {
|
||||
background-color: #6AF364;
|
||||
}
|
||||
@@ -96,8 +96,6 @@ img {
|
||||
background:none;
|
||||
}
|
||||
.content {
|
||||
overflow: auto;
|
||||
width:965px;
|
||||
margin:0 auto;
|
||||
padding-bottom: .2em;
|
||||
}
|
||||
@@ -349,7 +347,7 @@ table.infolist tbody tr td.ColumnPartner a {
|
||||
table.infolist tbody tr td.ColumnParents {
|
||||
font-size:.9em;
|
||||
}
|
||||
table.infolist tbody tr td.ColumnParents span.father,
|
||||
table.infolist tbody tr td.ColumnParents span.father,
|
||||
table.infolist tbody tr td.ColumnParents span.mother {
|
||||
display:block;
|
||||
}
|
||||
@@ -366,7 +364,7 @@ table.infolist tbody tr td.ColumnParents span.mother:before {
|
||||
#SurnameDetail p#description {
|
||||
padding-top:0;
|
||||
}
|
||||
table.surnamelist thead tr th.ColumnSurname,
|
||||
table.surnamelist thead tr th.ColumnSurname,
|
||||
#Surnames table.surnamelist tbody tr td.ColumnSurname {
|
||||
width:50%;
|
||||
}
|
||||
@@ -391,11 +389,11 @@ table.surnamelist tbody tr td.ColumnLetter a {
|
||||
table.surnamelist tbody tr td.ColumnSurname {
|
||||
background-color: #FFF;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname,
|
||||
table#SortByName thead tr th.ColumnSurname,
|
||||
table#SortByCount thead tr th.ColumnQuantity {
|
||||
background-color: #C1B398;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname a:after,
|
||||
table#SortByName thead tr th.ColumnSurname a:after,
|
||||
table#SortByCount thead tr th.ColumnQuantity a:after {
|
||||
content:" ↓";
|
||||
}
|
||||
@@ -443,7 +441,7 @@ table.surname tbody tr td.ColumnPartner a {
|
||||
display:block;
|
||||
padding:.6em 10px .6em 0px;
|
||||
}
|
||||
table.surname thead tr th.ColumnParents,
|
||||
table.surname thead tr th.ColumnParents,
|
||||
table.surname tbody tr td.ColumnParents {
|
||||
width:25%;
|
||||
}
|
||||
@@ -465,7 +463,7 @@ div#Individuals table.IndividualList tbody tr td a {
|
||||
display: block;
|
||||
padding: .6em 10px;
|
||||
}
|
||||
div#Individuals table.IndividualList tbody tr td.ColumnSurname a:hover,
|
||||
div#Individuals table.IndividualList tbody tr td.ColumnSurname a:hover,
|
||||
div#Individuals table.IndividualList tbody tr td.ColumnSurname a:active {
|
||||
cursor:default;
|
||||
color: #000;
|
||||
@@ -666,7 +664,7 @@ div#EventList table.alphaevent tbody tr td.ColumnDate {
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson {
|
||||
width: 60%;
|
||||
}
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.father,
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.father,
|
||||
div#EventList table.alphaevent tbody tr td.ColumnPerson span.mother {
|
||||
display:block;
|
||||
}
|
||||
@@ -696,7 +694,7 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
|
||||
div#EventDetail table.eventlist tbody tr td.ColumnPerson {
|
||||
background-color: #D8F3D6;
|
||||
}
|
||||
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
#EventList table.infolist tr.BeginType td {
|
||||
@@ -709,7 +707,7 @@ div#EventDetail table.eventlist tbody tr td.ColumnPerson {
|
||||
#EventDetail table.infolist tr td a {
|
||||
display: inline;
|
||||
}
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr td span.father,
|
||||
#EventList table.infolist tr td span.mother,
|
||||
#EventDetail table.infolist tr td span.father,
|
||||
#EventDetail table.infolist tr td span.mother {
|
||||
@@ -731,6 +729,20 @@ div#EventDetail table.eventlist tbody tr td.ColumnPerson {
|
||||
#EventDetail table.infolist tr td span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnSources {
|
||||
width: 5%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnDate {
|
||||
width: 15%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnEvent {
|
||||
width: 8%;
|
||||
}
|
||||
#IndividualDetail div table.eventlist td.ColumnEvent,
|
||||
#IndividualDetail div table.eventlist td.ColumnDate,
|
||||
#IndividualDetail div table.eventlist td.ColumnPlace {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
@@ -899,7 +911,7 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
/* Download
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
div#Download {
|
||||
margin: 0;
|
||||
@@ -912,7 +924,7 @@ div#Download table.download {
|
||||
div#Download table.download tbody tr#Row02 {
|
||||
border-bottom: solid 1px #000;
|
||||
}
|
||||
div#Download table.download tbody tr td {
|
||||
div#Download table.download tbody tr td {
|
||||
border: solid 1px #000;
|
||||
text-align: left;
|
||||
padding: 5px 0px 5px 0px;
|
||||
@@ -1197,6 +1209,7 @@ div#families table.infolist tbody tr td.ColumnValue {
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue p {
|
||||
margin-top:0;
|
||||
margin-left:0;
|
||||
}
|
||||
div#families table.infolist tbody tr td.ColumnValue ol {
|
||||
margin:0;
|
||||
@@ -1486,19 +1499,10 @@ body#WebCal {
|
||||
color: #542;
|
||||
padding:.3em 0 .2em 0;
|
||||
background-color: #FFF;
|
||||
vertical-align: top;
|
||||
height: 2em;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float:right;
|
||||
color: #FFF;
|
||||
margin:-24px 10px 0 0;
|
||||
}
|
||||
#CreatorInfo a {
|
||||
color: #FFF;
|
||||
}
|
||||
#CreatorInfo a:hover {
|
||||
color: #FFF;
|
||||
}
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekend,
|
||||
.calendar thead tr th.weekday {
|
||||
font-style:italic;
|
||||
color: #000;
|
||||
@@ -1590,9 +1594,9 @@ body#WebCal {
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
color: #333;
|
||||
background-color: #D8F3D6;
|
||||
@@ -1658,7 +1662,7 @@ table.oneday tbody tr td.ColumnText {
|
||||
width: 85%;
|
||||
}
|
||||
table.oneday tbody tr td.ColumnEvent {
|
||||
width; 10%;
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
/* PlaceMaps
|
||||
|
||||
+67
-41
@@ -9,7 +9,7 @@
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
@@ -20,10 +20,10 @@
|
||||
#
|
||||
# $Id: $
|
||||
#
|
||||
**************************************************************************************************
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Combined Ancestor Tree Style Sheet
|
||||
***************************************************************************************************
|
||||
*******************************************************************************
|
||||
#
|
||||
===== Ancestor Graph Color Scheme =====
|
||||
Males #BCEAF6
|
||||
@@ -33,15 +33,14 @@ Unknown #000
|
||||
===== Web Graphics =====
|
||||
Males Web_Gender_Male.png
|
||||
Females Web_Gender_Female.png
|
||||
# ------------------------------------------------------------------------------------------------- */
|
||||
|
||||
/* Subsections : Ancestors Tree
|
||||
----------------------------------------------------- */
|
||||
# -------------------------------------------------------------------------- */
|
||||
/* Subsections : Ancestors Tree -------------------------------------------- */
|
||||
#tree {
|
||||
page-break-before:always;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
overflow-x:auto;
|
||||
}
|
||||
#treeContainer {
|
||||
position:relative;
|
||||
@@ -52,8 +51,8 @@ Females Web_Gender_Female.png
|
||||
}
|
||||
#treeContainer div.boxbg {
|
||||
position:absolute;
|
||||
margin:0;
|
||||
padding:0;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background:none;
|
||||
}
|
||||
#treeContainer div.boxbg a,
|
||||
@@ -61,41 +60,43 @@ Females Web_Gender_Female.png
|
||||
position:relative;
|
||||
z-index:10;
|
||||
display:block;
|
||||
font:normal .7em/1.4em sans-serif;
|
||||
font:normal 1.1em/1.4em sans-serif;
|
||||
text-align:center;
|
||||
word-break:break-word;
|
||||
word-wrap:break-word;
|
||||
text-decoration:none;
|
||||
color: #00029D;
|
||||
width:118px;
|
||||
padding:5px 20px 7px 20px;
|
||||
width:280px;
|
||||
min-height: 70px;
|
||||
margin-left:16px;
|
||||
background-color: #FFF;
|
||||
border: solid 1px #000;
|
||||
border: solid 2px #000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
#treeContainer div.boxbg a.noThumb,
|
||||
#treeContainer div.AncCol3 a,
|
||||
#treeContainer div.AncCol4 a,
|
||||
#treeContainer div.AncCol3 span.unlinked,
|
||||
#treeContainer div.AncCol4 a,
|
||||
#treeContainer div.AncCol4 span.unlinked {
|
||||
margin-top:10px;
|
||||
float: right;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover {
|
||||
position:relative;
|
||||
z-index:999;
|
||||
font-size:1em;
|
||||
font-size:1.3em;
|
||||
word-break:break-word;
|
||||
word-wrap:break-word;
|
||||
text-decoration:none;
|
||||
color: #00029D;
|
||||
width:190px;
|
||||
width:400px;
|
||||
margin-left:-20px;
|
||||
padding:10px 25px 12px 25px;
|
||||
border: solid 2px #000;
|
||||
padding: 0px 0px 0px 40px;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover,
|
||||
#treeContainer div.AncCol3 a:hover,
|
||||
#treeContainer div.boxbg a:hover,
|
||||
#treeContainer div.AncCol4 a:hover {
|
||||
margin-top:-44px;
|
||||
}
|
||||
#treeContainer div.boxbg a.noThumb:hover {
|
||||
margin-top:0;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#treeContainer div.AncCol0 a:hover {
|
||||
margin-left:12px;
|
||||
@@ -105,48 +106,73 @@ Females Web_Gender_Female.png
|
||||
}
|
||||
#treeContainer div.boxbg span.thumbnail {
|
||||
display:block;
|
||||
max-width:80px;
|
||||
max-height:65px;
|
||||
margin:0 auto;
|
||||
padding:4px 0;
|
||||
position: absolute;
|
||||
max-width:85px;
|
||||
max-height:75px;
|
||||
left: 3px;
|
||||
top: 3px;
|
||||
}
|
||||
#treeContainer div.boxbg span.thumbnail img {
|
||||
max-width:80px;
|
||||
max-height:65px;
|
||||
margin:0 auto;
|
||||
#treeContainer div.boxbg a.thumbnail table td.img {
|
||||
padding-right: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover span.thumbnail, #treeContainer div.boxbg a:hover span.thumbnail img {
|
||||
height:80px;
|
||||
#treeContainer div.boxbg a.thumbnail:hover table td.img {
|
||||
padding-right: 9px;
|
||||
}
|
||||
#treeContainer div.AncCol3 span.thumbnail, #treeContainer div.AncCol4 span.thumbnail {
|
||||
#treeContainer div.boxbg a.thumbnail table td.name {
|
||||
padding-top:3px;
|
||||
padding-left: 2px;
|
||||
padding-right: 23px;
|
||||
width: 90%;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail img {
|
||||
margin-left:0px;
|
||||
padding-left: 0px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail:hover img {
|
||||
max-height:90%;
|
||||
margin-left:5px;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 4px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg table td:first-child, table th:first-child {
|
||||
padding-left: 5px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
#IndividualDetail div.subsection table tr td:first-child {
|
||||
padding-left: 5px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
#treeContainer #treeContainer div.AncCol4 span.thumbnail {
|
||||
display:none;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover span.thumbnail {
|
||||
display:block;
|
||||
}
|
||||
|
||||
#treeContainer div.boxbg span.fullname {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#treeContainer div.boxbg span.shortname {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#treeContainer div.boxbg a:hover span.fullname {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#treeContainer div.boxbg a:hover span.shortname {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
#treeContainer div.boxbg a:hover {
|
||||
float: right;
|
||||
margin-top: 10px;
|
||||
border: solid 4px #000;
|
||||
}
|
||||
#treeContainer div.male a,
|
||||
#treeContainer div.male span.unlinked {
|
||||
background:url(../images/Web_Gender_Male.png) #BCEAF6 no-repeat top right;
|
||||
}
|
||||
#treeContainer div.female a,
|
||||
#treeContainer div.female a,
|
||||
#treeContainer div.female span.unlinked {
|
||||
background:url(../images/Web_Gender_Female.png) #FFC0CB no-repeat top right;
|
||||
}
|
||||
|
||||
+103
-2
@@ -31,7 +31,7 @@ body#FamilyMap {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
border: solid 4px #000;
|
||||
margin: 0px auto;
|
||||
margin: 20px auto;
|
||||
width: 800px;
|
||||
height: 400px;
|
||||
max-width: 90%;
|
||||
@@ -64,5 +64,106 @@ div#FamilyMapDetail div#references table.infolist {
|
||||
width: 100%;
|
||||
}
|
||||
div#FamilyMapDetail div#references table.infolist tbody tr td.ColumnPlace {
|
||||
width: 40%;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
|
||||
/* Subsection: popup
|
||||
------------------------------------------------------ */
|
||||
#map_canvas .ol-popup {
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
-webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
|
||||
filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
|
||||
padding: 5px;
|
||||
border-radius: 8px;
|
||||
border: 2px solid #111111;
|
||||
bottom: 8px;
|
||||
left: -10px;
|
||||
min-width: 500px;
|
||||
}
|
||||
#map_canvas .ol-popup:after, #map_canvas .ol-popup:before {
|
||||
top: 100%;
|
||||
border: solid transparent;
|
||||
height: 0;
|
||||
width: 0;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
}
|
||||
#map_canvas .ol-popup:after {
|
||||
border-top-color: white;
|
||||
border-width: 10px;
|
||||
left: 48px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
#map_canvas .ol-popup:before {
|
||||
border-top-color: #cccccc;
|
||||
border-width: 11px;
|
||||
left: 48px;
|
||||
margin-left: -11px;
|
||||
}
|
||||
#map_canvas .ol-popup-closer {
|
||||
text-decoration: none;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 8px;
|
||||
}
|
||||
#map_canvas .ol-popup-title {
|
||||
background-color: #ededed;
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
#map_canvas .ol-popup-content {
|
||||
color: #111;
|
||||
font: bold 0.9em sans-serif;
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
padding: 0 0.5em 15px 0.5em;
|
||||
}
|
||||
#map_canvas .ol-popup-content a {
|
||||
color: #111;
|
||||
}
|
||||
#map_canvas .ol-popup-content a:visited {
|
||||
color: green;
|
||||
}
|
||||
#map_canvas .ol-popup-content a:hover {
|
||||
color: red;
|
||||
}
|
||||
#map_canvas .ol-popup-closer:after {
|
||||
content: "✖";
|
||||
}
|
||||
#map_canvas .ol-control {
|
||||
position: absolute;
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
bottom: .1em;
|
||||
left: .1em;
|
||||
height: 4%;
|
||||
width: 100%;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 1px;
|
||||
}
|
||||
#map_canvas .ol-rotate {
|
||||
display: none;
|
||||
}
|
||||
#map_canvas .ol-zoom, #map_canvas .ol-zoom-in, #map_canvas .ol-zoom-out {
|
||||
top: .5em;
|
||||
left: .5em;
|
||||
border-left-width: 1px;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
}
|
||||
#map_canvas .ol-attribution ul {
|
||||
list-style-type: none;
|
||||
font-size:0.8em;
|
||||
float: left;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#map_canvas .ol-attribution li {
|
||||
float: left;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#map_canvas .ol-attribution button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>gramps.desktop</id>
|
||||
<metadata_license>CC0</metadata_license>
|
||||
<component type="desktop-application">
|
||||
<id>org.gramps.gramps</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>Gramps</name>
|
||||
<summary>Genealogical research program</summary>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<_p>All of your research is kept organized, searchable and as precise as you need it to be.</_p>
|
||||
</description>
|
||||
|
||||
<launchable type="desktop-id">gramps.desktop</launchable>
|
||||
<url type="homepage">https://gramps-project.org/</url>
|
||||
<url type="bugtracker">https://gramps-project.org/bugs/</url>
|
||||
<url type="help">https://gramps-project.org/wiki/index.php?title=Main_page</url>
|
||||
@@ -18,11 +19,21 @@
|
||||
<developer_name>Gramps Development Team</developer_name>
|
||||
|
||||
<screenshots>
|
||||
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/5f/AppData1.png</screenshot>
|
||||
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData2.png</screenshot>
|
||||
<screenshot type="default" width="1226" height="740">http://www.gramps-project.org/wiki/images/e/e9/AppData3.png</screenshot>
|
||||
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData4.png</screenshot>
|
||||
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/50/AppData5.png</screenshot>
|
||||
<screenshot>
|
||||
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/5/5f/AppData1.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/6/68/AppData2.png</image>
|
||||
</screenshot>
|
||||
<screenshot type="default">
|
||||
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/e/e9/AppData3.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/6/68/AppData4.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/5/50/AppData5.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
|
||||
<provides>
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
gramps
|
||||
command=gramps
|
||||
name=GRAMPS
|
||||
can_open_multiple_files=false
|
||||
expects_uris=false
|
||||
requires_terminal=false
|
||||
mime_types=application/x-gramps,application/x-gedcom,application/x-gramps-package,application/x-gramps-xml,application/x-geneweb
|
||||
@@ -1,13 +1,13 @@
|
||||
[Desktop Entry]
|
||||
_Name=Gramps
|
||||
_GenericName=Genealogy System
|
||||
_X-GNOME-FullName=Gramps Genealogy System
|
||||
_Comment=Manage genealogical information, perform genealogical research and analysis
|
||||
Name=Gramps
|
||||
GenericName=Genealogy System
|
||||
X-GNOME-FullName=Gramps Genealogy System
|
||||
Comment=Manage genealogical information, perform genealogical research and analysis
|
||||
Icon=gramps
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=GTK;Office;
|
||||
_Keywords=Genealogy;Family History;Research;Family Tree;GEDCOM;
|
||||
Keywords=Genealogy;Family History;Research;Family Tree;GEDCOM;
|
||||
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
|
||||
Exec=gramps %F
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
application/x-gramps:
|
||||
_description=Gramps database
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gramps-package:
|
||||
_description=Gramps package
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gramps-xml:
|
||||
_description=Gramps XML database
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gedcom:
|
||||
_description=GEDCOM
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-geneweb:
|
||||
_description=GeneWeb
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
@@ -1,14 +0,0 @@
|
||||
application/x-gramps
|
||||
ext: grdb
|
||||
|
||||
application/x-gramps-xml
|
||||
ext: gramps
|
||||
|
||||
application/x-gramps-package
|
||||
ext: gpkg
|
||||
|
||||
application/x-gedcom
|
||||
ext: ged gedcom GED GEDCOM
|
||||
|
||||
application/x-geneweb
|
||||
ext: gw GW
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<calendar>
|
||||
<country _name="Bulgaria">
|
||||
<country name="Bulgaria">
|
||||
<date name="Нова Година" value="*/1/1" type="national" />
|
||||
<date name="Освобождение на България от Османско иго" value="*/3/3" type="national" />
|
||||
<date name="Ден на труда" value="*/5/1" type="national" />
|
||||
@@ -49,7 +49,7 @@
|
||||
<date name="Възнесение господне" value="2011/6/2" type="religious" />
|
||||
<date name="Възнесение господне" value="2012/5/24" type="religious" />
|
||||
</country>
|
||||
<country _name="Canada">
|
||||
<country name="Canada">
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="Groundhog Day" value="*/2/2" type="secular" />
|
||||
<date name="Valentine's Day" value="*/2/14" type="secular" />
|
||||
@@ -81,22 +81,7 @@
|
||||
<date name="Christmas" value="*/12/25" type="national" />
|
||||
<date name="Boxing Day" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country _name="Czech Republic">
|
||||
<date name="Nový rok" value="*/1/1" type="national" />
|
||||
<date name="Den obnovy samostatného českého státu" value="*/1/1" type="national" />
|
||||
<date name="Velikonoce" type="religious" value="> easter(y)" />
|
||||
<date name="Svátek práce" value="*/5/1" type="national" />
|
||||
<date name="Den osvobození od fašismu" value="*/5/8" type="national" />
|
||||
<date name="Den slovanských věrozvěstů Cyrila a Metoděje" value="*/7/5" type="national" />
|
||||
<date name="Den upálení mistra Jana Husa" value="*/7/6" type="national" />
|
||||
<date name="Den české státnosti" value="*/9/28" type="national" />
|
||||
<date name="Den vzniku samostatného československého státu" value="*/10/28" type="national" />
|
||||
<date name="Den boje za svobodu a demokracii" value="*/11/17" type="national" />
|
||||
<date name="Štědrý den" value="*/12/24" type="religious" />
|
||||
<date name="1. svátek vánoční" value="*/12/25" type="national" />
|
||||
<date name="2. svátek vánoční" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country _name="Chile">
|
||||
<country name="Chile">
|
||||
<date name="Año nuevo" value="*/1/1" type="national" />
|
||||
<date name="Viernes Santo" value="2007/4/6" type="religious" />
|
||||
<date name="Viernes Santo" value="2008/3/21" type="religious" />
|
||||
@@ -119,10 +104,10 @@
|
||||
<date name="Inmaculada Concepción" value="*/12/8" type="religious" />
|
||||
<date name="Navidad" value="*/12/25" type="national" />
|
||||
</country>
|
||||
<country _name="China">
|
||||
<country name="China">
|
||||
<date name="Chinese New Year" value="2006/1/29" type="national" />
|
||||
</country>
|
||||
<country _name="Croatia">
|
||||
<country name="Croatia">
|
||||
<date name="Nova godina" value="*/1/1" type="national" />
|
||||
<date name="Sveta tri kralja" value="*/1/6" type="national" />
|
||||
<date name="Uskrs" value="> easter(y)" type="national" />
|
||||
@@ -138,7 +123,22 @@
|
||||
<date name="Božić" value="*/12/25" type="national" />
|
||||
<date name="Sveti Stjepan" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country _name="England">
|
||||
<country name="Czech Republic">
|
||||
<date name="Nový rok" value="*/1/1" type="national" />
|
||||
<date name="Den obnovy samostatného českého státu" value="*/1/1" type="national" />
|
||||
<date name="Velikonoce" type="religious" value="> easter(y)" />
|
||||
<date name="Svátek práce" value="*/5/1" type="national" />
|
||||
<date name="Den osvobození od fašismu" value="*/5/8" type="national" />
|
||||
<date name="Den slovanských věrozvěstů Cyrila a Metoděje" value="*/7/5" type="national" />
|
||||
<date name="Den upálení mistra Jana Husa" value="*/7/6" type="national" />
|
||||
<date name="Den české státnosti" value="*/9/28" type="national" />
|
||||
<date name="Den vzniku samostatného československého státu" value="*/10/28" type="national" />
|
||||
<date name="Den boje za svobodu a demokracii" value="*/11/17" type="national" />
|
||||
<date name="Štědrý den" value="*/12/24" type="religious" />
|
||||
<date name="1. svátek vánoční" value="*/12/25" type="national" />
|
||||
<date name="2. svátek vánoční" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country name="England">
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="Bank Holiday" value="*/1/1" offset="+1" if="dow(y, m, d) == 7" type="national" />
|
||||
<date name="Bank Holiday" value="*/1/1" offset="+2" if="dow(y, m, d) == 6" type="national" />
|
||||
@@ -168,7 +168,7 @@
|
||||
<date name="Armistice Day" value="*/11/11" type="secular" />
|
||||
<date name="Remembrance Sunday" value="*/2/sun/nov" type="secular" />
|
||||
</country>
|
||||
<country _name="Finland">
|
||||
<country name="Finland">
|
||||
<date name="Loppiainen" value="*/1/6" type="religious" if="not(y>=1973)" />
|
||||
<date name="Loppiainen" value="*/1/6" offset="sat" type="religious" if="(y>=1973) and not(y>=1992)" />
|
||||
<date name="Loppiainen" value="*/1/6" type="religious" if="(y>=1992)" />
|
||||
@@ -262,7 +262,7 @@
|
||||
<date name="Jean Sibeliuksen päivä" value="*/12/8" type="national" if="(y>=2011)" />
|
||||
<date name="Uudenvuodenaatto" value="*/12/31" type="national" if="(y>=1846)" />
|
||||
</country>
|
||||
<country _name="France">
|
||||
<country name="France">
|
||||
<date name="Jour de l'an" value="*/1/1" type="national" />
|
||||
<date name="Fête du travail" value="*/5/1" type="national" />
|
||||
<date name="Victoire 1945" value="*/5/8" type="national" />
|
||||
@@ -298,7 +298,7 @@
|
||||
<date name="début Ramadan" value="2016/06/08" type="religious" />
|
||||
<date name="Saint Étienne (Alsace/Moselle)" value="*/12/26" type="religious" />
|
||||
</country>
|
||||
<country _name="Germany">
|
||||
<country name="Germany">
|
||||
<date name="Neujahr" type="national" value="*/1/1" />
|
||||
<date name="Hl. Drei Könige BW,BY,ST" type="religious" value="*/1/6" />
|
||||
<date name="Karfreitag" type="religious" value="> easter(y)" offset="-2" />
|
||||
@@ -315,7 +315,7 @@
|
||||
<date name="1. Weihnachtsfeiertag" type="religious" value="*/12/25" />
|
||||
<date name="2. Weihnachtsfeiertag" type="religious" value="*/12/26" />
|
||||
</country>
|
||||
<country _name="Japan">
|
||||
<country name="Japan">
|
||||
<date name="元日" value="*/1/1" />
|
||||
<date name="成人の日" value="*/2/mon/jan" />
|
||||
<date name="建国記念の日" value="*/2/11" />
|
||||
@@ -338,7 +338,96 @@
|
||||
<date name="天皇(明仁)即位記念" value="1990/11/12" />
|
||||
<date name="皇太子徳仁親王の結婚" value="1993/6/9" />
|
||||
</country>
|
||||
<country _name="Slovakia">
|
||||
<country name="Jewish Holidays">
|
||||
<date name="Purim" value="> passover(y)" offset="-30"/>
|
||||
<date name="Passover" value="> passover(y)" offset="0"/>
|
||||
<date name="2 of Passover" value="> passover(y)" offset="1"/>
|
||||
<date name="3 of Passover" value="> passover(y)" offset="2"/>
|
||||
<date name="4 of Passover" value="> passover(y)" offset="3"/>
|
||||
<date name="5 of Passover" value="> passover(y)" offset="4"/>
|
||||
<date name="6 of Passover" value="> passover(y)" offset="5"/>
|
||||
<date name="7 of Passover" value="> passover(y)" offset="6"/>
|
||||
<date name="Shavuot" value="> passover(y)" offset="50"/>
|
||||
<date name="Rosh Ha'Shana" value="> passover(y)" offset="163"/>
|
||||
<date name="Rosh Ha'Shana 2" value="> passover(y)" offset="164"/>
|
||||
<date name="Yom Kippur" value="> passover(y)" offset="172"/>
|
||||
<date name="Sukot" value="> passover(y)" offset="177"/>
|
||||
<date name="2 of Sukot" value="> passover(y)" offset="178"/>
|
||||
<date name="3 of Sukot" value="> passover(y)" offset="179"/>
|
||||
<date name="4 of Sukot" value="> passover(y)" offset="180"/>
|
||||
<date name="5 of Sukot" value="> passover(y)" offset="181"/>
|
||||
<date name="6 of Sukot" value="> passover(y)" offset="182"/>
|
||||
<date name="7 of Sukot" value="> passover(y)" offset="183"/>
|
||||
<date name="Simhat Tora" value="> passover(y)" offset="184"/>
|
||||
<date name="Hanuka" value="> hanuka(y)" offset="0"/>
|
||||
<date name="2 of Hanuka" value="> hanuka(y)" offset="1"/>
|
||||
<date name="3 of Hanuka" value="> hanuka(y)" offset="2"/>
|
||||
<date name="4 of Hanuka" value="> hanuka(y)" offset="3"/>
|
||||
<date name="5 of Hanuka" value="> hanuka(y)" offset="4"/>
|
||||
<date name="6 of Hanuka" value="> hanuka(y)" offset="5"/>
|
||||
<date name="7 of Hanuka" value="> hanuka(y)" offset="6"/>
|
||||
<date name="8 of Hanuka" value="> hanuka(y)" offset="7"/>
|
||||
</country>
|
||||
<country name="New Zealand">
|
||||
<date value="*/1/1" type="national" name="New Year's Day"/>
|
||||
<date value="*/1/2" type="national" name="Day After New Year's Day"/>
|
||||
<date value="*/1/1" type="national" offset="+1" name="New Years Day Holiday" if="dow(y, m, d) == 7"/>
|
||||
<date value="*/1/1" type="national" offset="+2" name="Day After New Years Day Holiday" if="dow(y, m, d) == 6"/>
|
||||
<date value="*/feb/6" type="national" name="Waitangi Day"/>
|
||||
<date value="> easter(y)" type="national" offset="-2" name="Good Friday"/>
|
||||
<date value="> easter(y)" type="national" offset="+1" name="Easter Monday"/>
|
||||
<date value="*/apr/25" type="national" name="ANZAC Day"/>
|
||||
<date value="*/-1/mon/jun" type="national" name="Queen's Birthday Holiday"/>
|
||||
<date value="*/-4/mon/oct" type="national" name="Labour Day"/>
|
||||
<date value="*/dec/25" type="national" name="Christmas Day"/>
|
||||
<date value="*/dec/26" type="national" name="Boxing Day"/>
|
||||
<date value="*/dec/25" type="national" offset="+2" name="Christmas Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
<date value="*/dec/26" type="national" offset="+2" name="Boxing Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
</country>
|
||||
<country name="Russia">
|
||||
<date value="*/1/7" type="religious" name="Рождество Христово" />
|
||||
<date value="*/1/19" type="religious" name="Крещение Господне" />
|
||||
<date value="*/2/23" type="national" name="День защитника" />
|
||||
<date value="*/3/8" type="national" name="Международный женский день" />
|
||||
<date value="*/5/1" type="national" name="День труда" />
|
||||
<date value="*/5/9" type="national" name="День Победы" />
|
||||
<date value="*/6/1" type="national" name="День защиты детей" />
|
||||
<date value="*/6/12" type="national" name="День России" />
|
||||
<date value="*/9/1" type="national" name="День знаний" />
|
||||
<date value="*/11/4" type="national" name="День народного единства" />
|
||||
<date value="*/12/31" offset="+2" type="national" name="Новый год" />
|
||||
</country>
|
||||
<country name="Serbia">
|
||||
<date value="*/1/1" type="national" name="Нова Година" />
|
||||
<date value="*/1/7" type="religious" name="Божић" />
|
||||
<date value="*/2/15" type="national" name="Дан државности Србије" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Велики петак" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Васкрс" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Васкрсни понедељак" />
|
||||
<date value="*/5/1" type="national" name="Празник рада" />
|
||||
<date value="*/11/11" type="national" name="Дан примирја" />
|
||||
<date value="*/1/27" type="religious" name="Свети Сава" />
|
||||
<date value="*/4/22" type="national" name="Дан сећања на жртве холокауста" />
|
||||
<date value="*/5/9" type="national" name="Дан победе" />
|
||||
<date value="*/6/28" type="religious" name="Видовдан" />
|
||||
<date value="*/10/21" type="national" name="Дан сећања на српске жртве у Другом светском рату" />
|
||||
</country>
|
||||
<country name="Serbia (Latin)">
|
||||
<date value="*/1/1" type="national" name="Nova godina" />
|
||||
<date value="*/1/7" type="religious" name="Božić" />
|
||||
<date value="*/2/15" type="national" name="Dan državnosti Srbije" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Veliki petak" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Vaskrs" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Vaskrsni ponedeljak" />
|
||||
<date value="*/5/1" type="national" name="Praznik rada" />
|
||||
<date value="*/11/11" type="national" name="Dan primirja" />
|
||||
<date value="*/1/27" type="religious" name="Sveti Sava" />
|
||||
<date value="*/4/22" type="national" name="Dan sećanja na žrtve holokausta" />
|
||||
<date value="*/5/9" type="national" name="Dan pobede" />
|
||||
<date value="*/6/28" type="religious" name="Vidovdan" />
|
||||
<date value="*/10/21" type="national" name="Dan sećanja na srpske žrtve u Drugom svetskom ratu" />
|
||||
</country>
|
||||
<country name="Slovakia">
|
||||
<date name="Deň vzniku Slovenskej republiky" value="*/1/1" type="national" />
|
||||
<date name="Zjavenie Pána (Traja králi)" value="*/1/6" type="religious" />
|
||||
<date name="Veľký piatok" value="> easter(y)" offset="-2" type="religious" />
|
||||
@@ -355,7 +444,7 @@
|
||||
<date name="Prvý sviatok vianočný" value="*/12/25" type="national" />
|
||||
<date name="Druhý sviatok vianočný" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country _name="Sweden">
|
||||
<country name="Sweden">
|
||||
<date name="Nyårsafton" value="*/12/31" type="national" />
|
||||
<date name="Trettondedag jul" value="*/1/6" type="religious" />
|
||||
<date name="Alla helgons dag" value="*/oct/31" offset="sat" type="religious" if="(y>=1953)" />
|
||||
@@ -382,7 +471,34 @@
|
||||
<date name="Midsommardagen" value="*/jun/24" type="religious" if="not(y>=1953)" />
|
||||
<date name="Fars dag" value="*/2/sun/nov" type="national" />
|
||||
</country>
|
||||
<country _name="United States of America">
|
||||
<country name="Ukraine">
|
||||
<date value="*/1/1" type="national" name="Новий Рік"/>
|
||||
<date value="*/1/6" type="religious" name="Святий Вечір"/>
|
||||
<date value="*/1/7" type="religious" name="Різдво"/>
|
||||
<date value="*/1/13" type="religious" name="Маланка"/>
|
||||
<date value="*/1/14" type="religious" name="Старий Новий рік, Щедрий вечір"/>
|
||||
<date value="*/1/19" type="religious" name="Водохреща"/>
|
||||
<date value="*/1/22" type="national" name="День Соборності України"/>
|
||||
<date value="*/2/14" type="secular" name="День закоханих"/>
|
||||
<date value="*/2/15" type="religious" name="Стрітення"/>
|
||||
<date value="*/3/8" type="secular" name="Міжнародний жіночий день"/>
|
||||
<date value="*/3/20" type="secular" name="Весняне Рівнодення"/>
|
||||
<date value="*/4/1" type="secular" name="День сміху"/>
|
||||
<date value="*/4/7" type="religious" name="Благовіщення"/>
|
||||
<date value="> julian_easter(y)" type="religious" name="Великдень"/>
|
||||
<date value="*/5/1" type="national" name="День Праці"/>
|
||||
<date value="*/6/21" type="secular" name="Весняне Сонцестояння"/>
|
||||
<date value="*/6/28" type="national" name="День Конституції України"/>
|
||||
<date value="*/7/7" type="religious" name="Івана Купала"/>
|
||||
<date value="*/8/19" type="religious" name="Спаса"/>
|
||||
<date value="*/8/24" type="national" name="День Незалежності України"/>
|
||||
<date value="*/9/22" type="secular" name="Осіннє Рівнодення"/>
|
||||
<date value="*/10/14" type="religious" name="Покрова, День Українського козацтва"/>
|
||||
<date value="*/12/13" type="religious" name="Андрія"/>
|
||||
<date value="*/12/19" type="religious" name="Миколая"/>
|
||||
<date value="*/12/21" type="secular" name="Осіннє Сонцестояння"/>
|
||||
</country>
|
||||
<country name="United States of America">
|
||||
<date name="New Year's Eve" value="*/12/31" type="national" />
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="ML Kings's Birthday" value="*/3/mon/jan" type="secular" />
|
||||
@@ -432,107 +548,4 @@
|
||||
<date name="Christmas" value="*/12/25" type="religious" />
|
||||
<date name="Kwanzaa begins" value="*/12/26" type="religious" />
|
||||
</country>
|
||||
<country _name="Jewish Holidays">
|
||||
<date _name="Purim" value="> passover(y)" offset="-30"/>
|
||||
<date _name="Passover" value="> passover(y)" offset="0"/>
|
||||
<date _name="2 of Passover" value="> passover(y)" offset="1"/>
|
||||
<date _name="3 of Passover" value="> passover(y)" offset="2"/>
|
||||
<date _name="4 of Passover" value="> passover(y)" offset="3"/>
|
||||
<date _name="5 of Passover" value="> passover(y)" offset="4"/>
|
||||
<date _name="6 of Passover" value="> passover(y)" offset="5"/>
|
||||
<date _name="7 of Passover" value="> passover(y)" offset="6"/>
|
||||
<date _name="Shavuot" value="> passover(y)" offset="50"/>
|
||||
<date _name="Rosh Ha'Shana" value="> passover(y)" offset="163"/>
|
||||
<date _name="Rosh Ha'Shana 2" value="> passover(y)" offset="164"/>
|
||||
<date _name="Yom Kippur" value="> passover(y)" offset="172"/>
|
||||
<date _name="Sukot" value="> passover(y)" offset="177"/>
|
||||
<date _name="2 of Sukot" value="> passover(y)" offset="178"/>
|
||||
<date _name="3 of Sukot" value="> passover(y)" offset="179"/>
|
||||
<date _name="4 of Sukot" value="> passover(y)" offset="180"/>
|
||||
<date _name="5 of Sukot" value="> passover(y)" offset="181"/>
|
||||
<date _name="6 of Sukot" value="> passover(y)" offset="182"/>
|
||||
<date _name="7 of Sukot" value="> passover(y)" offset="183"/>
|
||||
<date _name="Simhat Tora" value="> passover(y)" offset="184"/>
|
||||
<date _name="Hanuka" value="> hanuka(y)" offset="0"/>
|
||||
<date _name="2 of Hanuka" value="> hanuka(y)" offset="1"/>
|
||||
<date _name="3 of Hanuka" value="> hanuka(y)" offset="2"/>
|
||||
<date _name="4 of Hanuka" value="> hanuka(y)" offset="3"/>
|
||||
<date _name="5 of Hanuka" value="> hanuka(y)" offset="4"/>
|
||||
<date _name="6 of Hanuka" value="> hanuka(y)" offset="5"/>
|
||||
<date _name="7 of Hanuka" value="> hanuka(y)" offset="6"/>
|
||||
<date _name="8 of Hanuka" value="> hanuka(y)" offset="7"/>
|
||||
</country>
|
||||
<country _name="New Zealand">
|
||||
<date value="*/1/1" type="national" name="New Year's Day"/>
|
||||
<date value="*/1/2" type="national" name="Day After New Year's Day"/>
|
||||
<date value="*/1/1" type="national" offset="+1" name="New Years Day Holiday" if="dow(y, m, d) == 7"/>
|
||||
<date value="*/1/1" type="national" offset="+2" name="Day After New Years Day Holiday" if="dow(y, m, d) == 6"/>
|
||||
<date value="*/feb/6" type="national" name="Waitangi Day"/>
|
||||
<date value="> easter(y)" type="national" offset="-2" name="Good Friday"/>
|
||||
<date value="> easter(y)" type="national" offset="+1" name="Easter Monday"/>
|
||||
<date value="*/apr/25" type="national" name="ANZAC Day"/>
|
||||
<date value="*/-1/mon/jun" type="national" name="Queen's Birthday Holiday"/>
|
||||
<date value="*/-4/mon/oct" type="national" name="Labour Day"/>
|
||||
<date value="*/dec/25" type="national" name="Christmas Day"/>
|
||||
<date value="*/dec/26" type="national" name="Boxing Day"/>
|
||||
<date value="*/dec/25" type="national" offset="+2" name="Christmas Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
<date value="*/dec/26" type="national" offset="+2" name="Boxing Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
</country>
|
||||
<country _name="Ukraine">
|
||||
<date value="*/1/1" type="national" name="Новий Рік"/>
|
||||
<date value="*/1/6" type="religious" name="Святий Вечір"/>
|
||||
<date value="*/1/7" type="religious" name="Різдво"/>
|
||||
<date value="*/1/13" type="religious" name="Маланка"/>
|
||||
<date value="*/1/14" type="religious" name="Старий Новий рік, Щедрий вечір"/>
|
||||
<date value="*/1/19" type="religious" name="Водохреща"/>
|
||||
<date value="*/1/22" type="national" name="День Соборності України"/>
|
||||
<date value="*/2/14" type="secular" name="День закоханих"/>
|
||||
<date value="*/2/15" type="religious" name="Стрітення"/>
|
||||
<date value="*/3/8" type="secular" name="Міжнародний жіночий день"/>
|
||||
<date value="*/3/20" type="secular" name="Весняне Рівнодення"/>
|
||||
<date value="*/4/1" type="secular" name="День сміху"/>
|
||||
<date value="*/4/7" type="religious" name="Благовіщення"/>
|
||||
<date value="> julian_easter(y)" type="religious" name="Великдень"/>
|
||||
<date value="*/5/1" type="national" name="День Праці"/>
|
||||
<date value="*/6/21" type="secular" name="Весняне Сонцестояння"/>
|
||||
<date value="*/6/28" type="national" name="День Конституції України"/>
|
||||
<date value="*/7/7" type="religious" name="Івана Купала"/>
|
||||
<date value="*/8/19" type="religious" name="Спаса"/>
|
||||
<date value="*/8/24" type="national" name="День Незалежності України"/>
|
||||
<date value="*/9/22" type="secular" name="Осіннє Рівнодення"/>
|
||||
<date value="*/10/14" type="religious" name="Покрова, День Українського козацтва"/>
|
||||
<date value="*/12/13" type="religious" name="Андрія"/>
|
||||
<date value="*/12/19" type="religious" name="Миколая"/>
|
||||
<date value="*/12/21" type="secular" name="Осіннє Сонцестояння"/>
|
||||
</country>
|
||||
<country _name="Serbia">
|
||||
<date value="*/1/1" type="national" name="Нова Година" />
|
||||
<date value="*/1/7" type="religious" name="Божић" />
|
||||
<date value="*/2/15" type="national" name="Дан државности Србије" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Велики петак" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Васкрс" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Васкрсни понедељак" />
|
||||
<date value="*/5/1" type="national" name="Празник рада" />
|
||||
<date value="*/11/11" type="national" name="Дан примирја" />
|
||||
<date value="*/1/27" type="religious" name="Свети Сава" />
|
||||
<date value="*/4/22" type="national" name="Дан сећања на жртве холокауста" />
|
||||
<date value="*/5/9" type="national" name="Дан победе" />
|
||||
<date value="*/6/28" type="religious" name="Видовдан" />
|
||||
<date value="*/10/21" type="national" name="Дан сећања на српске жртве у Другом светском рату" />
|
||||
</country>
|
||||
<country _name="Serbia (Latin)">
|
||||
<date value="*/1/1" type="national" name="Nova godina" />
|
||||
<date value="*/1/7" type="religious" name="Božić" />
|
||||
<date value="*/2/15" type="national" name="Dan državnosti Srbije" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Veliki petak" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Vaskrs" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Vaskrsni ponedeljak" />
|
||||
<date value="*/5/1" type="national" name="Praznik rada" />
|
||||
<date value="*/11/11" type="national" name="Dan primirja" />
|
||||
<date value="*/1/27" type="religious" name="Sveti Sava" />
|
||||
<date value="*/4/22" type="national" name="Dan sećanja na žrtve holokausta" />
|
||||
<date value="*/5/9" type="national" name="Dan pobede" />
|
||||
<date value="*/6/28" type="religious" name="Vidovdan" />
|
||||
<date value="*/10/21" type="national" name="Dan sećanja na srpske žrtve u Drugom svetskom ratu" />
|
||||
</country>
|
||||
</calendar>
|
||||
+82
-14
@@ -20,6 +20,9 @@
|
||||
<code>SAMOA</code>
|
||||
<code>AP</code>
|
||||
</temple>
|
||||
<temple name="Arequipa Peru Temple">
|
||||
<code>AREQU</code>
|
||||
</temple>
|
||||
<temple name="Asuncion, Paraguay">
|
||||
<code>ASUNC</code>
|
||||
</temple>
|
||||
@@ -27,6 +30,9 @@
|
||||
<code>ATLAN</code>
|
||||
<code>AT</code>
|
||||
</temple>
|
||||
<temple name="Barranquilla Colombia Temple">
|
||||
<code>BARRA</code>
|
||||
</temple>
|
||||
<temple name="Baton Rouge, Louisiana">
|
||||
<code>BROUG</code>
|
||||
</temple>
|
||||
@@ -57,6 +63,9 @@
|
||||
<temple name="Bountiful, Utah">
|
||||
<code>BOUNT</code>
|
||||
</temple>
|
||||
<temple name="Brigham City Utah Temple">
|
||||
<code>BRIGH</code>
|
||||
</temple>
|
||||
<temple name="Brisbane, Australia">
|
||||
<code>BRISB</code>
|
||||
</temple>
|
||||
@@ -79,8 +88,12 @@
|
||||
<code>ALBR</code>
|
||||
</temple>
|
||||
<temple name="Cebu, Philippines">
|
||||
<code>CEBUP</code>
|
||||
<code>CEBU</code>
|
||||
</temple>
|
||||
<temple name="Cedar City Utah">
|
||||
<code>CEDAR</code>
|
||||
</temple>
|
||||
<temple name="Chicago, Illinois">
|
||||
<code>CHICA</code>
|
||||
<code>CH</code>
|
||||
@@ -94,15 +107,18 @@
|
||||
<temple name="Colonia Juarez, Chihuahua, Mexico">
|
||||
<code>COLJU</code>
|
||||
</temple>
|
||||
<temple name="Columbia, South Carolina">
|
||||
<code>COLSC</code>
|
||||
</temple>
|
||||
<temple name="Columbia River, Washington">
|
||||
<code>CRIVE</code>
|
||||
</temple>
|
||||
<temple name="Columbia, South Carolina">
|
||||
<code>COLSC</code>
|
||||
</temple>
|
||||
<temple name="Columbus, Ohio">
|
||||
<code>COLUM</code>
|
||||
</temple>
|
||||
<temple name="Concepción Chile">
|
||||
<code>CONCE</code>
|
||||
</temple>
|
||||
<temple name="Copenhagen, Denmark">
|
||||
<code>COPEN</code>
|
||||
</temple>
|
||||
@@ -129,6 +145,19 @@
|
||||
<temple name="Edmonton, Alberta">
|
||||
<code>EDMON</code>
|
||||
</temple>
|
||||
<temple name="Endowment House">
|
||||
<code>EHOUS</code>
|
||||
<code>EH</code>
|
||||
</temple>
|
||||
<temple name="Fort Collins Colorado">
|
||||
<code>FORTC</code>
|
||||
</temple>
|
||||
<temple name="Fort Lauderdale Florida">
|
||||
<code>FORTL</code>
|
||||
</temple>
|
||||
<temple name="Fortaleza Brazil">
|
||||
<code>FORTA</code>
|
||||
</temple>
|
||||
<temple name="Frankfurt, Germany">
|
||||
<code>FRANK</code>
|
||||
<code>FR</code>
|
||||
@@ -191,6 +220,9 @@
|
||||
<code>IFALL</code>
|
||||
<code>IF</code>
|
||||
</temple>
|
||||
<temple name="Indianapolis Indiana">
|
||||
<code>INDIA</code>
|
||||
</temple>
|
||||
<temple name="Johannesburg, South Africa">
|
||||
<code>JOHAN</code>
|
||||
<code>JO</code>
|
||||
@@ -202,10 +234,14 @@
|
||||
<temple name="Kansas City, Missouri">
|
||||
<code>KANSA</code>
|
||||
</temple>
|
||||
<temple name="Kinshasa Democratic Republic of the Congo">
|
||||
<code>KINSH</code>
|
||||
</temple>
|
||||
<temple name="Kona, Hawaii">
|
||||
<code>KONA</code>
|
||||
</temple>
|
||||
<temple name="Kiev, Ukraine">
|
||||
<code>KYIV</code>
|
||||
<code>KIEV</code>
|
||||
</temple>
|
||||
<temple name="Kirtland, Ohio">
|
||||
@@ -223,6 +259,9 @@
|
||||
<code>LIMA</code>
|
||||
<code>LI</code>
|
||||
</temple>
|
||||
<temple name="Lisbon Portugal">
|
||||
<code>LISBO</code>
|
||||
</temple>
|
||||
<temple name="Logan, Utah">
|
||||
<code>LOGAN</code>
|
||||
<code>LG</code>
|
||||
@@ -270,6 +309,9 @@
|
||||
<temple name="Merida, Mexico">
|
||||
<code>MERID</code>
|
||||
</temple>
|
||||
<temple name="Meridian Idaho">
|
||||
<code>MIDAH</code>
|
||||
</temple>
|
||||
<temple name="Mesa, Arizona">
|
||||
<code>ARIZO</code>
|
||||
<code>AZ</code>
|
||||
@@ -325,6 +367,7 @@
|
||||
<code>OKLAH</code>
|
||||
</temple>
|
||||
<temple name="Oquirrh Mountain, Utah">
|
||||
<code>OQUIR</code>
|
||||
<code>OMOUN</code>
|
||||
</temple>
|
||||
<temple name="Orlando, Florida">
|
||||
@@ -340,6 +383,12 @@
|
||||
<code>PAPEE</code>
|
||||
<code>TA</code>
|
||||
</temple>
|
||||
<temple name="Paris France">
|
||||
<code>PARIS</code>
|
||||
</temple>
|
||||
<temple name="Payson Utah">
|
||||
<code>PAYSO</code>
|
||||
</temple>
|
||||
<temple name="Perth, Australia">
|
||||
<code>PERTH</code>
|
||||
</temple>
|
||||
@@ -349,6 +398,9 @@
|
||||
<temple name="Phoenix, Arizona">
|
||||
<code>PHOEN</code>
|
||||
</temple>
|
||||
<temple name="Port-au-Prince Haiti">
|
||||
<code>PORTA</code>
|
||||
</temple>
|
||||
<temple name="Portland, Oregon">
|
||||
<code>PORTL</code>
|
||||
<code>PT</code>
|
||||
@@ -359,6 +411,9 @@
|
||||
<temple name="Preston, England">
|
||||
<code>PREST</code>
|
||||
</temple>
|
||||
<temple name="Provo City Center, Utah">
|
||||
<code>PROCC</code>
|
||||
</temple>
|
||||
<temple name="Provo, Utah">
|
||||
<code>PROVO</code>
|
||||
<code>PV</code>
|
||||
@@ -385,6 +440,7 @@
|
||||
<code>REXBU</code>
|
||||
</temple>
|
||||
<temple name="Rome, Italy">
|
||||
<code>ROMEI</code>
|
||||
<code>ROME</code>
|
||||
</temple>
|
||||
<temple name="Sacramento, California">
|
||||
@@ -394,12 +450,6 @@
|
||||
<code>SGEOR</code>
|
||||
<code>SG</code>
|
||||
</temple>
|
||||
<temple name="St. Louis, Missouri">
|
||||
<code>SLOUI</code>
|
||||
</temple>
|
||||
<temple name="St. Paul, Minnesota">
|
||||
<code>SPMIN</code>
|
||||
</temple>
|
||||
<temple name="Salt Lake City, Utah">
|
||||
<code>SLAKE</code>
|
||||
<code>SL</code>
|
||||
@@ -415,6 +465,7 @@
|
||||
<code>SJOSE</code>
|
||||
</temple>
|
||||
<temple name="San Salvador, El Salvador">
|
||||
<code>SANSA</code>
|
||||
<code>SSALV</code>
|
||||
</temple>
|
||||
<temple name="Santiago, Chile">
|
||||
@@ -428,6 +479,9 @@
|
||||
<code>SPAUL</code>
|
||||
<code>SP</code>
|
||||
</temple>
|
||||
<temple name="Sapporo Japan">
|
||||
<code>SAPPO</code>
|
||||
</temple>
|
||||
<temple name="Seattle, Washington">
|
||||
<code>SEATT</code>
|
||||
<code>SE</code>
|
||||
@@ -442,6 +496,15 @@
|
||||
<temple name="Spokane, Washington">
|
||||
<code>SPOKA</code>
|
||||
</temple>
|
||||
<temple name="St. Louis, Missouri">
|
||||
<code>SLOUI</code>
|
||||
</temple>
|
||||
<temple name="St. Paul, Minnesota">
|
||||
<code>SPMIN</code>
|
||||
</temple>
|
||||
<temple name="Star Valley Wyoming">
|
||||
<code>STARV</code>
|
||||
</temple>
|
||||
<temple name="Stockholm, Sweden">
|
||||
<code>STOCK</code>
|
||||
<code>ST</code>
|
||||
@@ -463,9 +526,15 @@
|
||||
<temple name="Tegucigalpa, Honduras">
|
||||
<code>TEGUC</code>
|
||||
</temple>
|
||||
<temple name="The Gila Valley Arizona">
|
||||
<code>GILAV</code>
|
||||
</temple>
|
||||
<temple name="The Hague, Netherlands">
|
||||
<code>HAGUE</code>
|
||||
</temple>
|
||||
<temple name="Tijuana Mexico">
|
||||
<code>TIJUA</code>
|
||||
</temple>
|
||||
<temple name="Tokyo, Japan">
|
||||
<code>TOKYO</code>
|
||||
<code>TK</code>
|
||||
@@ -474,16 +543,19 @@
|
||||
<code>TORON</code>
|
||||
<code>TORNO</code>
|
||||
<code>TR</code>
|
||||
</temple>
|
||||
<temple name="Trujillo, Peru">
|
||||
<code>TRUJI</code>
|
||||
</temple>
|
||||
<temple name="Tucson Arizona">
|
||||
<code>TUCSO</code>
|
||||
</temple>
|
||||
<temple name="Tuxtla Gutierrez, Mexico">
|
||||
<code>TGUTI</code>
|
||||
</temple>
|
||||
<temple name="Twin Falls, Idaho">
|
||||
<code>TFALL</code>
|
||||
<code>TWINF</code>
|
||||
<code>TFALL</code>
|
||||
</temple>
|
||||
<temple name="Vancouver, British Columbia">
|
||||
<code>VANCO</code>
|
||||
@@ -505,10 +577,6 @@
|
||||
<code>WINTE</code>
|
||||
<code>WQUAR</code>
|
||||
</temple>
|
||||
<temple name="Endowment House">
|
||||
<code>EHOUS</code>
|
||||
<code>EH</code>
|
||||
</temple>
|
||||
<temple name="President's Office">
|
||||
<code>POFFI</code>
|
||||
<code>PO</code>
|
||||
|
||||
+722
-501
File diff suppressed because it is too large
Load Diff
@@ -1278,7 +1278,7 @@
|
||||
<rel type="Unknown"/>
|
||||
<father hlink="_0000000b0000000b"/>
|
||||
<mother hlink="_0000002600000026"/>
|
||||
<childref hlink="_0000006f0000006f"/>
|
||||
<childref hlink="_0000006f0000006f" frel="Adopted" mrel="Foster"/>
|
||||
</family>
|
||||
<family handle="_0000001000000010" change="1198222526" id="F0014">
|
||||
<rel type="Unknown"/>
|
||||
|
||||
@@ -9,6 +9,12 @@ beg
|
||||
- h Hans_Peter.8 17/4/1904 #bp Rønne,_Bornholm,_Denmark 29/1/1977 #dp San_Francisco,_San_Francisco_Co.,_CA
|
||||
end
|
||||
|
||||
notes Hansdotter Anna.1
|
||||
beg
|
||||
******************************************************************890123456789
|
||||
******************************************************************89 123456789
|
||||
end notes
|
||||
|
||||
notes Smith Hjalmar.5
|
||||
beg
|
||||
BIOGRAPHY
|
||||
@@ -61,7 +67,7 @@ Some Bold Unicode Characters: ࣶǼЀج⿄㑝㵋
|
||||
Some Italic Unicode Characters: ࣶǼЀج⿄㑝㵋圛墉幵聟聦𐅉🚶🛈
|
||||
end notes
|
||||
|
||||
fam Smith Gus.6 +~1920 Michaels Evelyn.25 ~1897
|
||||
fam Smith Gus.6 +~1920 Michaels Evelyn.25 ~1897 0
|
||||
|
||||
fam Smith Hjalmar.5 +31/10/1927 #mp Reno,_Washoe_Co.,_NV Ohman Marjorie.26 3/6/1903 #bp Denver,_Denver_Co.,_CO,_Denver_Co.,_Colorado,_USA 22/6/1980 #dp Reno,_Washoe_Co.,_NV
|
||||
beg
|
||||
@@ -98,13 +104,18 @@ beg
|
||||
- h Martin.17 1794..1796 #bp Tommarp,_Kristianstad_Län,_Sweden #dp Sweden
|
||||
end
|
||||
|
||||
fam Willard Edwin.42 ~1886 +~1910 Smith Kirsti_Marie.2
|
||||
fam Willard Edwin.42 ~1886 0 +~1910 Smith Kirsti_Marie.2
|
||||
|
||||
fam Smith Magnes.38 +24/8/1884 #mp Rønne,_Bornholm,_Denmark Streiffert Anna.43 23/9/1860 #bp Hoya/Jona/Hoia,_Sweden 2/2/1927 #dp Rønne,_Bornholm,_Denmark
|
||||
|
||||
fam Tester The.14 + Tester Mrs.44 0
|
||||
beg
|
||||
- h Tom.45 0
|
||||
- h Tom.45 Von_Tester_y_tested 0
|
||||
- Fake.46 von_Person 1954 #bp Fremont,_Alameda_Co.,_CA
|
||||
- f Mary.47 0
|
||||
- f Martha.48 0
|
||||
- h John.49 0
|
||||
- h Mark.50 0
|
||||
end
|
||||
|
||||
notes Tester Mrs.44
|
||||
|
||||
+315
-655
File diff suppressed because it is too large
Load Diff
+52
-47
@@ -1,47 +1,52 @@
|
||||
Anna Hansdotter;;;;;2/10/1864-29/9/1945
|
||||
Keith Lloyd Smith;Lloyd Smith;Janis Green;;;11/8/1966
|
||||
Hans Peter Smith;Gustaf Smith;Anna Hansdotter;;;17/4/1904-29/1/1977
|
||||
Hanna Smith;Martin Smith0;Elna Jefferson;;;29/1/1821
|
||||
Herman Julius Nielsen;;;;;31/8/1889-1945
|
||||
Evelyn Michaels;;;;;1897
|
||||
Marjorie Lee Smith;Hjalmar Smith0;Marjorie Ohman;;;4/11/1934
|
||||
Gus Smith;Gustaf Smith;Anna Hansdotter;;;11/9/1897-21/10/1963
|
||||
Jennifer Anderson;;;;;5/11/1907-29/5/1985
|
||||
Lillie Harriet Jones;;;;;2/5/1910-26/6/1990
|
||||
John Hjalmar Smith;Hjalmar Smith0;Marjorie Ohman;;;30/1/1932
|
||||
Eric Lloyd Smith;Lloyd Smith;Janis Green;;;28/8/1963
|
||||
Amber Marie Smith;Edwin Smith;Janice Adams;;;12/4/1998
|
||||
Carl Emil Smith;Gustaf Smith;Anna Hansdotter;;;20/12/1899-28/1/1959
|
||||
Hjalmar Smith;Gustaf Smith;Anna Hansdotter;;;31/1/1893-25/9/1894
|
||||
Martin Smith;Martin Smith0;Elna Jefferson;;;19/11/1830-1899
|
||||
Astrid Shermanna Augusta Smith;Gustaf Smith;Anna Hansdotter;;;31/1/1889-21/12/1963
|
||||
Gustaf Smith, Sr.;Martin Smith;Kerstina Hansdotter;;;28/11/1862-23/7/1930
|
||||
Marta Ericsdotter;;;;;1775
|
||||
Kirsti Marie Smith;Gustaf Smith;Anna Hansdotter;;;15/12/1886-18/7/1966
|
||||
Ingeman Smith;;;;;1770
|
||||
Anna Streiffert;;;;;23/9/1860-2/2/1927
|
||||
Craig Peter Smith;Lloyd Smith;Janis Green;;;1966
|
||||
Magnes Smith;Martin Smith;Kerstina Hansdotter;;;6/10/1858-20/2/1910
|
||||
Janice Ann Adams;;;;;26/8/1965
|
||||
Marjorie Ohman;;;;;3/6/1903-22/6/1980
|
||||
Darcy Horne;;;;;2/7/1966
|
||||
Alice Paula Perkins;;;;;22/11/1933
|
||||
Lars Peter Smith;Eric Smith;Darcy Horne;;;16/9/1991
|
||||
Ingeman Smith0;Martin Smith0;Elna Jefferson;;;29/1/1826
|
||||
Lloyd Smith;Hans Smith;Lillie Jones;;;13/3/1935
|
||||
Elna Jefferson;;;;;14/9/1800-
|
||||
Edwin Michael Smith;John Smith;Alice Perkins;;;24/5/1961
|
||||
Kerstina Hansdotter;;;;;29/11/1832-1908
|
||||
Martin Smith0;Ingeman Smith;Marta Ericsdotter;;;1794-
|
||||
Marjorie Alice Smith0;John Smith;Alice Perkins;;;5/2/1960
|
||||
Janis Elaine Green;;;;;2/12/1935
|
||||
Mason Michael Smith;Edwin Smith;Janice Adams;;;26/6/1996
|
||||
Edwin Willard;;;;;1886
|
||||
Ingar Smith;Martin Smith0;Elna Jefferson;;;1823
|
||||
Hjalmar Smith0;Gustaf Smith;Anna Hansdotter;;;7/4/1895-26/6/1975
|
||||
Emil Smith;Martin Smith;Kerstina Hansdotter;;;27/9/1860
|
||||
雪 Ke 柯;Herman Nielsen;Astrid Smith;;;
|
||||
The Tester;Lloyd Smith;Janis Green;;;29/12/1954
|
||||
Mrs Tester;;;;;
|
||||
ピーター リチミシキスイミ;;;;;
|
||||
Tom Tester;The Tester;Mrs Tester;;;
|
||||
Anna Hansdotter;;;;;2/10/1864-29/9/1945
|
||||
Keith Lloyd Smith;Lloyd Smith;Janis Green;;;11/8/1966
|
||||
Hans Peter Smith;Gustaf Smith;Anna Hansdotter;;;17/4/1904-29/1/1977
|
||||
Hanna Smith;Martin Smith0;Elna Jefferson;;;29/1/1821
|
||||
Herman Julius Nielsen;;;;;31/8/1889-1945
|
||||
Evelyn Michaels;;;;;1897
|
||||
Marjorie Lee Smith;Hjalmar Smith0;Marjorie Ohman;;;4/11/1934
|
||||
Gus Smith;Gustaf Smith;Anna Hansdotter;;;11/9/1897-21/10/1963
|
||||
Jennifer Anderson;;;;;5/11/1907-29/5/1985
|
||||
Lillie Harriet Jones;;;;;2/5/1910-26/6/1990
|
||||
John Hjalmar Smith;Hjalmar Smith0;Marjorie Ohman;;;30/1/1932
|
||||
Eric Lloyd Smith;Lloyd Smith;Janis Green;;;28/8/1963
|
||||
Amber Marie Smith;Edwin Smith;Janice Adams;;;12/4/1998
|
||||
Carl Emil Smith;Gustaf Smith;Anna Hansdotter;;;20/12/1899-28/1/1959
|
||||
Hjalmar Smith;Gustaf Smith;Anna Hansdotter;;;31/1/1893-25/9/1894
|
||||
Martin Smith;Martin Smith0;Elna Jefferson;;;19/11/1830-1899
|
||||
Astrid Shermanna Augusta Smith;Gustaf Smith;Anna Hansdotter;;;31/1/1889-21/12/1963
|
||||
Gustaf Smith, Sr.;Martin Smith;Kerstina Hansdotter;;;28/11/1862-23/7/1930
|
||||
Marta Ericsdotter;;;;;1775
|
||||
Kirsti Marie Smith;Gustaf Smith;Anna Hansdotter;;;15/12/1886-18/7/1966
|
||||
Ingeman Smith;;;;;1770
|
||||
Anna Streiffert;;;;;23/9/1860-2/2/1927
|
||||
Craig Peter Smith;Lloyd Smith;Janis Green;;;1966
|
||||
Magnes Smith;Martin Smith;Kerstina Hansdotter;;;6/10/1858-20/2/1910
|
||||
Janice Ann Adams;;;;;26/8/1965
|
||||
Marjorie Ohman;;;;;3/6/1903-22/6/1980
|
||||
Darcy Horne;;;;;2/7/1966
|
||||
Lloyd Smith;Hans Smith;Lillie Jones;;;13/3/1935
|
||||
Alice Paula Perkins;;;;;22/11/1933
|
||||
Lars Peter Smith;Eric Smith;Darcy Horne;;;16/9/1991
|
||||
Elna Jefferson;;;;;14/9/1800-
|
||||
Edwin Michael Smith;John Smith;Alice Perkins;;;24/5/1961
|
||||
Kerstina Hansdotter;;;;;29/11/1832-1908
|
||||
Martin Smith0;Ingeman Smith;Marta Ericsdotter;;;1794-
|
||||
Ingeman Smith0;Martin Smith0;Elna Jefferson;;;29/1/1826
|
||||
Marjorie Alice Smith0;John Smith;Alice Perkins;;;5/2/1960
|
||||
Janis Elaine Green;;;;;2/12/1935
|
||||
Mason Michael Smith;Edwin Smith;Janice Adams;;;26/6/1996
|
||||
Edwin Willard;;;;;1886
|
||||
Ingar Smith;Martin Smith0;Elna Jefferson;;;1823
|
||||
Hjalmar Smith0;Gustaf Smith;Anna Hansdotter;;;7/4/1895-26/6/1975
|
||||
Emil Smith;Martin Smith;Kerstina Hansdotter;;;27/9/1860
|
||||
雪 Ke 柯;Herman Nielsen;Astrid Smith;;;
|
||||
ピーター リチミシキスイミ;;;;;
|
||||
The Tester;Lloyd Smith;Janis Green;;;29/12/1954
|
||||
Mrs Tester;;;;;
|
||||
Tom Von Tester y tested;The Tester;Mrs Tester;;;
|
||||
Fake von Person, I;The Tester;Mrs Tester;;;1954-
|
||||
Mary Tester;The Tester;Mrs Tester;;;
|
||||
Martha Tester;The Tester;Mrs Tester;;;
|
||||
John Tester;The Tester;Mrs Tester;;;
|
||||
Mark Tester;The Tester;Mrs Tester;;;
|
||||
|
||||
@@ -30,66 +30,65 @@
|
||||
[P0014],"Denver, Denver Co., CO","Denver, Denver Co., CO",City,39.7392,104.9903 W,,[P0024],
|
||||
|
||||
Person,Surname,Given,Call,Suffix,Prefix,Title,Gender,Birth date,Birth place,Birth source,Baptism date,Baptism place,Baptism source,Death date,Death place,Death source,Burial date,Burial place,Burial source,Note
|
||||
[I0030],Adams,Janice Ann,,,,,female,26 Aug 1965,"Fremont, Alameda Co., CA",,,,,,,,,,,
|
||||
[I0016],Anderson,Jennifer,,,,,female,5 Nov 1907,"Rønne, Bornholm, Denmark",,,,,29 May 1985,"San Francisco, San Francisco Co., CA",,,,,
|
||||
[I0025],Ericsdotter,Marta,,,,,female,about 1775,Sweden,,,,,,,,,,,
|
||||
[I0041],Green,Janis Elaine,,,,,female,2 Dec 1935,,,,,,,,,,,,
|
||||
[I0000],Hansdotter,Anna,,,,,female,2 Oct 1864,"Löderup, Malmöhus Län, Sweden",,,,,29 Sep 1945,"Sparks, Washoe Co., NV",,,,,
|
||||
[I0038],Hansdotter,Kerstina,,,,,female,29 Nov 1832,"Smestorp, Kristianstad Län, Sweden",,,,,before 1908,Sweden,,,,,
|
||||
[I0032],Horne,Darcy,,,,,female,2 Jul 1966,"Sacramento, Sacramento Co., CA",,,,,,,,,,,
|
||||
[I0036],Jefferson,Elna,,,,,female,14 Sep 1800,"Gladsax, Kristianstad Län, Sweden",,,,,,Sweden,,,,,
|
||||
[I0017],Jones,Lillie Harriet,,,,,female,2 May 1910,"Rønne, Bornholm, Denmark",,,,,26 Jun 1990,,,,,,
|
||||
[I0030],Adams,Janice Ann,,,,,female,1965-08-26,[P0013],,,,,,,,,,,
|
||||
[I0016],Anderson,Jennifer,,,,,female,1907-11-05,[P0003],,,,,1985-05-29,[P0002],,,,,
|
||||
[I0025],Ericsdotter,Marta,,,,,female,about 1775,[P0008],,,,,,,,,,,
|
||||
[I0041],Green,Janis Elaine,,,,,female,1935-12-02,,,,,,,,,,,,
|
||||
[I0000],Hansdotter,Anna,,,,,female,1864-10-02,[P0000],,,,,1945-09-29,[P0001],,,,,
|
||||
[I0038],Hansdotter,Kerstina,,,,,female,1832-11-29,[P0019],,,,,before 1908,[P0008],,,,,
|
||||
[I0032],Horne,Darcy,,,,,female,1966-07-02,[P0015],,,,,,,,,,,
|
||||
[I0036],Jefferson,Elna,,,,,female,1800-09-14,[P0004],,,,,,[P0008],,,,,
|
||||
[I0017],Jones,Lillie Harriet,,,,,female,1910-05-02,[P0003],,,,,1990-06-26,,,,,,
|
||||
[I0042],Ke 柯,雪,,,,,male,,,,,,,,,,,,,
|
||||
[I0013],Michaels,Evelyn,,,,,female,about 1897,,,,,,,,,,,,
|
||||
[I0012],Nielsen,Herman Julius,,,,,male,31 Aug 1889,"Rønne, Bornholm, Denmark",,,,,1945,,,,,,
|
||||
[I0031],Ohman,Marjorie,,,,,female,3 Jun 1903,"Denver, Denver Co., CO, Denver Co., Colorado, USA",,,,,22 Jun 1980,"Reno, Washoe Co., NV",,,,,
|
||||
[I0034],Perkins,Alice Paula,,,,,female,22 Nov 1933,"Sparks, Washoe Co., NV",,,,,,,,,,,
|
||||
[I0002],Smith,Amber Marie,,,,,female,12 Apr 1998,"Hayward, Alameda Co., CA",,,,,,,,,,,
|
||||
[I0023],Smith,Astrid Shermanna Augusta,,,,,female,31 Jan 1889,"Rønne, Bornholm, Denmark",,,,,21 Dec 1963,"San Francisco, San Francisco Co., CA",,,,,
|
||||
[I0020],Smith,Carl Emil,,,,,male,20 Dec 1899,"Rønne, Bornholm, Denmark",,,,,28 Jan 1959,"Reno, Washoe Co., NV",,,,,
|
||||
[I0029],Smith,Craig Peter,,,,,male,after 1966,"San Francisco, San Francisco Co., CA",,,,,,,,,,,
|
||||
[I0037],Smith,Edwin Michael,,,,,male,24 May 1961,"San Jose, Santa Clara Co., CA","Birth, Death and Marriage Records",,,,,,,,,,
|
||||
[I0009],Smith,Emil,,,,,male,27 Sep 1860,"Simrishamn, Kristianstad Län, Sweden",,,,,,,,,,,
|
||||
[I0019],Smith,Eric Lloyd,,,,Dr.,male,28 Aug 1963,"San Francisco, San Francisco Co., CA",,,,,,,,,,,
|
||||
[I0015],Smith,Gus,,,,,male,11 Sep 1897,"Rønne, Bornholm, Denmark",,,,,21 Oct 1963,"San Francisco, San Francisco Co., CA",,,,,
|
||||
[I0024],Smith,Gustaf,,Sr.,,,male,28 Nov 1862,"Grostorp, Kristianstad Län, Sweden",,,,,before 23 Jul 1930,"Sparks, Washoe Co., NV",,,,,
|
||||
[I0011],Smith,Hanna,,,,,female,29 Jan 1821,"Gladsax, Kristianstad Län, Sweden",,,,,,,,,,,
|
||||
[I0010],Smith,Hans Peter,,,,,male,17 Apr 1904,"Rønne, Bornholm, Denmark",Birth Records,,,,29 Jan 1977,"San Francisco, San Francisco Co., CA",,5 Feb 1977,"San Francisco, San Francisco Co., CA",findagrave.com,
|
||||
[I0021],Smith,Hjalmar,,,,,male,31 Jan 1893,"Rønne, Bornholm, Denmark",,,,,25 Sep 1894,"Rønne, Bornholm, Denmark",,,,,
|
||||
[I0008],Smith,Hjalmar,,,,,male,7 Apr 1895,"Rønne, Bornholm, Denmark",,3 Jun 1895,"Rønne Bornholm, Denmark",,26 Jun 1975,"Reno, Washoe Co., NV",,,,,
|
||||
[I0007],Smith,Ingar,,,,,female,after 1823,"Gladsax, Kristianstad Län, Sweden",,,,,,,,,,,
|
||||
[I0027],Smith,Ingeman,,,,,male,about 1770,Sweden,,,,,,,,,,,
|
||||
[I0004],Smith,Ingeman,,,,,male,29 Jan 1826,"Gladsax, Kristianstad Län, Sweden",,,,,,,,,,,
|
||||
[I0018],Smith,John Hjalmar,,,,,male,30 Jan 1932,"San Francisco, San Francisco Co., CA",,,,,,,,,,,
|
||||
[I0001],Smith,Keith Lloyd,,,,,male,11 Aug 1966,"San Francisco, San Francisco Co., CA",,,,,,,,,,,
|
||||
[I0026],Smith,Kirsti Marie,,,,,female,15 Dec 1886,"Rønne, Bornholm, Denmark",,,,,18 Jul 1966,"San Francisco, San Francisco Co., CA",,,,,
|
||||
[I0035],Smith,Lars Peter,,,,,male,16 Sep 1991,"Santa Rosa, Sonoma Co., CA",,,,,,,,,,,
|
||||
[I0033],Smith,Lloyd,,,,,male,13 Mar 1935,"San Francisco, San Francisco Co., CA",,,,,,,,,,,
|
||||
[I0003],Smith,Magnes,,,,,male,6 Oct 1858,"Simrishamn, Kristianstad Län, Sweden",,,,,20 Feb 1910,"Rønne, Bornholm, Denmark",,,,,
|
||||
[I0040],Smith,Marjorie Alice,,,,,female,5 Feb 1960,"San Jose, Santa Clara Co., CA",,,,,,,,,,,
|
||||
[I0014],Smith,Marjorie Lee,,,,,female,4 Nov 1934,"Reno, Washoe Co., NV",,,,,,,,,,,
|
||||
[I0022],Smith,Martin,,,,,male,19 Nov 1830,"Gladsax, Kristianstad Län, Sweden",,23 Nov 1830,"Gladsax, Kristianstad Län, Sweden",,between 1899 and 1905,Sweden,,,,,
|
||||
[I0039],Smith,Martin,,,,,male,between 1794 and 1796,"Tommarp, Kristianstad Län, Sweden",,,,,,Sweden,,,,,
|
||||
[I0005],Smith,Mason Michael,,,,,male,26 Jun 1996,"Hayward, Alameda Co., CA",,,,,,,,,,,
|
||||
[I0028],Streiffert,Anna,,,,,female,23 Sep 1860,"Hoya/Jona/Hoia, Sweden",,,,,2 Feb 1927,"Rønne, Bornholm, Denmark",,,,,
|
||||
[I0012],Nielsen,Herman Julius,,,,,male,1889-08-31,[P0003],,,,,1945,,,,,,
|
||||
[I0031],Ohman,Marjorie,,,,,female,1903-06-03,[P0014],,,,,1980-06-22,[P0005],,,,,
|
||||
[I0034],Perkins,Alice Paula,,,,,female,1933-11-22,[P0001],,,,,,,,,,,
|
||||
[I0002],Smith,Amber Marie,,,,,female,1998-04-12,[P0006],,,,,,,,,,,
|
||||
[I0023],Smith,Astrid Shermanna Augusta,,,,,female,1889-01-31,[P0003],,,,,1963-12-21,[P0002],,,,,
|
||||
[I0020],Smith,Carl Emil,,,,,male,1899-12-20,[P0003],,,,,1959-01-28,[P0005],,,,,
|
||||
[I0029],Smith,Craig Peter,,,,,male,after 1966,[P0002],,,,,,,,,,,
|
||||
[I0037],Smith,Edwin Michael,,,,,male,1961-05-24,[P0017],"Birth, Death and Marriage Records",,,,,,,,,,
|
||||
[I0009],Smith,Emil,,,,,male,1860-09-27,[P0012],,,,,,,,,,,
|
||||
[I0019],Smith,Eric Lloyd,,,,Dr.,male,1963-08-28,[P0002],,,,,,,,,,,
|
||||
[I0015],Smith,Gus,,,,,male,1897-09-11,[P0003],,,,,1963-10-21,[P0002],,,,,
|
||||
[I0024],Smith,Gustaf,,Sr.,,,male,1862-11-28,[P0009],,,,,before 1930-07-23,[P0001],,,,,
|
||||
[I0011],Smith,Hanna,,,,,female,1821-01-29,[P0004],,,,,,,,,,,
|
||||
[I0010],Smith,Hans Peter,,,,,male,1904-04-17,[P0003],Birth Records,,,,1977-01-29,[P0002],,1977-02-05,[P0002],findagrave.com,
|
||||
[I0021],Smith,Hjalmar,,,,,male,1893-01-31,[P0003],,,,,1894-09-25,[P0003],,,,,
|
||||
[I0008],Smith,Hjalmar,,,,,male,1895-04-07,[P0003],,1895-06-03,[P0021],,1975-06-26,[P0005],,,,,
|
||||
[I0007],Smith,Ingar,,,,,female,after 1823,[P0004],,,,,,,,,,,
|
||||
[I0027],Smith,Ingeman,,,,,male,about 1770,[P0008],,,,,,,,,,,
|
||||
[I0004],Smith,Ingeman,,,,,male,1826-01-29,[P0004],,,,,,,,,,,
|
||||
[I0018],Smith,John Hjalmar,,,,,male,1932-01-30,[P0002],,,,,,,,,,,
|
||||
[I0001],Smith,Keith Lloyd,,,,,male,1966-08-11,[P0002],,,,,,,,,,,
|
||||
[I0026],Smith,Kirsti Marie,,,,,female,1886-12-15,[P0003],,,,,1966-07-18,[P0002],,,,,
|
||||
[I0035],Smith,Lars Peter,,,,,male,1991-09-16,[P0016],,,,,,,,,,,
|
||||
[I0033],Smith,Lloyd,,,,,male,1935-03-13,[P0002],,,,,,,,,,,
|
||||
[I0003],Smith,Magnes,,,,,male,1858-10-06,[P0012],,,,,1910-02-20,[P0003],,,,,
|
||||
[I0040],Smith,Marjorie Alice,,,,,female,1960-02-05,[P0017],,,,,,,,,,,
|
||||
[I0014],Smith,Marjorie Lee,,,,,female,1934-11-04,[P0005],,,,,,,,,,,
|
||||
[I0022],Smith,Martin,,,,,male,1830-11-19,[P0004],,1830-11-23,[P0004],,between 1899 and 1905,[P0008],,,,,
|
||||
[I0039],Smith,Martin,,,,,male,between 1794 and 1796,[P0020],,,,,,[P0008],,,,,
|
||||
[I0005],Smith,Mason Michael,,,,,male,1996-06-26,[P0006],,,,,,,,,,,
|
||||
[I0028],Streiffert,Anna,,,,,female,1860-09-23,[P0011],,,,,1927-02-02,[P0003],,,,,
|
||||
[I0006],Willard,Edwin,,,,,male,about 1886,,,,,,,,,,,,
|
||||
[I0043],リチミシキスイミ,ピーター,,,,,male,,,,,,,,,,,,,
|
||||
|
||||
Marriage,Husband,Wife,Date,Place,Source,Note
|
||||
[F0000],[I0039],[I0036],about 1816,"Gladsax, Kristianstad Län, Sweden",,
|
||||
[F0001],[I0027],[I0025],about 1790,Sweden,,
|
||||
[F0000],[I0039],[I0036],about 1816,[P0004],,
|
||||
[F0001],[I0027],[I0025],about 1790,[P0008],,
|
||||
[F0002],[I0022],[I0038],about 1856,,,
|
||||
[F0003],[I0024],[I0000],27 Nov 1885,"Rønne, Bornholm, Denmark",,
|
||||
[F0003],[I0024],[I0000],1885-11-27,[P0003],,
|
||||
[F0004],[I0006],[I0026],about 1910,,,
|
||||
[F0005],[I0012],[I0023],30 Nov 1912,"Rønne, Bornholm, Denmark",,
|
||||
[F0006],[I0008],[I0031],31 Oct 1927,"Reno, Washoe Co., NV",,
|
||||
[F0005],[I0012],[I0023],1912-11-30,[P0003],,
|
||||
[F0006],[I0008],[I0031],1927-10-31,[P0005],,
|
||||
[F0007],[I0015],[I0013],about 1920,,,
|
||||
[F0008],[I0033],[I0041],10 Aug 1958,"San Francisco, San Francisco Co., CA",,
|
||||
[F0008],[I0033],[I0041],1958-08-10,[P0002],,
|
||||
[F0009],[I0010],[I0017],,,,
|
||||
[F0010],[I0019],[I0032],12 Jul 1986,"Woodland, Yolo Co., CA",,
|
||||
[F0011],[I0003],[I0028],24 Aug 1884,"Rønne, Bornholm, Denmark",,
|
||||
[F0012],[I0018],[I0034],4 Jun 1954,"Sparks, Washoe Co., NV",Marriage Certificae,
|
||||
[F0013],[I0037],[I0030],27 May 1995,"San Ramon, Conta Costa Co., CA",,
|
||||
[F0010],[I0019],[I0032],1986-07-12,[P0022],,
|
||||
[F0011],[I0003],[I0028],1884-08-24,[P0003],,
|
||||
[F0012],[I0018],[I0034],1954-06-04,[P0001],Marriage Certificae,
|
||||
[F0013],[I0037],[I0030],1995-05-27,[P0023],,
|
||||
[F0014],[I0010],[I0016],,,,
|
||||
|
||||
Family,Child
|
||||
|
||||
|
@@ -1,12 +1,12 @@
|
||||
0 HEAD
|
||||
1 SOUR Gramps
|
||||
2 VERS 5.0.2
|
||||
2 VERS 5.1.2
|
||||
2 NAME Gramps
|
||||
1 DATE 31 JUL 2019
|
||||
2 TIME 10:58:33
|
||||
1 DATE 7 JAN 2020
|
||||
2 TIME 13:39:43
|
||||
1 SUBM @SUBM@
|
||||
1 FILE C:\Users\prc\AppData\Roaming\gramps\temp\exp_sample_ged.ged
|
||||
1 COPR Copyright (c) 2019 Alex Roitman,,,.
|
||||
1 COPR Copyright (c) 2020 Alex Roitman,,,.
|
||||
1 GEDC
|
||||
2 VERS 5.5.1
|
||||
2 FORM LINEAGE-LINKED
|
||||
@@ -629,8 +629,12 @@
|
||||
2 TYPE Birth of Lloyd Smith
|
||||
2 DATE 13 MAR 1935
|
||||
2 PLAC San Francisco, San Francisco Co., CA
|
||||
1 ADOP Y
|
||||
2 FAMC @F0009@
|
||||
3 ADOP HUSB
|
||||
1 FAMC @F0009@
|
||||
2 PEDI birth
|
||||
2 _FREL Adopted
|
||||
2 _MREL Foster
|
||||
1 FAMS @F0008@
|
||||
1 CHAN
|
||||
2 DATE 4 SEP 2016
|
||||
@@ -907,7 +911,7 @@
|
||||
2 DATE I think 1970 to 1971
|
||||
2 PLAC San Francisco, San Francisco Co., CA
|
||||
1 SLGC
|
||||
2 DATE EST ABT 1999
|
||||
2 DATE ABT 1999
|
||||
2 FAMC @F0016@
|
||||
2 TEMP DENVE
|
||||
2 PLAC Denver, Denver Co., CO, Denver Co., Colorado, USA
|
||||
@@ -1040,7 +1044,7 @@
|
||||
2 SURN Tester
|
||||
1 SEX M
|
||||
1 FAMC @F0016@
|
||||
2 PEDI Unknown
|
||||
2 PEDI Sponsored
|
||||
1 CHAN
|
||||
2 DATE 29 OCT 2016
|
||||
3 TIME 16:27:59
|
||||
@@ -1420,7 +1424,7 @@
|
||||
0 @N0018@ NOTE Another Citation Note
|
||||
0 @N0019@ NOTE A bad photo for sure
|
||||
0 @O0000@ OBJE
|
||||
1 FILE c:\users\prc\workspace\grampsm\main\data\tests\O0.jpg
|
||||
1 FILE d:\users\prc\documents\gramps\data\tests\O0.jpg
|
||||
2 FORM jpg
|
||||
2 TITL Michael O'Toole 2015-11
|
||||
1 NOTE @N0019@
|
||||
|
||||
@@ -83,6 +83,8 @@
|
||||
2 DATE 11 AUG 1966
|
||||
2 PLAC San Francisco, San Francisco Co., CA
|
||||
1 FAMC @F8@
|
||||
2 _FREL Adopted
|
||||
2 _MREL Foster
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
3 TIME 01:35:26
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd">
|
||||
<database xmlns="http://gramps-project.org/xml/1.7.1/">
|
||||
<header>
|
||||
<created date="2019-07-31" version="5.0.2"/>
|
||||
<created date="1999-12-25" version="5.1.3"/>
|
||||
<researcher>
|
||||
<resname>Alex Roitman,,,</resname>
|
||||
<resaddr>Not Provided</resaddr>
|
||||
@@ -1134,7 +1134,7 @@
|
||||
<mother hlink="_000000b6000000b6"/>
|
||||
<eventref hlink="_000000e3000000e3" role="Family"/>
|
||||
<childref hlink="_0000004800000048" mrel="Adopted" frel="Adopted"/>
|
||||
<childref hlink="_0000001900000019"/>
|
||||
<childref hlink="_0000001900000019" mrel="Foster" frel="Adopted"/>
|
||||
<childref hlink="_0000007b0000007b" mrel="Adopted" frel="Adopted"/>
|
||||
<noteref hlink="_000000e4000000e4"/>
|
||||
</family>
|
||||
@@ -1302,7 +1302,7 @@
|
||||
</reporef>
|
||||
</source>
|
||||
<source handle="_0000008500000085" change="1" id="S0000">
|
||||
<stitle>@S0@</stitle>
|
||||
<stitle>Marriage Certificae</stitle>
|
||||
<noteref hlink="_000000e7000000e7"/>
|
||||
<reporef hlink="_000000e6000000e6" callno="what-321-ever" medium="Photo"/>
|
||||
</source>
|
||||
@@ -1566,8 +1566,8 @@ Filename omitted Line 48:
|
||||
<note handle="_0000003d0000003d" change="1" id="N0012" type="GEDCOM import">
|
||||
<text>Records not imported into INDI (individual) Gramps ID I0016:
|
||||
|
||||
Warn: ADDR overwritten Line 204: 3 ADR1 456 Main St again
|
||||
ADDR element ignored '459 Main St.' Line 202: 2 ADDR 459 Main St., The Village, San Francisco, CA, USA
|
||||
Warn: ADDR overwritten Line 206: 3 ADR1 456 Main St again
|
||||
ADDR element ignored '459 Main St.' Line 204: 2 ADDR 459 Main St., The Village, San Francisco, CA, USA
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="304"/>
|
||||
@@ -1579,7 +1579,7 @@ ADDR element ignored '459 Main St.' Line 202:
|
||||
<note handle="_0000004700000047" change="1" id="N0014" type="GEDCOM import">
|
||||
<text>Records not imported into INDI (individual) Gramps ID I0018:
|
||||
|
||||
Tag recognized but not supported Line 245: 2 TYPE first generaton
|
||||
Tag recognized but not supported Line 247: 2 TYPE first generaton
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="165"/>
|
||||
@@ -1611,7 +1611,7 @@ Company. He enlisted in the army at Sparks 7 December 1917 and served as a Corpo
|
||||
<note handle="_000000cf000000cf" change="1" id="N0021" type="GEDCOM import">
|
||||
<text>Records not imported into FAM (family) Gramps ID F0010:
|
||||
|
||||
Tag recognized but not supported Line 863: 2 _STAT
|
||||
Tag recognized but not supported Line 865: 2 _STAT
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="146"/>
|
||||
@@ -1620,8 +1620,8 @@ Tag recognized but not supported Line 863:
|
||||
<note handle="_000000d4000000d4" change="1" id="N0022" type="GEDCOM import">
|
||||
<text>Records not imported into FAM (family) Gramps ID F0011:
|
||||
|
||||
Could not import Magnes&Anna_smiths_marr_cert.jpg Line 878: 3 OBJE
|
||||
Could not import Magnes&Anna_smiths_marr_cert.jpg Line 881: 2 OBJE
|
||||
Could not import Magnes&Anna_smiths_marr_cert.jpg Line 880: 3 OBJE
|
||||
Could not import Magnes&Anna_smiths_marr_cert.jpg Line 883: 2 OBJE
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="233"/>
|
||||
@@ -1630,7 +1630,7 @@ Could not import Magnes&Anna_smiths_marr_cert.jpg Line 8
|
||||
<note handle="_000000d9000000d9" change="1" id="N0023" type="GEDCOM import">
|
||||
<text>Records not imported into FAM (family) Gramps ID F0012:
|
||||
|
||||
Could not import John&Alice_smiths_marr_cert.jpg Line 905: 1 OBJE
|
||||
Could not import John&Alice_smiths_marr_cert.jpg Line 907: 1 OBJE
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="145"/>
|
||||
@@ -1639,7 +1639,7 @@ Could not import John&Alice_smiths_marr_cert.jpg Line 9
|
||||
<note handle="_000000e4000000e4" change="1" id="N0024" type="GEDCOM import">
|
||||
<text>Records not imported into FAM (family) Gramps ID F0008:
|
||||
|
||||
Tag recognized but not supported Line 1005: 1 ADDR 123 Main st, Grantville, Virginia, USA
|
||||
Tag recognized but not supported Line 1007: 1 ADDR 123 Main st, Grantville, Virginia, USA
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="183"/>
|
||||
@@ -1663,8 +1663,8 @@ Tag recognized but not supported Line 1005:
|
||||
<note handle="_000000ee000000ee" change="1" id="N0030" type="GEDCOM import">
|
||||
<text>Records not imported into SOUR (source) Gramps ID S0003:
|
||||
|
||||
Tag recognized but not supported Line 1045: 1 DATA
|
||||
Skipped subordinate line Line 1046: 2 AGNC NYC Public Library
|
||||
Tag recognized but not supported Line 1047: 1 DATA
|
||||
Skipped subordinate line Line 1048: 2 AGNC NYC Public Library
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="252"/>
|
||||
@@ -1679,9 +1679,9 @@ Skipped subordinate line Line 1046:
|
||||
<note handle="_000000f5000000f5" change="1" id="N0033" type="GEDCOM import">
|
||||
<text>Records not imported into REPO (repository) Gramps ID R0003:
|
||||
|
||||
REFN ignored Line 1075: 3 REFN blah blah
|
||||
Skipped subordinate line Line 1076: 4 TYPE who knows
|
||||
Could not import Attic_photo.jpg Line 1079: 3 OBJE
|
||||
REFN ignored Line 1077: 3 REFN blah blah
|
||||
Skipped subordinate line Line 1078: 4 TYPE who knows
|
||||
Could not import Attic_photo.jpg Line 1081: 3 OBJE
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="344"/>
|
||||
@@ -1690,7 +1690,7 @@ Could not import Attic_photo.jpg Line 1079:
|
||||
<note handle="_000000f6000000f6" change="1" id="N0034" type="GEDCOM import">
|
||||
<text>Records not imported into Top Level:
|
||||
|
||||
Unknown tag Line 1106: 0 XXX an unknown token at level 0
|
||||
Unknown tag Line 1108: 0 XXX an unknown token at level 0
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="152"/>
|
||||
@@ -1699,13 +1699,13 @@ Unknown tag Line 1106:
|
||||
<note handle="_000000f8000000f8" change="1" id="N0035" type="GEDCOM import">
|
||||
<text>Records not imported into Top Level:
|
||||
|
||||
Unknown tag Line 1109: 1 @X1@ XXX and unknown token xref definition
|
||||
Unknown tag Line 1111: 1 @X1@ XXX and unknown token xref definition
|
||||
</text>
|
||||
<style name="fontface" value="Monospace">
|
||||
<range start="0" end="163"/>
|
||||
</style>
|
||||
</note>
|
||||
<note handle="_000000f9000000f9" change="1564588949" id="N0036" type="General">
|
||||
<note handle="_000000f9000000f9" change="1591544255" id="N0036" type="General">
|
||||
<text>Objects referenced by this note were missing in a file imported on 12/25/1999 12:00:00 AM.</text>
|
||||
</note>
|
||||
</notes>
|
||||
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tips>
|
||||
|
||||
<tip number="1"><b>Working with Dates</b><br/>A range of dates can be given by using the format "between January 4, 2000 and March 20, 2003". You can also indicate the level of confidence in a date and even choose between seven different calendars. Try the button next to the date field in the Events Editor.</tip>
|
||||
|
||||
<tip number="2"><b>Editing Objects</b><br/>In most cases double clicking on a name, source, place or media entry will bring up a window to allow you to edit the object. Note that the result can be dependent on context. For example, in the Family View clicking on a parent or child will bring up the Relationship Editor.</tip>
|
||||
|
||||
<tip number="3"><b>Adding Images</b><br/>An image can be added to any gallery or the Media View by dragging and dropping it from a file manager or a web browser. Actually you can add any type of file like this, useful for scans of documents and other digital sources.</tip>
|
||||
|
||||
<tip number="4"><b>Ordering Children in a Family</b><br/>The birth order of children in a family can be set by using drag and drop. This order is preserved even when they do not have birth dates.</tip>
|
||||
|
||||
<tip number="5"><b>Talk to Relatives Before It Is Too Late</b><br/>Your oldest relatives can be your most important source of information. They usually know things about the family that haven't been written down. They might tell you nuggets about people that may one day lead to a new avenue of research. At the very least, you will get to hear some great stories. Don't forget to record the conversations!</tip>
|
||||
|
||||
<tip number="7"><b>Filtering People</b><br/>In the People View, you can 'filter' individuals based on many criteria. To define a new filter go to "Edit > Person Filter Editor". There you can name your filter and add and combine rules using the many preset rules. For example, you can define a filter to find all adopted people in the family tree. People without a birth date mentioned can also be filtered. To get the results save your filter and select it at the bottom of the Filter Sidebar, then click Apply. If the Filter Sidebar is not visible, select View > Filter.</tip>
|
||||
|
||||
<tip number="8"><b>Inverted Filtering</b><br/>Filters can easily be reversed by using the 'invert' option. For instance, by inverting the 'People with children' filter you can select all people without children.</tip>
|
||||
|
||||
<tip number="9"><b>Locating People</b><br/>By default, each surname in the People View is listed only once. By clicking on the arrow to the left of a name, the list will expand to show all individuals with that last name. To locate any Family Name from a long list, select a Family Name (not a person) and start typing. The view will jump to the first Family Name matching the letters you enter.</tip>
|
||||
|
||||
<tip number="10"><b>The Family View</b><br/>The Family View is used to display a typical family unit as two parents and their children.</tip>
|
||||
|
||||
<tip number="11"><b>Changing the Active Person</b><br/>Changing the Active Person in views is easy. In the Relationship view just click on anyone. In the Ancestry View doubleclick on the person or right click to select any of their spouses, siblings, children or parents.</tip>
|
||||
|
||||
<tip number="12"><b>Who Was Born When?</b><br/>Under "Tools > Analysis and exploration > Compare Individual Events..." you can compare the data of individuals in your database. This is useful, say, if you wish to list the birth dates of everyone in your database. You can use a custom filter to narrow the results.</tip>
|
||||
|
||||
<tip number="13"><b>Gramps Tools</b><br/>Gramps comes with a rich set of tools. These allow you to undertake operations such as checking the database for errors and consistency. There are research and analysis tools such as event comparison, finding duplicate people, interactive descendant browser, and many others. All tools can be accessed through the "Tools" menu.</tip>
|
||||
|
||||
<tip number="14"><b>Calculating Relationships</b><br/>To check if two people in the database are related (by blood, not marriage) try the tool under "Tools > Utilities > Relationship Calculator...". The exact relationship as well as all common ancestors are reported.</tip>
|
||||
|
||||
<tip number="15"><b>SoundEx can help with family research</b><br/>SoundEx solves a long standing problem in genealogy, how to handle spelling variations. The SoundEx Gramplet takes a surname and generates a simplified form that is equivalent for similar sounding names. Knowing the SoundEx Code for a surname is very helpful for researching Census Data files (microfiche) at a library or other research facility. To view the SoundEx codes for surnames in your database, add the SoundEx Gramplet.</tip>
|
||||
|
||||
<tip number="16"><b>Setting Your Preferences</b><br/>"Edit > Preferences..." lets you modify a number of settings, such as the path to your media files, and allows you to adjust many aspects of the Gramps presentation to your needs. Each separate view can also be configured under "View > Configure View..."</tip>
|
||||
|
||||
<tip number="17"><b>Gramps Reports</b><br/>Gramps offers a wide variety of reports. The Graphical Reports and Graphs can present complex relationships easily and the Text Reports are particularly useful if you want to send the results of your family tree to members of the family via email. If you're ready to make a website for your family tree then there's a report for that as well.</tip>
|
||||
|
||||
<tip number="18"><b>Starting a New Family Tree</b><br/>A good way to start a new family tree is to enter all the members of the family into the database using the Person View (use "Edit > Add..." or click on the Add a new person button from the People View). Then go to the Relationship View and create relationships between people.</tip>
|
||||
|
||||
<tip number="19"><b>What's That For?</b><br/>Unsure what a button does? Simply hold the mouse over a button and a tooltip will appear.</tip>
|
||||
|
||||
<tip number="20"><b>Unsure of a Date?</b><br/>If you're unsure about the date an event occurred, Gramps allows you to enter a wide range of date formats based on a guess or an estimate. For instance, "about 1908" is a valid entry for a birth date in Gramps. Click the Date button next to the date field and see the Gramps Manual to learn more.</tip>
|
||||
|
||||
<tip number="21"><b>Duplicate Entries</b><br/>"Tools > Database Processing > Find Possible Duplicate People..." allows you to locate (and merge) entries of the same person entered more than once in the database.</tip>
|
||||
|
||||
<tip number="22"><b>Merging Entries</b><br/>The function "Edit > Compare and Merge..." allows you to combine separately listed people into one. Select the second entry by holding the Control key as you click. This is very useful for combining two databases with overlapping people, or combining erroneously entered differing names for one individual. This also works for the Places, Sources and Repositories views.</tip>
|
||||
|
||||
<tip number="23"><b>Organising the Views</b><br/>Many of the views can present your data as either a hierarchical tree or as a simple list. Each view can also be configured to the way you like it. Have a look to the right of the top toolbar or under the "View" menu.</tip>
|
||||
|
||||
<tip number="24"><b>Navigating Back and Forward</b><br/>Gramps maintains a list of previous active objects such as People and Events. You can move forward and backward through the list using "Go > Forward" and "Go > Back" or the arrow buttons.</tip>
|
||||
|
||||
<tip number="25"><b>Keyboard Shortcuts</b><br/>Tired of having to take your hand off the keyboard to use the mouse? Many functions in Gramps have keyboard shortcuts. If one exists for a function it is displayed on the right side of the menu.</tip>
|
||||
|
||||
<tip number="26"><b>Read the Manual</b><br/>Don't forget to read the Gramps manual, "Help > User Manual". The developers have worked hard to make most operations intuitive but the manual is full of information that will make your time spent on genealogy more productive.</tip>
|
||||
|
||||
<tip number="27"><b>Adding Children</b><br/>To add children in Gramps there are two options. You can find one of their parents in the Families View and open the family. Then choose to create a new person or add an existing person. You can also add children (or siblings) from inside the Family Editor.</tip>
|
||||
|
||||
<tip number="28"><b>Editing the Parent-Child Relationship</b><br/> You can edit the relationship of a child to its parents by double clicking the child in the Family Editor. Relationships can be any of Adopted, Birth, Foster, None, Sponsored, Stepchild and Unknown.</tip>
|
||||
|
||||
<tip number="29"><b>Show All Checkbutton</b><br/>When adding an existing person as a spouse, the list of people shown is filtered to display only people who could realistically fit the role (based on dates in the database). In case Gramps is wrong in making this choice, you can override the filter by checking the Show All checkbutton.</tip>
|
||||
|
||||
<tip number="31"><b>Improving Gramps</b><br/>Users are encouraged to request enhancements to Gramps. Requesting an enhancement can be done either through the gramps-users or gramps-devel mailing lists, or by going to https://gramps-project.org/bugs/ and creating a Feature Request. Filing a Feature Request is preferred but it can be good to discuss your ideas on the email lists.</tip>
|
||||
|
||||
<tip number="32"><b>Gramps Mailing Lists</b><br/>Want answers to your questions about Gramps? Check out the gramps-users email list. Many helpful people are on the list, so you're likely to get an answer quickly. If you have questions related to the development of Gramps, try the gramps-devel list. You can see the lists by selecting "Help > Gramps Mailing Lists".</tip>
|
||||
|
||||
<tip number="33"><b>Contributing to Gramps</b><br/>Want to help with Gramps but can't write programs? Not a problem! A project as large as Gramps requires people with a wide variety of skills. Contributions can be anything from writing documentation to testing development versions and helping with the web site. Start by subscribing to the Gramps developers mailing list, gramps-devel, and introducing yourself. Subscription information can be found at "Help > Gramps Mailing Lists"</tip>
|
||||
|
||||
<tip number="34"><b>So What's in a Name?</b><br/>The name Gramps was suggested to the original developer, Don Allingham, by his father. It stands for <i>Genealogical Research and Analysis Management Program System</i>. It is a full-featured genealogy program letting you store, edit, and research genealogical data. The Gramps database back end is so robust that some users are managing genealogies containing hundreds of thousands of people.</tip>
|
||||
|
||||
<tip number="36"><b>Bookmarking Individuals</b><br/>The Bookmarks menu is a convenient place to store the names of frequently used individuals. Selecting a bookmark will make that person the Active Person. To bookmark someone make them the Active Person then go to "Bookmarks > Add Bookmark" or press Ctrl+D. You can also bookmark most of the other objects.</tip>
|
||||
|
||||
<tip number="37"><b>Incorrect Dates</b><br/>Everyone occasionally enters dates with an invalid format. Incorrect date formats will show up in Gramps with a either a reddish background or a red dot on the right edge of the field. You can fix the date using the Date Selection dialog which can be opened by clicking on the date button. The format of the date is set under "Edit > Preferences > Display".</tip>
|
||||
|
||||
<tip number="38"><b>Listing Events</b><br/>Events are added using the editor opened with "Person > Edit Person > Events". There is a long list of preset event types. You can add your own event types by typing in the text field, they will be added to the available events, but not translated.</tip>
|
||||
|
||||
<tip number="39"><b>Managing Names</b><br/>It is easy to manage people with several names in Gramps. In the Person Editor select the Names tab. You can add names of different types and set the preferred name by dragging it to the Preferred Name section.</tip>
|
||||
|
||||
<tip number="40"><b>Ancestor View</b><br/>The Ancestry View displays a traditional pedigree chart. Hold the mouse over an individual to see more information about them or right click on an individual to access other family members and settings. Play with the settings to see the different options.</tip>
|
||||
|
||||
<tip number="41"><b>Managing Sources</b><br/>The Sources View shows a list of all sources in a single window. From here you can edit your sources, merge duplicates and see which individuals reference each source. You can use filters to group your sources.</tip>
|
||||
|
||||
<tip number="42"><b>Managing Places</b><br/>The Places View shows a list of all places in the database. The list can be sorted by a number of different criteria, such as City, County or State.</tip>
|
||||
|
||||
<tip number="43"><b>Media View</b><br/>The Media View shows a list of all media entered in the database. These can be graphic images, videos, sound clips, spreadsheets, documents, and more.</tip>
|
||||
|
||||
<tip number="44"><b>Filters</b><br/>Filters allow you to limit the people seen in the People View. In addition to the many preset filters, Custom Filters can be created limited only by your imagination. Custom filters are created from "Edit > Person Filter Editor".</tip>
|
||||
|
||||
<tip number="45"><b>The GEDCOM File Format</b><br/>Gramps allows you to import from, and export to, the GEDCOM format. There is extensive support for the industry standard GEDCOM version 5.5, so you can exchange Gramps information to and from users of most other genealogy programs. Filters exist that make importing and exporting GEDCOM files trivial.</tip>
|
||||
|
||||
<tip number="46"><b>The Gramps XML Package</b><br/>You can export your Family Tree as a Gramps XML Package. This is a compressed file containing your family tree data and all the media files connected to the database (images for example). This file is completely portable so is useful for backups or sharing with other Gramps users. This format has the key advantage over GEDCOM that no information is ever lost when exporting and importing.</tip>
|
||||
|
||||
<tip number="48"><b>Web Family Tree Format</b><br/>Gramps can export data to the Web Family Tree (WFT) format. This format allows a family tree to be displayed online using a single file, instead of many html files.</tip>
|
||||
|
||||
<tip number="49"><b>Making a Genealogy Website</b><br/>You can easily export your family tree to a web page. Select the entire database, family lines or selected individuals to a collection of web pages ready for upload to the World Wide Web.</tip>
|
||||
|
||||
<tip number="50"><b>Reporting Bugs in Gramps</b><br/>The best way to report a bug in Gramps is to use the Gramps bug tracking system at https://gramps-project.org/bugs/</tip>
|
||||
|
||||
<tip number="51"><b>The Gramps Homepage</b><br/>The Gramps homepage is at http://gramps-project.org/</tip>
|
||||
|
||||
<tip number="53"><b>Privacy in Gramps</b><br/>Gramps helps you to keep personal information secure by allowing you to mark information as private. Data marked as private can be excluded from reports and data exports. Look for the padlock which toggles records between private and public.</tip>
|
||||
|
||||
<tip number="54"><b>Keeping Good Records</b><br/>Be accurate when recording genealogical information. Don't make assumptions while recording primary information; write it exactly as you see it. Use bracketed comments to indicate your additions, deletions or comments. Use of the Latin 'sic' is recommended to confirm the accurate transcription of what appears to be an error in a source.</tip>
|
||||
|
||||
<tip number="57"><b>Extra Reports and Tools</b><br/>Extra tools and reports can be added to Gramps with the "Addon" system. See them under "Help > Extra Reports/Tools". This is the best way for advanced users to experiment and create new functionality.</tip>
|
||||
|
||||
<tip number="58"><b>Book Reports</b><br/>The Book report under "Reports > Books > Book Report...", allows you to collect a variety of reports into a single document. This single report is easier to distribute than multiple reports, especially when printed.</tip>
|
||||
|
||||
<tip number="59"><b>Gramps Announcements</b><br/>Interested in getting notified when a new version of Gramps is released? Join the Gramps-announce mailing list at "Help > Gramps Mailing Lists"</tip>
|
||||
|
||||
<tip number="60"><b>Record Your Sources</b><br/>Information collected about your family is only as good as the source it came from. Take the time and trouble to record all the details of where the information came from. Whenever possible get a copy of original documents.</tip>
|
||||
|
||||
<tip number="61"><b>Directing Your Research</b><br/>Go from what you know to what you do not. Always record everything that is known before making conjectures. Often the facts at hand suggest plenty of direction for more research. Don't waste time looking through thousands of records hoping for a trail when you have other unexplored leads.</tip>
|
||||
|
||||
<tip number="62"><b>The 'How and Why' of Your Genealogy</b><br/> Genealogy isn't only about dates and names. It is about people. Be descriptive. Include why things happened, and how descendants might have been shaped by the events they went through. Narratives go a long way in making your family history come alive.</tip>
|
||||
|
||||
<tip number="63"><b>Don't speak English?</b><br/>Volunteers have translated Gramps into more than 40 languages. If Gramps supports your language and it is not being displayed, set the default language in your operating system and restart Gramps.</tip>
|
||||
|
||||
<tip number="64"><b>Gramps Translators</b><br/>Gramps has been designed so that new translations can easily be added with little development effort. If you are interested in participating please email gramps-devel@lists.sf.net</tip>
|
||||
|
||||
<tip number="66"><b>Hello, привет or 喂</b><br/>Whatever script you use Gramps offers full Unicode support. Characters for all languages are properly displayed.</tip>
|
||||
|
||||
<tip number="67"><b>The Home Person</b><br/>Anyone can be chosen as the Home Person in Gramps. Use "Edit > Set Home Person" in the Person View. The home person is the person who is selected when the database is opened or when the home button is pressed.</tip>
|
||||
|
||||
<tip number="70"><b>The Gramps Code</b><br/>Gramps is written in a computer language called Python using the GTK and GNOME libraries for the graphical interface. Gramps is supported on any computer system where these programs have been ported. Gramps is known to be run on Linux, BSD, Solaris, Windows and Mac OS X.</tip>
|
||||
|
||||
<tip number="71"><b>Open Source Software</b><br/>The Free/Libre and Open Source Software (FLOSS) development model means Gramps can be extended by any programmer since all of the source code is freely available under its license. So it's not just about free beer, it's also about freedom to study and change the tool. For more about Open Source software lookup the Free Software Foundation and the Open Source Initiative.</tip>
|
||||
|
||||
<tip number="72"><b>The Gramps Software License</b><br/>You are free to use and share Gramps with others. Gramps is freely distributable under the GNU General Public License, see http://www.gnu.org/licenses/licenses.html#GPL to read about the rights and restrictions of this license.</tip>
|
||||
|
||||
<tip number="73"><b>Gramps for Gnome or KDE?</b><br/>For Linux users Gramps works with whichever desktop environment you prefer. As long as the required GTK libraries are installed it will run fine.</tip>
|
||||
|
||||
</tips>
|
||||
@@ -1,130 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tips>
|
||||
|
||||
<_tip number="1"><b>Working with Dates</b><br/>A range of dates can be given by using the format "between January 4, 2000 and March 20, 2003". You can also indicate the level of confidence in a date and even choose between seven different calendars. Try the button next to the date field in the Events Editor.</_tip>
|
||||
|
||||
<_tip number="2"><b>Editing Objects</b><br/>In most cases double clicking on a name, source, place or media entry will bring up a window to allow you to edit the object. Note that the result can be dependent on context. For example, in the Family View clicking on a parent or child will bring up the Relationship Editor.</_tip>
|
||||
|
||||
<_tip number="3"><b>Adding Images</b><br/>An image can be added to any gallery or the Media View by dragging and dropping it from a file manager or a web browser. Actually you can add any type of file like this, useful for scans of documents and other digital sources.</_tip>
|
||||
|
||||
<_tip number="4"><b>Ordering Children in a Family</b><br/>The birth order of children in a family can be set by using drag and drop. This order is preserved even when they do not have birth dates.</_tip>
|
||||
|
||||
<_tip number="5"><b>Talk to Relatives Before It Is Too Late</b><br/>Your oldest relatives can be your most important source of information. They usually know things about the family that haven't been written down. They might tell you nuggets about people that may one day lead to a new avenue of research. At the very least, you will get to hear some great stories. Don't forget to record the conversations!</_tip>
|
||||
|
||||
<_tip number="7"><b>Filtering People</b><br/>In the People View, you can 'filter' individuals based on many criteria. To define a new filter go to "Edit > Person Filter Editor". There you can name your filter and add and combine rules using the many preset rules. For example, you can define a filter to find all adopted people in the family tree. People without a birth date mentioned can also be filtered. To get the results save your filter and select it at the bottom of the Filter Sidebar, then click Apply. If the Filter Sidebar is not visible, select View > Filter.</_tip>
|
||||
|
||||
<_tip number="8"><b>Inverted Filtering</b><br/>Filters can easily be reversed by using the 'invert' option. For instance, by inverting the 'People with children' filter you can select all people without children.</_tip>
|
||||
|
||||
<_tip number="9"><b>Locating People</b><br/>By default, each surname in the People View is listed only once. By clicking on the arrow to the left of a name, the list will expand to show all individuals with that last name. To locate any Family Name from a long list, select a Family Name (not a person) and start typing. The view will jump to the first Family Name matching the letters you enter.</_tip>
|
||||
|
||||
<_tip number="10"><b>The Family View</b><br/>The Family View is used to display a typical family unit as two parents and their children.</_tip>
|
||||
|
||||
<_tip number="11"><b>Changing the Active Person</b><br/>Changing the Active Person in views is easy. In the Relationship view just click on anyone. In the Ancestry View doubleclick on the person or right click to select any of their spouses, siblings, children or parents.</_tip>
|
||||
|
||||
<_tip number="12"><b>Who Was Born When?</b><br/>Under "Tools > Analysis and exploration > Compare Individual Events..." you can compare the data of individuals in your database. This is useful, say, if you wish to list the birth dates of everyone in your database. You can use a custom filter to narrow the results.</_tip>
|
||||
|
||||
<_tip number="13"><b>Gramps Tools</b><br/>Gramps comes with a rich set of tools. These allow you to undertake operations such as checking the database for errors and consistency. There are research and analysis tools such as event comparison, finding duplicate people, interactive descendant browser, and many others. All tools can be accessed through the "Tools" menu.</_tip>
|
||||
|
||||
<_tip number="14"><b>Calculating Relationships</b><br/>To check if two people in the database are related (by blood, not marriage) try the tool under "Tools > Utilities > Relationship Calculator...". The exact relationship as well as all common ancestors are reported.</_tip>
|
||||
|
||||
<_tip number="15"><b>SoundEx can help with family research</b><br/>SoundEx solves a long standing problem in genealogy, how to handle spelling variations. The SoundEx Gramplet takes a surname and generates a simplified form that is equivalent for similar sounding names. Knowing the SoundEx Code for a surname is very helpful for researching Census Data files (microfiche) at a library or other research facility. To view the SoundEx codes for surnames in your database, add the SoundEx Gramplet.</_tip>
|
||||
|
||||
<_tip number="16"><b>Setting Your Preferences</b><br/>"Edit > Preferences..." lets you modify a number of settings, such as the path to your media files, and allows you to adjust many aspects of the Gramps presentation to your needs. Each separate view can also be configured under "View > Configure View..."</_tip>
|
||||
|
||||
<_tip number="17"><b>Gramps Reports</b><br/>Gramps offers a wide variety of reports. The Graphical Reports and Graphs can present complex relationships easily and the Text Reports are particularly useful if you want to send the results of your family tree to members of the family via email. If you're ready to make a website for your family tree then there's a report for that as well.</_tip>
|
||||
|
||||
<_tip number="18"><b>Starting a New Family Tree</b><br/>A good way to start a new family tree is to enter all the members of the family into the database using the Person View (use "Edit > Add..." or click on the Add a new person button from the People View). Then go to the Relationship View and create relationships between people.</_tip>
|
||||
|
||||
<_tip number="19"><b>What's That For?</b><br/>Unsure what a button does? Simply hold the mouse over a button and a tooltip will appear.</_tip>
|
||||
|
||||
<_tip number="20"><b>Unsure of a Date?</b><br/>If you're unsure about the date an event occurred, Gramps allows you to enter a wide range of date formats based on a guess or an estimate. For instance, "about 1908" is a valid entry for a birth date in Gramps. Click the Date button next to the date field and see the Gramps Manual to learn more.</_tip>
|
||||
|
||||
<_tip number="21"><b>Duplicate Entries</b><br/>"Tools > Database Processing > Find Possible Duplicate People..." allows you to locate (and merge) entries of the same person entered more than once in the database.</_tip>
|
||||
|
||||
<_tip number="22"><b>Merging Entries</b><br/>The function "Edit > Compare and Merge..." allows you to combine separately listed people into one. Select the second entry by holding the Control key as you click. This is very useful for combining two databases with overlapping people, or combining erroneously entered differing names for one individual. This also works for the Places, Sources and Repositories views.</_tip>
|
||||
|
||||
<_tip number="23"><b>Organising the Views</b><br/>Many of the views can present your data as either a hierarchical tree or as a simple list. Each view can also be configured to the way you like it. Have a look to the right of the top toolbar or under the "View" menu.</_tip>
|
||||
|
||||
<_tip number="24"><b>Navigating Back and Forward</b><br/>Gramps maintains a list of previous active objects such as People and Events. You can move forward and backward through the list using "Go > Forward" and "Go > Back" or the arrow buttons.</_tip>
|
||||
|
||||
<_tip number="25"><b>Keyboard Shortcuts</b><br/>Tired of having to take your hand off the keyboard to use the mouse? Many functions in Gramps have keyboard shortcuts. If one exists for a function it is displayed on the right side of the menu.</_tip>
|
||||
|
||||
<_tip number="26"><b>Read the Manual</b><br/>Don't forget to read the Gramps manual, "Help > User Manual". The developers have worked hard to make most operations intuitive but the manual is full of information that will make your time spent on genealogy more productive.</_tip>
|
||||
|
||||
<_tip number="27"><b>Adding Children</b><br/>To add children in Gramps there are two options. You can find one of their parents in the Families View and open the family. Then choose to create a new person or add an existing person. You can also add children (or siblings) from inside the Family Editor.</_tip>
|
||||
|
||||
<_tip number="28"><b>Editing the Parent-Child Relationship</b><br/> You can edit the relationship of a child to its parents by double clicking the child in the Family Editor. Relationships can be any of Adopted, Birth, Foster, None, Sponsored, Stepchild and Unknown.</_tip>
|
||||
|
||||
<_tip number="29"><b>Show All Checkbutton</b><br/>When adding an existing person as a spouse, the list of people shown is filtered to display only people who could realistically fit the role (based on dates in the database). In case Gramps is wrong in making this choice, you can override the filter by checking the Show All checkbutton.</_tip>
|
||||
|
||||
<_tip number="31"><b>Improving Gramps</b><br/>Users are encouraged to request enhancements to Gramps. Requesting an enhancement can be done either through the gramps-users or gramps-devel mailing lists, or by going to https://gramps-project.org/bugs/ and creating a Feature Request. Filing a Feature Request is preferred but it can be good to discuss your ideas on the email lists.</_tip>
|
||||
|
||||
<_tip number="32"><b>Gramps Mailing Lists</b><br/>Want answers to your questions about Gramps? Check out the gramps-users email list. Many helpful people are on the list, so you're likely to get an answer quickly. If you have questions related to the development of Gramps, try the gramps-devel list. You can see the lists by selecting "Help > Gramps Mailing Lists".</_tip>
|
||||
|
||||
<_tip number="33"><b>Contributing to Gramps</b><br/>Want to help with Gramps but can't write programs? Not a problem! A project as large as Gramps requires people with a wide variety of skills. Contributions can be anything from writing documentation to testing development versions and helping with the web site. Start by subscribing to the Gramps developers mailing list, gramps-devel, and introducing yourself. Subscription information can be found at "Help > Gramps Mailing Lists"</_tip>
|
||||
|
||||
<_tip number="34"><b>So What's in a Name?</b><br/>The name Gramps was suggested to the original developer, Don Allingham, by his father. It stands for <i>Genealogical Research and Analysis Management Program System</i>. It is a full-featured genealogy program letting you store, edit, and research genealogical data. The Gramps database back end is so robust that some users are managing genealogies containing hundreds of thousands of people.</_tip>
|
||||
|
||||
<_tip number="36"><b>Bookmarking Individuals</b><br/>The Bookmarks menu is a convenient place to store the names of frequently used individuals. Selecting a bookmark will make that person the Active Person. To bookmark someone make them the Active Person then go to "Bookmarks > Add Bookmark" or press Ctrl+D. You can also bookmark most of the other objects.</_tip>
|
||||
|
||||
<_tip number="37"><b>Incorrect Dates</b><br/>Everyone occasionally enters dates with an invalid format. Incorrect date formats will show up in Gramps with a either a reddish background or a red dot on the right edge of the field. You can fix the date using the Date Selection dialog which can be opened by clicking on the date button. The format of the date is set under "Edit > Preferences > Display".</_tip>
|
||||
|
||||
<_tip number="38"><b>Listing Events</b><br/>Events are added using the editor opened with "Person > Edit Person > Events". There is a long list of preset event types. You can add your own event types by typing in the text field, they will be added to the available events, but not translated.</_tip>
|
||||
|
||||
<_tip number="39"><b>Managing Names</b><br/>It is easy to manage people with several names in Gramps. In the Person Editor select the Names tab. You can add names of different types and set the preferred name by dragging it to the Preferred Name section.</_tip>
|
||||
|
||||
<_tip number="40"><b>Ancestor View</b><br/>The Ancestry View displays a traditional pedigree chart. Hold the mouse over an individual to see more information about them or right click on an individual to access other family members and settings. Play with the settings to see the different options.</_tip>
|
||||
|
||||
<_tip number="41"><b>Managing Sources</b><br/>The Sources View shows a list of all sources in a single window. From here you can edit your sources, merge duplicates and see which individuals reference each source. You can use filters to group your sources.</_tip>
|
||||
|
||||
<_tip number="42"><b>Managing Places</b><br/>The Places View shows a list of all places in the database. The list can be sorted by a number of different criteria, such as City, County or State.</_tip>
|
||||
|
||||
<_tip number="43"><b>Media View</b><br/>The Media View shows a list of all media entered in the database. These can be graphic images, videos, sound clips, spreadsheets, documents, and more.</_tip>
|
||||
|
||||
<_tip number="44"><b>Filters</b><br/>Filters allow you to limit the people seen in the People View. In addition to the many preset filters, Custom Filters can be created limited only by your imagination. Custom filters are created from "Edit > Person Filter Editor".</_tip>
|
||||
|
||||
<_tip number="45"><b>The GEDCOM File Format</b><br/>Gramps allows you to import from, and export to, the GEDCOM format. There is extensive support for the industry standard GEDCOM version 5.5, so you can exchange Gramps information to and from users of most other genealogy programs. Filters exist that make importing and exporting GEDCOM files trivial.</_tip>
|
||||
|
||||
<_tip number="46"><b>The Gramps XML Package</b><br/>You can export your Family Tree as a Gramps XML Package. This is a compressed file containing your family tree data and all the media files connected to the database (images for example). This file is completely portable so is useful for backups or sharing with other Gramps users. This format has the key advantage over GEDCOM that no information is ever lost when exporting and importing.</_tip>
|
||||
|
||||
<_tip number="48"><b>Web Family Tree Format</b><br/>Gramps can export data to the Web Family Tree (WFT) format. This format allows a family tree to be displayed online using a single file, instead of many html files.</_tip>
|
||||
|
||||
<_tip number="49"><b>Making a Genealogy Website</b><br/>You can easily export your family tree to a web page. Select the entire database, family lines or selected individuals to a collection of web pages ready for upload to the World Wide Web.</_tip>
|
||||
|
||||
<_tip number="50"><b>Reporting Bugs in Gramps</b><br/>The best way to report a bug in Gramps is to use the Gramps bug tracking system at https://gramps-project.org/bugs/</_tip>
|
||||
|
||||
<_tip number="51"><b>The Gramps Homepage</b><br/>The Gramps homepage is at http://gramps-project.org/</_tip>
|
||||
|
||||
<_tip number="53"><b>Privacy in Gramps</b><br/>Gramps helps you to keep personal information secure by allowing you to mark information as private. Data marked as private can be excluded from reports and data exports. Look for the padlock which toggles records between private and public.</_tip>
|
||||
|
||||
<_tip number="54"><b>Keeping Good Records</b><br/>Be accurate when recording genealogical information. Don't make assumptions while recording primary information; write it exactly as you see it. Use bracketed comments to indicate your additions, deletions or comments. Use of the Latin 'sic' is recommended to confirm the accurate transcription of what appears to be an error in a source.</_tip>
|
||||
|
||||
<_tip number="57"><b>Extra Reports and Tools</b><br/>Extra tools and reports can be added to Gramps with the "Addon" system. See them under "Help > Extra Reports/Tools". This is the best way for advanced users to experiment and create new functionality.</_tip>
|
||||
|
||||
<_tip number="58"><b>Book Reports</b><br/>The Book report under "Reports > Books > Book Report...", allows you to collect a variety of reports into a single document. This single report is easier to distribute than multiple reports, especially when printed.</_tip>
|
||||
|
||||
<_tip number="59"><b>Gramps Announcements</b><br/>Interested in getting notified when a new version of Gramps is released? Join the Gramps-announce mailing list at "Help > Gramps Mailing Lists"</_tip>
|
||||
|
||||
<_tip number="60"><b>Record Your Sources</b><br/>Information collected about your family is only as good as the source it came from. Take the time and trouble to record all the details of where the information came from. Whenever possible get a copy of original documents.</_tip>
|
||||
|
||||
<_tip number="61"><b>Directing Your Research</b><br/>Go from what you know to what you do not. Always record everything that is known before making conjectures. Often the facts at hand suggest plenty of direction for more research. Don't waste time looking through thousands of records hoping for a trail when you have other unexplored leads.</_tip>
|
||||
|
||||
<_tip number="62"><b>The 'How and Why' of Your Genealogy</b><br/> Genealogy isn't only about dates and names. It is about people. Be descriptive. Include why things happened, and how descendants might have been shaped by the events they went through. Narratives go a long way in making your family history come alive.</_tip>
|
||||
|
||||
<_tip number="63"><b>Don't speak English?</b><br/>Volunteers have translated Gramps into more than 40 languages. If Gramps supports your language and it is not being displayed, set the default language in your operating system and restart Gramps.</_tip>
|
||||
|
||||
<_tip number="64"><b>Gramps Translators</b><br/>Gramps has been designed so that new translations can easily be added with little development effort. If you are interested in participating please email gramps-devel@lists.sf.net</_tip>
|
||||
|
||||
<_tip number="66"><b>Hello, привет or 喂</b><br/>Whatever script you use Gramps offers full Unicode support. Characters for all languages are properly displayed.</_tip>
|
||||
|
||||
<_tip number="67"><b>The Home Person</b><br/>Anyone can be chosen as the Home Person in Gramps. Use "Edit > Set Home Person" in the Person View. The home person is the person who is selected when the database is opened or when the home button is pressed.</_tip>
|
||||
|
||||
<_tip number="70"><b>The Gramps Code</b><br/>Gramps is written in a computer language called Python using the GTK and GNOME libraries for the graphical interface. Gramps is supported on any computer system where these programs have been ported. Gramps is known to be run on Linux, BSD, Solaris, Windows and Mac OS X.</_tip>
|
||||
|
||||
<_tip number="71"><b>Open Source Software</b><br/>The Free/Libre and Open Source Software (FLOSS) development model means Gramps can be extended by any programmer since all of the source code is freely available under its license. So it's not just about free beer, it's also about freedom to study and change the tool. For more about Open Source software lookup the Free Software Foundation and the Open Source Initiative.</_tip>
|
||||
|
||||
<_tip number="72"><b>The Gramps Software License</b><br/>You are free to use and share Gramps with others. Gramps is freely distributable under the GNU General Public License, see http://www.gnu.org/licenses/licenses.html#GPL to read about the rights and restrictions of this license.</_tip>
|
||||
|
||||
<_tip number="73"><b>Gramps for Gnome or KDE?</b><br/>For Linux users Gramps works with whichever desktop environment you prefer. As long as the required GTK libraries are installed it will run fine.</_tip>
|
||||
|
||||
</tips>
|
||||
Vendored
+30
@@ -1,3 +1,33 @@
|
||||
gramps (5.1.2-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
|
||||
-- Ross Gammon <rossgammon@debian.org> Sat, 11 Jan 2020 19:07:08 +0100
|
||||
|
||||
gramps (5.1.1-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
* Add python3-fontconfig to recommends
|
||||
|
||||
-- Ross Gammon <rossgammon@debian.org> Tue, 17 Sep 2019 15:21:43 +0200
|
||||
|
||||
gramps (5.1.0-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
* Update copyrights
|
||||
* Bump gtk+ version to 3.12
|
||||
* Add new geocode-glib dependency
|
||||
|
||||
-- Ross Gammon <rossgammon@debian.org> Sat, 24 Aug 2019 19:49:27 +0200
|
||||
|
||||
gramps (5.0.2-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
* Remove ancient python version field from debian/control
|
||||
* Bump standards version, no changes required
|
||||
|
||||
-- Ross Gammon <rossgammon@debian.org> Sun, 11 Aug 2019 14:11:35 +0200
|
||||
|
||||
gramps (5.0.1-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
|
||||
Vendored
+5
-4
@@ -10,7 +10,7 @@ Build-Depends-Indep:
|
||||
python3-all,
|
||||
python3-setuptools,
|
||||
python3-nose,
|
||||
gir1.2-gtk-3.0 (>= 3.10.0),
|
||||
gir1.2-gtk-3.0 (>= 3.12.0),
|
||||
python3-gi (>= 3.12.0),
|
||||
python3-gi-cairo,
|
||||
python3-bsddb3,
|
||||
@@ -21,11 +21,10 @@ Build-Depends-Indep:
|
||||
python3-nose-exclude
|
||||
Build-Depends:
|
||||
debhelper (>= 11)
|
||||
Standards-Version: 4.1.3
|
||||
Standards-Version: 4.4.0
|
||||
Vcs-Git: https://github.com/gramps-project/gramps.git
|
||||
Vcs-browser: https://github.com/gramps-project/gramps/tree/maintenance/gramps50
|
||||
Homepage: https://www.gramps-project.org/
|
||||
X-Python3-Version: >= 3.2
|
||||
|
||||
Package: gramps
|
||||
Architecture: all
|
||||
@@ -42,7 +41,9 @@ Recommends:
|
||||
graphviz,
|
||||
gir1.2-gexiv2-0.10,
|
||||
gir1.2-osmgpsmap-1.0,
|
||||
python3-icu
|
||||
python3-icu,
|
||||
gir1.2-geocodeglib-1.0,
|
||||
python3-fontconfig
|
||||
Suggests:
|
||||
fonts-freefont-ttf,
|
||||
gir1.2-goocanvas-2.0,
|
||||
|
||||
Vendored
+8
-3
@@ -12,12 +12,12 @@ Copyright: 2000-2007, Alex Roitman
|
||||
2001-2017, Free Software Foundation, Inc.
|
||||
2001, Graham J. Williams
|
||||
2001, Jesper Zedlitz
|
||||
2001-2018, The Gramps Project
|
||||
2001-2019, The Gramps Project
|
||||
2002, Gary Shao
|
||||
2003-2006, Josiah Carlson
|
||||
2004-2006, Eero Tamminen
|
||||
2004-2013, Julio Sánchez
|
||||
2005-2017, Serge Noiraud
|
||||
2005-2019, Serge Noiraud
|
||||
2006-2012, Brian G. Matherly
|
||||
2006, 2008-2011, Kees Bakker
|
||||
2006-2008, Steve Hall
|
||||
@@ -81,12 +81,17 @@ Copyright: 2000-2007, Alex Roitman
|
||||
2015, Detlef Wolz
|
||||
2016, Allen Crider
|
||||
2016, DaAwesomeP
|
||||
2016-2017, Paul Culley
|
||||
2016-2018, Paul Culley
|
||||
2016, QuLogic
|
||||
2016, Tom Samstag
|
||||
2017, Jonathan Biegert
|
||||
2017, Mindaugas Baranauskas
|
||||
2017, Robert Carnell
|
||||
2018, Christophe aka khrys63
|
||||
2018, Paul D.Smith
|
||||
2018, Robin van der Vliet
|
||||
2018, Theo van Rijn
|
||||
2019, Matthias Kemmer
|
||||
License: GPL-2+
|
||||
|
||||
Files: debian/*
|
||||
|
||||
+3
-3
@@ -57,7 +57,7 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = 'Gramps'
|
||||
copyright = '2001-2018, The Gramps Project'
|
||||
copyright = '2001-2019, The Gramps Project'
|
||||
author = 'Donald N. Allingham'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
@@ -65,9 +65,9 @@ author = 'Donald N. Allingham'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '5.0.0'
|
||||
version = '5.1.0'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '5.0.0-master'
|
||||
release = '5.1.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd">
|
||||
<database xmlns="http://gramps-project.org/xml/1.7.1/">
|
||||
<header>
|
||||
<created date="2018-03-08" version="5.0.0"/>
|
||||
<created date="2017-08-08" version="5.1.0"/>
|
||||
<researcher>
|
||||
<resname>Alex Roitman,,,</resname>
|
||||
</researcher>
|
||||
@@ -951,7 +951,7 @@
|
||||
<place hlink="_L3WJQCD3US67V2CNZT"/>
|
||||
<description>Birth of Garner, Anderson</description>
|
||||
</event>
|
||||
<event handle="_a5af0eb7dfb557da07e" change="1284030599" id="E0179">
|
||||
<event handle="_a5af0eb7dfb557da07e" change="1502187535" id="E0179">
|
||||
<type>Death</type>
|
||||
<dateval val="1887-04-07"/>
|
||||
<place hlink="_AKFKQC2N4SM243HCTN"/>
|
||||
@@ -6262,7 +6262,7 @@
|
||||
<dateval val="1842-06-28"/>
|
||||
<description>Death of Moreno, Joseph McDowell</description>
|
||||
</event>
|
||||
<event handle="_a5af0ec45b25c630e03" change="1284030608" id="E1179">
|
||||
<event handle="_a5af0ec45b25c630e03" change="1502187451" id="E1179">
|
||||
<type>Birth</type>
|
||||
<dateval val="1911-07-12"/>
|
||||
<description>Birth of Thornton, James Arthur</description>
|
||||
@@ -15003,7 +15003,7 @@
|
||||
<type>Marriage</type>
|
||||
<description>Marriage of Johnson, Henry and Sparks, Catherine</description>
|
||||
</event>
|
||||
<event handle="_a5af0ed5df832ee65c1" change="1328026859" id="E2815">
|
||||
<event handle="_a5af0ed5df832ee65c1" change="1502187371" id="E2815">
|
||||
<type>Marriage</type>
|
||||
<dateval val="1875-04-01"/>
|
||||
<place hlink="_RF5KQCNJRQY8OGTX2H"/>
|
||||
@@ -18649,7 +18649,7 @@
|
||||
<parentin hlink="_F4CKQCJZ24JRE9Z889"/>
|
||||
<citationref hlink="_c140d2472c91aad494f"/>
|
||||
</person>
|
||||
<person handle="_14LKQCYZJEAXTS3XX" change="1185438865" id="I1376">
|
||||
<person handle="_14LKQCYZJEAXTS3XX" change="1502187492" id="I1376">
|
||||
<gender>F</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Elizabeth</first>
|
||||
@@ -18657,6 +18657,7 @@
|
||||
</name>
|
||||
<eventref hlink="_a5af0ebb003796f79a0" role="Primary"/>
|
||||
<eventref hlink="_a5af0ebb0143dab99ff" role="Primary"/>
|
||||
<eventref hlink="_a5af0eb7dfb557da07e" role="Witness"/>
|
||||
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
|
||||
<parentin hlink="_I4LKQCOAGPFH4R90A7"/>
|
||||
<citationref hlink="_c140d24731407d57b3c"/>
|
||||
@@ -19904,7 +19905,7 @@
|
||||
<childof hlink="_IO5KQC6H0Q6Y517LR9"/>
|
||||
<citationref hlink="_c140d24a1fd2319b703"/>
|
||||
</person>
|
||||
<person handle="_35WJQC1B7T7NPV8OLV" change="1284030051" id="I0106">
|
||||
<person handle="_35WJQC1B7T7NPV8OLV" change="1502187260" id="I0106">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Robert W.</first>
|
||||
@@ -19913,6 +19914,11 @@
|
||||
<eventref hlink="_a5af0eb74ac73f86aa7" role="Primary"/>
|
||||
<eventref hlink="_a5af0eb74ba358391ae" role="Primary"/>
|
||||
<eventref hlink="_a5af0eb74c852f7c633" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed5df832ee65c1" role="Witness">
|
||||
<attribute type="Age" value="23">
|
||||
<citationref hlink="_c140dafeb317af2fd79"/>
|
||||
</attribute>
|
||||
</eventref>
|
||||
<childof hlink="_X3WJQCSF48F6809142"/>
|
||||
<parentin hlink="_8OUJQCUVZ0XML7BQLF"/>
|
||||
<citationref hlink="_c140d24a27e19bb381a"/>
|
||||
@@ -21991,13 +21997,14 @@
|
||||
<childof hlink="_GCDKQCHI74ZPMI5GDJ"/>
|
||||
<citationref hlink="_c140d24f3f8704aa41b"/>
|
||||
</person>
|
||||
<person handle="_6G0KQC2UXYC66XDDC2" change="1185438865" id="I0363">
|
||||
<person handle="_6G0KQC2UXYC66XDDC2" change="1502187537" id="I0363">
|
||||
<gender>F</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Miranda Keziah</first>
|
||||
<surname>Farmer</surname>
|
||||
</name>
|
||||
<eventref hlink="_a5af0ec7a76244d962d" role="Primary"/>
|
||||
<eventref hlink="_a5af0eb7dfb557da07e" role="Witness"/>
|
||||
<childof hlink="_8NVJQCGMJTCL7E6ZDV"/>
|
||||
<citationref hlink="_c140d24f439709d3118"/>
|
||||
</person>
|
||||
@@ -22989,7 +22996,7 @@
|
||||
<parentin hlink="_FBVJQCFBI50TW78O49"/>
|
||||
<citationref hlink="_c140d2522702664ec52"/>
|
||||
</person>
|
||||
<person handle="_8CLKQCT97PJOGREJ7W" change="1185438865" id="I1387">
|
||||
<person handle="_8CLKQCT97PJOGREJ7W" change="1502187387" id="I1387">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Robert</first>
|
||||
@@ -22997,6 +23004,11 @@
|
||||
</name>
|
||||
<eventref hlink="_a5af0ebb3737a6ad088" role="Primary"/>
|
||||
<eventref hlink="_a5af0ebb39b441e9607" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed5df832ee65c1" role="Clergy">
|
||||
<attribute type="Age" value="23">
|
||||
<citationref hlink="_c140dafeb317af2fd79"/>
|
||||
</attribute>
|
||||
</eventref>
|
||||
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
|
||||
<parentin hlink="_H6LKQCWVIFNRNGHFVH"/>
|
||||
<citationref hlink="_c140d2522d804491375"/>
|
||||
@@ -23803,7 +23815,7 @@
|
||||
<childof hlink="_5DBKQCVAB0XMBEW8R9"/>
|
||||
<citationref hlink="_c140d25425874b0b827"/>
|
||||
</person>
|
||||
<person handle="_9HUJQC6ONNW8SMSKGQ" change="1185438865" id="I0038">
|
||||
<person handle="_9HUJQC6ONNW8SMSKGQ" change="1502187526" id="I0038">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>David</first>
|
||||
@@ -23812,6 +23824,7 @@
|
||||
<eventref hlink="_a5af0ec7eb514c52fbf" role="Primary"/>
|
||||
<eventref hlink="_a5af0ec7ec844213b55" role="Primary"/>
|
||||
<eventref hlink="_a5af0ec7ed61c743fc8" role="Primary"/>
|
||||
<eventref hlink="_a5af0eb7dfb557da07e" role="Informant"/>
|
||||
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
|
||||
<parentin hlink="_3HUJQCK4DH582YUTZG"/>
|
||||
<citationref hlink="_c140d2542c764516f13"/>
|
||||
@@ -24506,7 +24519,7 @@
|
||||
<parentin hlink="_8NVJQCGMJTCL7E6ZDV"/>
|
||||
<citationref hlink="_c140d2560004fad8df6"/>
|
||||
</person>
|
||||
<person handle="_ANLKQCQSQNE5LDZMRC" change="1185438865" id="I1402">
|
||||
<person handle="_ANLKQCQSQNE5LDZMRC" change="1502187434" id="I1402">
|
||||
<gender>F</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Margaret Jane "Maggie"</first>
|
||||
@@ -24514,6 +24527,7 @@
|
||||
</name>
|
||||
<eventref hlink="_a5af0ebb7d47a006ee2" role="Primary"/>
|
||||
<eventref hlink="_a5af0ebb7e54e14970f" role="Primary"/>
|
||||
<eventref hlink="_a5af0ec45b25c630e03" role="Witness"/>
|
||||
<childof hlink="_VDLKQCQQ1ADTJG1D1F"/>
|
||||
<parentin hlink="_SNLKQCD0VNJ627062Y"/>
|
||||
<citationref hlink="_c140d25607213be35da"/>
|
||||
@@ -24882,13 +24896,18 @@
|
||||
<parentin hlink="_JFYJQCG2KLRQN835JD"/>
|
||||
<citationref hlink="_c140d256e3403ba129d"/>
|
||||
</person>
|
||||
<person handle="_B3BKQCSV0G3NKSKWDX" change="1185438865" id="I0880">
|
||||
<person handle="_B3BKQCSV0G3NKSKWDX" change="1502187344" id="I0880">
|
||||
<gender>F</gender>
|
||||
<name type="Birth Name">
|
||||
<first>L. J.</first>
|
||||
<surname>Blanco</surname>
|
||||
</name>
|
||||
<eventref hlink="_a5af0ed2cf617169903" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed5df832ee65c1" role="Clergy">
|
||||
<attribute type="Age" value="23">
|
||||
<citationref hlink="_c140dafeb317af2fd79"/>
|
||||
</attribute>
|
||||
</eventref>
|
||||
<childof hlink="_1BVJQCNTFAGS8273LJ"/>
|
||||
<citationref hlink="_c140d256ec4306a51ca"/>
|
||||
</person>
|
||||
@@ -31930,7 +31949,7 @@
|
||||
<childof hlink="_UDMKQC5D3A2PXPUGNC"/>
|
||||
<citationref hlink="_c140d266ec93334f40f"/>
|
||||
</person>
|
||||
<person handle="_MG5KQC6ZKSVO4A63G2" change="1328026883" id="I0624">
|
||||
<person handle="_MG5KQC6ZKSVO4A63G2" change="1502187451" id="I0624">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Raymond E.</first>
|
||||
@@ -31938,6 +31957,7 @@
|
||||
</name>
|
||||
<eventref hlink="_a5af0ece8bd1125a1a9" role="Primary"/>
|
||||
<eventref hlink="_a5af0ece8d15511ddf9" role="Primary"/>
|
||||
<eventref hlink="_a5af0ec45b25c630e03" role="Informant"/>
|
||||
<childof hlink="_9OUJQCBOHW9UEK9CNV"/>
|
||||
<citationref hlink="_c140d266f0d5d178784"/>
|
||||
</person>
|
||||
@@ -32336,7 +32356,7 @@
|
||||
<parentin hlink="_F4CKQCJZ24JRE9Z889"/>
|
||||
<citationref hlink="_c140d267ccb7aef0cd0"/>
|
||||
</person>
|
||||
<person handle="_N4DKQCPEMZ7OO62O7J" change="1185438865" id="I0975">
|
||||
<person handle="_N4DKQCPEMZ7OO62O7J" change="1502187308" id="I0975">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Henry</first>
|
||||
@@ -32345,6 +32365,11 @@
|
||||
<eventref hlink="_a5af0ed483738d4ed1e" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed484a144d229b" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed48605fb6b9eb" role="Primary"/>
|
||||
<eventref hlink="_a5af0ed5df832ee65c1" role="Witness">
|
||||
<attribute type="Age" value="23">
|
||||
<citationref hlink="_c140dafeb317af2fd79"/>
|
||||
</attribute>
|
||||
</eventref>
|
||||
<parentin hlink="_7PUJQC4PPS4EDIVMYE"/>
|
||||
<citationref hlink="_c140d267d2128356d8e"/>
|
||||
</person>
|
||||
|
||||
@@ -47,6 +47,7 @@ from gramps.gen.recentfiles import recent_files
|
||||
from gramps.gen.utils.file import rm_tempdir, get_empty_tempdir
|
||||
from .clidbman import CLIDbManager, NAME_FILE, find_locker_name
|
||||
from gramps.gen.db.utils import make_database
|
||||
from gramps.gen.db.dbconst import DBBACKEND
|
||||
from gramps.gen.plug import BasePluginManager
|
||||
from gramps.gen.plug.report import CATEGORY_BOOK, CATEGORY_CODE, BookList
|
||||
from .plug import cl_report, cl_book
|
||||
@@ -504,6 +505,9 @@ class ArgHandler:
|
||||
self.imp_db_path = get_empty_tempdir("import_dbdir")
|
||||
dbid = config.get('database.backend')
|
||||
newdb = make_database(dbid)
|
||||
versionpath = os.path.join(self.imp_db_path, str(DBBACKEND))
|
||||
with open(versionpath, "w") as version_file:
|
||||
version_file.write(dbid)
|
||||
|
||||
try:
|
||||
self.smgr.open_activate(self.imp_db_path, self.username, self.password)
|
||||
@@ -619,8 +623,8 @@ class ArgHandler:
|
||||
#import of plugin failed
|
||||
return
|
||||
category = pdata.category
|
||||
report_class = eval('mod.' + pdata.reportclass)
|
||||
options_class = eval('mod.' + pdata.optionclass)
|
||||
report_class = getattr(mod, pdata.reportclass)
|
||||
options_class = getattr(mod, pdata.optionclass)
|
||||
if category in (CATEGORY_BOOK, CATEGORY_CODE):
|
||||
options_class(self.dbstate.db, name, category,
|
||||
options_str_dict)
|
||||
@@ -668,8 +672,8 @@ class ArgHandler:
|
||||
#import of plugin failed
|
||||
return
|
||||
category = pdata.category
|
||||
tool_class = eval('mod.' + pdata.toolclass)
|
||||
options_class = eval('mod.' + pdata.optionclass)
|
||||
tool_class = getattr(mod, pdata.toolclass)
|
||||
options_class = getattr(mod, pdata.optionclass)
|
||||
tool.cli_tool(dbstate=self.dbstate,
|
||||
name=name,
|
||||
category=category,
|
||||
|
||||
+52
-3
@@ -39,15 +39,16 @@ import sys
|
||||
import os
|
||||
import getopt
|
||||
import logging
|
||||
import shutil
|
||||
from glob import glob
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from gramps.gen.const import LONGOPTS, SHORTOPTS, PLUGINS_DIR, USER_PLUGINS
|
||||
from gramps.gen.plug import BasePluginManager
|
||||
from gramps.gen.config import config
|
||||
from gramps.gen.const import (LONGOPTS, SHORTOPTS, USER_PLUGINS, VERSION_DIR,
|
||||
HOME_DIR, TEMP_DIR, THUMB_DIR, ENV_DIR, USER_CSS)
|
||||
from gramps.gen.utils.cast import get_type_converter
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.gettext
|
||||
@@ -81,6 +82,14 @@ Application options
|
||||
-y, --yes Don't ask to confirm dangerous actions (non-GUI mode only)
|
||||
-q, --quiet Suppress progress indication output (non-GUI mode only)
|
||||
-v, --version Show versions
|
||||
-S, --safe Start Gramps in 'Safe mode'
|
||||
(temporarily use default settings)
|
||||
-D, --default=[APXFE] Reset settings to default;
|
||||
A - addons are cleared
|
||||
P - Preferences to default
|
||||
X - Books are cleared, reports and tool settings to default
|
||||
F - filters are cleared
|
||||
E - Everything is set to default or cleared
|
||||
""")
|
||||
|
||||
_USAGE = _("""
|
||||
@@ -342,6 +351,7 @@ class ArgParser:
|
||||
elif option in ['-t']:
|
||||
self.list_table = True
|
||||
elif option in ['-s', '--show']:
|
||||
from gramps.gen.config import config
|
||||
print(_("Gramps config settings from %s:"
|
||||
) % config.filename)
|
||||
for sect in config.data:
|
||||
@@ -351,6 +361,7 @@ class ArgParser:
|
||||
print()
|
||||
sys.exit(0)
|
||||
elif option in ['-c', '--config']:
|
||||
from gramps.gen.config import config
|
||||
cfg_name = value
|
||||
set_value = False
|
||||
if cfg_name:
|
||||
@@ -396,6 +407,44 @@ class ArgParser:
|
||||
self.auto_accept = True
|
||||
elif option in ['-q', '--quiet']:
|
||||
self.quiet = True
|
||||
elif option in ['-S', '--safe']:
|
||||
cleandbg += [opt_ix]
|
||||
elif option in ['-D', '--default']:
|
||||
def rmtree(path):
|
||||
if os.path.isdir(path):
|
||||
shutil.rmtree(path, ignore_errors=True)
|
||||
|
||||
if 'E' in value or 'A' in value: # clear addons
|
||||
rmtree(USER_PLUGINS)
|
||||
if 'E' in value or 'P' in value: # clear ini preferences
|
||||
for fil in glob(os.path.join(VERSION_DIR, "*.*")):
|
||||
if "custom_filters.xml" in fil:
|
||||
continue
|
||||
os.remove(fil)
|
||||
# create gramps.ini so config won't load the one from an
|
||||
# older version of Gramps.
|
||||
with open(os.path.join(VERSION_DIR, 'gramps.ini'), 'w'):
|
||||
pass
|
||||
if 'E' in value or 'F' in value: # clear filters
|
||||
fil = os.path.join(VERSION_DIR, "custom_filters.xml")
|
||||
if os.path.isfile(fil):
|
||||
os.remove(fil)
|
||||
if 'E' in value or 'X' in value: # clear xml reports/tools
|
||||
for fil in glob(os.path.join(HOME_DIR, "*.xml")):
|
||||
os.remove(fil)
|
||||
if 'E' in value or 'Z' in value: # clear upgrade zips
|
||||
for fil in glob(os.path.join(HOME_DIR, "*.zip")):
|
||||
os.remove(fil)
|
||||
if 'E' in value: # Everything else
|
||||
rmtree(TEMP_DIR)
|
||||
rmtree(THUMB_DIR)
|
||||
rmtree(USER_CSS)
|
||||
rmtree(ENV_DIR)
|
||||
rmtree(os.path.join(HOME_DIR, "maps"))
|
||||
for fil in glob(os.path.join(HOME_DIR, "*")):
|
||||
if os.path.isfile(fil):
|
||||
os.remove(fil)
|
||||
sys.exit(0) # Done with Default
|
||||
|
||||
#clean options list
|
||||
cleandbg.reverse()
|
||||
|
||||
+6
-35
@@ -52,18 +52,14 @@ from gramps.gen.db.utils import make_database
|
||||
from gramps.gen.errors import DbError
|
||||
from gramps.gen.dbstate import DbState
|
||||
from gramps.gen.db.exceptions import (DbUpgradeRequiredError,
|
||||
BsddbDowngradeError,
|
||||
DbSupportedError,
|
||||
DbVersionError,
|
||||
DbPythonError,
|
||||
DbEnvironmentError,
|
||||
BsddbUpgradeRequiredError,
|
||||
BsddbDowngradeRequiredError,
|
||||
PythonUpgradeRequiredError,
|
||||
PythonDowngradeError,
|
||||
DbConnectionError)
|
||||
from gramps.gen.plug import BasePluginManager
|
||||
from gramps.gen.utils.config import get_researcher
|
||||
from gramps.gen.recentfiles import recent_files
|
||||
from gramps.gen.filters import reload_custom_filters
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -175,34 +171,8 @@ class CLIDbLoader:
|
||||
try:
|
||||
self.dbstate.db.load(filename, self._pulse_progress, mode,
|
||||
username=username, password=password)
|
||||
except DbEnvironmentError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except BsddbUpgradeRequiredError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except BsddbDowngradeRequiredError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except BsddbDowngradeError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except DbUpgradeRequiredError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except PythonDowngradeError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except PythonUpgradeRequiredError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except DbVersionError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except DbPythonError as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except DbConnectionError as msg:
|
||||
except (DbConnectionError, DbSupportedError, DbUpgradeRequiredError,
|
||||
DbVersionError, DbPythonError, DbConnectionError) as msg:
|
||||
self.dbstate.no_database()
|
||||
self._errordialog(_("Cannot open database"), str(msg))
|
||||
except OSError as msg:
|
||||
@@ -279,7 +249,7 @@ class CLIManager:
|
||||
# Attempt to figure out the database title
|
||||
path = os.path.join(filename, "name.txt")
|
||||
try:
|
||||
with open(path) as ifile:
|
||||
with open(path, encoding='utf8') as ifile:
|
||||
title = ifile.readline().strip()
|
||||
except:
|
||||
title = filename
|
||||
@@ -373,6 +343,7 @@ def startcli(errors, argparser):
|
||||
|
||||
#load the plugins
|
||||
climanager.do_reg_plugins(dbstate, uistate=None)
|
||||
reload_custom_filters()
|
||||
# handle the arguments
|
||||
from .arghandler import ArgHandler
|
||||
handler = ArgHandler(dbstate, argparser, climanager)
|
||||
|
||||
@@ -88,9 +88,9 @@ def _convert_str_to_match_type(str_val, type_val):
|
||||
return str(str_val)
|
||||
|
||||
elif ret_type == int:
|
||||
if str_val.isdigit():
|
||||
try:
|
||||
return int(str_val)
|
||||
else:
|
||||
except ValueError:
|
||||
print("'%s' is not an integer number" % str_val)
|
||||
return 0
|
||||
|
||||
@@ -519,8 +519,8 @@ class CommandLineReport:
|
||||
self.format = tree_format["class"]
|
||||
if self.format is None:
|
||||
# Pick the first one as the default.
|
||||
self.format = tree_format.FORMATS[0]["class"]
|
||||
_chosen_format = tree_format.FORMATS[0]["type"]
|
||||
self.format = treedoc.FORMATS[0]["class"]
|
||||
_chosen_format = treedoc.FORMATS[0]["type"]
|
||||
else:
|
||||
self.format = None
|
||||
if _chosen_format and _format_str:
|
||||
|
||||
+22
-6
@@ -6,6 +6,7 @@
|
||||
# Copyright (C) 2008-2009 Gary Burton
|
||||
# Copyright (C) 2009-2012 Doug Blank <doug.blank@gmail.com>
|
||||
# Copyright (C) 2011 Tim G L Lyons
|
||||
# Copyright (C) 2015- Serge Noiraud
|
||||
#
|
||||
# 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
|
||||
@@ -46,8 +47,8 @@ from .const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.gettext
|
||||
|
||||
# _T_ is a gramps-defined keyword -- see po/update_po.py and po/genpot.sh
|
||||
def _T_(value): # enable deferred translations (see Python docs 22.1.3.4)
|
||||
return value
|
||||
def _T_(value, context=''): # enable deferred translations
|
||||
return "%s\x04%s" % (context, value) if context else value
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
@@ -132,7 +133,6 @@ register('behavior.addmedia-image-dir', '')
|
||||
register('behavior.addmedia-relative-path', False)
|
||||
register('behavior.autoload', False)
|
||||
register('behavior.avg-generation-gap', 20)
|
||||
register('behavior.betawarn', False)
|
||||
register('behavior.check-for-addon-updates', 0)
|
||||
register('behavior.check-for-addon-update-types', ["new"])
|
||||
register('behavior.last-check-for-addon-updates', "1970/01/01")
|
||||
@@ -148,6 +148,7 @@ register('behavior.min-generation-years', 13)
|
||||
register('behavior.owner-warn', False)
|
||||
register('behavior.pop-plugin-status', False)
|
||||
register('behavior.recent-export-type', 3)
|
||||
register('behavior.runcheck', False)
|
||||
register('behavior.spellcheck', False)
|
||||
register('behavior.startup', 0)
|
||||
register('behavior.surname-guessing', 0)
|
||||
@@ -155,9 +156,9 @@ register('behavior.translator-needed', True)
|
||||
register('behavior.use-tips', False)
|
||||
register('behavior.welcome', 100)
|
||||
register('behavior.web-search-url', 'http://google.com/#&q=%(text)s')
|
||||
register('behavior.addons-url', "https://raw.githubusercontent.com/gramps-project/addons/master/gramps50")
|
||||
register('behavior.addons-url', "https://raw.githubusercontent.com/gramps-project/addons/master/gramps52")
|
||||
|
||||
register('database.backend', 'bsddb')
|
||||
register('database.backend', 'sqlite')
|
||||
register('database.compress-backup', True)
|
||||
register('database.backup-path', USER_HOME)
|
||||
register('database.backup-on-exit', True)
|
||||
@@ -184,6 +185,7 @@ register('geography.zoom_when_center', 12)
|
||||
register('geography.show_cross', False)
|
||||
register('geography.path', "")
|
||||
register('geography.use-keypad', True)
|
||||
register('geography.personal-map', "")
|
||||
|
||||
# note that other calls to "register" are done in realtime (when
|
||||
# needed), for instance to four 'interface.clipboard' variables --
|
||||
@@ -217,6 +219,7 @@ register('interface.sidebar-text', True)
|
||||
register('interface.size-checked', False)
|
||||
register('interface.statusbar', 1)
|
||||
register('interface.toolbar-on', True)
|
||||
register('interface.toolbar-text', False)
|
||||
register('interface.view', True)
|
||||
register('interface.surname-box-height', 150)
|
||||
register('interface.treemodel-cache-size', 1000)
|
||||
@@ -228,6 +231,8 @@ register('paths.report-directory', USER_HOME)
|
||||
register('paths.website-directory', USER_HOME)
|
||||
register('paths.website-cms-uri', '')
|
||||
register('paths.website-cal-uri', '')
|
||||
register('paths.website-extra-page-uri', '')
|
||||
register('paths.website-extra-page-name', '')
|
||||
register('paths.quick-backup-directory', USER_HOME)
|
||||
register('paths.quick-backup-filename',
|
||||
"%(filename)s_%(year)d-%(month)02d-%(day)02d.%(extension)s")
|
||||
@@ -277,6 +282,10 @@ register('colors.female-dead', ['#feccf0', '#3a292b'])
|
||||
register('colors.unknown-alive', ['#f3dbb6', '#75507B'])
|
||||
register('colors.unknown-dead', ['#f3dbb6', '#35103b'])
|
||||
register('colors.family', ['#eeeeee', '#454545'])
|
||||
register('colors.family-married', ['#eeeeee', '#454545'])
|
||||
register('colors.family-unmarried', ['#eeeeee', '#454545'])
|
||||
register('colors.family-civil-union', ['#eeeeee', '#454545'])
|
||||
register('colors.family-unknown', ['#eeeeee', '#454545'])
|
||||
register('colors.family-divorced', ['#ffdede', '#5c3636'])
|
||||
register('colors.home-person', ['#bbe68a', '#304918'])
|
||||
register('colors.border-male-alive', ['#1f4986', '#171d26'])
|
||||
@@ -301,8 +310,13 @@ register('researcher.researcher-state', '')
|
||||
register('plugin.hiddenplugins', [])
|
||||
register('plugin.addonplugins', [])
|
||||
|
||||
register('utf8.in-use', False)
|
||||
register('utf8.available-fonts', [])
|
||||
register('utf8.selected-font', "")
|
||||
register('utf8.death-symbol', 13)
|
||||
|
||||
if __debug__: # enable a simple CLI test to see if the datestrings exist
|
||||
register('test.january', _("localized lexeme inflections||January"))
|
||||
register('test.january', _("|January", "localized lexeme inflections"))
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
@@ -354,3 +368,5 @@ if not os.path.exists(CONFIGMAN.filename):
|
||||
CONFIGMAN.load()
|
||||
|
||||
config = CONFIGMAN
|
||||
if config.get('database.backend') == 'bsddb':
|
||||
config.set('database.backend', 'sqlite')
|
||||
|
||||
+17
-6
@@ -41,7 +41,7 @@ import uuid
|
||||
#-------------------------------------------------------------------------
|
||||
from .git_revision import get_git_revision
|
||||
from .constfunc import get_env_var
|
||||
from ..version import VERSION, VERSION_TUPLE, major_version
|
||||
from ..version import VERSION, VERSION_TUPLE, major_version, DEV_VERSION
|
||||
from .utils.resourcepath import ResourcePath
|
||||
from .utils.grampslocale import GrampsLocale
|
||||
|
||||
@@ -104,6 +104,13 @@ elif 'USERPROFILE' in os.environ:
|
||||
else:
|
||||
USER_HOME = get_env_var('HOME')
|
||||
HOME_DIR = os.path.join(USER_HOME, '.gramps')
|
||||
ORIG_HOME_DIR = HOME_DIR
|
||||
if 'SAFEMODE' in os.environ:
|
||||
if 'USERPROFILE' in os.environ:
|
||||
USER_HOME = get_env_var('USERPROFILE')
|
||||
else:
|
||||
USER_HOME = get_env_var('HOME')
|
||||
HOME_DIR = get_env_var('SAFEMODE')
|
||||
|
||||
|
||||
VERSION_DIR = os.path.join(
|
||||
@@ -138,7 +145,9 @@ sys.path.insert(0, ROOT_DIR)
|
||||
git_revision = get_git_revision(ROOT_DIR).replace('\n', '')
|
||||
if sys.platform == 'win32' and git_revision == "":
|
||||
git_revision = get_git_revision(os.path.split(ROOT_DIR)[1])
|
||||
VERSION += git_revision
|
||||
if DEV_VERSION:
|
||||
VERSION += git_revision
|
||||
#VERSION += "-1"
|
||||
|
||||
#
|
||||
# Glade files
|
||||
@@ -217,7 +226,7 @@ GTK_GETTEXT_DOMAIN = 'gtk30'
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
COPYRIGHT_MSG = "© 2001-2006 Donald N. Allingham\n" \
|
||||
"© 2007-2018 The Gramps Developers"
|
||||
"© 2007-2020 The Gramps Developers"
|
||||
COMMENTS = _("Gramps\n (Genealogical Research and Analysis "
|
||||
"Management Programming System)\n"
|
||||
"is a personal genealogy program.")
|
||||
@@ -248,8 +257,8 @@ DOCUMENTERS = [
|
||||
THUMBSCALE = 96.0
|
||||
THUMBSCALE_LARGE = 180.0
|
||||
XMLFILE = "data.gramps"
|
||||
NO_SURNAME = "(%s)" % _("surname|none")
|
||||
NO_GIVEN = "(%s)" % _("given-name|none")
|
||||
NO_SURNAME = "(%s)" % _("none", "surname")
|
||||
NO_GIVEN = "(%s)" % _("none", "given-name")
|
||||
ARABIC_COMMA = "،"
|
||||
ARABIC_SEMICOLON = "؛"
|
||||
DOCGEN_OPTIONS = 'Docgen Options'
|
||||
@@ -266,6 +275,7 @@ LONGOPTS = [
|
||||
"class=",
|
||||
"config=",
|
||||
"debug=",
|
||||
"default=",
|
||||
"display=",
|
||||
"disable-sound",
|
||||
"disable-crash-dialog",
|
||||
@@ -293,6 +303,7 @@ LONGOPTS = [
|
||||
"password=",
|
||||
"create=",
|
||||
"options=",
|
||||
"safe",
|
||||
"screen=",
|
||||
"show",
|
||||
"sm-client-id=",
|
||||
@@ -306,7 +317,7 @@ LONGOPTS = [
|
||||
"quiet",
|
||||
]
|
||||
|
||||
SHORTOPTS = "O:U:P:C:i:e:f:a:p:d:c:r:lLthuv?syq"
|
||||
SHORTOPTS = "O:U:P:C:i:e:f:a:p:d:c:r:lLthuv?syqSD:"
|
||||
|
||||
GRAMPS_UUID = uuid.UUID('516cd010-5a41-470f-99f8-eb22f1098ad6')
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ import logging
|
||||
# Gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ..utils.grampslocale import GrampsLocale
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.sgettext
|
||||
# import prerequisites for localized handlers
|
||||
@@ -72,16 +73,20 @@ from . import _date_uk
|
||||
from . import _date_zh_CN
|
||||
from . import _date_zh_TW
|
||||
|
||||
# the following makes sure we use the LC_TIME value for date display & parsing
|
||||
dlocale = GrampsLocale(lang=glocale.calendar)
|
||||
|
||||
|
||||
# Initialize global parser
|
||||
try:
|
||||
if LANG in LANG_TO_PARSER:
|
||||
parser = LANG_TO_PARSER[LANG](plocale=glocale)
|
||||
parser = LANG_TO_PARSER[LANG](plocale=dlocale)
|
||||
else:
|
||||
parser = LANG_TO_PARSER[LANG_SHORT](plocale=glocale)
|
||||
parser = LANG_TO_PARSER[LANG_SHORT](plocale=dlocale)
|
||||
except:
|
||||
logging.warning(
|
||||
_("Date parser for '%s' not available, using default") % LANG)
|
||||
parser = LANG_TO_PARSER["C"](plocale=glocale)
|
||||
parser = LANG_TO_PARSER["C"](plocale=dlocale)
|
||||
|
||||
# Initialize global displayer
|
||||
try:
|
||||
@@ -92,13 +97,13 @@ except:
|
||||
|
||||
try:
|
||||
if LANG in LANG_TO_DISPLAY:
|
||||
displayer = LANG_TO_DISPLAY[LANG](val, blocale=glocale)
|
||||
displayer = LANG_TO_DISPLAY[LANG](val, blocale=dlocale)
|
||||
else:
|
||||
displayer = LANG_TO_DISPLAY[LANG_SHORT](val, blocale=glocale)
|
||||
displayer = LANG_TO_DISPLAY[LANG_SHORT](val, blocale=dlocale)
|
||||
except:
|
||||
logging.warning(
|
||||
_("Date displayer for '%s' not available, using default") % LANG)
|
||||
displayer = LANG_TO_DISPLAY["C"](val, blocale=glocale)
|
||||
displayer = LANG_TO_DISPLAY["C"](val, blocale=dlocale)
|
||||
|
||||
|
||||
# Import utility functions
|
||||
|
||||
@@ -50,6 +50,15 @@ class DateParserCZ(DateParser):
|
||||
Converts a text string into a Date object
|
||||
"""
|
||||
|
||||
quality_to_int = {
|
||||
'přibližně' : Date.QUAL_ESTIMATED,
|
||||
'odhadem' : Date.QUAL_ESTIMATED,
|
||||
'odh.' : Date.QUAL_ESTIMATED,
|
||||
'vypočteno' : Date.QUAL_CALCULATED,
|
||||
'vypočtené' : Date.QUAL_CALCULATED,
|
||||
'vyp.' : Date.QUAL_CALCULATED,
|
||||
}
|
||||
|
||||
bce = ["před naším letopočtem", "před Kristem",
|
||||
"př. n. l.", "př. Kr."] + DateParser.bce
|
||||
|
||||
@@ -58,6 +67,17 @@ class DateParserCZ(DateParser):
|
||||
# bug 9739 grampslocale.py gets '%-d.%-m.%Y' -- makes it be '%/d.%/m.%Y'
|
||||
self.dhformat = self.dhformat.replace('/', '') # so counteract that
|
||||
|
||||
def init_strings(self):
|
||||
DateParser.init_strings(self)
|
||||
self._text2 = re.compile(r'(\d+)?\.?\s+?%s\.?\s*((\d+)(/\d+)?)?\s*$'
|
||||
% self._mon_str, re.IGNORECASE)
|
||||
self._span = re.compile(
|
||||
r"(od)\s+(?P<start>.+)\s+(do)\s+(?P<stop>.+)",
|
||||
re.IGNORECASE)
|
||||
self._range = re.compile(
|
||||
r"(mezi)\s+(?P<start>.+)\s+(a)\s+(?P<stop>.+)",
|
||||
re.IGNORECASE)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Czech display
|
||||
|
||||
@@ -51,9 +51,9 @@ class DateParserDE(DateParser):
|
||||
# Always add german and austrian name variants no matter what the current
|
||||
# locale is
|
||||
month_to_int["januar"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["jänner"] = 1
|
||||
month_to_int["jän"] = 1
|
||||
month_to_int["jän"] = 1
|
||||
|
||||
# Add other common latin,
|
||||
|
||||
@@ -121,14 +121,14 @@ class DateParserDE(DateParser):
|
||||
# local and historical variants
|
||||
|
||||
month_to_int["jenner"] = 1
|
||||
month_to_int["feber"] = 2
|
||||
month_to_int["merz"] = 3
|
||||
month_to_int["augst"] = 8
|
||||
month_to_int["7ber"] = 9
|
||||
month_to_int["8ber"] = 10
|
||||
month_to_int["9ber"] = 11
|
||||
month_to_int["10ber"] = 12
|
||||
month_to_int["xber"] = 12
|
||||
month_to_int["feber"] = 2
|
||||
month_to_int["merz"] = 3
|
||||
month_to_int["augst"] = 8
|
||||
month_to_int["7ber"] = 9
|
||||
month_to_int["8ber"] = 10
|
||||
month_to_int["9ber"] = 11
|
||||
month_to_int["10ber"] = 12
|
||||
month_to_int["xber"] = 12
|
||||
|
||||
# old german names
|
||||
|
||||
@@ -290,7 +290,8 @@ class DateDisplayDE(DateDisplay):
|
||||
|
||||
formats = (
|
||||
"JJJJ-MM-DD (ISO)", "Numerisch", "Monat Tag Jahr",
|
||||
"MONAT Tag Jahr", "Tag. Monat Jahr", "Tag. MONAT Jahr"
|
||||
"MONAT Tag Jahr", "Tag. Monat Jahr", "Tag. MONAT Jahr",
|
||||
"Numerisch mit führenden Nullen"
|
||||
)
|
||||
# this definition must agree with its "_display_gregorian" method
|
||||
|
||||
@@ -343,6 +344,18 @@ class DateDisplayDE(DateDisplay):
|
||||
else:
|
||||
value = "%d. %s %s" % (date_val[0],
|
||||
self.long_months[date_val[1]], year)
|
||||
elif self.format == 6:
|
||||
# day.month_number.year with leading zeros
|
||||
if date_val[3]:
|
||||
return self.display_iso(date_val)
|
||||
else:
|
||||
if date_val[0] == date_val[1] == 0:
|
||||
value = str(date_val[2])
|
||||
else:
|
||||
value = self.dhformat.replace('%m', str(date_val[1])
|
||||
.zfill(2))
|
||||
value = value.replace('%d', str(date_val[0]).zfill(2))
|
||||
value = value.replace('%Y', str(date_val[2]))
|
||||
else:
|
||||
# day. month_abbreviation year
|
||||
if date_val[0] == 0:
|
||||
|
||||
@@ -55,7 +55,7 @@ class DateParserHU(DateParser):
|
||||
month_to_int["-"]=0 #to make the Zero month to work
|
||||
|
||||
month_to_int["január"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["jan."] = 1
|
||||
month_to_int["I"] = 1
|
||||
# month_to_int["i"] = 1
|
||||
@@ -64,67 +64,67 @@ class DateParserHU(DateParser):
|
||||
month_to_int["feb"] = 2
|
||||
month_to_int["feb."] = 2
|
||||
month_to_int["II"] = 2
|
||||
# month_to_int["ii"] = 2
|
||||
# month_to_int["ii"] = 2
|
||||
|
||||
month_to_int["március"] = 3
|
||||
month_to_int["márc"] = 3
|
||||
month_to_int["márc."] = 3
|
||||
month_to_int["III"] = 3
|
||||
# month_to_int["iii"] = 3
|
||||
# month_to_int["iii"] = 3
|
||||
|
||||
month_to_int["április"] = 4
|
||||
month_to_int["ápr"] = 4
|
||||
month_to_int["ápr."] = 4
|
||||
month_to_int["IV"] = 4
|
||||
# month_to_int["iv"] = 4
|
||||
month_to_int["IV"] = 4
|
||||
# month_to_int["iv"] = 4
|
||||
|
||||
month_to_int["május"] = 5
|
||||
month_to_int["máj"] = 5
|
||||
month_to_int["máj."] = 5
|
||||
month_to_int["V"] = 5
|
||||
# month_to_int["v"] = 5
|
||||
month_to_int["V"] = 5
|
||||
# month_to_int["v"] = 5
|
||||
|
||||
month_to_int["június"] = 6
|
||||
month_to_int["jún"] = 6
|
||||
month_to_int["jún."] = 6
|
||||
month_to_int["VI"] = 6
|
||||
# month_to_int["vi"] = 6
|
||||
month_to_int["VI"] = 6
|
||||
# month_to_int["vi"] = 6
|
||||
|
||||
month_to_int["július"] = 7
|
||||
month_to_int["júl"] = 7
|
||||
month_to_int["júl."] = 7
|
||||
month_to_int["VII"] = 7
|
||||
# month_to_int["vii"] = 7
|
||||
month_to_int["július"] = 7
|
||||
month_to_int["júl"] = 7
|
||||
month_to_int["júl."] = 7
|
||||
month_to_int["VII"] = 7
|
||||
# month_to_int["vii"] = 7
|
||||
|
||||
month_to_int["augusztus"] = 8
|
||||
month_to_int["aug"] = 8
|
||||
month_to_int["aug."] = 8
|
||||
month_to_int["VIII"] = 8
|
||||
# month_to_int["viii"] = 8
|
||||
month_to_int["augusztus"] = 8
|
||||
month_to_int["aug"] = 8
|
||||
month_to_int["aug."] = 8
|
||||
month_to_int["VIII"] = 8
|
||||
# month_to_int["viii"] = 8
|
||||
|
||||
month_to_int["szeptember"] = 9
|
||||
month_to_int["szept"] = 9
|
||||
month_to_int["szeptember"] = 9
|
||||
month_to_int["szept"] = 9
|
||||
month_to_int["szept."] = 9
|
||||
month_to_int["IX"] = 9
|
||||
# month_to_int["ix"] = 9
|
||||
month_to_int["IX"] = 9
|
||||
# month_to_int["ix"] = 9
|
||||
|
||||
month_to_int["október"] = 10
|
||||
month_to_int["okt"] = 10
|
||||
month_to_int["okt."] = 10
|
||||
month_to_int["X"] = 10
|
||||
# month_to_int["x"] = 10
|
||||
month_to_int["október"] = 10
|
||||
month_to_int["okt"] = 10
|
||||
month_to_int["okt."] = 10
|
||||
month_to_int["X"] = 10
|
||||
# month_to_int["x"] = 10
|
||||
|
||||
month_to_int["november"] = 11
|
||||
month_to_int["nov"] = 11
|
||||
month_to_int["november"] = 11
|
||||
month_to_int["nov"] = 11
|
||||
month_to_int["nov."] = 11
|
||||
month_to_int["XI"] = 11
|
||||
# month_to_int["xi"] = 11
|
||||
month_to_int["XI"] = 11
|
||||
# month_to_int["xi"] = 11
|
||||
|
||||
month_to_int["december"] = 12
|
||||
month_to_int["dec"] = 12
|
||||
month_to_int["dec."] = 12
|
||||
month_to_int["XII"] = 12
|
||||
# month_to_int["xii"] = 12
|
||||
month_to_int["december"] = 12
|
||||
month_to_int["dec"] = 12
|
||||
month_to_int["dec."] = 12
|
||||
month_to_int["XII"] = 12
|
||||
# month_to_int["xii"] = 12
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
@@ -57,30 +57,30 @@ class DateParserNL(DateParser):
|
||||
# Always add dutch and flemish name variants
|
||||
# no matter what the current locale is
|
||||
month_to_int["januari"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
# Add other common latin, local and historical variants
|
||||
month_to_int["januaris"] = 1
|
||||
month_to_int["feber"] = 2
|
||||
month_to_int["februaris"] = 2
|
||||
month_to_int["merz"] = 3
|
||||
month_to_int["feber"] = 2
|
||||
month_to_int["februaris"] = 2
|
||||
month_to_int["merz"] = 3
|
||||
#make sure on all distro mrt and maa are accepted
|
||||
month_to_int["maa"] = 3
|
||||
month_to_int["mrt"] = 3
|
||||
month_to_int["aprilis"] = 4
|
||||
month_to_int["maius"] = 5
|
||||
month_to_int["junius"] = 6
|
||||
month_to_int["julius"] = 7
|
||||
month_to_int["augst"] = 8
|
||||
month_to_int["7ber"] = 9
|
||||
month_to_int["7bris"] = 9
|
||||
month_to_int["8ber"] = 10
|
||||
month_to_int["8bris"] = 10
|
||||
month_to_int["9ber"] = 11
|
||||
month_to_int["9bris"] = 11
|
||||
month_to_int["10ber"] = 12
|
||||
month_to_int["10bris"] = 12
|
||||
month_to_int["xber"] = 12
|
||||
month_to_int["xbris"] = 12
|
||||
month_to_int["maa"] = 3
|
||||
month_to_int["mrt"] = 3
|
||||
month_to_int["aprilis"] = 4
|
||||
month_to_int["maius"] = 5
|
||||
month_to_int["junius"] = 6
|
||||
month_to_int["julius"] = 7
|
||||
month_to_int["augst"] = 8
|
||||
month_to_int["7ber"] = 9
|
||||
month_to_int["7bris"] = 9
|
||||
month_to_int["8ber"] = 10
|
||||
month_to_int["8bris"] = 10
|
||||
month_to_int["9ber"] = 11
|
||||
month_to_int["9bris"] = 11
|
||||
month_to_int["10ber"] = 12
|
||||
month_to_int["10bris"] = 12
|
||||
month_to_int["xber"] = 12
|
||||
month_to_int["xbris"] = 12
|
||||
|
||||
modifier_to_int = {
|
||||
'voor' : Date.MOD_BEFORE,
|
||||
|
||||
@@ -54,38 +54,38 @@ class DateParserPL(DateParser):
|
||||
month_to_int["styczeń"] = 1
|
||||
month_to_int["sty"] = 1
|
||||
month_to_int["I"] = 1
|
||||
month_to_int["luty"] = 2
|
||||
month_to_int["lut"] = 2
|
||||
month_to_int["II"] = 2
|
||||
month_to_int["marzec"] = 3
|
||||
month_to_int["mar"] = 3
|
||||
month_to_int["III"] = 3
|
||||
month_to_int["kwiecień"] = 4
|
||||
month_to_int["kwi"] = 4
|
||||
month_to_int["IV"] = 4
|
||||
month_to_int["maj"] = 5
|
||||
month_to_int["V"] = 5
|
||||
month_to_int["czerwiec"] = 6
|
||||
month_to_int["cze"] = 6
|
||||
month_to_int["VI"] = 6
|
||||
month_to_int["lipiec"] = 7
|
||||
month_to_int["lip"] = 7
|
||||
month_to_int["VII"] = 7
|
||||
month_to_int["sierpień"] = 8
|
||||
month_to_int["sie"] = 8
|
||||
month_to_int["VIII"] = 8
|
||||
month_to_int["wrzesień"] = 9
|
||||
month_to_int["wrz"] = 9
|
||||
month_to_int["IX"] = 9
|
||||
month_to_int["październik"] = 10
|
||||
month_to_int["paź"] = 10
|
||||
month_to_int["X"] = 10
|
||||
month_to_int["listopad"] = 11
|
||||
month_to_int["lis"] = 11
|
||||
month_to_int["XI"] = 11
|
||||
month_to_int["grudzień"] = 12
|
||||
month_to_int["gru"] = 12
|
||||
month_to_int["XII"] = 12
|
||||
month_to_int["luty"] = 2
|
||||
month_to_int["lut"] = 2
|
||||
month_to_int["II"] = 2
|
||||
month_to_int["marzec"] = 3
|
||||
month_to_int["mar"] = 3
|
||||
month_to_int["III"] = 3
|
||||
month_to_int["kwiecień"] = 4
|
||||
month_to_int["kwi"] = 4
|
||||
month_to_int["IV"] = 4
|
||||
month_to_int["maj"] = 5
|
||||
month_to_int["V"] = 5
|
||||
month_to_int["czerwiec"] = 6
|
||||
month_to_int["cze"] = 6
|
||||
month_to_int["VI"] = 6
|
||||
month_to_int["lipiec"] = 7
|
||||
month_to_int["lip"] = 7
|
||||
month_to_int["VII"] = 7
|
||||
month_to_int["sierpień"] = 8
|
||||
month_to_int["sie"] = 8
|
||||
month_to_int["VIII"] = 8
|
||||
month_to_int["wrzesień"] = 9
|
||||
month_to_int["wrz"] = 9
|
||||
month_to_int["IX"] = 9
|
||||
month_to_int["październik"] = 10
|
||||
month_to_int["paź"] = 10
|
||||
month_to_int["X"] = 10
|
||||
month_to_int["listopad"] = 11
|
||||
month_to_int["lis"] = 11
|
||||
month_to_int["XI"] = 11
|
||||
month_to_int["grudzień"] = 12
|
||||
month_to_int["gru"] = 12
|
||||
month_to_int["XII"] = 12
|
||||
# Alternative forms: declined nouns
|
||||
month_to_int["stycznia"] = 1
|
||||
month_to_int["lutego"] = 2
|
||||
|
||||
@@ -54,95 +54,95 @@ class DateParserSR(DateParser):
|
||||
"""
|
||||
month_to_int = DateParser.month_to_int
|
||||
|
||||
month_to_int["januar"] = 1
|
||||
month_to_int["januar"] = 1
|
||||
month_to_int["januara"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["јан"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["јан"] = 1
|
||||
month_to_int["јануара"] = 1
|
||||
month_to_int["јануар"] = 1
|
||||
month_to_int["i"] = 1
|
||||
month_to_int["јануар"] = 1
|
||||
month_to_int["i"] = 1
|
||||
|
||||
month_to_int["februar"] = 2
|
||||
month_to_int["februar"] = 2
|
||||
month_to_int["februara"] = 2
|
||||
month_to_int["feb"] = 2
|
||||
month_to_int["феб"] = 2
|
||||
month_to_int["фебруар"] = 2
|
||||
month_to_int["feb"] = 2
|
||||
month_to_int["феб"] = 2
|
||||
month_to_int["фебруар"] = 2
|
||||
month_to_int["фебруара"] = 2
|
||||
month_to_int["ii"] = 2
|
||||
month_to_int["ii"] = 2
|
||||
|
||||
month_to_int["mart"] = 3
|
||||
month_to_int["mart"] = 3
|
||||
month_to_int["marta"] = 3
|
||||
month_to_int["mar"] = 3
|
||||
month_to_int["мар"] = 3
|
||||
month_to_int["март"] = 3
|
||||
month_to_int["mar"] = 3
|
||||
month_to_int["мар"] = 3
|
||||
month_to_int["март"] = 3
|
||||
month_to_int["марта"] = 3
|
||||
month_to_int["iii"] = 3
|
||||
month_to_int["iii"] = 3
|
||||
|
||||
month_to_int["april"] = 4
|
||||
month_to_int["april"] = 4
|
||||
month_to_int["aprila"] = 4
|
||||
month_to_int["apr"] = 4
|
||||
month_to_int["апр"] = 4
|
||||
month_to_int["април"] = 4
|
||||
month_to_int["apr"] = 4
|
||||
month_to_int["апр"] = 4
|
||||
month_to_int["април"] = 4
|
||||
month_to_int["априла"] = 4
|
||||
month_to_int["iv"] = 4
|
||||
month_to_int["iv"] = 4
|
||||
|
||||
month_to_int["maj"] = 5
|
||||
month_to_int["maj"] = 5
|
||||
month_to_int["maja"] = 5
|
||||
month_to_int["мај"] = 5
|
||||
month_to_int["мај"] = 5
|
||||
month_to_int["маја"] = 5
|
||||
month_to_int["v"] = 5
|
||||
month_to_int["v"] = 5
|
||||
|
||||
month_to_int["jun"] = 6
|
||||
month_to_int["jun"] = 6
|
||||
month_to_int["juna"] = 6
|
||||
month_to_int["јун"] = 6
|
||||
month_to_int["јун"] = 6
|
||||
month_to_int["јуна"] = 6
|
||||
month_to_int["vi"] = 6
|
||||
month_to_int["vi"] = 6
|
||||
|
||||
month_to_int["jul"] = 7
|
||||
month_to_int["jul"] = 7
|
||||
month_to_int["jula"] = 7
|
||||
month_to_int["јул"] = 7
|
||||
month_to_int["јул"] = 7
|
||||
month_to_int["јула"] = 7
|
||||
month_to_int["vii"] = 7
|
||||
month_to_int["vii"] = 7
|
||||
|
||||
month_to_int["avgust"] = 8
|
||||
month_to_int["avgust"] = 8
|
||||
month_to_int["avgusta"] = 8
|
||||
month_to_int["avg"] = 8
|
||||
month_to_int["авг"] = 8
|
||||
month_to_int["август"] = 8
|
||||
month_to_int["avg"] = 8
|
||||
month_to_int["авг"] = 8
|
||||
month_to_int["август"] = 8
|
||||
month_to_int["августа"] = 8
|
||||
month_to_int["viii"] = 8
|
||||
month_to_int["viii"] = 8
|
||||
|
||||
month_to_int["septembar"] = 9
|
||||
month_to_int["septembra"] = 9
|
||||
month_to_int["sep"] = 9
|
||||
month_to_int["сеп"] = 9
|
||||
month_to_int["sep"] = 9
|
||||
month_to_int["сеп"] = 9
|
||||
month_to_int["септембар"] = 9
|
||||
month_to_int["септембра"] = 9
|
||||
month_to_int["ix"] = 9
|
||||
month_to_int["ix"] = 9
|
||||
|
||||
month_to_int["oktobar"] = 10
|
||||
month_to_int["oktobra"] = 10
|
||||
month_to_int["okt"] = 10
|
||||
month_to_int["окт"] = 10
|
||||
month_to_int["октобар"] = 10
|
||||
month_to_int["октобра"] = 10
|
||||
month_to_int["x"] = 10
|
||||
month_to_int["oktobar"] = 10
|
||||
month_to_int["oktobra"] = 10
|
||||
month_to_int["okt"] = 10
|
||||
month_to_int["окт"] = 10
|
||||
month_to_int["октобар"] = 10
|
||||
month_to_int["октобра"] = 10
|
||||
month_to_int["x"] = 10
|
||||
|
||||
month_to_int["novembar"] = 11
|
||||
month_to_int["novembra"] = 11
|
||||
month_to_int["nov"] = 11
|
||||
month_to_int["нов"] = 11
|
||||
month_to_int["новембар"] = 11
|
||||
month_to_int["новембра"] = 11
|
||||
month_to_int["xi"] = 11
|
||||
month_to_int["novembar"] = 11
|
||||
month_to_int["novembra"] = 11
|
||||
month_to_int["nov"] = 11
|
||||
month_to_int["нов"] = 11
|
||||
month_to_int["новембар"] = 11
|
||||
month_to_int["новембра"] = 11
|
||||
month_to_int["xi"] = 11
|
||||
|
||||
month_to_int["decembar"] = 12
|
||||
month_to_int["decembra"] = 12
|
||||
month_to_int["dec"] = 12
|
||||
month_to_int["дец"] = 12
|
||||
month_to_int["децембар"] = 12
|
||||
month_to_int["децембра"] = 12
|
||||
month_to_int["xii"] = 12
|
||||
month_to_int["decembar"] = 12
|
||||
month_to_int["decembra"] = 12
|
||||
month_to_int["dec"] = 12
|
||||
month_to_int["дец"] = 12
|
||||
month_to_int["децембар"] = 12
|
||||
month_to_int["децембра"] = 12
|
||||
month_to_int["xii"] = 12
|
||||
|
||||
modifier_to_int = {
|
||||
'pre' : Date.MOD_BEFORE,
|
||||
|
||||
@@ -52,8 +52,8 @@ from ..utils.grampslocale import GrampsLocale
|
||||
from ._datestrings import DateStrings
|
||||
|
||||
# _T_ is a gramps-defined keyword -- see po/update_po.py and po/genpot.sh
|
||||
def _T_(value): # enable deferred translations (see Python docs 22.1.3.4)
|
||||
return value
|
||||
def _T_(value, context=''): # enable deferred translations
|
||||
return "%s\x04%s" % (context, value) if context else value
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -74,7 +74,7 @@ class DateDisplay:
|
||||
# This should be the format that is used under the locale by
|
||||
# strftime() for '%x'.
|
||||
# You may translate this as "Numerical", "System preferred", or similar.
|
||||
_T_("date format|Numerical"),
|
||||
_T_("Numerical", "date format"),
|
||||
|
||||
# Full month name, day, year
|
||||
_T_("Month Day, Year"),
|
||||
@@ -186,7 +186,7 @@ class DateDisplay:
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("from|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "from"),
|
||||
|
||||
"to"
|
||||
# second date in a span
|
||||
@@ -194,7 +194,7 @@ class DateDisplay:
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("to|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "to"),
|
||||
|
||||
"between"
|
||||
# first date in a range
|
||||
@@ -202,7 +202,7 @@ class DateDisplay:
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("between|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "between"),
|
||||
|
||||
"and"
|
||||
# second date in a range
|
||||
@@ -210,42 +210,42 @@ class DateDisplay:
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("and|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "and"),
|
||||
|
||||
"before"
|
||||
# If "before <Month>" needs a special inflection in your
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("before|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "before"),
|
||||
|
||||
"after"
|
||||
# If "after <Month>" needs a special inflection in your
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("after|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "after"),
|
||||
|
||||
"about"
|
||||
# If "about <Month>" needs a special inflection in your
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("about|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "about"),
|
||||
|
||||
"estimated"
|
||||
# If "estimated <Month>" needs a special inflection in your
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("estimated|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "estimated"),
|
||||
|
||||
"calculated"
|
||||
# If "calculated <Month>" needs a special inflection in your
|
||||
# language, translate this to "{long_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("calculated|{long_month} {year}"),
|
||||
: _("{long_month} {year}", "calculated"),
|
||||
}
|
||||
|
||||
self.FORMATS_short_month_year = {
|
||||
@@ -258,7 +258,7 @@ class DateDisplay:
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("from|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "from"),
|
||||
|
||||
"to"
|
||||
# second date in a span
|
||||
@@ -266,7 +266,7 @@ class DateDisplay:
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("to|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "to"),
|
||||
|
||||
"between"
|
||||
# first date in a range
|
||||
@@ -274,7 +274,7 @@ class DateDisplay:
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("between|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "between"),
|
||||
|
||||
"and"
|
||||
# second date in a range
|
||||
@@ -282,42 +282,42 @@ class DateDisplay:
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("and|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "and"),
|
||||
|
||||
"before"
|
||||
# If "before <Month>" needs a special inflection in your
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("before|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "before"),
|
||||
|
||||
"after"
|
||||
# If "after <Month>" needs a special inflection in your
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("after|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "after"),
|
||||
|
||||
"about"
|
||||
# If "about <Month>" needs a special inflection in your
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("about|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "about"),
|
||||
|
||||
"estimated"
|
||||
# If "estimated <Month>" needs a special inflection in your
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("estimated|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "estimated"),
|
||||
|
||||
"calculated"
|
||||
# If "calculated <Month>" needs a special inflection in your
|
||||
# language, translate this to "{short_month.f[X]} {year}"
|
||||
# (where X is one of the month-name inflections you defined)
|
||||
# else leave it untranslated
|
||||
: _("calculated|{short_month} {year}"),
|
||||
: _("{short_month} {year}", "calculated"),
|
||||
}
|
||||
|
||||
def formats_changed(self):
|
||||
@@ -424,12 +424,12 @@ class DateDisplay:
|
||||
# If there is no special inflection for "from <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "from" in ENGLISH!!! ENGLISH!!!
|
||||
inflect=self._("from-date|"))
|
||||
inflect=self._("", "from-date"))
|
||||
d2 = self.display_cal[cal](date.get_stop_date(),
|
||||
# If there is no special inflection for "to <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "to" in ENGLISH!!! ENGLISH!!!
|
||||
inflect=self._("to-date|"))
|
||||
inflect=self._("", "to-date"))
|
||||
return self._("{date_quality}from {date_start} to {date_stop}"
|
||||
"{nonstd_calendar_and_ny}").format(
|
||||
date_quality=qual_str,
|
||||
@@ -449,12 +449,12 @@ class DateDisplay:
|
||||
# If there is no special inflection for "between <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "between" in ENGLISH!!! ENGLISH!!!
|
||||
inflect=self._("between-date|"))
|
||||
inflect=self._("", "between-date"))
|
||||
d2 = self.display_cal[cal](date.get_stop_date(),
|
||||
# If there is no special inflection for "and <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "and" in ENGLISH!!! ENGLISH!!!
|
||||
inflect=self._("and-date|"))
|
||||
inflect=self._("", "and-date"))
|
||||
return self._("{date_quality}between {date_start} and {date_stop}"
|
||||
"{nonstd_calendar_and_ny}").format(
|
||||
date_quality=qual_str,
|
||||
@@ -488,27 +488,27 @@ class DateDisplay:
|
||||
# If there is no special inflection for "before <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "before" in ENGLISH!!! ENGLISH!!!
|
||||
date_type = _("before-date|")
|
||||
date_type = _("", "before-date")
|
||||
elif mod == Date.MOD_AFTER:
|
||||
# If there is no special inflection for "after <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "after" in ENGLISH!!! ENGLISH!!!
|
||||
date_type = _("after-date|")
|
||||
date_type = _("", "after-date")
|
||||
elif mod == Date.MOD_ABOUT:
|
||||
# If there is no special inflection for "about <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "about" in ENGLISH!!! ENGLISH!!!
|
||||
date_type = _("about-date|")
|
||||
date_type = _("", "about-date")
|
||||
elif qual == Date.QUAL_ESTIMATED:
|
||||
# If there is no special inflection for "estimated <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "estimated" in ENGLISH!!! ENGLISH!!!
|
||||
date_type = _("estimated-date|")
|
||||
date_type = _("", "estimated-date")
|
||||
elif qual == Date.QUAL_CALCULATED:
|
||||
# If there is no special inflection for "calculated <Month>"
|
||||
# in your language, DON'T translate this string. Otherwise,
|
||||
# "translate" this to "calculated" in ENGLISH!!! ENGLISH!!!
|
||||
date_type = _("calculated-date|")
|
||||
date_type = _("", "calculated-date")
|
||||
else:
|
||||
date_type = ""
|
||||
# TODO -- do "estimated" and "calculated" need their own "if"?
|
||||
|
||||
@@ -56,7 +56,7 @@ from ._datestrings import DateStrings
|
||||
# Top-level module functions
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_max_days = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
|
||||
_max_days = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
|
||||
_leap_days = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
|
||||
|
||||
def gregorian_valid(date_tuple):
|
||||
@@ -400,8 +400,8 @@ class DateParser:
|
||||
_ = self._locale.translation.gettext
|
||||
self.__init_prefix_tables()
|
||||
|
||||
self._rfc_mon_str = '(' + '|'.join(list(self._rfc_mons_to_int.keys())) + ')'
|
||||
self._rfc_day_str = '(' + '|'.join(self._rfc_days) + ')'
|
||||
self._rfc_mon_str = '(' + '|'.join(list(self._rfc_mons_to_int.keys())) + ')'
|
||||
self._rfc_day_str = '(' + '|'.join(self._rfc_days) + ')'
|
||||
|
||||
self._bce_str = self.re_longest_first(self.bce)
|
||||
self._qual_str = self.re_longest_first(list(self.quality_to_int.keys()))
|
||||
@@ -409,14 +409,14 @@ class DateParser:
|
||||
self._mod_after_str = self.re_longest_first(
|
||||
list(self.modifier_after_to_int.keys()))
|
||||
|
||||
self._mon_str = self.re_longest_first(list(self.month_to_int.keys()))
|
||||
self._mon_str = self.re_longest_first(list(self.month_to_int.keys()))
|
||||
self._jmon_str = self.re_longest_first(list(self.hebrew_to_int.keys()))
|
||||
self._fmon_str = self.re_longest_first(list(self.french_to_int.keys()))
|
||||
self._pmon_str = self.re_longest_first(list(self.persian_to_int.keys()))
|
||||
self._imon_str = self.re_longest_first(list(self.islamic_to_int.keys()))
|
||||
self._smon_str = self.re_longest_first(list(self.swedish_to_int.keys()))
|
||||
self._cal_str = self.re_longest_first(list(self.calendar_to_int.keys()))
|
||||
self._ny_str = self.re_longest_first(list(self.newyear_to_int.keys()))
|
||||
self._cal_str = self.re_longest_first(list(self.calendar_to_int.keys()))
|
||||
self._ny_str = self.re_longest_first(list(self.newyear_to_int.keys()))
|
||||
|
||||
self._today_str = self.re_longest_first(self.today + [_("today"),])
|
||||
|
||||
@@ -911,7 +911,7 @@ class DateParser:
|
||||
text = text.strip() # otherwise spaces can make it a bad date
|
||||
date.set_text_value(text)
|
||||
qual = Date.QUAL_NONE
|
||||
cal = Date.CAL_GREGORIAN
|
||||
cal = Date.CAL_GREGORIAN
|
||||
newyear = Date.NEWYEAR_JAN1
|
||||
|
||||
(text, cal, newyear) = self.match_calendar_newyear(text, cal, newyear)
|
||||
|
||||
@@ -76,36 +76,36 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("localized lexeme inflections||January"),
|
||||
_("localized lexeme inflections||February"),
|
||||
_("localized lexeme inflections||March"),
|
||||
_("localized lexeme inflections||April"),
|
||||
_("localized lexeme inflections||May"),
|
||||
_("localized lexeme inflections||June"),
|
||||
_("localized lexeme inflections||July"),
|
||||
_("localized lexeme inflections||August"),
|
||||
_("localized lexeme inflections||September"),
|
||||
_("localized lexeme inflections||October"),
|
||||
_("localized lexeme inflections||November"),
|
||||
_("localized lexeme inflections||December") )
|
||||
_("|January", "localized lexeme inflections"),
|
||||
_("|February", "localized lexeme inflections"),
|
||||
_("|March", "localized lexeme inflections"),
|
||||
_("|April", "localized lexeme inflections"),
|
||||
_("|May", "localized lexeme inflections"),
|
||||
_("|June", "localized lexeme inflections"),
|
||||
_("|July", "localized lexeme inflections"),
|
||||
_("|August", "localized lexeme inflections"),
|
||||
_("|September", "localized lexeme inflections"),
|
||||
_("|October", "localized lexeme inflections"),
|
||||
_("|November", "localized lexeme inflections"),
|
||||
_("|December", "localized lexeme inflections") )
|
||||
|
||||
self.short_months = ( "",
|
||||
# TRANSLATORS: see
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("localized lexeme inflections - short month form||Jan"),
|
||||
_("localized lexeme inflections - short month form||Feb"),
|
||||
_("localized lexeme inflections - short month form||Mar"),
|
||||
_("localized lexeme inflections - short month form||Apr"),
|
||||
_("localized lexeme inflections - short month form||May"),
|
||||
_("localized lexeme inflections - short month form||Jun"),
|
||||
_("localized lexeme inflections - short month form||Jul"),
|
||||
_("localized lexeme inflections - short month form||Aug"),
|
||||
_("localized lexeme inflections - short month form||Sep"),
|
||||
_("localized lexeme inflections - short month form||Oct"),
|
||||
_("localized lexeme inflections - short month form||Nov"),
|
||||
_("localized lexeme inflections - short month form||Dec") )
|
||||
_("|Jan", "localized lexeme inflections - short month form"),
|
||||
_("|Feb", "localized lexeme inflections - short month form"),
|
||||
_("|Mar", "localized lexeme inflections - short month form"),
|
||||
_("|Apr", "localized lexeme inflections - short month form"),
|
||||
_("|May", "localized lexeme inflections - short month form"),
|
||||
_("|Jun", "localized lexeme inflections - short month form"),
|
||||
_("|Jul", "localized lexeme inflections - short month form"),
|
||||
_("|Aug", "localized lexeme inflections - short month form"),
|
||||
_("|Sep", "localized lexeme inflections - short month form"),
|
||||
_("|Oct", "localized lexeme inflections - short month form"),
|
||||
_("|Nov", "localized lexeme inflections - short month form"),
|
||||
_("|Dec", "localized lexeme inflections - short month form") )
|
||||
|
||||
_ = locale.translation.sgettext
|
||||
self.alt_long_months = ( "",
|
||||
@@ -113,28 +113,28 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to add proper alternatives to be recognized in your localized
|
||||
# DateParser code!
|
||||
_("alternative month names for January||"),
|
||||
_("alternative month names for February||"),
|
||||
_("alternative month names for March||"),
|
||||
_("alternative month names for April||"),
|
||||
_("alternative month names for May||"),
|
||||
_("alternative month names for June||"),
|
||||
_("alternative month names for July||"),
|
||||
_("alternative month names for August||"),
|
||||
_("alternative month names for September||"),
|
||||
_("alternative month names for October||"),
|
||||
_("alternative month names for November||"),
|
||||
_("alternative month names for December||") )
|
||||
_("|", "alternative month names for January"),
|
||||
_("|", "alternative month names for February"),
|
||||
_("|", "alternative month names for March"),
|
||||
_("|", "alternative month names for April"),
|
||||
_("|", "alternative month names for May"),
|
||||
_("|", "alternative month names for June"),
|
||||
_("|", "alternative month names for July"),
|
||||
_("|", "alternative month names for August"),
|
||||
_("|", "alternative month names for September"),
|
||||
_("|", "alternative month names for October"),
|
||||
_("|", "alternative month names for November"),
|
||||
_("|", "alternative month names for December") )
|
||||
|
||||
self.calendar = (
|
||||
# Must appear in the order indexed by Date.CAL_... numeric constants
|
||||
_("calendar|Gregorian"),
|
||||
_("calendar|Julian"),
|
||||
_("calendar|Hebrew"),
|
||||
_("calendar|French Republican"),
|
||||
_("calendar|Persian"),
|
||||
_("calendar|Islamic"),
|
||||
_("calendar|Swedish") )
|
||||
_("Gregorian", "calendar"),
|
||||
_("Julian", "calendar"),
|
||||
_("Hebrew", "calendar"),
|
||||
_("French Republican", "calendar"),
|
||||
_("Persian", "calendar"),
|
||||
_("Islamic", "calendar"),
|
||||
_("Swedish", "calendar") )
|
||||
_ = locale.translation.lexgettext
|
||||
|
||||
self.hebrew = (
|
||||
@@ -143,19 +143,19 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("Hebrew month lexeme|Tishri"),
|
||||
_("Hebrew month lexeme|Heshvan"),
|
||||
_("Hebrew month lexeme|Kislev"),
|
||||
_("Hebrew month lexeme|Tevet"),
|
||||
_("Hebrew month lexeme|Shevat"),
|
||||
_("Hebrew month lexeme|AdarI"),
|
||||
_("Hebrew month lexeme|AdarII"),
|
||||
_("Hebrew month lexeme|Nisan"),
|
||||
_("Hebrew month lexeme|Iyyar"),
|
||||
_("Hebrew month lexeme|Sivan"),
|
||||
_("Hebrew month lexeme|Tammuz"),
|
||||
_("Hebrew month lexeme|Av"),
|
||||
_("Hebrew month lexeme|Elul")
|
||||
_("Tishri", "Hebrew month lexeme"),
|
||||
_("Heshvan", "Hebrew month lexeme"),
|
||||
_("Kislev", "Hebrew month lexeme"),
|
||||
_("Tevet", "Hebrew month lexeme"),
|
||||
_("Shevat", "Hebrew month lexeme"),
|
||||
_("AdarI", "Hebrew month lexeme"),
|
||||
_("AdarII", "Hebrew month lexeme"),
|
||||
_("Nisan", "Hebrew month lexeme"),
|
||||
_("Iyyar", "Hebrew month lexeme"),
|
||||
_("Sivan", "Hebrew month lexeme"),
|
||||
_("Tammuz", "Hebrew month lexeme"),
|
||||
_("Av", "Hebrew month lexeme"),
|
||||
_("Elul", "Hebrew month lexeme")
|
||||
)
|
||||
|
||||
self.french = (
|
||||
@@ -164,19 +164,19 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("French month lexeme|Vendémiaire"),
|
||||
_("French month lexeme|Brumaire"),
|
||||
_("French month lexeme|Frimaire"),
|
||||
_("French month lexeme|Nivôse"),
|
||||
_("French month lexeme|Pluviôse"),
|
||||
_("French month lexeme|Ventôse"),
|
||||
_("French month lexeme|Germinal"),
|
||||
_("French month lexeme|Floréal"),
|
||||
_("French month lexeme|Prairial"),
|
||||
_("French month lexeme|Messidor"),
|
||||
_("French month lexeme|Thermidor"),
|
||||
_("French month lexeme|Fructidor"),
|
||||
_("French month lexeme|Extra"),
|
||||
_("Vendémiaire", "French month lexeme"),
|
||||
_("Brumaire", "French month lexeme"),
|
||||
_("Frimaire", "French month lexeme"),
|
||||
_("Nivôse", "French month lexeme"),
|
||||
_("Pluviôse", "French month lexeme"),
|
||||
_("Ventôse", "French month lexeme"),
|
||||
_("Germinal", "French month lexeme"),
|
||||
_("Floréal", "French month lexeme"),
|
||||
_("Prairial", "French month lexeme"),
|
||||
_("Messidor", "French month lexeme"),
|
||||
_("Thermidor", "French month lexeme"),
|
||||
_("Fructidor", "French month lexeme"),
|
||||
_("Extra", "French month lexeme"),
|
||||
)
|
||||
|
||||
self.islamic = (
|
||||
@@ -185,18 +185,18 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("Islamic month lexeme|Muharram"),
|
||||
_("Islamic month lexeme|Safar"),
|
||||
_("Islamic month lexeme|Rabi`al-Awwal"),
|
||||
_("Islamic month lexeme|Rabi`ath-Thani"),
|
||||
_("Islamic month lexeme|Jumada l-Ula"),
|
||||
_("Islamic month lexeme|Jumada t-Tania"),
|
||||
_("Islamic month lexeme|Rajab"),
|
||||
_("Islamic month lexeme|Sha`ban"),
|
||||
_("Islamic month lexeme|Ramadan"),
|
||||
_("Islamic month lexeme|Shawwal"),
|
||||
_("Islamic month lexeme|Dhu l-Qa`da"),
|
||||
_("Islamic month lexeme|Dhu l-Hijja"),
|
||||
_("Muharram", "Islamic month lexeme"),
|
||||
_("Safar", "Islamic month lexeme"),
|
||||
_("Rabi`al-Awwal", "Islamic month lexeme"),
|
||||
_("Rabi`ath-Thani", "Islamic month lexeme"),
|
||||
_("Jumada l-Ula", "Islamic month lexeme"),
|
||||
_("Jumada t-Tania", "Islamic month lexeme"),
|
||||
_("Rajab", "Islamic month lexeme"),
|
||||
_("Sha`ban", "Islamic month lexeme"),
|
||||
_("Ramadan", "Islamic month lexeme"),
|
||||
_("Shawwal", "Islamic month lexeme"),
|
||||
_("Dhu l-Qa`da", "Islamic month lexeme"),
|
||||
_("Dhu l-Hijja", "Islamic month lexeme"),
|
||||
)
|
||||
|
||||
self.persian = (
|
||||
@@ -205,35 +205,35 @@ class DateStrings:
|
||||
# http://gramps-project.org/wiki/index.php?title=Translating_Gramps#Translating_dates
|
||||
# to learn how to select proper inflection to be used in your localized
|
||||
# DateDisplayer code!
|
||||
_("Persian month lexeme|Farvardin"),
|
||||
_("Persian month lexeme|Ordibehesht"),
|
||||
_("Persian month lexeme|Khordad"),
|
||||
_("Persian month lexeme|Tir"),
|
||||
_("Persian month lexeme|Mordad"),
|
||||
_("Persian month lexeme|Shahrivar"),
|
||||
_("Persian month lexeme|Mehr"),
|
||||
_("Persian month lexeme|Aban"),
|
||||
_("Persian month lexeme|Azar"),
|
||||
_("Persian month lexeme|Dey"),
|
||||
_("Persian month lexeme|Bahman"),
|
||||
_("Persian month lexeme|Esfand"),
|
||||
_("Farvardin", "Persian month lexeme"),
|
||||
_("Ordibehesht", "Persian month lexeme"),
|
||||
_("Khordad", "Persian month lexeme"),
|
||||
_("Tir", "Persian month lexeme"),
|
||||
_("Mordad", "Persian month lexeme"),
|
||||
_("Shahrivar", "Persian month lexeme"),
|
||||
_("Mehr", "Persian month lexeme"),
|
||||
_("Aban", "Persian month lexeme"),
|
||||
_("Azar", "Persian month lexeme"),
|
||||
_("Dey", "Persian month lexeme"),
|
||||
_("Bahman", "Persian month lexeme"),
|
||||
_("Esfand", "Persian month lexeme"),
|
||||
)
|
||||
|
||||
self.modifiers = ("",
|
||||
# TRANSLATORS: if the modifier is after the date
|
||||
# put the space ahead of the word instead of after it
|
||||
_("date modifier|before "),
|
||||
_("before ", "date modifier"),
|
||||
# TRANSLATORS: if the modifier is after the date
|
||||
# put the space ahead of the word instead of after it
|
||||
_("date modifier|after "),
|
||||
_("after ", "date modifier"),
|
||||
# TRANSLATORS: if the modifier is after the date
|
||||
# put the space ahead of the word instead of after it
|
||||
_("date modifier|about "),
|
||||
_("about ", "date modifier"),
|
||||
"", "", "")
|
||||
|
||||
self.qualifiers = ("",
|
||||
_("date quality|estimated "),
|
||||
_("date quality|calculated "),
|
||||
_("estimated ", "date quality"),
|
||||
_("calculated ", "date quality"),
|
||||
)
|
||||
|
||||
# 6753: localized day names. Eventually should sprout into
|
||||
|
||||
@@ -66,7 +66,7 @@ def set_format(value):
|
||||
except:
|
||||
pass
|
||||
|
||||
def set_date(date_base, text) :
|
||||
def set_date(date_base, text):
|
||||
"""
|
||||
Set the date of the :class:`.DateBase` instance.
|
||||
|
||||
@@ -79,7 +79,7 @@ def set_date(date_base, text) :
|
||||
"""
|
||||
parser.set_date(date_base.get_date_object(), text)
|
||||
|
||||
def get_date(date_base) :
|
||||
def get_date(date_base):
|
||||
"""
|
||||
Return a string representation of the date of the :class:`.DateBase`
|
||||
instance.
|
||||
|
||||
+20
-20
@@ -39,36 +39,36 @@ __all__ = ( 'DBPAGE', 'DBMODE', 'DBCACHE', 'DBLOCKS', 'DBOBJECTS', 'DBUNDO',
|
||||
"CLASS_TO_KEY_MAP", "KEY_TO_CLASS_MAP", "KEY_TO_NAME_MAP"
|
||||
)
|
||||
|
||||
DBEXT = ".db" # File extension to be used for database files
|
||||
DBUNDOFN = "undo.db" # File name of 'undo' database
|
||||
DBLOCKFN = "lock" # File name of lock file
|
||||
DBEXT = ".db" # File extension to be used for database files
|
||||
DBUNDOFN = "undo.db" # File name of 'undo' database
|
||||
DBLOCKFN = "lock" # File name of lock file
|
||||
DBRECOVFN = "need_recover" # File name of recovery file
|
||||
BDBVERSFN = "bdbversion.txt"# File name of Berkeley DB version file
|
||||
DBBACKEND = "database.txt" # File name of Database backend file
|
||||
SCHVERSFN = "schemaversion.txt"# File name of schema version file
|
||||
PCKVERSFN = "pickleupgrade.txt" # Indicator that pickle has been upgrade t Python3
|
||||
DBLOGNAME = ".Db" # Name of logger
|
||||
DBMODE_R = "r" # Read-only access
|
||||
DBMODE_W = "w" # Full Read/Write access
|
||||
DBPAGE = 16384 # Size of the pages used to hold items in the database
|
||||
DBMODE = 0o666 # Unix mode for database creation
|
||||
DBCACHE = 0x4000000 # Size of the shared memory buffer pool
|
||||
DBLOCKS = 100000 # Maximum number of locks supported
|
||||
DBMODE_R = "r" # Read-only access
|
||||
DBMODE_W = "w" # Full Read/Write access
|
||||
DBPAGE = 16384 # Size of the pages used to hold items in the database
|
||||
DBMODE = 0o666 # Unix mode for database creation
|
||||
DBCACHE = 0x4000000 # Size of the shared memory buffer pool
|
||||
DBLOCKS = 100000 # Maximum number of locks supported
|
||||
DBOBJECTS = 100000 # Maximum number of simultaneously locked objects
|
||||
DBUNDO = 1000 # Maximum size of undo buffer
|
||||
DBUNDO = 1000 # Maximum size of undo buffer
|
||||
ARRAYSIZE = 1000 # The arraysize for a SQL cursor
|
||||
|
||||
PERSON_KEY = 0
|
||||
FAMILY_KEY = 1
|
||||
SOURCE_KEY = 2
|
||||
EVENT_KEY = 3
|
||||
MEDIA_KEY = 4
|
||||
PLACE_KEY = 5
|
||||
PERSON_KEY = 0
|
||||
FAMILY_KEY = 1
|
||||
SOURCE_KEY = 2
|
||||
EVENT_KEY = 3
|
||||
MEDIA_KEY = 4
|
||||
PLACE_KEY = 5
|
||||
REPOSITORY_KEY = 6
|
||||
REFERENCE_KEY = 7
|
||||
NOTE_KEY = 8
|
||||
TAG_KEY = 9
|
||||
CITATION_KEY = 10
|
||||
REFERENCE_KEY = 7
|
||||
NOTE_KEY = 8
|
||||
TAG_KEY = 9
|
||||
CITATION_KEY = 10
|
||||
|
||||
TXNADD, TXNUPD, TXNDEL = 0, 1, 2
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ database to fetch data from). Thus, dbstate.db cannot be left as 'None' because
|
||||
None has no 'is_open' attribute. Therefore this database class is provided so
|
||||
that it can be instantiated for dbstate.db.
|
||||
|
||||
FIXME: Ideally, only is_open() needs to be implemented here, bacause that is the
|
||||
FIXME: Ideally, only is_open() needs to be implemented here, because that is the
|
||||
only method that should really be called, but the Gramps code is not perfect,
|
||||
and many other methods are called. Calls of other methods could be considered
|
||||
bugs, so when these are fixed, this class could be reduced.
|
||||
@@ -216,8 +216,9 @@ class DummyDb(M_A_M_B("NewBaseClass", (DbReadBase, Callback, object,), {})):
|
||||
"""
|
||||
Create a new DummyDb instance.
|
||||
"""
|
||||
DbReadBase.__init__(self)
|
||||
Callback.__init__(self)
|
||||
self.basedb = None
|
||||
self.__feature = {} # {"feature": VALUE, ...}
|
||||
self.db_is_open = False
|
||||
self.readonly = True
|
||||
self.name_formats = []
|
||||
@@ -756,6 +757,14 @@ class DummyDb(M_A_M_B("NewBaseClass", (DbReadBase, Callback, object,), {})):
|
||||
LOG.warning("database is closed")
|
||||
return 0
|
||||
|
||||
def get_number_of_citations(self):
|
||||
"""
|
||||
Return the number of citations currently in the database.
|
||||
"""
|
||||
if not self.db_is_open:
|
||||
LOG.warning("database is closed")
|
||||
return 0
|
||||
|
||||
def get_number_of_tags(self):
|
||||
"""
|
||||
Return the number of tags currently in the database.
|
||||
|
||||
+29
-194
@@ -122,121 +122,6 @@ class DbPythonError(Exception):
|
||||
'min_vers': self.min_vers,
|
||||
'max_vers': self.max_vers}
|
||||
|
||||
class BsddbDowngradeError(Exception):
|
||||
"""
|
||||
Error used to report that the Berkeley database used to create the family
|
||||
tree is of a version that is too new to be supported by the current version.
|
||||
"""
|
||||
def __init__(self, env_version, bdb_version):
|
||||
Exception.__init__(self)
|
||||
self.env_version = str(env_version)
|
||||
self.bdb_version = str(bdb_version)
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load is in the Bsddb '
|
||||
'version %(env_version)s format. This version of Gramps uses '
|
||||
'Bsddb version %(bdb_version)s. So you are trying to load '
|
||||
'data created in a newer format into an older program, and '
|
||||
'this is bound to fail.\n\n'
|
||||
'You should start your '
|
||||
'%(bold_start)snewer%(bold_end)s version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree. You can then import '
|
||||
'this backup into this version of Gramps.') % {
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'html_end' : '</a>' ,
|
||||
'bold_start' : '<b>' ,
|
||||
'bold_end' : '</b>' ,
|
||||
'env_version' : self.env_version,
|
||||
'bdb_version' : self.bdb_version }
|
||||
|
||||
class BsddbDowngradeRequiredError(Exception):
|
||||
"""
|
||||
Error used to report that the Berkeley database used to create the family
|
||||
tree is of a version that is newer than the current version, but it may be
|
||||
possible to open the tree, because the difference is only a point upgrade
|
||||
(i.e. a difference in the last digit of the version tuple).
|
||||
"""
|
||||
def __init__(self, env_version, bdb_version):
|
||||
Exception.__init__(self)
|
||||
self.env_version = str(env_version)
|
||||
self.bdb_version = str(bdb_version)
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load is in the Bsddb '
|
||||
'version %(env_version)s format. This version of Gramps uses '
|
||||
'Bsddb version %(bdb_version)s. So you are trying to load '
|
||||
'data created in a newer format into an older program. In '
|
||||
'this particular case, the difference is very small, so it '
|
||||
'may work.\n\n'
|
||||
'If you have not already made a backup of your Family Tree, '
|
||||
'then you should start your '
|
||||
'%(bold_start)snewer%(bold_end)s version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree.') % {
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'html_end' : '</a>' ,
|
||||
'bold_start' : '<b>' ,
|
||||
'bold_end' : '</b>' ,
|
||||
'env_version' : self.env_version,
|
||||
'bdb_version' : self.bdb_version }
|
||||
|
||||
class BsddbUpgradeRequiredError(Exception):
|
||||
"""
|
||||
Error used to report that the Berkeley database used to create the family
|
||||
tree is of a version that is too new to be supported by the current version.
|
||||
"""
|
||||
def __init__(self, env_version, bsddb_version):
|
||||
Exception.__init__(self)
|
||||
self.env_version = str(env_version)
|
||||
self.bsddb_version = str(bsddb_version)
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load is in the Bsddb '
|
||||
'version %(env_version)s format. This version of Gramps uses '
|
||||
'Bsddb version %(bdb_version)s. Therefore you cannot load '
|
||||
'this Family Tree without upgrading the Bsddb version of the '
|
||||
'Family Tree.\n\n'
|
||||
'Opening the Family Tree with this version of Gramps might '
|
||||
'irretrievably corrupt your Family Tree. You are strongly '
|
||||
'advised to backup your Family Tree.\n\n'
|
||||
'If you have not already made a backup of your Family Tree, '
|
||||
'then you should start your %(bold_start)sold%(bold_end)s '
|
||||
'version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree.') % {
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'html_end' : '</a>' ,
|
||||
'bold_start' : '<b>' ,
|
||||
'bold_end' : '</b>' ,
|
||||
'env_version' : self.env_version,
|
||||
'bdb_version' : self.bsddb_version }
|
||||
|
||||
class DbEnvironmentError(Exception):
|
||||
"""
|
||||
Error used to report that the database 'environment' could not be opened.
|
||||
Most likely, the database was created by a different version of the underlying database engine.
|
||||
"""
|
||||
def __init__(self, msg):
|
||||
Exception.__init__(self)
|
||||
self.msg = msg
|
||||
|
||||
def __str__(self):
|
||||
return (_("Gramps has detected a problem in opening the 'environment' "
|
||||
"of the underlying Berkeley database used to store this "
|
||||
"Family Tree. The most likely cause "
|
||||
"is that the database was created with an old version "
|
||||
"of the Berkeley database program, "
|
||||
"and you are now using a new version. "
|
||||
"It is quite likely that your database has not been "
|
||||
"changed by Gramps.\nIf possible, you should revert to your "
|
||||
"old version of Gramps and its support software; export "
|
||||
"your database to XML; close the database; "
|
||||
"then upgrade again "
|
||||
"to this version of Gramps and import the XML file "
|
||||
"in an empty Family Tree. Alternatively, it may be possible "
|
||||
"to use the Berkeley database recovery tools.")
|
||||
+ '\n\n' + str(self.msg))
|
||||
|
||||
class DbUpgradeRequiredError(Exception):
|
||||
"""
|
||||
@@ -275,73 +160,6 @@ class DbUpgradeRequiredError(Exception):
|
||||
'oldschema' : self.oldschema,
|
||||
'newschema' : self.newschema }
|
||||
|
||||
class PythonDowngradeError(Exception):
|
||||
"""
|
||||
Error used to report that the Python version used to create the family tree
|
||||
(i.e. Python3) is a version that is newer than the current version
|
||||
(i.e. Python2), so the Family Tree cannot be opened
|
||||
"""
|
||||
def __init__(self, db_python_version, current_python_version):
|
||||
Exception.__init__(self)
|
||||
self.db_python_version = str(db_python_version)
|
||||
self.current_python_version = str(current_python_version)
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load was created with '
|
||||
'Python version %(db_python_version)s. This version of Gramps '
|
||||
'uses Python version %(current_python_version)s. So you are '
|
||||
'trying to load '
|
||||
'data created in a newer format into an older program, and '
|
||||
'this is bound to fail.\n\n'
|
||||
'You should start your '
|
||||
'%(bold_start)snewer%(bold_end)s version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree. You can then import '
|
||||
'this backup into this version of Gramps.') % {
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'html_end' : '</a>' ,
|
||||
'bold_start' : '<b>' ,
|
||||
'bold_end' : '</b>' ,
|
||||
'db_python_version': self.db_python_version,
|
||||
'current_python_version': self.current_python_version }
|
||||
|
||||
class PythonUpgradeRequiredError(Exception):
|
||||
"""
|
||||
Error used to report that the Python version used to create the family tree
|
||||
(i.e. Python2) is earlier than the current Python version (i.e. Python3), so
|
||||
the Family Tree needs to be upgraded.
|
||||
"""
|
||||
def __init__(self, db_python_version, current_python_version):
|
||||
Exception.__init__(self)
|
||||
self.db_python_version = str(db_python_version)
|
||||
self.current_python_version = str(current_python_version)
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load is in the Python '
|
||||
'version %(db_python_version)s format. This version of Gramps '
|
||||
'uses Python version %(current_python_version)s. Therefore '
|
||||
'you cannot load this Family Tree without upgrading the '
|
||||
'Python version of the Family Tree.\n\n'
|
||||
'If you upgrade then you won\'t be able to use the previous '
|
||||
'version of Gramps, even if you subsequently '
|
||||
'%(wiki_manual_backup_html_start)sbackup%(html_end)s or '
|
||||
'%(wiki_manual_export_html_start)sexport%(html_end)s '
|
||||
'your upgraded Family Tree.\n\n'
|
||||
'Upgrading is a difficult task which could irretrievably '
|
||||
'corrupt your Family Tree if it is interrupted or fails.\n\n'
|
||||
'If you have not already made a backup of your Family Tree, '
|
||||
'then you should start your %(bold_start)sold%(bold_end)s '
|
||||
'version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree.') % {
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'wiki_manual_backup_html_start' : URL_BACKUP2_START ,
|
||||
'wiki_manual_export_html_start' : URL_EXPORT_START ,
|
||||
'html_end' : '</a>' ,
|
||||
'bold_start' : '<b>' ,
|
||||
'bold_end' : '</b>' ,
|
||||
'db_python_version': self.db_python_version,
|
||||
'current_python_version': self.current_python_version }
|
||||
|
||||
class DbConnectionError(Exception):
|
||||
"""
|
||||
@@ -360,6 +178,35 @@ class DbConnectionError(Exception):
|
||||
'message': self.msg,
|
||||
'settings_file': self.settings_file}
|
||||
|
||||
|
||||
class DbSupportedError(Exception):
|
||||
"""
|
||||
Error used to report that a database is no longer supported.
|
||||
"""
|
||||
def __init__(self, msg):
|
||||
Exception.__init__(self)
|
||||
self.msg = msg
|
||||
|
||||
def __str__(self):
|
||||
return _('The Family Tree you are trying to load is in the %(dbtype)s '
|
||||
'database, which is no longer supported.\nTherefore you '
|
||||
'cannot load this Family Tree without upgrading.\n\n'
|
||||
'If you upgrade then you won\'t be able to use the previous '
|
||||
'version of Gramps, even if you subsequently '
|
||||
'%(wiki_manual_backup_html_start)sbackup%(html_end)s or '
|
||||
'%(wiki_manual_export_html_start)sexport%(html_end)s '
|
||||
'your upgraded Family Tree.\n\n'
|
||||
'You are strongly advised to backup your Family Tree.\n\n'
|
||||
'If you have not already made a backup of your Family Tree, '
|
||||
'then you should start your previous version of Gramps and '
|
||||
'%(wiki_backup_html_start)smake a backup%(html_end)s '
|
||||
'of your Family Tree.') % {
|
||||
'dbtype' : self.msg,
|
||||
'wiki_manual_backup_html_start' : URL_BACKUP2_START ,
|
||||
'wiki_manual_export_html_start' : URL_EXPORT_START ,
|
||||
'wiki_backup_html_start' : URL_BACKUP1_START ,
|
||||
'html_end' : '</a>'}
|
||||
|
||||
if __name__ == "__main__":
|
||||
"""
|
||||
Call this from the CLI (in order to find the imported modules):
|
||||
@@ -370,20 +217,8 @@ if __name__ == "__main__":
|
||||
|
||||
print("\nDbVersionError:\n",
|
||||
DbVersionError('1.6.0', '1.5.0', '1.5.1'))
|
||||
print("\nBsddbDowngradeError:\n",
|
||||
BsddbDowngradeError('4.8.30', '4.8.29'))
|
||||
print("\nBsddbDowngradeRequiredError:\n",
|
||||
BsddbDowngradeRequiredError('4.8.30', '4.8.29'))
|
||||
print("\nBsddbUpgradeRequiredError:\n",
|
||||
BsddbUpgradeRequiredError('4.8.29', '4.8.30'))
|
||||
print("\nDbEnvironmentError:\n",
|
||||
DbEnvironmentError('test message'))
|
||||
print("\nDbUpgradeRequiredError:\n",
|
||||
DbUpgradeRequiredError('1.5.1', '1.6.0'))
|
||||
print("\nPythonDowngradeError:\n",
|
||||
PythonDowngradeError('3', '2'))
|
||||
print("\nPythonUpgradeRequiredError:\n",
|
||||
PythonUpgradeRequiredError('2', '3'))
|
||||
sys.exit(0)
|
||||
|
||||
print("\nxxx:\n",
|
||||
|
||||
@@ -47,6 +47,7 @@ from . import (DbReadBase, DbWriteBase, DbUndo, DBLOGNAME, DBUNDOFN,
|
||||
REPOSITORY_KEY, NOTE_KEY, TAG_KEY, TXNADD, TXNUPD, TXNDEL,
|
||||
KEY_TO_NAME_MAP, DBMODE_R, DBMODE_W)
|
||||
from .utils import write_lock_file, clear_lock_file
|
||||
from .exceptions import DbVersionError, DbUpgradeRequiredError
|
||||
from ..errors import HandleError
|
||||
from ..utils.callback import Callback
|
||||
from ..updatecallback import UpdateCallback
|
||||
@@ -311,7 +312,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
||||
|
||||
__callback_map = {}
|
||||
|
||||
VERSION = (18, 0, 0)
|
||||
VERSION = (20, 0, 0)
|
||||
|
||||
def __init__(self, directory=None):
|
||||
DbReadBase.__init__(self)
|
||||
@@ -534,9 +535,9 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
||||
self.undo_history_callback = None
|
||||
self.modified = 0
|
||||
self.transaction = None
|
||||
self.abort_possible = False
|
||||
self.abort_possible = True
|
||||
self._bm_changes = 0
|
||||
self.has_changed = False
|
||||
self.has_changed = 0 # Also gives commits since startup
|
||||
self.surname_list = []
|
||||
self.genderStats = GenderStats() # can pass in loaded stats as dict
|
||||
self.owner = Researcher()
|
||||
@@ -659,6 +660,21 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
||||
|
||||
self.db_is_open = True
|
||||
|
||||
# Check on db version to see if we need upgrade or too new
|
||||
dbversion = int(self._get_metadata('version', default='0'))
|
||||
if dbversion > self.VERSION[0]:
|
||||
self.close()
|
||||
raise DbVersionError(dbversion, 18, self.VERSION[0])
|
||||
|
||||
if not self.readonly and dbversion < self.VERSION[0]:
|
||||
LOG.debug("Schema upgrade required from %s to %s",
|
||||
dbversion, self.VERSION[0])
|
||||
if force_schema_upgrade:
|
||||
self._gramps_upgrade(dbversion, directory, callback)
|
||||
else:
|
||||
self.close()
|
||||
raise DbUpgradeRequiredError(dbversion, self.VERSION[0])
|
||||
|
||||
def _close(self):
|
||||
"""
|
||||
Close database backend.
|
||||
@@ -757,7 +773,7 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
||||
if self._directory:
|
||||
filepath = os.path.join(self._directory, "name.txt")
|
||||
try:
|
||||
with open(filepath, "r") as name_file:
|
||||
with open(filepath, "r", encoding='utf8') as name_file:
|
||||
name = name_file.readline().strip()
|
||||
except (OSError, IOError) as msg:
|
||||
LOG.error(str(msg))
|
||||
@@ -2463,3 +2479,47 @@ class DbGeneric(DbWriteBase, DbReadBase, UpdateCallback, Callback):
|
||||
enclosed_by = placeref.ref
|
||||
break
|
||||
return enclosed_by
|
||||
|
||||
def _gramps_upgrade(self, version, directory, callback=None):
|
||||
"""
|
||||
Here we do the calls for stepwise schema upgrades.
|
||||
We assume that we need to rebuild secondary and reference maps.
|
||||
"""
|
||||
UpdateCallback.__init__(self, callback)
|
||||
|
||||
start = time.time()
|
||||
|
||||
from gramps.gen.db.upgrade import (
|
||||
gramps_upgrade_14, gramps_upgrade_15, gramps_upgrade_16,
|
||||
gramps_upgrade_17, gramps_upgrade_18, gramps_upgrade_19,
|
||||
gramps_upgrade_20)
|
||||
|
||||
if version < 14:
|
||||
gramps_upgrade_14(self)
|
||||
if version < 15:
|
||||
gramps_upgrade_15(self)
|
||||
if version < 16:
|
||||
gramps_upgrade_16(self)
|
||||
if version < 17:
|
||||
gramps_upgrade_17(self)
|
||||
if version < 18:
|
||||
gramps_upgrade_18(self)
|
||||
if version < 19:
|
||||
gramps_upgrade_19(self)
|
||||
if version < 20:
|
||||
gramps_upgrade_20(self)
|
||||
|
||||
self.rebuild_secondary(callback)
|
||||
self.reindex_reference_map(callback)
|
||||
self.reset()
|
||||
|
||||
self.set_schema_version(self.VERSION[0])
|
||||
LOG.debug("Upgrade time: %d seconds" % int(time.time() - start))
|
||||
|
||||
def get_schema_version(self):
|
||||
""" Return current schema version as an int """
|
||||
return int(self._get_metadata('version', default='0'))
|
||||
|
||||
def set_schema_version(self, value):
|
||||
""" set the current schema version """
|
||||
self._set_metadata('version', str(value))
|
||||
|
||||
@@ -120,7 +120,7 @@ class DbTxn(defaultdict):
|
||||
data = Python list where:
|
||||
list element = (handle, data) where:
|
||||
handle = handle (database key) of the object in the transaction
|
||||
data = pickled representation of the object
|
||||
data = pickled representation of the object
|
||||
"""
|
||||
|
||||
# Conditional on __debug__ because all that frame stuff may be slow
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+46
-46
@@ -83,21 +83,21 @@ except ImportError:
|
||||
# Constants
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_FIRSTNAME = 4
|
||||
_FIRSTNAME = 4
|
||||
_SURNAME_LIST = 5
|
||||
_SUFFIX = 6
|
||||
_TITLE = 7
|
||||
_TYPE = 8
|
||||
_GROUP = 9
|
||||
_SORT = 10
|
||||
_DISPLAY = 11
|
||||
_CALL = 12
|
||||
_NICK = 13
|
||||
_FAMNICK = 14
|
||||
_SURNAME_IN_LIST = 0
|
||||
_PREFIX_IN_LIST = 1
|
||||
_PRIMARY_IN_LIST = 2
|
||||
_TYPE_IN_LIST = 3
|
||||
_SUFFIX = 6
|
||||
_TITLE = 7
|
||||
_TYPE = 8
|
||||
_GROUP = 9
|
||||
_SORT = 10
|
||||
_DISPLAY = 11
|
||||
_CALL = 12
|
||||
_NICK = 13
|
||||
_FAMNICK = 14
|
||||
_SURNAME_IN_LIST = 0
|
||||
_PREFIX_IN_LIST = 1
|
||||
_PRIMARY_IN_LIST = 2
|
||||
_TYPE_IN_LIST = 3
|
||||
_CONNECTOR_IN_LIST = 4
|
||||
_ORIGINPATRO = NameOriginType.PATRONYMIC
|
||||
_ORIGINMATRO = NameOriginType.MATRONYMIC
|
||||
@@ -570,13 +570,13 @@ class NameDisplay:
|
||||
raw_data[_SUFFIX])
|
||||
|
||||
Specific symbols for parts of a name are defined (keywords given):
|
||||
't' : title = title
|
||||
'f' : given = given (first names)
|
||||
'l' : surname = full surname (lastname)
|
||||
'c' : call = callname
|
||||
'x' : common = nick name, call, otherwise first first name (common name)
|
||||
'i' : initials = initials of the first names
|
||||
'm' : primary = primary surname (main)
|
||||
't' : title = title
|
||||
'f' : given = given (first names)
|
||||
'l' : surname = full surname (lastname)
|
||||
'c' : call = callname
|
||||
'x' : common = nick name, call, otherwise first first name (common name)
|
||||
'i' : initials = initials of the first names
|
||||
'm' : primary = primary surname (main)
|
||||
'0m': primary[pre]= prefix primary surname (main)
|
||||
'1m': primary[sur]= surname primary surname (main)
|
||||
'2m': primary[con]= connector primary surname (main)
|
||||
@@ -585,11 +585,11 @@ class NameDisplay:
|
||||
'1y': patronymic[sur] = surname "
|
||||
'2y': patronymic[con] = connector "
|
||||
'o' : notpatronymic = surnames without pa/matronymic and primary
|
||||
'r' : rest = non primary surnames
|
||||
'p' : prefix = list of all prefixes
|
||||
'r' : rest = non primary surnames
|
||||
'p' : prefix = list of all prefixes
|
||||
'q' : rawsurnames = surnames without prefixes and connectors
|
||||
's' : suffix = suffix
|
||||
'n' : nickname = nick name
|
||||
's' : suffix = suffix
|
||||
'n' : nickname = nick name
|
||||
'g' : familynick = family nick name
|
||||
|
||||
|
||||
@@ -599,7 +599,7 @@ class NameDisplay:
|
||||
# called to fill in each format flag.
|
||||
# Dictionary is "code": ("expression", "keyword", "i18n-keyword")
|
||||
d = {"t": ("raw_data[_TITLE]", "title",
|
||||
_("Person|title")),
|
||||
_("title", "Person")),
|
||||
"f": ("raw_data[_FIRSTNAME]", "given",
|
||||
_("given")),
|
||||
"l": ("_raw_full_surname(raw_data[_SURNAME_LIST])", "surname",
|
||||
@@ -607,17 +607,17 @@ class NameDisplay:
|
||||
"s": ("raw_data[_SUFFIX]", "suffix",
|
||||
_("suffix")),
|
||||
"c": ("raw_data[_CALL]", "call",
|
||||
_("Name|call")),
|
||||
_("call", "Name")),
|
||||
"x": ("(raw_data[_NICK] or raw_data[_CALL] or raw_data[_FIRSTNAME].split(' ')[0])",
|
||||
"common",
|
||||
_("Name|common")),
|
||||
_("common", "Name")),
|
||||
"i": ("''.join([word[0] +'.' for word in ('. ' +" +
|
||||
" raw_data[_FIRSTNAME]).split()][1:])",
|
||||
"initials",
|
||||
_("initials")),
|
||||
"m": ("_raw_primary_surname(raw_data[_SURNAME_LIST])",
|
||||
"primary",
|
||||
_("Name|primary")),
|
||||
_("primary", "Name")),
|
||||
"0m": ("_raw_primary_prefix_only(raw_data[_SURNAME_LIST])",
|
||||
"primary[pre]",
|
||||
_("primary[pre]")),
|
||||
@@ -639,7 +639,7 @@ class NameDisplay:
|
||||
_("notpatronymic")),
|
||||
"r": ("_raw_nonprimary_surname(raw_data[_SURNAME_LIST])",
|
||||
"rest",
|
||||
_("Remaining names|rest")),
|
||||
_("rest", "Remaining names")),
|
||||
"p": ("_raw_prefix_surname(raw_data[_SURNAME_LIST])",
|
||||
"prefix",
|
||||
_("prefix")),
|
||||
@@ -671,13 +671,13 @@ class NameDisplay:
|
||||
return "%s %s" % (first,suffix)
|
||||
|
||||
Specific symbols for parts of a name are defined (keywords given):
|
||||
't' : title = title
|
||||
'f' : given = given (first names)
|
||||
'l' : surname = full surname (lastname)
|
||||
'c' : call = callname
|
||||
'x' : common = nick name, call, or otherwise first first name (common name)
|
||||
'i' : initials = initials of the first names
|
||||
'm' : primary = primary surname (main)
|
||||
't' : title = title
|
||||
'f' : given = given (first names)
|
||||
'l' : surname = full surname (lastname)
|
||||
'c' : call = callname
|
||||
'x' : common = nick name, call, or otherwise first first name (common name)
|
||||
'i' : initials = initials of the first names
|
||||
'm' : primary = primary surname (main)
|
||||
'0m': primary[pre]= prefix primary surname (main)
|
||||
'1m': primary[sur]= surname primary surname (main)
|
||||
'2m': primary[con]= connector primary surname (main)
|
||||
@@ -686,11 +686,11 @@ class NameDisplay:
|
||||
'1y': patronymic[sur] = surname "
|
||||
'2y': patronymic[con] = connector "
|
||||
'o' : notpatronymic = surnames without pa/matronymic and primary
|
||||
'r' : rest = non primary surnames
|
||||
'p' : prefix = list of all prefixes
|
||||
'r' : rest = non primary surnames
|
||||
'p' : prefix = list of all prefixes
|
||||
'q' : rawsurnames = surnames without prefixes and connectors
|
||||
's' : suffix = suffix
|
||||
'n' : nickname = nick name
|
||||
's' : suffix = suffix
|
||||
'n' : nickname = nick name
|
||||
'g' : familynick = family nick name
|
||||
|
||||
"""
|
||||
@@ -699,7 +699,7 @@ class NameDisplay:
|
||||
# called to fill in each format flag.
|
||||
# Dictionary is "code": ("expression", "keyword", "i18n-keyword")
|
||||
d = {"t": ("title", "title",
|
||||
_("Person|title")),
|
||||
_("title", "Person")),
|
||||
"f": ("first", "given",
|
||||
_("given")),
|
||||
"l": ("_raw_full_surname(raw_surname_list)", "surname",
|
||||
@@ -707,14 +707,14 @@ class NameDisplay:
|
||||
"s": ("suffix", "suffix",
|
||||
_("suffix")),
|
||||
"c": ("call", "call",
|
||||
_("Name|call")),
|
||||
_("call", "Name")),
|
||||
"x": ("(nick or call or first.split(' ')[0])", "common",
|
||||
_("Name|common")),
|
||||
_("common", "Name")),
|
||||
"i": ("''.join([word[0] +'.' for word in ('. ' + first).split()][1:])",
|
||||
"initials",
|
||||
_("initials")),
|
||||
"m": ("_raw_primary_surname(raw_surname_list)", "primary",
|
||||
_("Name|primary")),
|
||||
_("primary", "Name")),
|
||||
"0m":("_raw_primary_prefix_only(raw_surname_list)",
|
||||
"primary[pre]", _("primary[pre]")),
|
||||
"1m":("_raw_primary_surname_only(raw_surname_list)",
|
||||
@@ -732,7 +732,7 @@ class NameDisplay:
|
||||
"o": ("_raw_nonpatro_surname(raw_surname_list)", "notpatronymic",
|
||||
_("notpatronymic")),
|
||||
"r": ("_raw_nonprimary_surname(raw_surname_list)", "rest",
|
||||
_("Remaining names|rest")),
|
||||
_("rest", "Remaining names")),
|
||||
"p": ("_raw_prefix_surname(raw_surname_list)", "prefix",
|
||||
_("prefix")),
|
||||
"q": ("_raw_single_surname(raw_surname_list)", "rawsurnames",
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
Package providing filtering framework for Gramps.
|
||||
"""
|
||||
|
||||
#SystemFilters = None
|
||||
CustomFilters = None
|
||||
|
||||
from ..const import CUSTOM_FILTERS
|
||||
@@ -32,18 +31,10 @@ from ._genericfilter import (GenericFilter, GenericFilterFactory,
|
||||
from ._paramfilter import ParamFilter
|
||||
from ._searchfilter import SearchFilter, ExactSearchFilter
|
||||
|
||||
#def reload_system_filters():
|
||||
#global SystemFilters
|
||||
#SystemFilters = FilterList(SYSTEM_FILTERS)
|
||||
#SystemFilters.load()
|
||||
|
||||
def reload_custom_filters():
|
||||
global CustomFilters
|
||||
CustomFilters = FilterList(CUSTOM_FILTERS)
|
||||
CustomFilters.load()
|
||||
|
||||
#if not SystemFilters:
|
||||
#reload_system_filters()
|
||||
|
||||
if not CustomFilters:
|
||||
reload_custom_filters()
|
||||
# if not CustomFilters: # moved to viewmanager
|
||||
# reload_custom_filters()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#-------------------------------------------------------------------------
|
||||
from xml.sax import make_parser, SAXParseException
|
||||
import os
|
||||
import collections
|
||||
from collections import abc
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -78,7 +78,7 @@ class FilterList:
|
||||
plugin_filters = []
|
||||
try:
|
||||
for plug in plugins:
|
||||
if isinstance(plug, collections.Callable):
|
||||
if isinstance(plug, abc.Callable):
|
||||
plug = plug(namespace)
|
||||
if plug:
|
||||
if isinstance(plug, (list, tuple)):
|
||||
|
||||
@@ -48,12 +48,12 @@ class ChangedSinceBase(Rule):
|
||||
Rule that checks for primary objects changed since a specific time.
|
||||
"""
|
||||
|
||||
labels = [ 'Changed after:', 'but before:' ]
|
||||
name = 'Objects changed after <date time>'
|
||||
labels = [ 'Changed after:', 'but before:' ]
|
||||
name = 'Objects changed after <date time>'
|
||||
description = "Matches object records changed after a specified " \
|
||||
"date/time (yyyy-mm-dd hh:mm:ss) or in range, if a second " \
|
||||
"date/time is given."
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def add_time(self, date):
|
||||
if re.search(r"\d.*\s+\d{1,2}:\d{2}:\d{2}", date):
|
||||
|
||||
@@ -41,8 +41,8 @@ from . import Rule
|
||||
class Everything(Rule):
|
||||
"""Match Everyone."""
|
||||
|
||||
name = 'Every object'
|
||||
category = _('General filters')
|
||||
name = 'Every object'
|
||||
category = _('General filters')
|
||||
description = 'Matches every object in the database'
|
||||
|
||||
def is_empty(self):
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2002-2006 Donald N. Allingham
|
||||
# Copyright (C) 2019 Matthias Kemmer
|
||||
#
|
||||
# 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
|
||||
@@ -34,6 +35,7 @@ _ = glocale.translation.gettext
|
||||
from ...lib.attrtype import AttributeType
|
||||
from . import Rule
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# HasAttribute
|
||||
@@ -44,11 +46,11 @@ class HasAttributeBase(Rule):
|
||||
Rule that checks for an object with a particular attribute.
|
||||
"""
|
||||
|
||||
labels = [ 'Attribute:', 'Value:' ]
|
||||
name = 'Objects with the <attribute>'
|
||||
labels = ['Attribute:', 'Value:']
|
||||
name = 'Objects with the <attribute>'
|
||||
description = "Matches objects with the given attribute " \
|
||||
"of a particular value"
|
||||
category = _('General filters')
|
||||
"of a particular value"
|
||||
category = _('General filters')
|
||||
allow_regex = True
|
||||
|
||||
def apply(self, db, obj):
|
||||
@@ -60,5 +62,6 @@ class HasAttributeBase(Rule):
|
||||
name_match = attr.get_type() == specified_type
|
||||
|
||||
if name_match:
|
||||
return self.match_substring(1, attr.get_value())
|
||||
if self.match_substring(1, attr.get_value()):
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -46,12 +46,12 @@ class HasCitationBase(Rule):
|
||||
First parameter is [Volume/page, Date, Confidence]
|
||||
"""
|
||||
|
||||
labels = [ _('Volume/Page:'),
|
||||
labels = [ _('Volume/Page:'),
|
||||
_('Date:'),
|
||||
_('Confidence:') ]
|
||||
name = _('Citations matching parameters')
|
||||
name = _('Citations matching parameters')
|
||||
description = _("Matches citations with particular parameters")
|
||||
category = _('Citation/source filters')
|
||||
category = _('Citation/source filters')
|
||||
allow_regex = True
|
||||
|
||||
def prepare(self, db, user):
|
||||
|
||||
@@ -46,14 +46,14 @@ class HasEventBase(Rule):
|
||||
"""Rule that checks for an event with a particular value."""
|
||||
|
||||
|
||||
labels = [ 'Event type:',
|
||||
labels = [ 'Event type:',
|
||||
'Date:',
|
||||
'Place:',
|
||||
'Description:',
|
||||
'Main Participants:' ]
|
||||
name = 'Events matching parameters'
|
||||
description = "Matches events with particular parameters"
|
||||
category = _('Event filters')
|
||||
name = 'Events matching parameters'
|
||||
description = "Matches events with particular parameters"
|
||||
category = _('Event filters')
|
||||
allow_regex = True
|
||||
|
||||
def prepare(self, db, user):
|
||||
|
||||
@@ -42,10 +42,10 @@ from . import Rule
|
||||
class HasGalleryBase(Rule):
|
||||
"""Objects who have Media Object"""
|
||||
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Object with <count> Media references'
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Object with <count> Media references'
|
||||
description = "Matches objects with certain number of items in the gallery"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def prepare(self, db, user):
|
||||
# things we want to do just once, not for every handle
|
||||
|
||||
@@ -42,10 +42,10 @@ from . import Rule
|
||||
class HasGrampsId(Rule):
|
||||
"""Rule that checks for an object with a specific Gramps ID."""
|
||||
|
||||
labels = [ _('ID:') ]
|
||||
name = 'Object with <Id>'
|
||||
labels = [ _('ID:') ]
|
||||
name = 'Object with <Id>'
|
||||
description = "Matches objects with a specified Gramps ID"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def apply(self, db, obj):
|
||||
"""
|
||||
|
||||
@@ -45,10 +45,10 @@ from . import Rule
|
||||
class HasLDSBase(Rule):
|
||||
"""Rule that checks for object with a LDS event"""
|
||||
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Objects with LDS events'
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Objects with LDS events'
|
||||
description = "Matches objects with LDS events"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def prepare(self, db, user):
|
||||
# things we want to do just once, not for every handle
|
||||
|
||||
@@ -43,10 +43,10 @@ from . import Rule
|
||||
class HasNoteBase(Rule):
|
||||
"""Objects having notes"""
|
||||
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Object with notes'
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Object with notes'
|
||||
description = "Matches objects that have a certain number of notes"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def __init__(self, arg, use_regex=False):
|
||||
# Upgrade from pre 3.1 HasNote filter, use defaults that correspond
|
||||
|
||||
@@ -40,11 +40,11 @@ from . import Rule
|
||||
class HasNoteRegexBase(Rule):
|
||||
"""Objects having notes containing <text>."""
|
||||
|
||||
labels = [ _('Text:')]
|
||||
name = 'Objects having notes containing <text>'
|
||||
labels = [ _('Text:')]
|
||||
name = 'Objects having notes containing <text>'
|
||||
description = ("Matches objects whose notes contain a substring "
|
||||
"or match a regular expression")
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
allow_regex = True
|
||||
|
||||
def apply(self, db, person):
|
||||
|
||||
@@ -39,11 +39,11 @@ from . import Rule
|
||||
class HasNoteSubstrBase(Rule):
|
||||
"""People having notes containing <substring>."""
|
||||
|
||||
labels = [ _('Substring:')]
|
||||
name = 'Objects having notes containing <substring>'
|
||||
labels = [ _('Substring:')]
|
||||
name = 'Objects having notes containing <substring>'
|
||||
description = "Matches objects whose notes contain text matching a " \
|
||||
"substring"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def apply(self, db, person):
|
||||
notelist = person.get_note_list()
|
||||
|
||||
@@ -39,10 +39,10 @@ from . import Rule
|
||||
class HasReferenceCountBase(Rule):
|
||||
"""Objects with a reference count of <count>."""
|
||||
|
||||
labels = [ _('Reference count must be:'), _('Reference count:')]
|
||||
name = 'Objects with a reference count of <count>'
|
||||
labels = [ _('Reference count must be:'), _('Reference count:')]
|
||||
name = 'Objects with a reference count of <count>'
|
||||
description = "Matches objects with a certain reference count"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
|
||||
def prepare(self, db, user):
|
||||
|
||||
@@ -43,13 +43,13 @@ class HasSourceBase(Rule):
|
||||
"""Rule that checks for a source with a particular value"""
|
||||
|
||||
|
||||
labels = [ 'Title:',
|
||||
labels = [ 'Title:',
|
||||
'Author:',
|
||||
'Abbreviation:',
|
||||
'Publication:' ]
|
||||
name = 'Sources matching parameters'
|
||||
name = 'Sources matching parameters'
|
||||
description = "Matches sources with particular parameters"
|
||||
category = _('Citation/source filters')
|
||||
category = _('Citation/source filters')
|
||||
allow_regex = True
|
||||
|
||||
def apply(self,db,source):
|
||||
|
||||
@@ -42,11 +42,11 @@ from . import Rule
|
||||
class HasSourceCountBase(Rule):
|
||||
"""Objects having sources"""
|
||||
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Objects with <count> sources'
|
||||
labels = [ _('Number of instances:'), _('Number must be:')]
|
||||
name = 'Objects with <count> sources'
|
||||
description = "Matches objects that have a certain number of sources " \
|
||||
"connected to it (actually citations are counted)"
|
||||
category = _('Citation/source filters')
|
||||
category = _('Citation/source filters')
|
||||
|
||||
def prepare(self, db, user):
|
||||
# things we want to do just once, not for every handle
|
||||
|
||||
@@ -42,9 +42,9 @@ from . import Rule
|
||||
class HasSourceOfBase(Rule):
|
||||
"""Rule that checks for objects that have a particular source."""
|
||||
|
||||
labels = [ _('Source ID:') ]
|
||||
name = 'Object with the <source>'
|
||||
category = _('Citation/source filters')
|
||||
labels = [ _('Source ID:') ]
|
||||
name = 'Object with the <source>'
|
||||
category = _('Citation/source filters')
|
||||
description = 'Matches objects who have a particular source'
|
||||
|
||||
def prepare(self, db, user):
|
||||
|
||||
@@ -46,10 +46,10 @@ class HasTagBase(Rule):
|
||||
Rule that checks for an object with a particular tag.
|
||||
"""
|
||||
|
||||
labels = [ 'Tag:' ]
|
||||
name = 'Objects with the <tag>'
|
||||
labels = [ 'Tag:' ]
|
||||
name = 'Objects with the <tag>'
|
||||
description = "Matches objects with the given tag"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def prepare(self, db, user):
|
||||
"""
|
||||
|
||||
@@ -39,13 +39,13 @@ from . import Rule
|
||||
class HasTextMatchingSubstringOf(Rule):
|
||||
"""Rule that checks for string matches in any textual information."""
|
||||
|
||||
labels = [ 'Substring:',
|
||||
labels = [ 'Substring:',
|
||||
'Case sensitive:',
|
||||
'Regular-Expression matching:']
|
||||
name = 'Objects with records containing <substring>'
|
||||
name = 'Objects with records containing <substring>'
|
||||
description = "Matches objects whose records contain text " \
|
||||
"matching a substring"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
# FIXME: This needs to be written for an arbitrary object
|
||||
# if possible
|
||||
|
||||
@@ -37,9 +37,9 @@ from . import Rule
|
||||
class IsPrivate(Rule):
|
||||
"""Objects marked private."""
|
||||
|
||||
name = 'Objects marked private'
|
||||
name = 'Objects marked private'
|
||||
description = "Matches objects that are indicated as private"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def apply(self, db, obj):
|
||||
return obj.get_privacy()
|
||||
|
||||
@@ -34,9 +34,9 @@ _ = glocale.translation.gettext
|
||||
class IsPublic(Rule):
|
||||
"""Objects not marked private."""
|
||||
|
||||
name = 'Objects not marked private'
|
||||
name = 'Objects not marked private'
|
||||
description = "Matches objects that are not indicated as private"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def apply(self, db, obj):
|
||||
return not obj.get_privacy()
|
||||
|
||||
@@ -47,14 +47,14 @@ class MatchesEventFilterBase(MatchesFilterBase):
|
||||
|
||||
"""
|
||||
|
||||
labels = ['Event filter name:']
|
||||
name = 'Objects with events matching the <event filter>'
|
||||
labels = ['Event filter name:']
|
||||
name = 'Objects with events matching the <event filter>'
|
||||
description = "Matches objects who have events that match a certain" \
|
||||
" event filter"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
# we want to have this filter show event filters
|
||||
namespace = 'Event'
|
||||
namespace = 'Event'
|
||||
|
||||
def prepare(self, db, user):
|
||||
MatchesFilterBase.prepare(self, db, user)
|
||||
|
||||
@@ -51,10 +51,10 @@ class MatchesFilterBase(Rule):
|
||||
Subclasses need to define the namespace class attribute.
|
||||
|
||||
"""
|
||||
labels = [_('Filter name:')]
|
||||
name = 'Objects matching the <filter>'
|
||||
labels = [_('Filter name:')]
|
||||
name = 'Objects matching the <filter>'
|
||||
description = "Matches objects matched by the specified filter name"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
|
||||
def prepare(self, db, user):
|
||||
if gramps.gen.filters.CustomFilters:
|
||||
|
||||
@@ -44,10 +44,10 @@ from . import Rule
|
||||
class MatchesSourceConfidenceBase(Rule):
|
||||
"""Objects with a specific confidence level on 'direct' Source references"""
|
||||
|
||||
labels = ['Confidence level:']
|
||||
name = 'Object with at least one direct source >= <confidence level>'
|
||||
labels = ['Confidence level:']
|
||||
name = 'Object with at least one direct source >= <confidence level>'
|
||||
description = "Matches objects with at least one direct source with confidence level(s)"
|
||||
category = _('Citation/source filters')
|
||||
category = _('Citation/source filters')
|
||||
|
||||
def apply(self, db, obj):
|
||||
required_conf = int(self.list[0])
|
||||
|
||||
@@ -44,14 +44,14 @@ class MatchesSourceFilterBase(MatchesFilterBase):
|
||||
Rule that checks against another filter.
|
||||
"""
|
||||
|
||||
labels = [_('Source filter name:')]
|
||||
name = 'Objects with source matching the <source filter>'
|
||||
labels = [_('Source filter name:')]
|
||||
name = 'Objects with source matching the <source filter>'
|
||||
description = "Matches objects with sources that match the " \
|
||||
"specified source filter name"
|
||||
category = _('Citation/source filters')
|
||||
category = _('Citation/source filters')
|
||||
|
||||
# we want to have this filter show source filters
|
||||
namespace = 'Source'
|
||||
namespace = 'Source'
|
||||
|
||||
def prepare(self, db, user):
|
||||
MatchesFilterBase.prepare(self, db, user)
|
||||
|
||||
@@ -45,11 +45,11 @@ class RegExpIdBase(Rule):
|
||||
regular expression.
|
||||
"""
|
||||
|
||||
labels = [ _('Text:') ]
|
||||
name = 'Objects with <Id>'
|
||||
labels = [ _('Text:') ]
|
||||
name = 'Objects with <Id>'
|
||||
description = "Matches objects whose Gramps ID contains a substring " \
|
||||
"or matches a regular expression"
|
||||
category = _('General filters')
|
||||
category = _('General filters')
|
||||
allow_regex = True
|
||||
|
||||
def apply(self, db, obj):
|
||||
|
||||
@@ -50,9 +50,9 @@ LOG = logging.getLogger(".")
|
||||
class Rule:
|
||||
"""Base rule class."""
|
||||
|
||||
labels = []
|
||||
name = ''
|
||||
category = _('Miscellaneous filters')
|
||||
labels = []
|
||||
name = ''
|
||||
category = _('Miscellaneous filters')
|
||||
description = _('No description')
|
||||
allow_regex = False
|
||||
|
||||
@@ -141,8 +141,10 @@ class Rule:
|
||||
|
||||
def display_values(self):
|
||||
"""Return the labels and values of this rule."""
|
||||
l_v = ( '%s="%s"' % (_(self.labels[ix]), self.list[ix])
|
||||
for ix in range(len(self.list)) if self.list[ix] )
|
||||
l_v = ('%s="%s"' % (_(self.labels[ix][0] if
|
||||
isinstance(self.labels[ix], tuple) else
|
||||
self.labels[ix]), self.list[ix])
|
||||
for ix in range(len(self.list)) if self.list[ix])
|
||||
|
||||
return ';'.join(l_v)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ from ._hascitation import HasCitation
|
||||
from ._allcitations import AllCitations
|
||||
from ._changedsince import ChangedSince
|
||||
from ._citationprivate import CitationPrivate
|
||||
from ._hasattribute import HasAttribute
|
||||
from ._hasgallery import HasGallery
|
||||
from ._hasidof import HasIdOf
|
||||
from ._hasnote import HasNote
|
||||
@@ -50,6 +51,7 @@ editor_rule_list = [
|
||||
AllCitations,
|
||||
ChangedSince,
|
||||
CitationPrivate,
|
||||
HasAttribute,
|
||||
HasGallery,
|
||||
HasIdOf,
|
||||
HasNote,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user