Compare commits
1045 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4370fa29ad | |||
| 20bb38de62 | |||
| 7c3073c54a | |||
| f96c6ce2a0 | |||
| 5c88ccfe7a | |||
| 93197c4677 | |||
| 9b0145d050 | |||
| 2b9efedd41 | |||
| 9a8af2289a | |||
| 58d30e6ded | |||
| b656d55364 | |||
| 2fc6750867 | |||
| 44d9578622 | |||
| 78c79202de | |||
| df1ffe06e1 | |||
| c46f7dde41 | |||
| e9c3ca1620 | |||
| 46cf600fac | |||
| 3246bf77d3 | |||
| 3501a9666c | |||
| ee0bc905da | |||
| 8be01ff00e | |||
| 5c278cfc36 | |||
| 915522c989 | |||
| e4ebeb247a | |||
| e6c7a53580 | |||
| 10aca55568 | |||
| 5fc71a7923 | |||
| d25385328b | |||
| 5c6259edbc | |||
| 1452b499ff | |||
| 63a8a2955d | |||
| 97762815bc | |||
| fed7d5e5b8 | |||
| d3f346808f | |||
| c1e356769e | |||
| 31a222a754 | |||
| bbe5e0ec84 | |||
| 57209001cb | |||
| 7c3094b5b5 | |||
| 489d12d484 | |||
| a6659515d5 | |||
| b094b4b7a7 | |||
| bf20905761 | |||
| 555a244a45 | |||
| 78ec6a26a2 | |||
| 942b51945c | |||
| 6a5b630a05 | |||
| c97aeb0f1a | |||
| 503d3bf6ca | |||
| 951e9341cf | |||
| c864804eac | |||
| 87a5ae428e | |||
| 6b55af1e03 | |||
| 9dc8e62951 | |||
| e398d3db2d | |||
| 320bbeb0b6 | |||
| 7af4bf5d5f | |||
| 9fb493415a | |||
| 7c35586ae2 | |||
| 82294e6a82 | |||
| 2203f28b28 | |||
| 7c27167042 | |||
| 6cb766326f | |||
| 716096be44 | |||
| 58d5d61789 | |||
| 01ee2d9a30 | |||
| 755eeaf1dc | |||
| fd2db583c1 | |||
| 16cbe024ec | |||
| 97a1419281 | |||
| 2d4e36a074 | |||
| f2c9e7cfc8 | |||
| a006b930d9 | |||
| 29dc9bdc54 | |||
| af39c293b7 | |||
| a2f8526bb7 | |||
| 803e515afa | |||
| 32cb8f4e63 | |||
| 9b91f40c28 | |||
| 1daa4b0493 | |||
| 73d9c3052e | |||
| 630351daa5 | |||
| 679dcf1b6e | |||
| 89d6a819d7 | |||
| ce9753fe99 | |||
| 14eb354a4b | |||
| e5ba3d1894 | |||
| 33dc25a323 | |||
| d4c3cfaac2 | |||
| fd62969f5a | |||
| e84aff4c0e | |||
| 2a9a6a4373 | |||
| 69a8ebb61c | |||
| 419bf93d42 | |||
| f09c5d1a69 | |||
| 17e7135d93 | |||
| 114a8ff173 | |||
| c74c91a9e0 | |||
| 64d87eaeb2 | |||
| f8f4ab1751 | |||
| 8129b4036b | |||
| 08d8124bc3 | |||
| e7ca43f996 | |||
| 5576b266d3 | |||
| 2ddcb79a2f | |||
| ba1eafdf44 | |||
| 34df591118 | |||
| 7a713e84d2 | |||
| 3d64617ca1 | |||
| ee80c46747 | |||
| a9407cd4f5 | |||
| b729a2f0c5 | |||
| 6b96dbbf17 | |||
| 3d3a7d4115 | |||
| 93f724bc47 | |||
| 4d8b2bb7bc | |||
| 042e599d8b | |||
| aac85d6b57 | |||
| 82078e6956 | |||
| bfcf062368 | |||
| 17ca1443fb | |||
| c9c8d31902 | |||
| 7ecc9a7f8c | |||
| c2965640a4 | |||
| 0d5c20db79 | |||
| 9bd9d118d0 | |||
| 56c67576d5 | |||
| b971373182 | |||
| ed65d4e7df | |||
| a0bb7ddfd1 | |||
| da3bff2ec4 | |||
| 591263e4bb | |||
| 04f9d46451 | |||
| 17a4147644 | |||
| 7f2bd919a1 | |||
| 8ee6525f06 | |||
| 4ede3aa4ab | |||
| 567a526857 | |||
| 574124a688 | |||
| a588afb395 | |||
| 3e8ca5613e | |||
| 5a1694b981 | |||
| 7434da9f63 | |||
| 67b5308f6f | |||
| 2c2f42be55 | |||
| ca8f2626c4 | |||
| 7f757e0304 | |||
| e4abd21dae | |||
| 4fbcb530cf | |||
| 2215416396 | |||
| 600043913b | |||
| c31dfcb767 | |||
| 27c25b876d | |||
| ed8847b3d9 | |||
| 1baa31be41 | |||
| abc534ee44 | |||
| f277f6c00c | |||
| 427a47b642 | |||
| f25cd60b64 | |||
| 6e3d087d55 | |||
| f093950351 | |||
| 05f72293de | |||
| b8fa348621 | |||
| f5b57d71fe | |||
| 0972d72079 | |||
| e22bd2bfcb | |||
| a4a24ca233 | |||
| 2717b1f826 | |||
| c606c1f11b | |||
| 19249844a1 | |||
| bb9e1d2f52 | |||
| 68e8759a65 | |||
| fc8404d9bc | |||
| f12304adb7 | |||
| 39e03dbcca | |||
| 71b3de2e7b | |||
| 569b7482f2 | |||
| c4186b916a | |||
| aa9deb6a3d | |||
| 50c5cd9a9a | |||
| 8b30ade6a4 | |||
| ecdccaf351 | |||
| 8bc6336e27 | |||
| f25ce97653 | |||
| 3c67dea703 | |||
| 195eb00f34 | |||
| 6618cdcfb2 | |||
| 6b98ad9319 | |||
| 6da6c61c7c | |||
| 57e408ada5 | |||
| d538fe6ebc | |||
| c0770988c6 | |||
| fe71887ad1 | |||
| e2b1a6e568 | |||
| 429c18af6a | |||
| eb44633c42 | |||
| dd2a5c4a35 | |||
| e4df103e39 | |||
| b22ae317ae | |||
| d8b2349a6c | |||
| 6b0b9f209f | |||
| 0c80c5eeea | |||
| 86b0a3800a | |||
| 0fc8b6b1c4 | |||
| 6caf08659e | |||
| d98e63d0e0 | |||
| fff1f21ab3 | |||
| c7c0b2c6bd | |||
| 10954921ef | |||
| 4f86a36090 | |||
| 0021e8cec2 | |||
| c32160b254 | |||
| 2eca306acf | |||
| 2f5e221711 | |||
| 36f84e1d0d | |||
| 161ce3b66e | |||
| 460e631e5b | |||
| a8a38ff87d | |||
| 0d61bb01ab | |||
| 08814624b6 | |||
| 76df5d703a | |||
| 7a154fa680 | |||
| 3d02d6b4a3 | |||
| 67be5f3714 | |||
| d6e1ada425 | |||
| ee9a23715e | |||
| 5c467c3bb3 | |||
| 3a5b0bca9a | |||
| b14eb08727 | |||
| bf6219e3a9 | |||
| efb318b433 | |||
| 91424cfec7 | |||
| 0753f87630 | |||
| d8f5d40c4c | |||
| 88d2a2b84c | |||
| 80fa9b19b8 | |||
| 36d91fc68b | |||
| f527a82380 | |||
| a00b413906 | |||
| d96b01318a | |||
| 62cd754ef4 | |||
| 5e78d54c9c | |||
| 2cb90d353f | |||
| d49dbfcc08 | |||
| 2646a39ac6 | |||
| 4594f754a0 | |||
| a3bf964f96 | |||
| 5c1f0b6924 | |||
| 2eb8b98f8f | |||
| 59470368d3 | |||
| 227a1e6378 | |||
| 3059382574 | |||
| 18119b6eb8 | |||
| 2a2793c00c | |||
| 962e0c7871 | |||
| f8d2fd66a8 | |||
| 9e27d348e3 | |||
| 81ceceff71 | |||
| 80e47f9cc5 | |||
| 858f0874e7 | |||
| e672d7d3f3 | |||
| d229127d82 | |||
| 5dbcfcd909 | |||
| d1e4016769 | |||
| a1c179d679 | |||
| 3d5cc30d09 | |||
| 71649e22b4 | |||
| 3fd56abd3e | |||
| ce15c0944f | |||
| 499dae6a2d | |||
| 012bd1501e | |||
| 2b9b870f3b | |||
| 4c1e7f1b71 | |||
| c2cd8ce51b | |||
| c83a34727d | |||
| 3da96a283b | |||
| 2a9ae9b726 | |||
| 850f42217d | |||
| 97e6211d02 | |||
| da3becb6ab | |||
| 55640327fc | |||
| 3e95617829 | |||
| e6e7da14b0 | |||
| 874be122fb | |||
| f44ab17578 | |||
| 0c135d3ae8 | |||
| 6cffd52731 | |||
| 414d76ccac | |||
| d399b963b9 | |||
| a9339c5b82 | |||
| 6e69549c36 | |||
| 76400cdcc7 | |||
| 965a551e9d | |||
| 3712b06d69 | |||
| 4b1cb486ec | |||
| ad3461142d | |||
| dc246df9d3 | |||
| a11fc4c228 | |||
| 8365ea7090 | |||
| 01a83099ae | |||
| ae670af71e | |||
| 89a7335057 | |||
| 060cdf38a1 | |||
| 7e064c9494 | |||
| a8cd8958c8 | |||
| 40085e924c | |||
| a4ca176c2d | |||
| 69a4dc0333 | |||
| 5f1a362e51 | |||
| b01b42fab6 | |||
| f2685cfc30 | |||
| f67dba4343 | |||
| 6f20f9599a | |||
| 3f3fc5a84d | |||
| 03e800d808 | |||
| 31a967173d | |||
| 124deaacc9 | |||
| 02d8511453 | |||
| 5cbcfbbc56 | |||
| cfa5386bfb | |||
| abb7efcb01 | |||
| 4b76d67c07 | |||
| 3aed22835e | |||
| b5ad90d317 | |||
| 3ab55427a1 | |||
| c3e131fe3e | |||
| 2c5ffd3278 | |||
| 5c1990e861 | |||
| f80033f36a | |||
| 38de365fa6 | |||
| d399f58bf6 | |||
| 974f5a5393 | |||
| a0db80f643 | |||
| d3036bfd03 | |||
| 9f7ee8f37e | |||
| 2f7994e68a | |||
| b4a0ce3702 | |||
| 3352bcd8b2 | |||
| a0ad96c66d | |||
| c8d9abe4f8 | |||
| 6fd25dd251 | |||
| ef159eb6f1 | |||
| 1424d3d20f | |||
| 4a91ff8238 | |||
| 62743c6321 | |||
| 4d5cf2a62b | |||
| 6e9d0ed181 | |||
| c04373b5dd | |||
| e5d995517a | |||
| 4ee02a80af | |||
| 6da4a00375 | |||
| b0d5343d24 | |||
| 563591b031 | |||
| 449d1366b1 | |||
| 00d233a3c5 | |||
| 3600d3f3c4 | |||
| 18786ae646 | |||
| 0877cdbf54 | |||
| fe80daa608 | |||
| b0a4f75106 | |||
| 314cf24850 | |||
| 0993059ff7 | |||
| d4249ad745 | |||
| 537b3d7af8 | |||
| d40325339b | |||
| baae86787c | |||
| 192e32cdf4 | |||
| 9430fbc478 | |||
| ee8bc7aaad | |||
| 22d4c1dd2c | |||
| 024629c2e1 | |||
| da460a4b97 | |||
| 6b9ea867ee | |||
| e75ec08061 | |||
| 626463d7ea | |||
| d988af9d10 | |||
| 0e743ad106 | |||
| 6fe5c23a7f | |||
| 8d7ffeb74c | |||
| 02152e3abb | |||
| ffab79499d | |||
| 8921c21160 | |||
| 05a4e2d07a | |||
| 2099882e67 | |||
| 18ba120115 | |||
| 19ca766ee4 | |||
| e726cbf72f | |||
| 2acb205ed0 | |||
| 91a9126876 | |||
| 9d8d0247d8 | |||
| 1a004a5290 | |||
| cd73c7af93 | |||
| 2a2d356972 | |||
| 145d7de6d4 | |||
| 3a77392cbb | |||
| e93edb9ad2 | |||
| 920af00bfe | |||
| 58cf9546f9 | |||
| 6c1d5a89a2 | |||
| 7f4cc09821 | |||
| a393f26ed0 | |||
| a570345e9f | |||
| 30474aab8d | |||
| e9b0f10d46 | |||
| 96ce483828 | |||
| c128986c6f | |||
| 2081de473d | |||
| 7887ce4403 | |||
| fcdeffc616 | |||
| 37b927635e | |||
| e766623a65 | |||
| 18e9c860a4 | |||
| 48dbff827d | |||
| 8b8ea1c269 | |||
| b77ef0058a | |||
| 66e4be59bb | |||
| 9e89a17790 | |||
| 6633925a0f | |||
| a7b6648672 | |||
| 6507c468bf | |||
| 9dae34ec84 | |||
| 1bf7ff579e | |||
| 96c1cb51da | |||
| 5995d1acec | |||
| b51e544926 | |||
| d7b558997d | |||
| c116049f2f | |||
| e0637934ac | |||
| a9e971ec65 | |||
| 2f0992afa7 | |||
| 9b6a95d40c | |||
| 90dd918e7a | |||
| 41638176f7 | |||
| b6f0ab523f | |||
| c09c767b26 | |||
| 4b23ec4d6b | |||
| 905a8af71d | |||
| 11b5a74efe | |||
| 010c82a44d | |||
| d063df5787 | |||
| 4a66b3b50c | |||
| eef147273c | |||
| 0be260b01d | |||
| 87f5828ebe | |||
| 37f3183c3b | |||
| dadd00f200 | |||
| 7d96ee1308 | |||
| 78bd5a0256 | |||
| 59c820902e | |||
| df630131cd | |||
| c21d88ce89 | |||
| c82d0a4b38 | |||
| c1806d2b64 | |||
| ca91598d7e | |||
| 931e0216a6 | |||
| f08c1cbd9f | |||
| 46ec1fa509 | |||
| 724a534bf5 | |||
| 30bd47f623 | |||
| 72cf66ebba | |||
| 63094a5580 | |||
| 06b7ce677d | |||
| 764cd996b1 | |||
| caaa5db54d | |||
| 03a6c5e296 | |||
| 7ebe10090d | |||
| 6f0a8ffa32 | |||
| 7727813c13 | |||
| 84c7359f8e | |||
| e19d519d25 | |||
| 8b11e650f7 | |||
| 20d4b5119c | |||
| e4e27b5bc0 | |||
| 82e4ddd543 | |||
| 5dcdd4a850 | |||
| 3268b07b8b | |||
| eebc60a9ba | |||
| a8e24f2917 | |||
| 0abce8dfaf | |||
| 945f1a5000 | |||
| bea4df1cfd | |||
| 28135d51e9 | |||
| 6b572212b7 | |||
| 89bada596d | |||
| 35ca071220 | |||
| ecd7637d27 | |||
| 7effc7980b | |||
| e5f908301e | |||
| 13a58dc924 | |||
| 63e89186ce | |||
| 855709e2c8 | |||
| c195e5b0bb | |||
| 91c7356567 | |||
| 02e6aedc25 | |||
| 0b2c7c757f | |||
| 417d85a353 | |||
| 459eb37cf2 | |||
| ed267ca5e5 | |||
| 9e1c81d979 | |||
| 96e55f91bf | |||
| ddecdb854e | |||
| 380c3a5764 | |||
| 2f215e34a6 | |||
| b92dbe2ab5 | |||
| 109e64f657 | |||
| 51bedcd46c | |||
| 6214d3c1f3 | |||
| 976cabd837 | |||
| e6844424ae | |||
| a6f631a542 | |||
| 71248be3e5 | |||
| 8222308239 | |||
| da7c2927a1 | |||
| 9823168d15 | |||
| 73f772232d | |||
| 7929e56fae | |||
| ed5f72fc04 | |||
| 8a2ad56f61 | |||
| 192fa328c2 | |||
| 82c275d18d | |||
| 6c0c2c17f8 | |||
| 6eafbadeb1 | |||
| bb562ed630 | |||
| 0e89688da9 | |||
| 114f129d38 | |||
| b781ba8e03 | |||
| 71040c0fd1 | |||
| fc0c0f474e | |||
| e3934bc72d | |||
| 0f7246f9ee | |||
| 91dbfb82f3 | |||
| 1764c1dcd2 | |||
| 2fd1ee8520 | |||
| 2267c90317 | |||
| fd75bf0e75 | |||
| b63524b99b | |||
| 225f6e545f | |||
| cc3ef70997 | |||
| 828060d2eb | |||
| 39dcc537b6 | |||
| 6dfbe59255 | |||
| 7a82cf5104 | |||
| 18f3824eca | |||
| 4b27a56186 | |||
| 423d27e5a1 | |||
| 6fe6455251 | |||
| 645262992d | |||
| 023ccd5086 | |||
| fa265e2a83 | |||
| f4c30c462b | |||
| e140572cf4 | |||
| 38a0d10be7 | |||
| f0f3a5b037 | |||
| ada6a11ed7 | |||
| 0fbbbb6ebc | |||
| f24e3c712d | |||
| af4e34c760 | |||
| c851640a4f | |||
| a198f6821a | |||
| f2e39009af | |||
| 9655a977ad | |||
| 2a700850d2 | |||
| 1cc0271270 | |||
| d99a28d1a2 | |||
| be5fbc730c | |||
| 7e1b2f9de1 | |||
| f252e02b15 | |||
| 9e98aa0c25 | |||
| 198a707f5b | |||
| e2b46f886b | |||
| a78bad62c2 | |||
| ba36caa2bd | |||
| a1dba65495 | |||
| f02e7f2580 | |||
| c81336ae20 | |||
| 0ce396d2c1 | |||
| 2abc7c8475 | |||
| 0f001bf131 | |||
| 77a5b1ab74 | |||
| 04e39b96b0 | |||
| d2dbe4427d | |||
| ce1c01f963 | |||
| 20231f676f | |||
| 69d2600bc4 | |||
| d526161eaa | |||
| 243580fb35 | |||
| 0e268858e6 | |||
| 77b71e1396 | |||
| 9d13689751 | |||
| dcf5132124 | |||
| 8e6b423f26 | |||
| 604f745338 | |||
| 97e29dade6 | |||
| 90fbb2fdf7 | |||
| 8f910a8750 | |||
| 4697de789c | |||
| 0a0d77d6db | |||
| 7bd67f88a2 | |||
| e5725f28c3 | |||
| 6baf023ed9 | |||
| 68d50ae0e9 | |||
| eb30461eb5 | |||
| f732f907fe | |||
| 6c4be7c5b2 | |||
| 662ee802cb | |||
| 525c08d14f | |||
| ca709909cc | |||
| 56078f14b8 | |||
| 2361294b5e | |||
| 61b159608f | |||
| 1e4f8227ab | |||
| 7d9df26da5 | |||
| 5c96c5054b | |||
| 366fdb34f9 | |||
| db4977c244 | |||
| 7f10ab796e | |||
| 7004ce9033 | |||
| 6154ebad23 | |||
| 8f7a645ece | |||
| 49538415b5 | |||
| 0195805a3b | |||
| 6d4843d3ac | |||
| b46c4c6e80 | |||
| 230b192532 | |||
| 7810d946b4 | |||
| f251a99e6f | |||
| 3de9ff5dae | |||
| 69a3b4b27d | |||
| 421d38eb89 | |||
| 1c65ab29aa | |||
| dd3700c85f | |||
| 99c683f8e2 | |||
| d5bc201cb4 | |||
| 55492a7573 | |||
| e4dc6a57fb | |||
| e197ebe0d6 | |||
| c4b7cda610 | |||
| 26f09455d5 | |||
| 28e61a34b0 | |||
| 4fa115870e | |||
| edaba13fac | |||
| 55a09b5ed3 | |||
| 5f3ee3befe | |||
| 300d520cb0 | |||
| c34398cbef | |||
| fe01effd25 | |||
| d4f3b0fa4f | |||
| 99b9de2a5f | |||
| 3e5dbd4e5b | |||
| f0641d505c | |||
| afd2f9e9c3 | |||
| fe13612018 | |||
| 0b277c4bb2 | |||
| 2078bcc17c | |||
| 199f81a832 | |||
| 3bf7c1df0a | |||
| 5a2b0ce910 | |||
| a4b1518a04 | |||
| 2a1367ca51 | |||
| aa9463c09b | |||
| 3a8a8b94bc | |||
| 7f2b854632 | |||
| e0fb0efbea | |||
| 2a03ca499b | |||
| cb299b606d | |||
| ab26f6fcc1 | |||
| bbdd9c54a2 | |||
| 9a1a5b7c5d | |||
| 59b8837a3a | |||
| 404f9b72ce | |||
| 6bb0f12d28 | |||
| b9a77a9b9f | |||
| 94f108807f | |||
| c4e86a732c | |||
| 438f4269a3 | |||
| 099def6fd0 | |||
| 043396b7b9 | |||
| f3effea730 | |||
| a35ad26696 | |||
| 69fc354f06 | |||
| 9f42185379 | |||
| 21cf42b077 | |||
| b08ed4c698 | |||
| 5edc980642 | |||
| bf9b4ea7a1 | |||
| f63246417c | |||
| d0c2654a41 | |||
| d630052347 | |||
| 6ef5008b6d | |||
| 4fe8eb7981 | |||
| 4b4e10c229 | |||
| 557f94503f | |||
| 4640a6f107 | |||
| 75b33a5092 | |||
| d24741ff2a | |||
| d8f6eec012 | |||
| ad0cefe228 | |||
| b03d23faa7 | |||
| 48f6ddf551 | |||
| aefa168e33 | |||
| cbed54b8ba | |||
| fc5ed633b7 | |||
| ce5adbebe9 | |||
| 2d0b93cc3f | |||
| e9cfb24628 | |||
| 9da74d1f95 | |||
| 938e96747b | |||
| 55263813ba | |||
| b2260024f4 | |||
| a75acbc48e | |||
| 4aa9aa70f7 | |||
| d649bd97a2 | |||
| 502748cf8f | |||
| bc5bb25106 | |||
| b66c3daaeb | |||
| 89b0ae1adb | |||
| 865aa77ec0 | |||
| 85f0e8c955 | |||
| 60e307676b | |||
| 575ccd84ff | |||
| a8fd0bae91 | |||
| cd3de4e9a3 | |||
| 3bd4f371d3 | |||
| 86cb61cd38 | |||
| 916f3d2fa1 | |||
| bd4930d3bf | |||
| 254e000629 | |||
| 2749eba77d | |||
| 763269f568 | |||
| 5ae26c90e0 | |||
| c79ff475b4 | |||
| fb5362ba1f | |||
| d76f798a82 | |||
| 9b8c8f5ff1 | |||
| 92049ddf95 | |||
| 9cc6722221 | |||
| f63adca571 | |||
| 37976a7e79 | |||
| 67e25b7e51 | |||
| 3e78336fdb | |||
| 79045f4c6e | |||
| c41939e966 | |||
| af0707e74c | |||
| ff55a4d1c6 | |||
| 269f6e60ae | |||
| 534785ebb9 | |||
| ce297b8a8b | |||
| 95faa79b63 | |||
| 410985b0e1 | |||
| 98cb7c553d | |||
| 177dae7976 | |||
| fad586a247 | |||
| 82bfe43483 | |||
| 7e32fa416f | |||
| 53cdfc69f9 | |||
| 2a24ff0b6e | |||
| 9adf8c3851 | |||
| 08df4e0376 | |||
| 94ef164925 | |||
| 947ba31fa5 | |||
| c0488a4936 | |||
| 060263b473 | |||
| ebecd014fc | |||
| 87329a29fd | |||
| 5d117e5610 | |||
| 07623a6cf1 | |||
| 4b9ced7609 | |||
| 5c99cf992d | |||
| f1f1f7cbbe | |||
| 86a0607628 | |||
| 03855427b7 | |||
| 2f28174eb0 | |||
| c70e17a50f | |||
| 2ce78eb033 | |||
| aaa0b1966e | |||
| eee0f0283a | |||
| 29a4046844 | |||
| 0be6a0d929 | |||
| d6a9ca5260 | |||
| 482d291a4e | |||
| 6ffdacc185 | |||
| 9a4fc8069a | |||
| e0dc54aadf | |||
| d6372b16ee | |||
| 9dff627eb4 | |||
| 069c1c1ced | |||
| 1e7df24ec1 | |||
| c3863e03ec | |||
| b9caa8c771 | |||
| 5d51fae8ff | |||
| 4c28d1c74c | |||
| 5dc42f5eaf | |||
| 531a42fecd | |||
| 6a1f9dfefc | |||
| 08a8daa674 | |||
| 3c56fe7a8e | |||
| ac5d1a68d3 | |||
| 3354e4d029 | |||
| faa04937cf | |||
| d4142396d8 | |||
| a2191b7bbe | |||
| 3aaa831fc6 | |||
| 72e22023a0 | |||
| 4943108b46 | |||
| ff1ae14b06 | |||
| 653ce7c2fc | |||
| cd72244232 | |||
| a10e904ba5 | |||
| 7ae895a991 | |||
| 29f5f7079b | |||
| 34f2dbb244 | |||
| 43c66bda68 | |||
| bbb2e47faf | |||
| 32c52f6d7a | |||
| bbab6e160d | |||
| 78b7abe204 | |||
| 46f9993461 | |||
| a9a742a6db | |||
| 13e320213a | |||
| a712fe504f | |||
| 307a6c345c | |||
| 5de065c703 | |||
| 1366d3abc6 | |||
| bc381bd39a | |||
| d6cb6934fe | |||
| 76e1edbd82 | |||
| 5efff27bf4 | |||
| b377893a73 | |||
| 91586b708c | |||
| 4494e643cd | |||
| 98dcfe126b | |||
| 79b7be9778 | |||
| 8eb3286bf5 | |||
| babbc8d031 | |||
| df36baafc8 | |||
| e8a8c866f2 | |||
| f4b18f07ae | |||
| 1fd39b8f57 | |||
| f8b0cde0bd | |||
| 4b09c581d8 | |||
| 4e23ce7f8c | |||
| 15696d64a8 | |||
| c8c78e5044 | |||
| 095e869101 | |||
| 936356ce6e | |||
| 8a6d5659e3 | |||
| 971e05d7a5 | |||
| 9500e4489c | |||
| ec5e8ae6ca | |||
| 28aacacc79 | |||
| 8de6021080 | |||
| 7d61da0bfe | |||
| 19a19adaa9 | |||
| 1e0946784c | |||
| 53778f87f2 | |||
| 2426986f57 | |||
| 25007d13ca | |||
| a5f44c2a14 | |||
| 4be227010d | |||
| f2d297fbcf | |||
| 8727a25f15 | |||
| 2a9c9dd07f | |||
| 7bf5c1147e | |||
| c78eeb5b51 | |||
| 3f5f656b25 | |||
| 729823612e | |||
| d3250c7177 | |||
| a09f7e1f7f | |||
| 7be5724892 | |||
| 0a0fb7d707 | |||
| 1ab328ec6f | |||
| 702fd19204 | |||
| 1384ce2e5f | |||
| 7c7bdaac9b | |||
| aa15862b81 | |||
| 76cdb1be6c | |||
| 657e566c30 | |||
| 5f000ec3f1 | |||
| 6de66ff923 | |||
| d77a8f70e1 | |||
| 06a4af4fce | |||
| 30d1a1f2f8 | |||
| 5bbc2e1c24 | |||
| 741467ef33 | |||
| fa901ca5a5 | |||
| ee98c3c550 | |||
| f530ce8c75 | |||
| a709d699bf | |||
| fb7679bac5 | |||
| aa1e096e02 | |||
| 79a70dac69 | |||
| 1c936a7880 | |||
| ac26afa765 | |||
| bed34d0614 | |||
| cb9f49124f | |||
| e3071a000a | |||
| 2831f1bb60 | |||
| 0a2acf41bf | |||
| 5f41d0f882 | |||
| b56893cc47 | |||
| 451bf3f1f7 | |||
| 7d45f9a7df | |||
| 6d982b9481 | |||
| 0aa97cd674 | |||
| 8c4af875fb | |||
| 04275cee6a | |||
| a9e7438e94 | |||
| 049ffb1e42 | |||
| b3192cb66a | |||
| e20b93c944 | |||
| 6becb4f632 | |||
| ef62937a3f | |||
| 52079fb398 | |||
| 18a04b4935 | |||
| c2ef5944c5 | |||
| 1a16fe577f | |||
| c41f9602c5 | |||
| b8e8f97ab0 | |||
| 7833a383dc | |||
| 27cd29b0c9 | |||
| 356d9d03f4 | |||
| 75d54125db | |||
| df068471bb | |||
| 5c3cece884 | |||
| 2bf73bee01 | |||
| 7460c00336 | |||
| f3120cbbbf | |||
| 3ad0141cb1 | |||
| 77a7eb5097 | |||
| 1d9ac5525e | |||
| c6b622639c | |||
| cafc74b114 | |||
| 250a3eb343 | |||
| 986492e9ce | |||
| a649ae2c01 | |||
| 04f34f6059 | |||
| 96dcf2f0c1 | |||
| c29763c6f2 | |||
| 181cef35a8 | |||
| c5efc6841c | |||
| d5a0a039c8 | |||
| d1105720f4 | |||
| 6f886ec485 | |||
| fc4df5b999 | |||
| 0a317dbf38 | |||
| 409dde1314 | |||
| 4dabf58a6b | |||
| 5ae77c422d | |||
| d2583fd064 | |||
| 426ee7ad15 | |||
| c04cbfc7bf | |||
| 978b37bccd | |||
| da79d145e2 | |||
| 997a700397 | |||
| d20fbd7bf3 | |||
| 69fa9511ca | |||
| 1ab0f4276d | |||
| 24d4788c76 | |||
| 99185e213a | |||
| 65764aef8f | |||
| f8f747fad6 | |||
| a226f070c7 | |||
| 13efa8befe | |||
| 7cf4d870de | |||
| f8042298e1 | |||
| 7d904317b5 | |||
| e9847395da | |||
| 8c59cddc52 | |||
| 9c4f7b7e0a | |||
| 88df9c000f | |||
| f809eb844e | |||
| 32b28222f9 | |||
| a89bc54a25 | |||
| 3475e213f0 | |||
| 9dfcb9d6fe | |||
| f3e71cef0a | |||
| 4eb638fa15 | |||
| 5e6e83d53e | |||
| 64ab80d9f6 | |||
| cb8d086a69 | |||
| b214bd4458 | |||
| 6f14cc7bc7 | |||
| 07f72de626 | |||
| 53f8250d30 | |||
| 899e911fef | |||
| 72d98271a6 | |||
| 09e3384e61 | |||
| a78a819220 | |||
| ef885cb8d4 | |||
| a97efbdb4a | |||
| d09b5d8741 | |||
| 7748091543 | |||
| e1e2632c44 | |||
| dbb6af0286 | |||
| ded0bbb95d | |||
| c2b9518ad8 | |||
| c2adc30a32 | |||
| 85903806c8 | |||
| 744a49f0d1 | |||
| 2dc91f75cf | |||
| b18332d623 | |||
| 7315e9a7f2 | |||
| abe45952c0 | |||
| d94377a9d4 | |||
| 0e06ccf874 | |||
| 5f2c22a186 | |||
| e6849bd417 | |||
| 5b9071fb7d | |||
| e980b63d85 | |||
| 9bc9c672a5 | |||
| 205cc8557f | |||
| b873ac7b7a | |||
| e06243c372 | |||
| 127cfa3a81 | |||
| a80e19854e | |||
| 003b43714b | |||
| dc033fe03a | |||
| ca7555cd21 | |||
| b8e797882c | |||
| 3353dc024b | |||
| 73a32cfeec | |||
| edaea54a84 | |||
| f97a4f4511 | |||
| 1560b0657d | |||
| 268369ac1f | |||
| fbc58eb5e7 | |||
| 65cd98be62 | |||
| 83ae6bb74b | |||
| 407c02b054 | |||
| 23116f2694 | |||
| 22f8363589 | |||
| a1ffd70dee | |||
| 2f04872c50 | |||
| afee5010f1 | |||
| 85651b972e | |||
| 871e0b8fea | |||
| bab1c347f5 | |||
| 153aa286f8 | |||
| 9850c791a3 | |||
| fcfa59c2a9 | |||
| c6b9e660f6 | |||
| 9ccbea8337 | |||
| f505317b4d | |||
| a2aed6f87c |
@@ -1,9 +0,0 @@
|
||||
# Make Github recognise Gramps as a Python project,
|
||||
# by marking .sql files as text files!
|
||||
# See: https://github.com/github/linguist/issues/2462
|
||||
# https://github.com/github/linguist/blob/master/README.md
|
||||
*.sql linguist-language=txt
|
||||
|
||||
# Have Github ignore js vendored files.
|
||||
# https://github.com/gramps-project/gramps/tree/master/data/javascript
|
||||
#data/javascript/*.js linguist-vendored
|
||||
@@ -2,20 +2,37 @@
|
||||
*.py[cod]
|
||||
|
||||
# Distutils
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
config.log
|
||||
config.status
|
||||
configure
|
||||
Makefile
|
||||
Makefile*.in
|
||||
install-sh
|
||||
MANIFEST
|
||||
build/
|
||||
dist/
|
||||
m4/intltool.m4
|
||||
missing
|
||||
mkinstalldirs
|
||||
py-compile
|
||||
|
||||
# Gramps
|
||||
data/tips.xml
|
||||
gramps/plugins/lib/holidays.xml
|
||||
src/const.py
|
||||
src/data/tips.xml
|
||||
src/plugins/lib/holidays.xml
|
||||
po/.intltool-merge-cache
|
||||
docs/_build/
|
||||
po/stamp-it
|
||||
po/POTFILES
|
||||
data/gramps.desktop
|
||||
data/gramps.keys
|
||||
data/gramps.xml
|
||||
*.gmo
|
||||
data/man/*.[1-8]
|
||||
data/man/*/*.[1-8]
|
||||
gramps.sh
|
||||
intltool-*.in
|
||||
|
||||
# Editing
|
||||
#Editing
|
||||
tags
|
||||
*.swp
|
||||
|
||||
# Testing
|
||||
test/data
|
||||
gramps/webapp/grampsdb/fixtures/initial_data.json
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
# After changing this file, check it on:
|
||||
# http://lint.travis-ci.org/
|
||||
|
||||
|
||||
language: python
|
||||
#python:
|
||||
# - 3.3
|
||||
# - 3.4
|
||||
|
||||
install:
|
||||
- git clone --depth=50 --branch=maintenance/gramps42 git://github.com/gramps-project/gramps.git gramps-project/gramps
|
||||
- cd gramps-project/gramps
|
||||
- time sudo apt-get update
|
||||
- travis_retry sudo apt-get install gir1.2-pango gir1.2-gtk xdg-utils librsvg2-common libglib2.0-dev intltool
|
||||
- travis_retry sudo apt-get install python3-gobject python3-gi python3-cairo python3-gi-cairo python3-bsddb3 python3-dev python3-nose
|
||||
|
||||
- travis_retry sudo apt-get install python3-mock
|
||||
|
||||
# - travis_retry curl https://bootstrap.pypa.io/get-pip.py | sudo python3
|
||||
# - travis_retry sudo pip3 install Django==1.7
|
||||
# - travis_retry sudo pip3 install pyicu==1.8
|
||||
# - travis_retry sudo pip3 install mock
|
||||
|
||||
- python3 setup.py build
|
||||
|
||||
#before_script:
|
||||
# - sudo Xvfb :99 -ac &
|
||||
# - export DISPLAY=:99
|
||||
|
||||
script:
|
||||
- mkdir -p /home/travis/.gramps/grampsdb/
|
||||
- nosetests3 --exclude=TestcaseGenerator --exclude=vcard --exclude=merge_ref_test --exclude=user_test --exclude=webapp gramps
|
||||
@@ -1,5 +1,21 @@
|
||||
<!-- $Id$ -->
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# 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,
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
Alex Roitman shura@gramps-project.org
|
||||
|
||||
@@ -90,5 +106,3 @@ Vassilii Khachaturov vassilii@tarunz.org
|
||||
Zdeněk Hataš zdenek.hatas@gmail.com
|
||||
|
||||
Zsolt Foldvari zfoldvar@users.sourceforge.net
|
||||
|
||||
John Ralls jralls@ceridwen.us
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
2018-02-09 prculley <paulr2787@gmail.com>
|
||||
|
||||
* gramps/plugins/view/geoclose.py,
|
||||
gramps/plugins/view/geoevents.py,
|
||||
gramps/plugins/view/geofamclose.py,
|
||||
gramps/plugins/view/geofamily.py, gramps/plugins/view/geoperson.py,
|
||||
gramps/plugins/view/geoplaces.py: Fix Geography views for bad
|
||||
'dbstate.is_open()' test Fixes #10417
|
||||
|
||||
2018-02-08 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* Bump to 4.2.8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
**** This is Gramps Frequently Asked Questions ****
|
||||
**** This is GRAMPS Frequently Asked Questions ****
|
||||
|
||||
The questions below frequently come up in mailing list discussions and forums.
|
||||
This list is by no means complete. If you would like to add questions/answers
|
||||
@@ -9,23 +9,23 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
|
||||
|
||||
==General==
|
||||
|
||||
1. What is Gramps?
|
||||
1. What is GRAMPS?
|
||||
|
||||
2. Where do I get it and how much does it cost?
|
||||
|
||||
3. Does Gramps exist in other languages?
|
||||
3. Does GRAMPS exist in other languages?
|
||||
|
||||
4. How do I keep backups?
|
||||
|
||||
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
|
||||
|
||||
6. What is needed to install Gramps under Linux, Solaris, or FreeBSD?
|
||||
6. What is needed to install GRAMPS under Linux, Solaris, or FreeBSD?
|
||||
|
||||
7. Does it work with Windows (tm)?
|
||||
|
||||
8. Does it work with the Mac?
|
||||
|
||||
9. What are the Minimum Specs to run Gramps?
|
||||
9. What are the Minimum Specs to run GRAMPS?
|
||||
|
||||
==Preferences==
|
||||
|
||||
@@ -33,43 +33,43 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
|
||||
|
||||
==Collaboration-Portability==
|
||||
|
||||
11. Is Gramps compatible with other genealogical software?
|
||||
11. Is GRAMPS compatible with other genealogical software?
|
||||
|
||||
12. Can Gramps read files created by GenApp X?
|
||||
12. Can GRAMPS read files created by GenApp X?
|
||||
|
||||
13. Can Gramps write files readable by GenApp X?
|
||||
13. Can GRAMPS write files readable by GenApp X?
|
||||
|
||||
14. What standards does Gramps support?
|
||||
14. What standards does GRAMPS support?
|
||||
|
||||
15. How do I import data from another genealogy program into Gramps?
|
||||
15. How do I import data from another genealogy program into GRAMPS?
|
||||
|
||||
16. Can I install Gramps on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
|
||||
16. Can I install GRAMPS on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
|
||||
|
||||
==Reports==
|
||||
|
||||
17. Can Gramps print a genealogical tree for my family?
|
||||
17. Can GRAMPS print a genealogical tree for my family?
|
||||
|
||||
18. In what formats can Gramps output its reports?
|
||||
18. In what formats can GRAMPS output its reports?
|
||||
|
||||
19. How can I change the default language in reports?
|
||||
|
||||
20. Is Gramps compatible with the Internet?
|
||||
20. Is GRAMPS compatible with the Internet?
|
||||
|
||||
21. Can I create custom reports/filters/whatever?
|
||||
|
||||
22. Why are non-latin characters displayed as garbage in PDF/PS reports?
|
||||
|
||||
23. I would like to contribute to Gramps by writing my favorite report.
|
||||
23. I would like to contribute to GRAMPS by writing my favorite report.
|
||||
|
||||
==Database - Gramps file formats==
|
||||
==Database - GRAMPS file formats==
|
||||
|
||||
24. What is the maximum database size (bytes) Gramps can handle?
|
||||
24. What is the maximum database size (bytes) GRAMPS can handle?
|
||||
|
||||
25. How many people can Gramps database handle?
|
||||
25. How many people can GRAMPS database handle?
|
||||
|
||||
26. My database is really big. Is there a way around loading all the data into memory?
|
||||
|
||||
27. Can I run Gramps from a database on a NFS share?
|
||||
27. Can I run GRAMPS from a database on a NFS share?
|
||||
|
||||
28. Why is the database format not portable?
|
||||
|
||||
@@ -77,116 +77,123 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
|
||||
|
||||
29. I found a bug and I want it fixed right now! What do I do?
|
||||
|
||||
30. Gramps should be a .... type of application
|
||||
30. GRAMPS should be a .... type of application
|
||||
|
||||
==Gramps Webhosting ==
|
||||
==GRAMPS Webhosting ==
|
||||
|
||||
31. How can I publish web sites generated by GRAMPS?
|
||||
|
||||
32. How do I submit my pages to the GRAMPS library site (http://library.gramps-project.org)?
|
||||
|
||||
33. After I upload my Family Web Page to library.gramps-project.org, is the password used for write privileges only or read privileges?
|
||||
|
||||
34. Do I view the Family Web Page with a url into my browser? Or through a link on a list of Family Web Pages on the GRAMPS-Project.org site?
|
||||
|
||||
31. How can I publish web sites generated by Gramps?
|
||||
|
||||
|
||||
**** Questions and answers ****
|
||||
|
||||
==General==
|
||||
|
||||
1. What is Gramps?
|
||||
1. What is GRAMPS?
|
||||
|
||||
Gramps is the Genealogical Research and Analysis Management Program System.
|
||||
GRAMPS is the Genealogical Research and Analysis Management Program System.
|
||||
In other words, it is a personal genealogy program letting you store, edit,
|
||||
and research genealogical data using the powers of your computer.
|
||||
|
||||
|
||||
2. Where do I get it and how much does it cost?
|
||||
|
||||
Gramps can be downloaded from http://sf.net/projects/gramps at no charge.
|
||||
Gramps is an Open Source project covered by the GNU General Public License.
|
||||
GRAMPS can be downloaded from http://sf.net/projects/gramps at no charge.
|
||||
GRAMPS is an Open Source project covered by the GNU General Public License.
|
||||
You have full access to the source code and are allowed to distribute the
|
||||
program and source code freely.
|
||||
|
||||
|
||||
3. Does Gramps exist in other languages?
|
||||
3. Does GRAMPS exist in other languages?
|
||||
|
||||
Yes, at the moment Gramps is translated in 15 languages
|
||||
Yes, at the moment GRAMPS is translated in 15 languages
|
||||
|
||||
|
||||
4. How do I keep backups?
|
||||
|
||||
Use a recent version of Gramps! From 2.2.5 onwards there is an automatic backup utility.
|
||||
It is extremely important to keep backups of your data, and keep them in a safe place. Gramps has a specific portable file format which is small, and human readable, denoted by .gramps. If you have allowed this in the preferences (In Edit menu->Preferences->General), Gramps will keep a backup of your database on exit. You can copy this backup file from time to time to a save location (eg a usb stick).
|
||||
Use a recent version of GRAMPS! From 2.2.5 onwards there is an automatic backup utility.
|
||||
It is extremely important to keep backups of your data, and keep them in a safe place. GRAMPS has a specific portable file format which is small, and human readable, denoted by .gramps. If you have allowed this in the preferences (In Edit menu->Preferences->General), GRAMPS will keep a backup of your database on exit. You can copy this backup file from time to time to a save location (eg a usb stick).
|
||||
|
||||
Note: The .gramps files are compressed. Clicking them will open Gramps. To see the XML select them and open them with a decompressing utility (like ark, gunzip), after which you can extract the XML file which is human readable.
|
||||
Do not keep backups in GEDCOM. Not all information Gramps stores can be written in the GEDCOM. Hence, an export/import operation Gramps --> GEDCOM --> Gramps, will mean you lose data. Use the .gramps file format for backups!
|
||||
Note: The .gramps files are compressed. Clicking them will open GRAMPS. To see the XML select them and open them with a decompressing utility (like ark, gunzip), after which you can extract the XML file which is human readable.
|
||||
Do not keep backups in GEDCOM. Not all information GRAMPS stores can be written in the GEDCOM. Hence, an export/import operation GRAMPS --> GEDCOM --> GRAMPS, will mean you lose data. Use the .gramps file format for backups!
|
||||
Do not keep backups in GRDB format. GRDB is a database, which might be computer dependent (read, not working on a different PC). Small damage to a GRDB file can also not be repaired. Use the .gramps file format for backups!
|
||||
|
||||
|
||||
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
|
||||
|
||||
Yes. Gramps works internally with Unicode (UTF-8), so all alphabets can be used on all entry fields. All reports fully support this, although for PDF/PS you need to work with gnome-print or openoffice.
|
||||
Yes. GRAMPS works internally with Unicode (UTF-8), so all alphabets can be used on all entry fields. All reports fully support this, although for PDF/PS you need to work with gnome-print or openoffice.
|
||||
|
||||
==Installation==
|
||||
|
||||
6. What is needed to install Gramps under Linux, Solaris, or FreeBSD?
|
||||
6. What is needed to install GRAMPS under Linux, Solaris, or FreeBSD?
|
||||
|
||||
Gramps is a [http://en.wikipedia.org/wiki/Gtk GTK] application. Gramps needs to have the [http://en.wikipedia.org/wiki/Pygtk pygtk] libraries installed on the system. As long as these libraries are installed, Gramps should function. It will operate under the GNOME desktop, KDE desktop, or any other desktop. If the GNOME bindings for Python are installed on the system, Gramps will have additional functionality. The Gramps project recommends version 2.8 or higher of GTK.
|
||||
GRAMPS is a [http://en.wikipedia.org/wiki/Gtk GTK] application. GRAMPS needs to have the [http://en.wikipedia.org/wiki/Pygtk pygtk] libraries installed on the system. As long as these libraries are installed, GRAMPS should function. It will operate under the GNOME desktop, KDE desktop, or any other desktop. If the GNOME bindings for Python are installed on the system, GRAMPS will have additional functionality. The GRAMPS project recommends version 2.8 or higher of GTK.
|
||||
|
||||
|
||||
7. Does it work with Windows (tm)?
|
||||
|
||||
The Linux Genealogy CD can function as a live CD that you boot directly from. You can then run Linux and Gramps off the CD, even if your computer is entirely Windows.
|
||||
The Linux Genealogy CD can function as a live CD that you boot directly from. You can then run Linux and GRAMPS off the CD, even if your computer is entirely Windows.
|
||||
|
||||
An experimental Windows installer is available, however we do not have the manpower to offer support for Windows. A windows mailing list is available however and we do do our best to solve windows related problems.
|
||||
|
||||
|
||||
8. Does it work with the Mac?
|
||||
|
||||
The Fink project has ported some older versions of Gramps to OS X (tm). The Mac OS X port is not directly supported by the Gramps project, primarily because none of the Gramps developers have access to Mac OS X and because OS X is not Free Software.
|
||||
The Fink project has ported some older versions of GRAMPS to OS X (tm). The Mac OS X port is not directly supported by the GRAMPS project, primarily because none of the GRAMPS developers have access to Mac OS X and because OS X is not Free Software.
|
||||
|
||||
This present version of Gramps (2.2.x) does not appear to have been ported by the Fink project. Please contact the Fink project for more information. However, some users had success in installing 2.2.x on Mac OSX either running in native mode or running on X11 using some of the fink packages.
|
||||
This present version of GRAMPS (2.2.x) does not appear to have been ported by the Fink project. Please contact the Fink project for more information. However, some users had success in installing 2.2.x on Mac OSX either running in native mode or running on X11 using some of the fink packages.
|
||||
|
||||
|
||||
9. What are the Minimum Specs to run Gramps?
|
||||
9. What are the Minimum Specs to run GRAMPS?
|
||||
|
||||
We would recommend at least an 800x600 video display. For Gramps 2.0, the memory requirements have been reduced, and Gramps can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
|
||||
We would recommend at least an 800x600 video display. For GRAMPS 2.0, the memory requirements have been reduced, and GRAMPS can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
|
||||
|
||||
|
||||
==Preferences==
|
||||
|
||||
10. Can I change the dates in reports to 'day month year'
|
||||
|
||||
Yes, change in the preferences ("Edit->Preferences") the date for Gramps to the required format (eg YYYY-MM-DD or day mont year), and make the report. Your global date preferences will be used.
|
||||
Yes, change in the preferences ("Edit->Preferences") the date for GRAMPS to the required format (eg YYYY-MM-DD or day mont year), and make the report. Your global date preferences will be used.
|
||||
|
||||
|
||||
==Collaboration-Portability==
|
||||
|
||||
11. Is Gramps compatible with other genealogical software?
|
||||
11. Is GRAMPS compatible with other genealogical software?
|
||||
|
||||
Gramps makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable Gramps to read and write GEDCOM files.
|
||||
GRAMPS makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable GRAMPS to read and write GEDCOM files.
|
||||
|
||||
It is important to understand that the GEDCOM standard is poorly implemented -- virtually every genealogical software has its own "flavor" of GEDCOM. As we learn about new flavor, the import/export filters can be created very quickly. However, finding out about the unknown flavors requires user feedback. Please feel free to inform us about any GEDCOM flavor not supported by Gramps, and we will do our best to support it!
|
||||
It is important to understand that the GEDCOM standard is poorly implemented -- virtually every genealogical software has its own "flavor" of GEDCOM. As we learn about new flavor, the import/export filters can be created very quickly. However, finding out about the unknown flavors requires user feedback. Please feel free to inform us about any GEDCOM flavor not supported by GRAMPS, and we will do our best to support it!
|
||||
|
||||
|
||||
12. Can Gramps read files created by GenApp X?
|
||||
12. Can GRAMPS read files created by GenApp X?
|
||||
|
||||
See above.
|
||||
|
||||
|
||||
13. Can Gramps write files readable by GenApp X?
|
||||
13. Can GRAMPS write files readable by GenApp X?
|
||||
|
||||
See above.
|
||||
|
||||
|
||||
14. What standards does Gramps support?
|
||||
14. What standards does GRAMPS support?
|
||||
|
||||
The nice thing about standards is that there never is a shortage of them. Gramps is tested to support the following flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.
|
||||
The nice thing about standards is that there never is a shortage of them. GRAMPS is tested to support the following flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.
|
||||
|
||||
|
||||
15. How do I import data from another genealogy program into Gramps?
|
||||
15. How do I import data from another genealogy program into GRAMPS?
|
||||
|
||||
The best way is to create a new gramps database file (.grdb), and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.
|
||||
|
||||
|
||||
16. Can I install Gramps on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
|
||||
16. Can I install GRAMPS on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
|
||||
|
||||
While Gramps can generate web sites, it does not provide a web interface that allows for editing. If this is a requirement, then [http://geneweb.org GeneWeb] or [http://phpgedview.sourceforge.net PhpGedView] are programs more likely to meet your needs. However, you may wish to ask yourself the following questions:
|
||||
While GRAMPS can generate web sites, it does not provide a web interface that allows for editing. If this is a requirement, then [http://geneweb.org GeneWeb] or [http://phpgedview.sourceforge.net PhpGedView] are programs more likely to meet your needs. However, you may wish to ask yourself the following questions:
|
||||
* Do I really want relatives or other people to directly edit my genealogy database?
|
||||
* Do I implicitly trust, without verification, any data that people may enter?
|
||||
* Do these people have the same understanding of good genealogy practice that I have?
|
||||
@@ -197,7 +204,7 @@ You may also want to consider the effects of possible downtime of your site if y
|
||||
|
||||
==Reports==
|
||||
|
||||
17. Can Gramps print a genealogical tree for my family?
|
||||
17. Can GRAMPS print a genealogical tree for my family?
|
||||
|
||||
Yes. Different people have different ideas of what a genealogical tree is.
|
||||
Some think of it as a chart going from the distant ancestor and listing
|
||||
@@ -205,14 +212,14 @@ all his/her descendants and their families. Others think it should be a
|
||||
chart going from the person back in time, listing the ancestors and their
|
||||
families. Yet other people think of a table, text report, etc.
|
||||
|
||||
Gramps can produce any of the above, and many more different charts and
|
||||
GRAMPS can produce any of the above, and many more different charts and
|
||||
reports. Moreover, the plugin architechture enables users (you) to create
|
||||
their own plugins which could be new reports, charts, or research tools.
|
||||
|
||||
|
||||
18. In what formats can Gramps output its reports?
|
||||
18. In what formats can GRAMPS output its reports?
|
||||
|
||||
Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical reports (charts and diagrams) are available in PostScript, PDF, SVG, ODS, and Graphviz formats.
|
||||
Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical reports (charts and diagrams) are available in PostScript, PDF, SVG, ODS, and GraphViz formats.
|
||||
|
||||
|
||||
19. How can I change the default language in reports?
|
||||
@@ -220,11 +227,11 @@ Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical
|
||||
The reports are in the language of your linux installation. You can change it by installing extra language packs, see [Howto: Change the language of reports] on wiki.
|
||||
|
||||
|
||||
20. Is Gramps compatible with the Internet?
|
||||
20. Is GRAMPS compatible with the Internet?
|
||||
|
||||
Gramps can store web addresses and direct your browser to them. It can import
|
||||
GRAMPS can store web addresses and direct your browser to them. It can import
|
||||
data that you download from the Internet. It can export data that you could
|
||||
send over the Internet. Gramps is familiar with the standard file formats
|
||||
send over the Internet. GRAMPS is familiar with the standard file formats
|
||||
widely used on the Internet (e.g. JPEG, PNG, and GIF images, MP3, OGG, and
|
||||
WAV sound files, QuickTime, MPEG, and AVI movie files, etc). Other than that,
|
||||
there is little that a genealogical program can do with the Internet :-)
|
||||
@@ -234,7 +241,7 @@ there is little that a genealogical program can do with the Internet :-)
|
||||
|
||||
Yes. There are many levels of customization. One is creating or modifying
|
||||
the templates used for the reports. This gives you some control over
|
||||
the fonts, colors, and some layout of the reports. You can also use Gramps
|
||||
the fonts, colors, and some layout of the reports. You can also use GRAMPS
|
||||
controls in the report dialogs to tell what contents should be used for a
|
||||
particular report. In addition to this, you have an ability to create your
|
||||
own filters -- this is useful in selecting people based on criteria set
|
||||
@@ -246,47 +253,47 @@ knowledge of programming in Python.
|
||||
|
||||
22. Why are non-latin characters displayed as garbage in PDF/PS reports?
|
||||
|
||||
This is a limitation of the built-in fonts of PS and PDF formats. To print non-Latin text, use the Print... in the format selection menu of the report dialog. This will use the gnome-print backend, which supports PS and PDF creation, as well as direct printing. (Note: you might need to install gnome-print separately as it is not required for Gramps).
|
||||
This is a limitation of the built-in fonts of PS and PDF formats. To print non-Latin text, use the Print... in the format selection menu of the report dialog. This will use the gnome-print backend, which supports PS and PDF creation, as well as direct printing. (Note: you might need to install gnome-print separately as it is not required for GRAMPS).
|
||||
|
||||
If you only have Latin text, the PDF option will produce a smaller PDF compared to that created by gnome-print, simply because no font information will be embedded.
|
||||
|
||||
|
||||
23. I would like to contribute to Gramps by writing my favorite report.
|
||||
23. I would like to contribute to GRAMPS by writing my favorite report.
|
||||
How do I do that?
|
||||
|
||||
The easiest way to contribute to reports, filters, tools, etc. is to copy an existing Gramps report, filter, or tool. If you can create what you want by modifying existing code -- great! If your idea does not fit into the logic of any existing Gramps tool, you will need to write your own plugin from scratch. Help is available on the [Developers Portal] on wiki, or on the developers mailing list: gramps-devel@lists.sourceforge.net.
|
||||
The easiest way to contribute to reports, filters, tools, etc. is to copy an existing GRAMPS report, filter, or tool. If you can create what you want by modifying existing code -- great! If your idea does not fit into the logic of any existing GRAMPS tool, you will need to write your own plugin from scratch. Help is available on the [Developers Portal] on wiki, or on the developers mailing list: gramps-devel@lists.sourceforge.net.
|
||||
|
||||
To test your work in progress, you may save your plugin under $HOME/.gramps/plugins directory and it should be found and imported on startup. The correctly written plugin will register itself with Gramps, create menu item, and so on.
|
||||
To test your work in progress, you may save your plugin under $HOME/.gramps/plugins directory and it should be found and imported on startup. The correctly written plugin will register itself with GRAMPS, create menu item, and so on.
|
||||
|
||||
If you are happy with your plugin and would like to contribute your code back to the Gramps project, you are very welcome to do so by contacting us at gramps-devel@lists.sourceforge.net
|
||||
If you are happy with your plugin and would like to contribute your code back to the GRAMPS project, you are very welcome to do so by contacting us at gramps-devel@lists.sourceforge.net
|
||||
|
||||
|
||||
==Database - Gramps file formats==
|
||||
==Database - GRAMPS file formats==
|
||||
|
||||
24. What is the maximum database size (bytes) Gramps can handle?
|
||||
24. What is the maximum database size (bytes) GRAMPS can handle?
|
||||
|
||||
Gramps has no hard limits on the size of a database that it can handle. Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. In reality, however, there are practical limits. The main limiting factors are the available memory on the system and the cache size used for BSDDB database access. With common memory sizes these days, Gramps should have no problem using databases with tens of thousands of people.
|
||||
GRAMPS has no hard limits on the size of a database that it can handle. Starting with 2.0.0 release, GRAMPS no longer loads all data into memory, which allows it to work with a much larger database than before. In reality, however, there are practical limits. The main limiting factors are the available memory on the system and the cache size used for BSDDB database access. With common memory sizes these days, GRAMPS should have no problem using databases with tens of thousands of people.
|
||||
|
||||
|
||||
25. How many people can Gramps database handle?
|
||||
25. How many people can GRAMPS database handle?
|
||||
|
||||
See above. Again, this is dependent on how much memory you have, see [Gramps Performance] on wiki.
|
||||
See above. Again, this is dependent on how much memory you have, see [GRAMPS Performance] on wiki.
|
||||
|
||||
|
||||
26. My database is really big. Is there a way around loading all the data into memory?
|
||||
|
||||
Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. The fileformat used is .grdb which means gramps database.
|
||||
Starting with 2.0.0 release, GRAMPS no longer loads all data into memory, which allows it to work with a much larger database than before. The fileformat used is .grdb which means gramps database.
|
||||
|
||||
|
||||
27. Can I run Gramps from a database on a NFS share?
|
||||
27. Can I run GRAMPS from a database on a NFS share?
|
||||
|
||||
Yes you can.
|
||||
|
||||
|
||||
28. Why is the database format not portable?
|
||||
|
||||
The biggest issue with Gramps portability lies with 'transactions'. With
|
||||
Gramps 2.2, we added support for atomic transactions to protect data.
|
||||
The biggest issue with GRAMPS portability lies with 'transactions'. With
|
||||
GRAMPS 2.2, we added support for atomic transactions to protect data.
|
||||
With atomic transactions, multiple changes are committed as a single
|
||||
unit. Either all the changes make it, or none of the changes make it.
|
||||
You are never left in a situation with a partial set of changes. A side
|
||||
@@ -334,25 +341,41 @@ If the above explanations seem vague, please follow this link:
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
|
||||
|
||||
30. Gramps should be a .... type of application
|
||||
30. GRAMPS should be a .... type of application
|
||||
|
||||
The surest way to see it happen is to get it done by yourself. Since Gramps is free/open source, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit. In doing so, you may consider giving your new project another name to avoid confusion with the continuing Gramps development. If you would like the Gramps project to provide advice, expertise, filters, etc., we will gladly cooperate with your new project, to ensure compatibility or import/export options to your new format of a project.
|
||||
The surest way to see it happen is to get it done by yourself. Since GRAMPS is free/open source, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit. In doing so, you may consider giving your new project another name to avoid confusion with the continuing GRAMPS development. If you would like the GRAMPS project to provide advice, expertise, filters, etc., we will gladly cooperate with your new project, to ensure compatibility or import/export options to your new format of a project.
|
||||
|
||||
If, however, you would like the Gramps project to adopt your strategy, you would need to convince Gramps developers that your strategy is good for Gramps and superior to the present development strategy.
|
||||
If, however, you would like the GRAMPS project to adopt your strategy, you would need to convince GRAMPS developers that your strategy is good for GRAMPS and superior to the present development strategy.
|
||||
|
||||
HINT: if Gramps developers are still not convinced after about three
|
||||
HINT: if GRAMPS developers are still not convinced after about three
|
||||
messages sent to gramps-devel, maybe you are better off on your own
|
||||
rather than with a company of retards who can't fully realize the
|
||||
potential of your great idea :-)
|
||||
|
||||
|
||||
==Gramps Webhosting ==
|
||||
==GRAMPS Webhosting ==
|
||||
|
||||
31. How can I publish web sites generated by Gramps?
|
||||
31. How can I publish web sites generated by GRAMPS?
|
||||
|
||||
Since Gramps generates HTML pages, you can upload the pages to your personal web site. If you do not have a personal web site, and still wish to have your pages available on the internet.
|
||||
Since GRAMPS generates HTML pages, you can upload the pages to your personal web site. If you do not have a personal web site, and still wish to have your pages available on the internet, the GRAMPS project can provide space for you at the http://library.gramps-project.org, see the [webhosting article] on wiki.
|
||||
|
||||
|
||||
**** End of Gramps Frequently Asked Questions ****
|
||||
32. How do I submit my pages to the GRAMPS library site (http://library.gramps-project.org)?
|
||||
|
||||
If you wish to submit pages to the GRAMPS library site, you will need to contact the GRAMPS project, typically by sending a message to the gramps-users mailing list. You will then be given a username and password that will allow you to upload your files to the site. After you upload the files (in a gzip'ed tar file), the GRAMPS project will install the pages for you on the site.
|
||||
|
||||
|
||||
33. After I upload my Family Web Page to library.gramps-project.org, is the password used for write privileges only or read privileges?
|
||||
|
||||
In order to prevent abuse of the library.gramsp-project.org site, the password given allows uploads only. If you wish to have a username and password combination to restrict read access to your pages, you will need to contact the GRAMPS project, and we could set this up for you. However, the read and write accounts will be separate accounts.
|
||||
|
||||
|
||||
34. Do I view the Family Web Page with a url into my browser? Or through a link on a list of Family Web Pages on the GRAMPS-Project.org site?
|
||||
|
||||
The main page on the library.gramps-project.org site will contain an index of the available family sites. However, there will be a unique URL for each site as well.
|
||||
|
||||
|
||||
|
||||
**** End of GRAMPS Frequently Asked Questions ****
|
||||
|
||||
$Id$
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
#! /usr/bin/env python3
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2012 Benny Malengier
|
||||
#
|
||||
# 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,
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
|
||||
"""
|
||||
This is a stub to start Gramps. It is provided for the sole reason of being
|
||||
able to run gramps from the source directory without setting PYTHONPATH
|
||||
|
||||
From this position, import gramps works great
|
||||
"""
|
||||
import os
|
||||
os.environ['GRAMPS_RESOURCES'] = os.path.dirname(os.path.abspath(__file__))
|
||||
import gramps.grampsapp as app
|
||||
app.main()
|
||||
@@ -1,106 +1,114 @@
|
||||
$Id$
|
||||
|
||||
This file contains some useful details on the installation from source code
|
||||
for Gramps. It does not cover installation of a pre-built binary package.
|
||||
for GRAMPS. It does not cover installation of a pre-built binary package.
|
||||
For that use your package manager, the rest is already done by the packager.
|
||||
|
||||
Uninstall old version
|
||||
---------------------
|
||||
If you do a source install in the same place as an existing install,
|
||||
If you do a source install in the same place of an existing install,
|
||||
you need to remove the old version first. You can delete the old
|
||||
version by deleting the installed directories. For example, if your installation prefix is /usr/local, remove the following:
|
||||
/usr/local/share/gramps
|
||||
/usr/local/lib/pythonx.x/site-packages/gramps
|
||||
If you installed with a package manager you might instead need to remove
|
||||
/usr/local/lib/pythonx.x/dist-packages/gramps
|
||||
version by:
|
||||
|
||||
replacing pythonx.x with the python version you used, e.g. python3.4.
|
||||
Also remove any gramps .egg files that are installed along with the gramps
|
||||
directory and the file /usr/local/bin/gramps.
|
||||
* deleting the installed directories (for example,
|
||||
/usr/share/gramps)
|
||||
* OR by running "make uninstall" from the old directory where you
|
||||
ran "make install" (not the new GRAMPS directory)
|
||||
|
||||
|
||||
If you don't know the list of all files that Gramps installed, you can
|
||||
reinstall it with the --record option, and take a look at the list this
|
||||
produces (so python setup.py install --record grampsfiles.txt
|
||||
|
||||
Gramps is a python application, so loading happens on reading the
|
||||
GRAMPS is a python application, so loading happens on reading the
|
||||
files, meaning that files of a previous version that are no longer
|
||||
present in the new version can still be loaded, making the new install
|
||||
unstable!
|
||||
unstable.
|
||||
|
||||
distutils install
|
||||
-----------------
|
||||
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.
|
||||
Configure vs autogen scripts
|
||||
----------------------------
|
||||
Configure does not check all dependencies of Gramps, see README for a
|
||||
list of all required and optional dependencies.
|
||||
|
||||
To build and install, whether from a tarball or git repo:
|
||||
python3 setup.py build
|
||||
sudo python3 setup.py install
|
||||
If you are building from released tarball, you should be able to just
|
||||
run "./configure && make". However, if you're building from the SVN,
|
||||
the configure is not present. You should auto-generate it by
|
||||
running ./autogen.sh and then "make" and, finally, "make install".
|
||||
|
||||
You can avoid using sudo for the install step by specifying a prefix to which you have write priviledge. The default is /usr/local, which is usually owned by root. You can learn of more options with
|
||||
python3 setup.py --help
|
||||
|
||||
One can use gramps from the command line without installing it by
|
||||
setting the following environment variables, but that won't provide
|
||||
things like MIME type and desktop entries.
|
||||
|
||||
export PYTHONPATH="/top/grampsdir/gramps:$PYTHONPATH"
|
||||
export GRAMPS_RESOURCES="/top/grampsdir"
|
||||
|
||||
See below for ways to invoke Gramps.
|
||||
|
||||
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
|
||||
* /usr/local/share/doc/gramps : documentation, also example .gramps and .gedcom
|
||||
* /usr/local/bin : the gramps executable
|
||||
* /usr/local/share/locale/xx/LC_MESSAGES : xx language code, translation
|
||||
* /usr/local/share/man/man1/xx/man1 : xx language code, man file
|
||||
* /usr/local/share/mime
|
||||
* /usr/local/share/mime-info
|
||||
|
||||
Running Gramps
|
||||
--------------
|
||||
Gramps is python only, so no compilation is needed, you can even run gramps
|
||||
from the source directory.
|
||||
|
||||
a) You installed Gramps, then you can run it with the command
|
||||
|
||||
gramps
|
||||
|
||||
b) You installed Gramps, and want to start it from the PYTHONPATH. In this
|
||||
case use the command:
|
||||
|
||||
python3 -c 'from gramps.grampsapp import main; main()'
|
||||
|
||||
The executable 'gramps' in /usr/local/bin or /usr/bin from a) does
|
||||
this for you.
|
||||
|
||||
b) You downloaded the Gramps source code to a directory, and want to run it.
|
||||
You can start Gramps from the source code directory with
|
||||
|
||||
python3 Gramps.py
|
||||
|
||||
See gramps/gen/const.py how Gramps finds its resource directories in case
|
||||
you encounter problems.
|
||||
Running ./autogen.sh on this branch of gramps requires the following
|
||||
packages to be installed:
|
||||
* autoconf >=2.53
|
||||
* automake >=1.9
|
||||
* intltool >=0.25
|
||||
* glib-gettext >=2.2.0, included in libglib2.0-dev (may be called
|
||||
differently on other distros) and maybe something else. If autogen.sh
|
||||
fails, it should inform you what's missing.
|
||||
|
||||
Custom directory installation
|
||||
-------------------------------------
|
||||
If you would like to install Gramps without being root, or in an
|
||||
alternative location on windows, supply the --root argument to setup.py
|
||||
If you would like to install GRAMPS without being root, or in an
|
||||
alternative location on windows, supply the --prefix argument to autogen
|
||||
or configure.
|
||||
|
||||
For example:
|
||||
python3 setup.py install --root ~/test
|
||||
./autogen.sh --prefix=$HOME/my_gramps_path
|
||||
or
|
||||
./autogen.sh --prefix=/cygdrive/c/Projects/gramps
|
||||
|
||||
Regular vs local installation
|
||||
-----------------------------
|
||||
This version of gramps REQUIRES, among other things, the mime types for
|
||||
gramps be properly installed.
|
||||
|
||||
The usual ./configure, make, and make install as a root should do the trick.
|
||||
|
||||
But be careful if you're using the non-default options or would like
|
||||
to install without being root.
|
||||
|
||||
The latter is possible, but you should supply additional arguments to
|
||||
autogen or configure:
|
||||
--with-mime-dir=$HOME/.local/share/mime
|
||||
Most likely, such local install will also need some prefix with write
|
||||
permissions for you:
|
||||
--prefix=$HOME/my_gramps_path
|
||||
|
||||
Whether you're doing local install or regular install, YOU MUST INSTALL
|
||||
MIME TYPES. YOU HAVE BEEN WARNED!
|
||||
|
||||
Installing under non-default prefix
|
||||
-----------------------------------
|
||||
As hinted above, mime types for gramps MUST be properly installed.
|
||||
The "proper install" means installing them where the shared mime system
|
||||
will find them.
|
||||
|
||||
By default, the shared mime systems will look in these places:
|
||||
1. /usr/share/mime
|
||||
2. /usr/local/share/mime : this may be broken on some systems
|
||||
3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
|
||||
There's a number of ways to instruct the shared mime system
|
||||
to look in other places, but this is the whole other story.
|
||||
|
||||
So if you install some place other than /usr/share, you will most
|
||||
likely need to add this option to autogen.sh/configure scripts:
|
||||
--with-mime-dir=/usr/share/mime
|
||||
|
||||
Using the --prefix=/usr/share and installing as a root will most
|
||||
likely do everything correctly, so no extra care needs to be
|
||||
taken. You should take extra care only if you are installing under
|
||||
something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
|
||||
|
||||
Packager's issues
|
||||
------------------
|
||||
There is a MANIFEST.in file to indicate the work needed.
|
||||
To create a source distribution run:
|
||||
The above mime types must be installed. However, the
|
||||
update-mime-database call to process the newly installed types and
|
||||
schemas must be done in POST-INSTALLATION.
|
||||
|
||||
python3 setup.py sdist
|
||||
In packager's world, the install happens on packager's machine
|
||||
into something like /tmp/gramps-tmp. However, the postinstall
|
||||
should happen on the user's machine.
|
||||
|
||||
If Gramps is built outside of the source tree in a temporary location (e.g. when
|
||||
packaging for a distribution), the --resourcepath option can be used to specify
|
||||
the path to the installed location of the Gramps resources (e.g. /usr/share):
|
||||
|
||||
python3 setup.py install --resourcepath=/usr/share
|
||||
To assist with that, there's an argument available in configure
|
||||
(or autogen, which will pass it to configure) which disables
|
||||
mime type processing:
|
||||
--enable-packager-mode
|
||||
This argument should disable postinstall calls made during
|
||||
make install, and print a nasty warning during configure.
|
||||
IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
|
||||
by the configure output and to copy the appropriate code
|
||||
from the data/Makefile.am into the post-install (and post-uninstall)
|
||||
of the particular packaging system.
|
||||
|
||||
@@ -1,397 +0,0 @@
|
||||
GNU Free Documentation License
|
||||
Version 1.2, November 2002
|
||||
|
||||
|
||||
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
0. PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document "free" in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of "copyleft", which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
|
||||
1. APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The "Document", below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as "you". You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A "Modified Version" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (Thus, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The "Invariant Sections" are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The "Cover Texts" are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not "Transparent" is called "Opaque".
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
||||
or XML using a publicly available DTD, and standard-conforming simple
|
||||
HTML, PostScript or PDF designed for human modification. Examples of
|
||||
transparent image formats include PNG, XCF and JPG. Opaque formats
|
||||
include proprietary formats that can be read and edited only by
|
||||
proprietary word processors, SGML or XML for which the DTD and/or
|
||||
processing tools are not generally available, and the
|
||||
machine-generated HTML, PostScript or PDF produced by some word
|
||||
processors for output purposes only.
|
||||
|
||||
The "Title Page" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, "Title Page" means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
A section "Entitled XYZ" means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as "Acknowledgements",
|
||||
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section "Entitled XYZ" according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
|
||||
2. VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
|
||||
3. COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
|
||||
4. MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
B. List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
D. Preserve all the copyright notices of the Document.
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
F. Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
G. Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
H. Include an unaltered copy of this License.
|
||||
I. Preserve the section Entitled "History", Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled "History" in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
J. Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
K. For any section Entitled "Acknowledgements" or "Dedications",
|
||||
Preserve the Title of the section, and preserve in the section all
|
||||
the substance and tone of each of the contributor acknowledgements
|
||||
and/or dedications given therein.
|
||||
L. Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
M. Delete any section Entitled "Endorsements". Such a section
|
||||
may not be included in the Modified Version.
|
||||
N. Do not retitle any existing section to be Entitled "Endorsements"
|
||||
or to conflict in title with any Invariant Section.
|
||||
O. Preserve any Warranty Disclaimers.
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section Entitled "Endorsements", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
|
||||
5. COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled "History"
|
||||
in the various original documents, forming one section Entitled
|
||||
"History"; likewise combine any sections Entitled "Acknowledgements",
|
||||
and any sections Entitled "Dedications". You must delete all sections
|
||||
Entitled "Endorsements".
|
||||
|
||||
|
||||
6. COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
|
||||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an "aggregate" if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
|
||||
8. TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled "Acknowledgements",
|
||||
"Dedications", or "History", the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
|
||||
9. TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
|
||||
10. FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
http://www.gnu.org/copyleft/.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License "or any later version" applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
|
||||
|
||||
ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
Copyright (c) YEAR YOUR NAME.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||
A copy of the license is included in the section entitled "GNU
|
||||
Free Documentation License".
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the "with...Texts." line with this:
|
||||
|
||||
with the Invariant Sections being LIST THEIR TITLES, with the
|
||||
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
@@ -1,33 +0,0 @@
|
||||
include AUTHORS
|
||||
include ChangeLog
|
||||
include COPYING
|
||||
include FAQ
|
||||
include Gramps.py
|
||||
include INSTALL
|
||||
include LICENSE
|
||||
include MANIFEST.in
|
||||
include NEWS
|
||||
include RELEASE_NOTES
|
||||
include TODO
|
||||
include TestPlan.txt
|
||||
recursive-include data *
|
||||
recursive-include debian *
|
||||
recursive-include docs *
|
||||
recursive-include gramps *
|
||||
recursive-include help *
|
||||
recursive-include images *
|
||||
recursive-include mac *
|
||||
recursive-include po *
|
||||
recursive-include test *
|
||||
recursive-include windows *
|
||||
|
||||
# Remove files created in the build
|
||||
exclude data/tips.xml
|
||||
exclude gramps/plugins/lib/holidays.xml
|
||||
exclude po/.intltool-merge-cache
|
||||
global-exclude *.pyc
|
||||
global-exclude *.pyo
|
||||
|
||||
# Remove directories which should not be included in the distribution
|
||||
prune gramps/guiQML
|
||||
#prune gramps/webapp
|
||||
@@ -0,0 +1,35 @@
|
||||
# This is the top level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = m4 po src data example
|
||||
|
||||
EXTRA_DIST = \
|
||||
config.rpath autogen.sh gramps-autogen.sh \
|
||||
FAQ COPYING \
|
||||
intltool-extract.in intltool-merge.in intltool-update.in
|
||||
|
||||
bin_SCRIPTS = gramps
|
||||
|
||||
dist_pkgdata_DATA = COPYING
|
||||
|
||||
distuninstallcheck_listfiles = find . -type -f -print | grep -E -v '/(globs|magic|XMLnamespaces)'
|
||||
|
||||
DISTCLEANFILES = intltool-extract intltool-merge intltool-update \
|
||||
gnome-doc-utils.make
|
||||
|
||||
gramps: gramps.sh
|
||||
cp gramps.sh gramps
|
||||
|
||||
.PHONY: pycheck trans
|
||||
|
||||
pycheck:
|
||||
(cd src; make pycheck)
|
||||
trans:
|
||||
(cd src; make trans)
|
||||
|
||||
distuninstallcheck:
|
||||
@:
|
||||
|
||||
CLEANFILES = gramps
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
@@ -1,714 +1,135 @@
|
||||
2018-02-09
|
||||
Version 4.2.8
|
||||
* Fix Geography views for bad 'dbstate.is_open()' test
|
||||
|
||||
2018-02-08
|
||||
Version 4.2.7
|
||||
* Fix Export View to CSV when Unicode characters are present
|
||||
* Fix several intl date displayers for missing parameter
|
||||
* DescendantTree report; fix crashes and Title spacing
|
||||
* Fix Book XML handler to deal with unusual characters in Book name
|
||||
* Add support for new genealogy tree report category
|
||||
* Fix Media Preview Gramplet for closed db
|
||||
* Suport FTM 2017 Gedcom tags on import
|
||||
* Fix Person, Family Sidebar Filters to add custom Event types
|
||||
* Fix QuestionDialog display for html like characters in title
|
||||
* Fix FamilyRelationshpType _DATAMAP order to correspond with values
|
||||
* Fix Gedcom import for illegal Gedcom Family Attributes
|
||||
* Fix Gedcom export for bad Hebrew Months
|
||||
* Change INSTALL to replace 'python' with 'python3 for script invokes
|
||||
* Fix CSV importer for place event name using gramps_id
|
||||
* Fix Geography view 'Find' when db is closed
|
||||
* Fix interactive search for exception on click then down arrow
|
||||
* Create where_is utility to locate a binary in the standard places
|
||||
* Fix relationship Graph so Unicode chars on Multiple pages works
|
||||
* Update authors file
|
||||
* Fix Gedcom import for "1 MARR Y" issue
|
||||
* Fix Export Web Family Tree for errors on file write
|
||||
* Fix Citation Editor to Tab out of Confidence ComboBox
|
||||
* Reset the dependencies on the new meta-module
|
||||
* Use online modules
|
||||
* Consolidate Python2 and Python3 meta-modules
|
||||
* Use None as the foreground colour for untagged rows in list views
|
||||
* Fix shading colour in relationship view for dark themes
|
||||
* Fix link colour for dark themes
|
||||
* Fix default foreground colour in list views for dark themes
|
||||
* Fix Undo; crashes due to race in Gtk
|
||||
* Gedcom import with OBJE/FORM URL on event
|
||||
* EOFError [Ran out of input] in Clipboard
|
||||
* Cannot drag & drop textual value via clipboard
|
||||
* Fix 'DbBsddbRead' object has no attribute '_Callback__callback_map'
|
||||
* Reports - Narrated Web Site Failure
|
||||
* Fix link path in gramps-launcher compile instructions
|
||||
* Update translations: fi, de
|
||||
|
||||
2017-08-01
|
||||
Version 4.2.6
|
||||
* Fix HasCitation rule in citation filter sidebar
|
||||
* Fix use of regular expressions
|
||||
* Date Editor had 'Type' and 'Quality' labels swapped
|
||||
* Fix FamilyGroup Report
|
||||
* Fix names not displayed in relationship graph
|
||||
* Fix outdated Bugtracker link in reporting wizard
|
||||
* Fix replacements in Ancestor tree
|
||||
* Fix Default Browser Setting
|
||||
* Fix linking place on OpenStreetMap view
|
||||
* Fix Family Lines Report having unescaped characters
|
||||
* Fix non-local character in DB name (Windows OS)
|
||||
* Fix checking for "event.string" in "treeview_keypress"
|
||||
* Fix invalid February 29th date in Julian dual-dated
|
||||
* Fix Note on CIR when it is attached to a (preferred or alternative) name through the names dialog.
|
||||
* Improve time loading for person selector in census forms
|
||||
* Fix incorrect SoundEx result
|
||||
* Fix Error printing on ancestor tree graphical report
|
||||
* Fix custom filter creation with 'Events occurring on a particular day of the week'
|
||||
* Bug in the Name Editor / Group As
|
||||
* Gramps CSV export of Places did not generate correct Title.
|
||||
* Add custom Family Relations not shown in the filter siderbar
|
||||
* Fix non-textual value on Tag report
|
||||
* Fix 'interface.dont-ask' config key ignored on Note edition
|
||||
* Fix Reorder Relationships dialog
|
||||
* Shrink size of Break Lock (and other QuestionDialogs)
|
||||
* Only selection of Active or Home person if commited
|
||||
* Fix quick search exception when nothing in searched list
|
||||
* Fix problem adding parents
|
||||
* Fix bookmarks keybinding on Mac
|
||||
* Fix failure to load default gramplets if GExiv2 is missing or too old.
|
||||
* Update API doc for place displayer
|
||||
* Add datestrings to Turkish translation
|
||||
* Update translations: cs, de, fr, fi, hu, it, ru, sl, sv, tr
|
||||
|
||||
2016-12-15
|
||||
Version 4.2.5
|
||||
* The configparser is assuming the wrong encoding
|
||||
* Sorting in family tab of narrated web report
|
||||
* Silence remaining PyGIWarning
|
||||
* Sorting of relationships in family tab of narrated web report
|
||||
* Use latest valid date rather than today
|
||||
* Modify endonym handling in place displayer
|
||||
* Fix house number concatenation
|
||||
* Allow merging of families with one or more parents in common
|
||||
* Jump to Gramps ID functionality doesn't work
|
||||
* Ability to search alternate place names when selecting place
|
||||
* Fix clear map action on Geography
|
||||
* Database repair tool always edit all source objects
|
||||
* Database repair tool ignored some objects with tag
|
||||
* "Enclosing" gramplet includes places outside valid date ranges
|
||||
* Fix icon and tooltip in LDS editor
|
||||
* CSV import fails
|
||||
* Fix duplicated Gramps IDs on Gedcom import
|
||||
* Unexpected error Preferences > Dates > Markup for invalid date format
|
||||
* Fix Import Vcard, can create multiple surnames with all selected as 'Primary'
|
||||
* Fix Gedcom import in some alternate languages; improper date parsing
|
||||
* Export options 'Preview' buttons create hidden quickreport
|
||||
* Alignment radio buttons in the style editor do not work
|
||||
* Select Place search & Source/Citation hierarchy should NOT be expanded
|
||||
* Tweak improvement on Tag editor
|
||||
* Support for Windows Python3 pythonw.exe
|
||||
* Wrong parsing Numeric date format for cs_CZ locale
|
||||
* Fix Norwegian relationship calculator
|
||||
* Fix Icelandic and German translations
|
||||
* Update translations: cs, de, fi, fr, hu, is, nb, ru
|
||||
|
||||
2016-09-04
|
||||
Version 4.2.4
|
||||
* fixes for the PHON, FAX, EMAIL and WWW Gedcom tags to support Gedcom v5.5.1
|
||||
* use more relative import
|
||||
* Support for FTM and others Custom Gedcom Event Tags on import
|
||||
* fix '_deeprelationshippath' filter rule
|
||||
* Narrativeweb: some dates are incorrect in tar archive.
|
||||
* MacOS: Update graphviz to 2.38 and change to a binary launcher in app bundles.
|
||||
* Gramps crashes when closed while exporting
|
||||
* Some events are not shown in familymaps page.
|
||||
* Remove old debug bloc on place selection.
|
||||
* Add GUI and CLI config option to allow easy setting
|
||||
* Chinese characters are not rendered properly in pdf reports
|
||||
* Support v5.5.1 OBJE/FORM/MEDI tag on embedded OBJE
|
||||
* Sorting of Sources on gedcom
|
||||
* Change "class xxx(object)" to "class xxx"
|
||||
* Use "with open" instead of "try: except:"
|
||||
* Change "raise NotImplemented" to "raise NotImplementedError()"
|
||||
* Add new argument to IsEnclosedByRule
|
||||
* Narrativeweb: place title must agree the references.place-auto configuration
|
||||
* Improvements on CSV file format support
|
||||
* update Finnish holidays
|
||||
* Some strings in tools and report dialogs will not translate
|
||||
* Gedcom import improvements in media area to support v5.5.1 and FTM
|
||||
* Trailing whitespace
|
||||
* Gedcom import of FTM .ged file containing _LINK tags not supported
|
||||
* Change pycairo-python3 to pycairo.
|
||||
* pycairo for python2 is now py2cairo.
|
||||
* Remove pango modules from bundle, pango no longer uses them.
|
||||
* Gedcom import loses spaces in text fields from FTM
|
||||
* Gedcom import of FTM file containing _PHOTO tags
|
||||
* Missed self.photo initializer
|
||||
* Attempting to select an "Available item" for the Book Report gives an error
|
||||
* Fix for either valid or invalid FTM Gedcom
|
||||
* Gedcom import of FTM file with OCCU record crashes import
|
||||
* crash - 'NoneType' object has no attribute 'get_child_ref_list'
|
||||
* Family Page maps are non-functional in Narrative Web report
|
||||
* Gedcom import loses spaces in text fields from FTM
|
||||
* String not translated in geoplaces
|
||||
* Descendant Report does not recognise auto. place title generation
|
||||
* Translated text will not be printed in the program
|
||||
* Geography: Attempting to print crashes (add parent to dialog)
|
||||
* GEDCOM doesn't accept CR as a line terminator
|
||||
* Wrong Numeric date format for cs_CZ locale
|
||||
* Narrativeweb: inconsistent & incomplete display of place hierarchy labels
|
||||
* Narratedweb: surname listing errors for people with multiple partners
|
||||
* In "Verify" people w/ death event w/o date are not thought dead
|
||||
* While starting gramps, it fails to pop up "tips of the day"
|
||||
* GEDCOM import in CLI mode with .ged file containing ANSEL encoding tries to pop up gui
|
||||
* fix merge conflict
|
||||
* Use first matching name when generating place titles
|
||||
* GEDCOM import with media files that have no path fails
|
||||
* [Geography] Geoclose and mother handle
|
||||
* place names empty if Gedcom ADDR record contains no street
|
||||
* Tidy up place configuration options
|
||||
* Use CSS to fade background colour in ValidatableMaskedEntry
|
||||
* crash on GEDCOM import with empty _AKA lines
|
||||
* Add inclusive option to IsEnclosedBy rule
|
||||
* Saving/closing new person window with Alt-o does not find gender
|
||||
* Fix to allow deferred translation of place type
|
||||
* Include all place types in place report
|
||||
* Allow place selection both individually and by filter on textual report
|
||||
* Expand tree in selectors automatically
|
||||
* Fix Encloses gramplet to display correct place references
|
||||
* Update for appdata stuff
|
||||
* UnboundLocalError on ODF doc backend
|
||||
* Media Preview: wrong frame
|
||||
* fix signals
|
||||
* GEDCOM import PLAC:FORM in local mode doesn't work
|
||||
* fix empty Place Alternate Names on import
|
||||
* Merge unit test for PlaceCheck not working correctly
|
||||
* GEDCOM import some Place Names & Titles are blank
|
||||
* GEDCOM import PLAC or ADDR attached Notes etc. are lost
|
||||
* Gramps not appearing in Gnome Software
|
||||
* fix broken GEDCOM import PLAC:FORM handling
|
||||
* Place Alt Names gets duplicated entries
|
||||
* Multiple GEDCOM imports creates duplicate event IDs
|
||||
* The place page in webreport is complete mess
|
||||
* Gallery tab of Source view does not display .ods files
|
||||
* Narrated Web report - Individual sort order not correct on the Surnames tab
|
||||
* Specify required GtkSpell and GExiv2 version
|
||||
* Narrated web report link to thumbnails is broken on certain pages
|
||||
* Narrated Web report - Individual page sort order has changed
|
||||
* Gramps reports that it can't find dictionaries.
|
||||
* Turns out it was really that enchant couldn't find its backend because an environment variable wasn't set.
|
||||
* Update translations: cs, da, de, fi, fr, hu, pt_BR, ru, sl
|
||||
|
||||
2016-04-10
|
||||
Version 4.2.3
|
||||
* Creation of the "graphic calendar report" failed
|
||||
* Fix "TypeError: 'tuple' object does not support item assignment
|
||||
* Fix experienced an unexpected error
|
||||
* Unable to build narrated web site
|
||||
* [NarrativeWeb report] Places index and Media index are incorrectly sorted
|
||||
* Error when trying to create narrative report (residence event)
|
||||
* Fix filter set by default on selector, 'Show all' button
|
||||
* Detailed Ancestors Report has ? for locations when [private data is excluded]
|
||||
* Age in the event family view column is wrong.
|
||||
* Crash when dragging multiple media items to clipboard
|
||||
* vCal Export File format invalid
|
||||
* Error occurs for Complete Individual Report -- complete database
|
||||
* Narrated Web Site Report: places page is no longer sorted alphabetically
|
||||
* Narrative web: html elements emitted in different order
|
||||
* Narrative web: "errno: 1, operation is not permitted" when creating archive.
|
||||
* Narrative Web report further stops in error.
|
||||
* Fix multiple lines for firstname on gramps XML file via import or export
|
||||
* fix scrolling in persons view after typing some letters
|
||||
* Location on geography view could not convert string to float
|
||||
* setup.py: make typeout more accurate
|
||||
* Searching in people view when surnames are collapsed
|
||||
* Fix error when changing database in new locations gramplets
|
||||
* Error loading Participants add-on in French locale
|
||||
* Restores setting the stdout encoding to sys.getdefaultencoding() for Python3
|
||||
* Fix comment about getting the right encoding for stdout.
|
||||
* Date format does not match system.
|
||||
* Make US English a special-case locale, where en_GB is the default for english based locales
|
||||
* Enhance the Locations gramplet
|
||||
* New "Encloses" gramplet to the display places that the active place encloses
|
||||
* Individuals with incomplete names, not updated when name completed
|
||||
* Children gramplet in Family view does not get updated when a birth/death events are added to a child
|
||||
* Non-image media objects don't appear in the main window gallery.
|
||||
* Pressing tab stops at element in gui places
|
||||
* Double-clicking on a source in the citation gramplet causes exception
|
||||
* "Find text in record" filter crash
|
||||
* Fix vCard Export
|
||||
* Notes used in the "To Do" gramplet are found by the Remove Unused Objects tool
|
||||
* Unable to select Unicode
|
||||
* Cannot import gedcom generated by RootsMagic custom place details ignoring PlaceName()
|
||||
* Fix people sorted by surname view
|
||||
* Complete Report about person (whole database) - PDF - crash
|
||||
* Update for travis
|
||||
* Only consider the values of LC_ALL, LANG, and LANGUAGE, in that order, when choosing the default locale.
|
||||
* New Icelandic date and relationships handlers
|
||||
* Fix Finnish translation in keywords of desktop entry
|
||||
* Update translations: cs, de, el, fi, fr, hu, is, it, ru, sl, sv, uk
|
||||
|
||||
2016-01-06
|
||||
Version 4.2.2
|
||||
* "Show all" checkbox of "Select Family" window not unchecked when the filter is cleared
|
||||
* Name of user defined filter is not shown
|
||||
* ErrorDialog and GtkDialog mapped without a transient parent
|
||||
* 'Find' is broken when used in the Family selector
|
||||
* Fix default selection in selectors
|
||||
* Comment currently-unused bogus wiki URL pointers
|
||||
* Fix counter for filtered entries and indentation on TreeBaseModel
|
||||
* Faulty headline in start up screen
|
||||
* Check that gramplet is in notebook before setting tab label
|
||||
* Fix creation of focus change events
|
||||
* Interactivesearch gives "TypeError: unorderable types: str() < NoneType()"
|
||||
* Put tag selection list in alphabetical order
|
||||
* Remove redundant code
|
||||
* Fix delete error in undoable entry widget
|
||||
* Fix deprecation warning
|
||||
* Re-enable selection in MultiTreeView on a grab_broken event
|
||||
* Add validation to gender field
|
||||
* Unhandled AttributeError when db.get_tag_from_handle returns None
|
||||
* ReferencedBySelectionProxy can forget some referenced tags
|
||||
* Remove encoding on stdout and stderr
|
||||
* Handle citation objects in glocale.trans_objclass
|
||||
* Locality data in address was not imported
|
||||
* Don't check SSL certs when fetching addons
|
||||
* Catch urlopen TypeError when context arg isn't supported
|
||||
* Fix undefined variable error
|
||||
* Can not download new or updated add-ons
|
||||
* ValueError: underlying buffer has been detached
|
||||
* LaTeX backend crashes
|
||||
* Geography: performance issue due to bad initialization and performance issue when selecting the events or places views.
|
||||
* Narrated Web Site Report: html elements emitted in different order
|
||||
* Unused *_init.jpg are created in the narrated website
|
||||
* Some media files are not exported to the NAVWEB report
|
||||
* Narrative web report: add author to citations
|
||||
* TypeError: unorderable types: EventRef() < EventRef(), events list and family list are differents between two reports
|
||||
* Permission denied: change mtime to origin instead of destination
|
||||
* Thumbnails html file missing in the narrative web
|
||||
* Narrativeweb: Place title based on current date not that of the event
|
||||
* Webcal: make the month name clickable in the year overview page
|
||||
* 'Narrative' word not translatable
|
||||
* 'Unknown' spouse uses an harcoded string name on Simple Descendants textual report
|
||||
* Father/mother's age attributes are not translated on reports
|
||||
* Improve Russian date handler and unittests
|
||||
* Mars month instead of Marzec on Polish locale (Date Editor)
|
||||
* Translations update: cs, de, fr, fi, nl, pl, ru, sv
|
||||
|
||||
2015-10-12
|
||||
Version 4.2.1,
|
||||
* Support for Retina and HiDPI Display, added 24px icons
|
||||
* Fix verification tool with "Estimate missing or inexact dates"
|
||||
* Fix missing link in hourglass graph report
|
||||
* Sort custom place types in editors
|
||||
* Allow Easter calculation with python3
|
||||
* Fix crash on Descendants-detailed report
|
||||
* FanChartDescendants View should at least have 2 generations
|
||||
* Allow hyphenated gramps-id in Graphviz reports
|
||||
* Complete Individual Report fails to run
|
||||
* Fix broken wiki help links
|
||||
* Set TextOption widget to expand vertically
|
||||
* Unused Object Dialog box too small
|
||||
* Short cut keys does not work in 'Change Event Types' dialog
|
||||
* Update some Tips of the day
|
||||
* Error when extracting place names
|
||||
* Custom filters for note text repaired
|
||||
* Fix Pedigreeview crash when selecting Compact view
|
||||
* Set "visable_window" in GtkEventBox to fix transparency
|
||||
* Faster scrolling
|
||||
** cache database access for column values
|
||||
** cache do_get_path lookups
|
||||
** speed up load access on treeviews with no filters
|
||||
** new LRU size of 1k (was 250)
|
||||
** use cache in do_get_path from siblings
|
||||
* Avoid using person-centric date matching for places
|
||||
* Use place title as default name in GEDCOM import
|
||||
* Ensure place names are not empty after upgrade
|
||||
* Fix proxy to include all referenced place objects
|
||||
* Fix bug that prevented any addons being loaded onto the Mac version
|
||||
* Remove copy button from family tree manager
|
||||
* Consistency for name fields on Person Editor
|
||||
* [Geography] Place.set_name(name) requires a PlaceName()
|
||||
* [Geography] Fix and improvements on place selection
|
||||
* Limit problems with existing selection in media reference editor
|
||||
* Stability fixes on Mac port
|
||||
* Mac port localization crash with non-standard locale (e.g. en_IT).
|
||||
* Fix color on history
|
||||
* Fix countries selector for holidays
|
||||
* Fix missing markups into textual reports
|
||||
* All sidebars with Types now show custom types in combo list
|
||||
* [New] Added Places to CSV import/export
|
||||
* Some fixes on installer (setup.py)
|
||||
* Various improvements on gen.plug.utils
|
||||
* Fix graph reports [in Greek locale]
|
||||
* New date handler for Hungarian locale
|
||||
* Updated translations : cs, de, el, en_GB, fi, fr, hu, is, sv
|
||||
|
||||
2015-08-02
|
||||
Version 4.2.0,
|
||||
* New date and language fields on place name
|
||||
* Review on GtkBuilder, fix some Gtk3 warnings and move from deprecated methods
|
||||
* Change icons and buttons handling methods
|
||||
* Enhanced Place Editor and new Place Name editor
|
||||
* New widget: use own interactive-search
|
||||
* Ability to import kml data into Geography views
|
||||
* Enhancement for removing multiple selected items from Views (action group)
|
||||
* Add drag support on more Views, Selectors and Editors
|
||||
* Add right-click "Copy all" to ListModel and all QuickTables
|
||||
* Review Alternate Place handling and edition
|
||||
* New 'Place' configuration keys set by user (settings)
|
||||
* New filter rule: is enclosed by
|
||||
* Consistency on Privacy option for reports
|
||||
* Consistency on "Name-format" options for reports
|
||||
* Add DeferredFilter class (a subclass of GenericFilter)
|
||||
* New textual Report: Links on Notes
|
||||
* Fix alphabetic index and toc bug in books
|
||||
* Enhancements on Style Editor
|
||||
* Enhancements on End Notes into textual reports
|
||||
* Changes on Individuals complete textual report
|
||||
* Changes on Ancestors Tree draw report: Include Siblings
|
||||
* Add name-format option, and deferred translation on Records report
|
||||
* Add deferred translation on Timeline draw report
|
||||
* Enable attributes gramplet on Source and Citation Views
|
||||
* New place locations gramplet
|
||||
* Optimizations around index, Flat and TreeView models
|
||||
* Enhanced samples files
|
||||
* All importers return now an ImportInfo object
|
||||
* Experimental gwplus (geneweb) import file format support
|
||||
* Remove experimental HTML renderer view
|
||||
* New test scripts
|
||||
* New Date handler for Japanese
|
||||
* Review on Slovenian and Czech Date Handlers
|
||||
* Implement both "traditional" and "simplfied" Chinese (translations and dates)
|
||||
* Serbian review
|
||||
|
||||
2015-05-01
|
||||
Version 4.1.3, "Thou shalt not count to five", a maintenance release.
|
||||
* Fix db upgrade failure
|
||||
* GtkDialog mapped without a transient parent
|
||||
* [Gedcom} SUBN and SUBM record handling
|
||||
* [Gedcom] Import/export round trip causes lost information
|
||||
* [Gedcom] Entering a witness to an event such as marriage might be ignored
|
||||
* [Gedcom] Gramps can't import estim. date period exported by itself
|
||||
* [Gedcom] 1/4 and 1/2 ANSEL characters not supported on importing ANSEL
|
||||
* [Gedcom] Importing file containing multibyte UTF-8 characters fails
|
||||
* [Gedcom] Import fails for ANSI file under python 3
|
||||
* [Gedcom] Failure importing ANSEL encoded gedcom file.
|
||||
* [Gedcom] Characters ignored on a Gedcom encoded ANSI (cp1252 West Europe, USA)
|
||||
* [Gedcom] NameError in importer
|
||||
* [Gedcom] Event address is lost on import, i.e. disconnected from event
|
||||
* Crash on geneweb export with python3
|
||||
* GuiColorOption missing avail-changed event handler
|
||||
* Bad generation of [timeline report] ODT files since 4.0.0
|
||||
* Fix bad handle in explanation note for unknown event
|
||||
* Fix spurious generation of empty 'Alternative Name' in place.merge()
|
||||
* Support creating directories in various scenarios
|
||||
* Attempting to add a bookmark causes an error
|
||||
* Long series of "unhandled exception" popup boxes while doing a check & repair
|
||||
* Crash when trying to link existing place as an enclosing place using P0001 number
|
||||
* HTML view fails to load
|
||||
* Relationship Graph crashes
|
||||
* Python3 needs new_subpixbuf not subpixbuf
|
||||
* Regression: running gramps from crontab fails
|
||||
* tag_map is not initialized
|
||||
* Some labels now fit better on citations sidebar filter
|
||||
* Event columns in web narrative are too narrow
|
||||
* Problem by start program (launcher)
|
||||
* Translation string missing in Not Related tool for help and close button
|
||||
* Date format month/year is not well reported at editing time [in Italian]
|
||||
* Fix unknown gender relationships handler for the french locale
|
||||
* Fix a handle type bug on sidebar filter
|
||||
* Tidy up About dialog
|
||||
* Cleanup on some man files
|
||||
* Convert some remaining unicode literals
|
||||
* Fix mac menubar setting
|
||||
* Enable python3 to run po/update_po.py
|
||||
* Updated translations: cs, de, fr, is, nl
|
||||
|
||||
2015-02-28
|
||||
Version 4.1.2, "That's no ordinary rabbit", a maintenance release.
|
||||
2014-04-30
|
||||
Version 3.4.9 of Gramps! "I am no longer infected", a maintenance release.
|
||||
* Error converting python2 utf-8 strings to python3 str when loading data from database
|
||||
* Removing a parent place from a place leaves a dangling reference
|
||||
* Error during checking the database
|
||||
* Stubborn blank space in database won't be removed, fix removing rows in flat list views
|
||||
* Database upgrade fails if default media path is not set
|
||||
* Error converting database after upgrade to Gramps 4.1.1
|
||||
* Error in a single place within the places section
|
||||
* Entries from the add-or-choose selector of Place/Source/Media/Note cannot be dragged
|
||||
* Enclosing places tab should work like other similar tabs, new place reference editor
|
||||
* Association editor refuses dropped persons
|
||||
* Error on opening twice an object from clipboard
|
||||
* Incorrect spacing in export assistant file chooser
|
||||
* New Event types are saved as a disordered list
|
||||
* Always display main participants
|
||||
* Place titles can now be generated on-the-fly by a place displayer, default is still to use the place title field
|
||||
* GEDCOM import of embedded notes attached to media does not work
|
||||
* Crash on Ancestry.com .ged import; consistent.
|
||||
* Errors handling owner/submitter information in GEDCOM files.
|
||||
Only import researcher from GEDCOM or XML if the family tree was originally empty.
|
||||
* GEDCOM export does not export media attached to citations.
|
||||
* The fanchart view crashes if max generation is set to 1 away.
|
||||
* Sidebar Filters do not match placetypes in new placeview, two new filter rules (HasTitle, HasData)
|
||||
* Fix bug when family has no parents
|
||||
* Gedcom input: SUBN and SUBM record handling
|
||||
* [Gedcom] import/export round trip causes lost information
|
||||
* [Gedcom] Gramps can't import estim. date period exported by itself
|
||||
* [Gedcom] import deletes first char of notes
|
||||
* [Gedcom] import of embedded notes attached to media does not work
|
||||
* [Gedcom] NameError in importer
|
||||
* [Gedcom] export does not export media attached to citations
|
||||
* [Gedcom] Errors handling owner/submitter information
|
||||
* [Gedcom] Event address is lost on import, i.e. disconnected from event
|
||||
* [Gedcom] Entering a witness to an event such as marriage might be ignored
|
||||
* [Gedcom] Importing file containing multibyte UTF-8 characters fails
|
||||
* Event list in editors does not display content into 'Main Participants' column
|
||||
* Fix 'Last Change' column into Person Selector
|
||||
* Support creating directories in various scenarios
|
||||
* tag_map is not initialized
|
||||
* Fix bad handle in explanation note for unknown event
|
||||
* Narrative website: Missing webpage for media with missing thumbnail on person page
|
||||
* Enable the "default" CSS choice for the narrated web report
|
||||
* Crash while scrolling in person view
|
||||
* Crash when attempting to create Places Report
|
||||
* Error in Session Log gramplet with no active person
|
||||
* In Ahnentafel Report, Use Christening Date if no Birth Date Present
|
||||
* Family with children but no parents is lost on filtered export
|
||||
* Some labels now fit better on citations sidebar filter
|
||||
* Views in Geography should not always use the last option set by the user
|
||||
* Request for keyboard-controlled zoom on Geography view
|
||||
* Error geography view - Displaying main menu
|
||||
* Configure screen needs a file selector to select directory for "offline mode" files
|
||||
* Filter panel on geography view displays improperly
|
||||
* Detailed descendant report crashes, bibliography (citations)
|
||||
* Can't disable box shadow in SVG descendant tree
|
||||
* Descendant tree graphical report, syntax error in svg output
|
||||
* Regression: Complete Individual report has partially-untranslated output
|
||||
* Events Page in Narrative Report not working
|
||||
* Gramps freeze after defining a report style with German cm values
|
||||
* Various problems with docgen.TextDoc.add_media_object
|
||||
* Report event attribute name is not translated
|
||||
* Records Gramplet uses wrong text
|
||||
* Closing detached gramplet causes python to crash
|
||||
* Cannot reduce size of gramplets detached from a gramplet bar
|
||||
* Gramplets don't fill window when detached from dashboard
|
||||
* ImageMetadata doesn't show metadata
|
||||
* typo on GLib call, used by an addon only
|
||||
* Fix error setting gramplet tab label
|
||||
* Check for active person in session log gramplet
|
||||
* Spurious spaces in CLI List Family Trees, tab delimited output.
|
||||
Print statements changed to assemble the whole line before output.
|
||||
* Gtk3 warning and custom undoableentry widget, see bugzilla_id 644927
|
||||
* Warnings: deprecated Gtk properties and errors loading theme icon.
|
||||
Fix: database manager dialog is inconsistent for older gtk+3 versions.
|
||||
Warnings: deprecated Gtk properties and errors loading theme icon.
|
||||
Fix: Error loading theme icon 'gtk-apply'
|
||||
* gramps fails to start with gtk+-3.13.3
|
||||
* Places in data.gramps are not in the new Place hierarchy
|
||||
* Upgrade the version of some dependencies for Mac OS and Windows OS.
|
||||
* Keywords entry in gramps.desktop does not work
|
||||
* 'Available Gramps Updates for Addons' window not on top
|
||||
* Some text not translatable in context menu fancharts
|
||||
* Fix for Unit test
|
||||
* date inflections in _datehandler.py, update for Ukrainian, Russian, Croatian
|
||||
* Better support for Serbian and Turkish locales
|
||||
* New translation: Icelandic
|
||||
* Re-enable Turkish support after a major review. Thank you Uğur.
|
||||
* Updated translations: cs, de, eo, fi, fr, hr, hu, it, nb, nn, ru, sk, sr, sv, uk, zh_CN
|
||||
|
||||
2014-10-24
|
||||
Version 4.1.1, "MachineThatGoes...Ping!", a maintenance release.
|
||||
* Fix custom place types in the place editor
|
||||
* Allow place type combobox to receive focus.
|
||||
* Store custom place types in the metadata table
|
||||
* Fix place type for places without a main location
|
||||
* Fix bug adding parent places to a new place
|
||||
* Prevent user creating a cycle in the place hierarchy
|
||||
* Avoid infinite loop when place cycle encountered
|
||||
* Prevent creation of a place cycle when merging
|
||||
* Fix error when no place is selected
|
||||
* Check that a place has been selected when saving.
|
||||
* Use the standard place selection widget to be consistent.
|
||||
* Add a new Top Level place through the Place Reference Editor
|
||||
* Fix backlinks code in place report
|
||||
* Backlinks for places can now also be places as well as events.
|
||||
* Fix check and repair tool for empty placerefs
|
||||
* Update location utilities to work with proxies
|
||||
* Place report does not run
|
||||
* Update place details gramplet
|
||||
* Locations are now displayed in a new separate gramplet.
|
||||
* Add check for empty handle in gramplets
|
||||
* Check DB lock on the recent opened trees list
|
||||
* Sidebarfilter gramplet does not fit well into People, Events or Media views
|
||||
* Fix new event default type considering existing events with *default* role
|
||||
* Rebuild secondary indexes after database upgrade
|
||||
* Importing gedcom files containing multibyte UTF-8 characters fails
|
||||
* Ahnentafel Report did not use Christening Date if no Birth Date
|
||||
* [Narweb:] Missing webpage for media under some circumstances
|
||||
* Fix narrated web report with gendex option enabled
|
||||
* Tweak to "default" CSS choice for the narrated web report
|
||||
* Invalid link for Merge citation Help button
|
||||
* Fix 'todo' gramplet
|
||||
* Fix path when using drag & drop to add media
|
||||
* Limit the number of generations displayed in the ancestor gramplet
|
||||
* Export of a subset of the tree failed
|
||||
* Fix issues in python3, and bytes-string mismatch with ICU
|
||||
* Fix url/uri handling with non-ascii characters under linux and mac
|
||||
* Fix name format on graphical reports
|
||||
* Fix name format on textual reports
|
||||
* Better GUI support for embeded custom attributes list on media object
|
||||
* Better keys for search under linux shells (.desktop file)
|
||||
* 'Unknown' person in detailed ancestor report can not be translated
|
||||
* Translations don't show in many labels
|
||||
* Ensure python text domain gets the right encoding.
|
||||
* Translate some punctuation marks
|
||||
* Various fixes around Geography and osmgpsmap
|
||||
* Allow gramplets to be displayed in the dashboard only
|
||||
* Update FSF address
|
||||
* Add Arabic-script, Islamic-date, Thai script, Married Name and more dates examples
|
||||
* Fix on czech date handler for calculated and estimated dates
|
||||
* Spurious spaces in CLI List Family Trees, tab delimited output. Print statements changed to assemble the whole line before output.
|
||||
* GuiColorOption missing avail-changed event handler
|
||||
* Regression: running gramps from crontab fails
|
||||
* Better support for handling custom media attributes on edition
|
||||
* DB lock not checked when opening database from the recent opened trees menu item
|
||||
* List index out of range" on [initial CLI "gramps -t"]
|
||||
* HTML View fails to load on Debian unstable
|
||||
* Fix unknown gender relationships hander for the french locale
|
||||
* Can't fill in calculated and estimated dates in czech locale
|
||||
* Enhance Serbian date handler to handle Cyrillic dates
|
||||
* Simplify Canadian Ash Wednesday holiday
|
||||
* Re-enable Esperanto support (for non-Windows OS only) after a large review
|
||||
* New translation: Serbian
|
||||
* Various fixes in German and Czech
|
||||
* Updated translations: ar, cs, de, fi, fr, it, sv
|
||||
* Updated translations: cs, de, fr, hu, it
|
||||
* Fix mac menubar setting
|
||||
* Fix mac OsmGpsMaps setting
|
||||
* Enable PIL with Freetype2 support on mac
|
||||
|
||||
2014-06-15
|
||||
Version 4.1.0, the "Name go in book", new major release.
|
||||
* GEP 006: Better Place handling
|
||||
* New Tags support on Event, Place, Repository, Source, and Citation
|
||||
* Source/Citation Data becomes Attributes
|
||||
* Add optional support for checksum on Media object
|
||||
* New place hierarchies model
|
||||
* By default, you can choose navigator modes with a drop down.
|
||||
* New Place editor
|
||||
* Enhanced MediaReference Editor
|
||||
* Some debug tools move to new gramplets
|
||||
* Full Python 3 support
|
||||
* New functions and widgets related to Place and Media selections
|
||||
* Enhancements on to_struct()
|
||||
* New methods on Date handlers
|
||||
* Better support on translation for inflection rules
|
||||
|
||||
2014-05-22
|
||||
Version 4.0.4, "Not the comfy chair", a maintenance release.
|
||||
* Upgrade to db version 17 fails in Python 3 due to use of iteritems
|
||||
2014-05-29
|
||||
Version 3.4.8 of Gramps! "Forget about your sin, give the audience a grin", a maintenance release.
|
||||
* Database corrupted - TypeError: unhashable type: 'list'
|
||||
* Fix bug in abandon changes and quit
|
||||
* Consistency on create_id method
|
||||
* Better handling for non-ASCII characters on database-path
|
||||
* Better support for ANSEL characters
|
||||
* Fix error when importing database from the CLI
|
||||
* 'Display as' field in Name Editor reverts to Preferences default
|
||||
* Fix vcard date converter
|
||||
* View does not communicate over proxy server with autorisation
|
||||
* Enhanced Bookmark support
|
||||
* Event gramplet filter does not have field for primary role,
|
||||
* Geography does not communicate over proxy server with autorisation
|
||||
* Event gramplet filter does not have field for primary role
|
||||
* New HasDayOfWeek filter rule
|
||||
* Error when leaving a Gramps type field blank in an editor
|
||||
* Fix creation of events with same Gramps-ID
|
||||
* Crash when opening details of a person
|
||||
* Fix spacing on dialogs for some recent linux distribution
|
||||
* date editor and Date class allow e.g. Hebrew dates with newyear (Mar25)
|
||||
* Fix crash in fan chart view when scrolling
|
||||
* Poor contrast mouse on mouse over
|
||||
* Drag and drop only one data into Editors tabs
|
||||
* Enhancements and consitency on events gramplet, selector and view
|
||||
* Sometimes says 'no data exists for note' when saving
|
||||
* Enhanced Citation Editor
|
||||
* Do not always raise errors when some plugins are hidden
|
||||
* Remove hover selection from embedded lists
|
||||
* Fix update of active object after merge
|
||||
* Cleanup on warnings and messages around locale directory
|
||||
* Do not drag and drop more than one data into editor tabs
|
||||
* Media Editor error if Path value was changed to a non existing file
|
||||
* Register history objects at startup
|
||||
* Avoid dumb encoding error when compiling gpr file
|
||||
* Work around Py2Cairo
|
||||
* Given Name Cloud Gramplet splits up given names into words
|
||||
* Users should not be allowed to edit and delete 'default' style into Style Editor
|
||||
* Filename Decoding Error in Graphical Reports
|
||||
* Missing closing bracket in Web_Basic-Spruce.css
|
||||
* Reorder tool: global name 'gen' is not defined
|
||||
* Fix start in East Asian language, force UTF-8 locale on Mac
|
||||
* Fix apple_collation
|
||||
* Spelling messages at random cause hang for a few seconds.
|
||||
* Media viewer list crashes during start if one try to select an entry where the media isn't available
|
||||
* 'Available Gramps Updates for Addons' window not on top
|
||||
* HTML View fails to load
|
||||
* Some temporary files remains in /tmp with NarrativeWeb report
|
||||
* Some fixes and enhancements
|
||||
* No narrative.css File After Running Narrated Website Report
|
||||
* Paper names and Styles values are now translated
|
||||
* Sort failure using glocale.sort_key
|
||||
* Improve support for collation variants
|
||||
* Translate some punctuation marks
|
||||
* Fix unit tests and python3 issues
|
||||
* Fix Relationships handler for Portuguese
|
||||
* Updated translations: ar, cs, de, fi, fr, he, it, lt, nb, nl, pl, pt_BR, ru, sv, uk
|
||||
* Updated translations: ar, cs, de, es, fr, he, it, ru, sk, sv
|
||||
|
||||
2014-01-27
|
||||
Version 4.0.3, "It's tomorrow, ask me now", a maintenance release.
|
||||
* Fix copy via context menu on Views into Charts Category
|
||||
* Fix Tab sequence in Name Editor
|
||||
* Fix citations gramplet into media view
|
||||
* Fix unhandled exception when inspecting media
|
||||
* Fix Citation sidebar filter for python3
|
||||
* Fix add link to a "Html code" note
|
||||
* Fix message on backup dialog
|
||||
* Fix space for selection lists
|
||||
* Fix spell with myspell and LANG
|
||||
* Fix changes root cursor to hand
|
||||
* Recent file parser now gives the file location
|
||||
* Fix vertical overflows on check and repair-tool dialog
|
||||
* Fix custom key/value (data item) on Database difference report
|
||||
* Fix unhandled exception in media exif information under Windows OS
|
||||
* Fix person selector in searchfilter under Windows OS
|
||||
* Starting Gramps without console is now possible under Windows OS
|
||||
* Specific OS handling
|
||||
* Common fixes and changes with 3.4.7.
|
||||
* Updated translations: ca, de, fi, fr, ru
|
||||
Version 3.4.7 of Gramps! "Ask me tomorrow, but not today", a maintenance release.
|
||||
* Gramps project web hosting now has an HTTPS interface; the old HTTP URLs redirect to it.
|
||||
* Development switched from SVN to git.
|
||||
* Add new filter rule matching citations having a source with a <text> on a note
|
||||
* Add primary role option to event filter
|
||||
* Add Groups support and reduce number of lines in Event types selector
|
||||
* Add 'Last Change' column on selectors, when missing
|
||||
* Fix a filter rule on citation sidebar (Source:Note)
|
||||
* Fix url in Welcome gramplet when detached
|
||||
* Fix bug in associations filter
|
||||
* Better support for objects having citations as subobjects
|
||||
* Check Tag handling on people views
|
||||
* Keep at least one column on views
|
||||
* Reorder tool now updates citation IDs
|
||||
* Performance improvement in ancestor filter
|
||||
* Reduce number of columns in LDS temple selector
|
||||
* Fix menu action for last recently opened family trees
|
||||
* Fix minor visual issue on Merge Person dialog
|
||||
* Use 'Bat Mitzvah' (en_US event name)
|
||||
* "Add citation" missing in pop-up menu
|
||||
* Fix HTML spacing on GraphViz output
|
||||
* Enhancement on date validation into Date Editor
|
||||
* Invalid dates (like 2013-02-30) no longer crash the date editor or file import.
|
||||
* Fixed image handling in ODF docgen, thanks to Matthias Basler for the initial patch.
|
||||
* Fixed GEDCOM export for family _UID, added support for _FSFTID, by Enno Borgsteede.
|
||||
* Fixed bookmark handling in navigation views.
|
||||
* Multiple maintainability and usability improvements.
|
||||
* Translation updates and translation-related fixes.
|
||||
|
||||
2013-11-08
|
||||
Version 4.0.2, "Welcome to our humble abode", a maintenance release.
|
||||
2013-10-28
|
||||
Version 3.4.6 of Gramps! "The Answer to the Ultimate Question", a maintenance release.
|
||||
* Citation merge works better for all objects with citations
|
||||
* Fixed citations attached to family events
|
||||
* Fixed several crashes, hangs, and data corruption scenarios
|
||||
* Fixed bugs in determining whether a person is alive, potentially resolving private data leak via export or report
|
||||
* Fixed bugs on proxies
|
||||
* VCF export/import now support gender information
|
||||
* Several bugs with filtering fixed, most filters now support regular expressions
|
||||
* Fixed bug in Hebrew calendar date calculations
|
||||
* Fix some regressions on GEDCOM file format export and enhancement on CONT/CONC handling
|
||||
* Multiple fixes and improvements on gramplets
|
||||
* Multiple fixes in the narrated website and web calendar reports
|
||||
* Enhancements on date and calendar
|
||||
* Support space in Gramps ID with GEDCOM file format export/import
|
||||
* Multiple fixes in gramplets
|
||||
* Multiple fixes in the narrated website report
|
||||
* Some fixes and improvements of the webapp
|
||||
* Fix on Database Differences module
|
||||
* Enhancements of the citation tree view (Sources category)
|
||||
* Improvements on User classes
|
||||
* Polish and consistency on Gramps XML export
|
||||
* Bump XML schema to 1.5.1
|
||||
* Fixed several long-standing problems with report generation
|
||||
* Better support of RTL locales (Arabic, Hebrew, etc.) in GUI
|
||||
* Better support for selected lang on some reports
|
||||
* Better way for displaying missing dependencies
|
||||
* Better Spell support
|
||||
* Platform-specific fixes for Mac and Windows
|
||||
* Add printing functionality for all geography views
|
||||
* New date handlers for Arabic and Greek
|
||||
* Translation updates (ar, cs, de, fr, lt, nb, nl, ru, sv) and translation-related fixes
|
||||
* New date handler for Arabic
|
||||
* Translation updates and translation-related fixes
|
||||
* Repaired and enhanced tests broken since 3.3.x, resulting in overall reliability improvements
|
||||
* Add a support for AppData
|
||||
|
||||
2013-06-24
|
||||
Version 4.0.1, the "What is washing when we are on the verge of a great scientific breakthrough?", a maintenance release.
|
||||
* Gtk3: fix menu on person editor and Geography views, convert deprecated code for the indicator in entryfield
|
||||
* Gedcom: Fix crash on export when there are addresses, fix space on ID
|
||||
* Disallow bookmarking a source in the Citation Tree View
|
||||
* Better RTL support on Pedigreeview and position for gramplets
|
||||
* Fix bad scaling in address editor
|
||||
* Fix crash on ancestor chart report
|
||||
* Fix navigation issues with selected line
|
||||
* Fix size of the 'Tip of the day' dialog
|
||||
* Fix right-click on tables in Quick Views
|
||||
* Fix cursor corruption on Pedigree view
|
||||
* Improvements when exporting via CLI
|
||||
* Reports: Various fixes on dialogs, output file formats and cleanup on error messages
|
||||
* MacOS: Fix bad filename on Gramps URL, osm-gps-map revision, image paths, resource-path file, maclocale
|
||||
* Move the HTML resources from gramps/plugins/webstuff to Data and Images
|
||||
* Alternate Names in Person Details Gramplet (patch by Heinz Brinker)
|
||||
* New holidays, date and relationship handlers for Ukrainian
|
||||
* Enhancements for testing localized Relationship handlers (contribution by Fedir)
|
||||
* More names and events on data.gramps sample
|
||||
* Translations updated: cs, de, es, fr, hu, nb, nl, ru, uk, and new support for Arabic
|
||||
|
||||
2013-05-21
|
||||
Version 4.0.0, the "The Miracle of Birth", new major release.
|
||||
* GEP 8: code reorganization
|
||||
* GEP 26: Replace make
|
||||
* GEP 29: Gtk 3 support
|
||||
* GEP 31: Python 3 support
|
||||
* Completely reworked localization handling
|
||||
* The Gramplet view has been renamed Dashboard. This to avoid an overload of the word Gramplet, and to make it more clear to new users what can be expected in this view
|
||||
* GTK 3 uses new themes, so users not on Gnome must set a nice GTK 3 theme to fully appreciate Gramps 4.0. Install a GTK 3 theme and set it. If Gramps looks ugly, you made an error in this step.
|
||||
* Different sidebar navigators can be installed
|
||||
* New Ancestor Fan Chart View and Descendant Fan Chart View, which offer a lot of insight in your family tree on a small space. Direct printing is available from these views.
|
||||
* All wizards are reworked, so the exporter dialog, help and bug report dialog are different from version 3.4, but offer the same functions
|
||||
* New To Do Gramplets listing all To Do Notes
|
||||
* More reports support output in a different language than the interface language
|
||||
* Narrative Web has been reworked to make it more stable.
|
||||
2013-05-22
|
||||
Version 3.4.5 of Gramps! "We have also developed a tomato which can eject itself when an accident is imminent", a maintenance release.
|
||||
* problem after upgrading to 3.4.4 from 3.3.1
|
||||
* ability to keep custom filename on output
|
||||
* book report: sub reports forget/overwrite their settings when trying to re-configure them
|
||||
* end of line report options window - changing output format cause change active tab to "Report Options"
|
||||
* various updated translations: de, es, fr, nb, nl, pl, sk
|
||||
|
||||
2013-05-15
|
||||
Version 3.4.4 of Gramps! "The Ministry of Silly Names", a maintenance release.
|
||||
@@ -719,8 +140,8 @@ Version 3.4.4 of Gramps! "The Ministry of Silly Names", a maintenance release.
|
||||
* fix annoying errors on navigation related to citations gramplet and tag object.
|
||||
* listing the Family Trees can corrupt them.
|
||||
* various fix around handling Gedcom file format
|
||||
* fix citations and sources import on ProGen format
|
||||
* better date handling and better alternate translation support on some textual reports according to locale under windows
|
||||
* fix citations and sources import on ProGen format
|
||||
* better date handling and better alternate translation support on some textual reports according to locale under windows
|
||||
* avoid Errors when setting wrong value as markup for invalid dates (Preferences)
|
||||
* fix paragraph layout on PDF format or print output
|
||||
* New: New-Zealand holidays
|
||||
@@ -738,16 +159,16 @@ Version 3.4.3 of Gramps! "Whenever life gets you down, Mrs. Brown", a maintenanc
|
||||
* Sorting (both in the main display window, and particularly in Narrative Web output) now uses PyICU (if that module is available). Inclusion of PyICU is 'strongly recommended'. This resolves a number of bugs particularly related to sorting of non-Latin characters, and sorting on MS Windows and Mac OS X. Some changes have been made in Narrative Web to support contractions for alphabetic indices.
|
||||
* The automatic Addon checking and download now works once again (the location used in Gramps 3.4.2 and before had been changed, so the the automatic process was no longer working).
|
||||
* Import from Pro-Gen has been updated (at last) to take account of the change to Citations (in 3.4.0)
|
||||
* Import and Export of address fields in GEDCOM has been improved so that the round-trip works properly.
|
||||
* Import and Export of address fields in GEDCOM has been improved so that the round-trip works properly.
|
||||
* GEDCOM Repositories not imported correctly from FTM for Windows and Heredis.
|
||||
* Fixes to a number of errors in filtering notes.
|
||||
* Fix some errors in determining whether someone is alive (e.g. for filtering out alive people).
|
||||
* Make availability of Graphviz settings depend on output format
|
||||
* Improve the descriptions and tooltip for Graphviz aspect ratio option
|
||||
* Make availability of GraphViz settings depend on output format
|
||||
* Improve the descriptions and tooltip for GraphViz aspect ratio option
|
||||
* Fixed update problems with citation bottombar gramplet (bug #6336)
|
||||
* Fixed Open Document Text output in Book report (bug #6457)
|
||||
* A number of changes to Narrative Web:
|
||||
** Media objects attached to Marriage events and Sources are not included in Narrative Web Site
|
||||
** Media objects attached to Marriage events and Sources are not included in Narrative Web Site
|
||||
** restructure the families index so families are indexed under both spouses, and the family name is normalised
|
||||
** separate out Families section in individual and families pages so individual page links to the family page and family page links to both people
|
||||
** normalise links to families so the link is only displayed if the family page is present, and the gid is included when appropriate
|
||||
@@ -765,7 +186,7 @@ Version 3.4.3 of Gramps! "Whenever life gets you down, Mrs. Brown", a maintenanc
|
||||
** Implemented a generalised back reference function to display the 'References' section of all pages. This recursively displays references till one is found for which a page exists.
|
||||
** Removed list of people and families from heading of the event pages as these are now in the 'References' section.
|
||||
** Fixed bug "0005968: Narrated Web Site not copying Source Citations files such as jpg or pdf docs to web site
|
||||
** Fixed bug "0005946 GRAMPS failed to insert jpeg image into proper place for an event" by displaying a thumbnail for citation media in the 'Source References' section (with a link to the media page)
|
||||
** Fixed bug "0005946 GRAMPS failed to insert jpeg image into proper place for an event" by displaying a thumbnail for citation media in the 'Source References' section (with a link to the media page)
|
||||
** Tidy up media pages - remove unused parameters, use list of media items generated in first pass. Should fix bugs 2365, 5905 and 6009.
|
||||
** Tidy up sources pages - fix numbering of repositories, remove unused parameters, fix title of individual source pages
|
||||
** Bug: reset NarrWeb navigation menu layout when style sheet doesn't support it
|
||||
@@ -773,7 +194,7 @@ Version 3.4.3 of Gramps! "Whenever life gets you down, Mrs. Brown", a maintenanc
|
||||
** Fix option to suppress Gramps ID (bug #6237)
|
||||
* a number of technical changes to Narrative Web
|
||||
** Removed a lot of redundant code and parameters (mainly connected with the old way of determining the objects to be included in the report).
|
||||
** Movement of some large chunks of code within the source file and some initial work towards GEPS 022: Narrative Website Refactor. Functionality should be unchanged.
|
||||
** Movement of some large chunks of code within the source file and some initial work towards GEPS 022: Narrative Website Refactor. Functionality should be unchanged.
|
||||
** Moved routines for calculating objects to be output so they can be part of default list building classes.
|
||||
* Various updated translations: da, de, es, fr, it, nb, nl, pt_BR, pt_PT, sv, uk
|
||||
|
||||
@@ -965,7 +386,7 @@ Version 3.1.3 -- the "What name?" release.
|
||||
2009-06-06
|
||||
Version 3.1.2 -- the "Skip the impersonations" release.
|
||||
* Contains translation updates and small bug fixes. No new features.
|
||||
* ca, cs, de, fr, he, it, nb, nl, pl, pt_br, ru, sk, sv,
|
||||
* ca, cs, de, fr, he, it, nb, nl, pl, pt_br, ru, sk, sv,
|
||||
* fixes a failure in 'Check & Repair Database'
|
||||
* fixes to Gramplets
|
||||
* fixes to CLI regressions
|
||||
@@ -1078,7 +499,7 @@ Version 2.2.5 -- the "Now go away or I shall taunt you a second time" release
|
||||
|
||||
Version 2.2.4 -- the "When you're chewing on life's gristle, Don't grumble, give a whistle" release
|
||||
* Improved handling of readonly files
|
||||
* Enhanced parsing of longitute and latitude and mapping
|
||||
* Enhanced parsing of longitute and latitude and mapping
|
||||
(Benny Malengier/Zsolt Foldvari)
|
||||
* Check and repair improvements
|
||||
* Reference map rebuild tool
|
||||
|
||||
@@ -1,93 +1,105 @@
|
||||
Please read the COPYING file first.
|
||||
|
||||
Please read the INSTALL file if you intend to build from source.
|
||||
If building from source, also read the INSTALL file (at least through the
|
||||
"SUPER-SHORT VERSION") before going further.
|
||||
|
||||
Requirements
|
||||
--------------------------------
|
||||
The following packages *MUST* be installed in order for Gramps to work:
|
||||
Python 3.2 or greater
|
||||
GTK 3.10 or greater
|
||||
pygobject 3.12 or greater
|
||||
cairo, pango, pangocairo with introspection bindings (the gi packages)
|
||||
Python 2.6 or greater
|
||||
PyGTK2 2.16 or greater
|
||||
librsvg2 (svg icon view)
|
||||
xdg-utils
|
||||
bsddb3
|
||||
|
||||
The following package is needed for full translation of the interface
|
||||
to your language:
|
||||
language-pack-gnome-xx
|
||||
Translation of GTK elements to your language, with
|
||||
xx your language code; e.g. for Dutch you need
|
||||
language-pack-gnome-xx
|
||||
Translation of GTK elements to your language, with
|
||||
xx your language code eg for Dutch you need
|
||||
language-pack-gnome-nl. The translation of the
|
||||
Gramps strings is included with the gramps source.
|
||||
Gramps strings is included with the source code.
|
||||
|
||||
|
||||
The following packages are *STRONGLY RECOMMENDED* to be installed:
|
||||
|
||||
osmgpsmap Used to show maps in the geography view.
|
||||
It may be osmgpsmap, osm-gps-map, or python-osmgpsmap,
|
||||
but the Python bindings for this must also be present.
|
||||
osmgpsmap Used to show maps in the geography view.
|
||||
Without this the GeoView will not be active, see
|
||||
https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Categories#Geography_Category
|
||||
|
||||
Graphviz Enable creation of graphs using Graphviz engine.
|
||||
Without this, three reports cannot be run.
|
||||
http://gramps-project.org/wiki/index.php?title=Gramps_3.3_Wiki_Manual_-_Main_Window#Geography_Category
|
||||
The package is named osmgpsmap, osm-gps-map
|
||||
or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/
|
||||
GraphViz Enable creation of graphs using GraphViz engine.
|
||||
Without this no beautiful graphs can be created.
|
||||
Obtain it from: http://www.graphviz.org
|
||||
|
||||
pyexiv2 Enables Gramps to manage Exif metadata embedded in your
|
||||
media. Gramps needs version 0.1.3 or greater.
|
||||
Obtain it from: http://tilloy.net/dev/pyexiv2/download.html
|
||||
PyICU Improves localised sorting in Gramps. In particular, this
|
||||
applies to sorting in the various views and in the
|
||||
Narrative Web output. It is particularly helpful for
|
||||
non-Latin characters, for non-English locales and on MS
|
||||
Windows and Mac OS X platforms. If it is not available,
|
||||
sorting is done through built-in libraries. PyICU is
|
||||
fairly widely available through the package managers of
|
||||
distributions. See http://pyicu.osafoundation.org/
|
||||
(These are Python bindings for the ICU package.
|
||||
https://pypi.python.org/pypi/PyICU/)
|
||||
applies to sorting in the various views and in the Narrative
|
||||
Web output. It is particularly helpful for non-Latin
|
||||
characters, for non-English locales and on MS Windows and
|
||||
Mac OS X platforms. If it is not available, sorting is done
|
||||
through built-in libraries. PyICU is fairly widely available
|
||||
through the package managers of distributions. The home page
|
||||
is http://pyicu.osafoundation.org/
|
||||
|
||||
The following packages are optional
|
||||
|
||||
gtkspell Enable spell checking in the notes. Gtkspell depends on
|
||||
enchant. A version of gtkspell with gobject introspection
|
||||
is needed, so minimally version 3.0.0
|
||||
|
||||
rcs The GNU Revision Control System (RCS) can be used to manage
|
||||
multiple revisions of your family trees. See info at
|
||||
https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
|
||||
Only rcs is needed, NO python bindings are required
|
||||
|
||||
PIL Python Image Library is needed to crop
|
||||
images and also to convert non-JPG images to
|
||||
JPG so as to include them in LaTeX output.
|
||||
(For Python3 a different source may be needed,
|
||||
python-imaging or python-pillow or python3-pillow)
|
||||
|
||||
GExiv2 Enables Gramps to manage Exif metadata embedded in your
|
||||
media. Gramps needs version 0.5 or greater.
|
||||
See http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#GExiv2_for_Image_metadata
|
||||
python gtkspell Enable spell checking in the notes, gtkspell contains the
|
||||
libraries.
|
||||
|
||||
ttf-freefont More font support in the reports
|
||||
|
||||
gir-webkit Required for the (user-downloadable) HtmlView plugin
|
||||
PyWebKitGtk or python-gtkmozembed:
|
||||
The hidden view 'Htmlview' allows websites to be opened in
|
||||
Gramps. Users can unhide the view in the plugin manager.
|
||||
A html renderer must be installed to use the view.
|
||||
!! PACKAGERS, Test if on your distribution
|
||||
webkit and Gramps is stable. If you obtain crashes, patch
|
||||
src/plugins/view/htmlrenderer.py and
|
||||
src/plugins/view/geoview.gpr.py, so as to remove:
|
||||
import webkit
|
||||
Then use the gecko package (python-gtkmozembed) instead.
|
||||
If WEBKIT ang GECKO are installed, webkit will be used as
|
||||
the javascript engine is faster (google maps).
|
||||
* PyWebKitGtk
|
||||
Enable html rendering for the Web view. Often called
|
||||
python-webkit package. Be careful, webkit is always in a
|
||||
development phase.
|
||||
* python-gtkmozembed
|
||||
Enable html rendering for the Web view in case PyWebKitGtk
|
||||
is not available or to be used if webkit is unstable.
|
||||
It can be in python-gnome2-extras or python-gtkhtml2
|
||||
depending on distributions.
|
||||
|
||||
goocanvas2 Required for the (user-downloadable) GraphView plugin
|
||||
python-pygoocanvas:
|
||||
Required for the experimental Graphview plugin
|
||||
|
||||
No longer needed in 4.1:
|
||||
?
|
||||
No longer needed in 4.0:
|
||||
pygoocanvas, pygtk, pyexiv2
|
||||
No longer needed in 3.3:
|
||||
python-enchant Enchant
|
||||
No longer needed in 3.2:
|
||||
python glade bindings
|
||||
No longer needed in 3.1:
|
||||
yelp Gnome help browser. No offline help is shipped see Gramps website for User manual
|
||||
|
||||
yelp Gnome help browser. At the moment no help is shipped
|
||||
|
||||
Documentation
|
||||
---------------------------------
|
||||
The User Manual is maintained on the Gramps website,
|
||||
The User Manual is now maintained on the gramps website,
|
||||
http://www.gramps-project.org/wiki/index.php?title=User_manual
|
||||
We might in the future distribute again a manual via gnome-doc-utils, this has not
|
||||
been decided yet though.
|
||||
|
||||
|
||||
Building on non-Linux systems: i18n support and GNU make
|
||||
--------------------------------------------------------
|
||||
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
|
||||
You might need a patch also. FreeBSD has in ports a patch ( /usr/ports/science/gramps/files)
|
||||
you need to apply to po/Makefile.in.in
|
||||
|
||||
Note to Windows AIO-users
|
||||
---------------------
|
||||
Sometimes the theme used in Windows will not work properly.
|
||||
Run gtk2_prefs.exe, which can be found in
|
||||
C:\Program Files\GrampsAIO64\bin
|
||||
r in
|
||||
C:\Program Files (X86)\GrampsAIO32\bin
|
||||
and select "Crux" or "Clearlooks".
|
||||
|
||||
--------------------------------
|
||||
The Gramps Project
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
Major enhancements in Gramps 4.2.0:
|
||||
Gramps 3.2 Release Notes
|
||||
|
||||
* GEP 36: GEPS 036: Extended Alternative Place Name Handling:
|
||||
https://gramps-project.org/wiki/index.php?title=GEPS_036:_Extended_Alternative_Place_Name_Handling
|
||||
General Improvements
|
||||
|
||||
* GEP interactive search: own interactive-search box.
|
||||
* New Plugin System
|
||||
In the Help Menu -> Menu Status, all available plugins are visible. All plugins can be hidden, saving resources and hiding options you do not need. Eg: You don't use the Pedigree View? Hide it in the Plugin Status, and it will not be present anymore. You don't use vcard export? Hide it in the Plugin Status, and it will not be offered anymore.
|
||||
|
||||
* Speedup on Tree and Flat Views
|
||||
* Faster
|
||||
Many under the hood improvements have occurred that should improve perfamance enormously. Yes, new features are present to use all your processing power, but they are all implemented as plugins that can be hidden. Eg: Insert of a person in a 30000 people family tree took 4sec on 1.4Ghz PC in 3.1, Now it is done in milliseconds.
|
||||
|
||||
More info in the manual
|
||||
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_What%27s_new%3F
|
||||
*New Views
|
||||
There are new views, and some views have been greatly improved
|
||||
- People view can now be sorted on the columns
|
||||
- A Place treeview is present, nicely grouping your places under country groups
|
||||
- GeoView has left it's beta status behind and shows your data on an
|
||||
online map (Openstreetmap or google maps, fast internet connection required)
|
||||
- Help Menu -> Extra Reports/Tools open a webpage with downloadable extra views
|
||||
|
||||
Everybody is invited to update the manual to make it current!
|
||||
|
||||
Other Improvements
|
||||
|
||||
* Styled Notes now in most output formats that support styles, eg in the web report
|
||||
* New languages
|
||||
* Select language in which report should be created (only present now in some reports)
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
dnl AM_SHARED_MIME
|
||||
dnl Defines SHARED_MIME_DIR which is where mime type definitions should go.
|
||||
dnl
|
||||
|
||||
AC_DEFUN([AM_SHARED_MIME],
|
||||
[
|
||||
if test "x$SHARED_MIME_DIR" = "x"; then
|
||||
SHARED_MIME_DIR='$(prefix)/share/mime'
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(mime-dir,
|
||||
[ --with-mime-dir=dir Shared mime directory.],SHARED_MIME_DIR="$withval",)
|
||||
|
||||
AC_SUBST(SHARED_MIME_DIR)
|
||||
AC_MSG_RESULT([Using directory $SHARED_MIME_DIR for installation of mime type definitions])
|
||||
|
||||
AC_ARG_ENABLE(mime-install,
|
||||
[ --disable-mime-install Disable the mime types installation],
|
||||
[case "${enableval}" in
|
||||
yes) mime_install=true ;;
|
||||
no) mime_install=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-mime-install) ;;
|
||||
esac],[mime_install=true])
|
||||
AM_CONDITIONAL(SHARED_MIME_INSTALL, test x$mime_install = xtrue)
|
||||
|
||||
])
|
||||
|
||||
|
||||
dnl AM_PACKAGER
|
||||
dnl Defines conditional PACKAGER_MODE to define packager mode
|
||||
dnl
|
||||
|
||||
AC_DEFUN([AM_PACKAGER],
|
||||
[
|
||||
AC_ARG_ENABLE(packager_mode,
|
||||
[ --enable-packager-mode Enable packager mode],
|
||||
[case "${enableval}" in
|
||||
yes) packager_mode=true ;;
|
||||
no) packager_mode=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-packager-mode) ;;
|
||||
esac],[packager_mode=false])
|
||||
AM_CONDITIONAL(PACKAGER_MODE, test x$packager_mode = xtrue)
|
||||
if test "x$packager_mode" = "xtrue"; then
|
||||
AC_MSG_RESULT([WARNING:
|
||||
Packager mode enabled.
|
||||
Shared mime types WILL NOT BE INSTALLED.
|
||||
You will need to place the contents of the
|
||||
SHARED_MIME_INSTALLATION
|
||||
commands MANUALLY into the postinstall script of your package,
|
||||
see data/Makefile.am file for details.
|
||||
Otherwise you will end up with the unusable package.
|
||||
YOU HAVE BEEN WARNED!])
|
||||
fi
|
||||
])
|
||||
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
# $Id$
|
||||
|
||||
PKG_NAME="gramps"
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
srcfile=$srcdir/src/gramps.py
|
||||
|
||||
REQUIRED_AUTOMAKE_VERSION=1.9
|
||||
DIE=0
|
||||
|
||||
# source helper functions
|
||||
if test ! -f gramps-autogen.sh;
|
||||
then
|
||||
echo There is something wrong with your source tree.
|
||||
echo You are missing gramps-autogen.sh
|
||||
exit 1
|
||||
fi
|
||||
. ./gramps-autogen.sh
|
||||
|
||||
CONFIGURE_DEF_OPT=
|
||||
|
||||
autogen_options $@
|
||||
|
||||
#echo -n "+ check for build tools"
|
||||
#if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else echo; fi
|
||||
|
||||
#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
|
||||
WANT_AUTOCONF_2_5=1
|
||||
export WANT_AUTOCONF_2_5
|
||||
version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
|
||||
"http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz" || DIE=1
|
||||
AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
|
||||
|
||||
automake_progs="automake automake-1.10 automake-1.9"
|
||||
version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
|
||||
"http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1
|
||||
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
|
||||
|
||||
version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \
|
||||
"ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz" || DIE=1
|
||||
require_m4macro glib-gettext.m4
|
||||
|
||||
version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \
|
||||
"http://ftp.gnome.org/pub/GNOME/sources/intltool/" || DIE=1
|
||||
require_m4macro intltool.m4
|
||||
|
||||
|
||||
check_m4macros || DIE=1
|
||||
|
||||
if [ "$DIE" -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$#" = 0 ]; then
|
||||
printerr "**Warning**: I am going to run .configure with no arguments."
|
||||
printerr "If you wish to pass any to it, please specify them on the"
|
||||
printerr "$0 command line."
|
||||
printerr
|
||||
fi
|
||||
|
||||
toplevel_check $srcfile
|
||||
|
||||
# Note that the order these tools are called should match what
|
||||
# autoconf's "autoupdate" package does. See bug 138584 for
|
||||
# details.
|
||||
|
||||
# programs that might install new macros get run before aclocal
|
||||
|
||||
printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
|
||||
echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
|
||||
|
||||
printbold "Running $INTLTOOLIZE..."
|
||||
$INTLTOOLIZE --force --copy --automake || exit 1
|
||||
|
||||
# Now run aclocal to pull in any additional macros needed
|
||||
printbold "Running $ACLOCAL..."
|
||||
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit 1
|
||||
|
||||
# Now that all the macros are sorted, run autoconf and autoheader ...
|
||||
printbold "Running $AUTOCONF..."
|
||||
$AUTOCONF || exit 1
|
||||
|
||||
# Finally, run automake to create the makefiles ...
|
||||
printbold "Running $AUTOMAKE..."
|
||||
cp -pf COPYING COPYING.autogen_bak
|
||||
cp -pf INSTALL INSTALL.autogen_bak
|
||||
$AUTOMAKE --gnu --add-missing --force --copy || exit 1
|
||||
cmp COPYING COPYING.autogen_bak || cp -pf COPYING.autogen_bak COPYING
|
||||
cmp INSTALL INSTALL.autogen_bak || cp -pf INSTALL.autogen_bak INSTALL
|
||||
rm -f COPYING.autogen_bak INSTALL.autogen_bak
|
||||
|
||||
|
||||
if test x$NOCONFIGURE = x; then
|
||||
printbold Running ./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT ...
|
||||
./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT \
|
||||
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
|
||||
else
|
||||
echo Skipping configure process.
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,571 @@
|
||||
#! /bin/sh
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2005 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||
# should be set by the caller.
|
||||
#
|
||||
# The set of defined variables is at the end of this script.
|
||||
|
||||
# Known limitations:
|
||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
|
||||
# than 256 bytes, otherwise the compiler driver will dump core. The only
|
||||
# known workaround is to choose shorter directory names for the build
|
||||
# directory and/or the installation directory.
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except M$VC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
shrext=.so
|
||||
|
||||
host="$1"
|
||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
|
||||
cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
|
||||
|
||||
wl=
|
||||
if test "$GCC" = yes; then
|
||||
wl='-Wl,'
|
||||
else
|
||||
case "$host_os" in
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
darwin*)
|
||||
case "$cc_basename" in
|
||||
xlc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
mingw* | pw32* | os2*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
linux*)
|
||||
case $cc_basename in
|
||||
icc* | ecc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
pgcc | pgf77 | pgf90)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
ccc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
como)
|
||||
wl='-lopt='
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sunos4*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
unicos*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
|
||||
|
||||
hardcode_libdir_flag_spec=
|
||||
hardcode_libdir_separator=
|
||||
hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
if test "$GCC" != yes; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
openbsd*)
|
||||
with_gnu_ld=no
|
||||
;;
|
||||
esac
|
||||
|
||||
ld_shlibs=yes
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
case "$host_os" in
|
||||
aix3* | aix4* | aix5*)
|
||||
# On AIX/PPC, the GNU linker is very broken
|
||||
if test "$host_cpu" != ia64; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
||||
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||
# to version 4, is to share data among multiple programs linked
|
||||
# with the same dynamic library. Since this doesn't match the
|
||||
# behavior of shared libraries on other platforms, we cannot use
|
||||
# them.
|
||||
ld_shlibs=no
|
||||
;;
|
||||
beos*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
solaris* | sysv5*)
|
||||
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
|
||||
ld_shlibs=no
|
||||
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
linux*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "$ld_shlibs" = yes; then
|
||||
# Unlike libtool, we use -rpath here, not --rpath, since the documented
|
||||
# option of GNU ld is called -rpath, not --rpath.
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||
# are no directories specified by -L.
|
||||
hardcode_minus_L=yes
|
||||
if test "$GCC" = yes; then
|
||||
# Neither direct hardcoding nor static linking is supported with a
|
||||
# broken collect2.
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
if test "$host_cpu" = ia64; then
|
||||
# On IA64, the linker does run time linking by default, so we don't
|
||||
# have to do anything special.
|
||||
aix_use_runtimelinking=no
|
||||
else
|
||||
aix_use_runtimelinking=no
|
||||
# Test if we are trying to use run time linking or normal
|
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||
# need to do runtime linking.
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||
for ld_flag in $LDFLAGS; do
|
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||
aix_use_runtimelinking=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
esac
|
||||
fi
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
if test "$GCC" = yes; then
|
||||
case $host_os in aix4.[012]|aix4.[012].*)
|
||||
collect2name=`${CC} -print-prog-name=collect2`
|
||||
if test -f "$collect2name" && \
|
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||
then
|
||||
# We have reworked collect2
|
||||
hardcode_direct=yes
|
||||
else
|
||||
# We have old collect2
|
||||
hardcode_direct=unsupported
|
||||
hardcode_minus_L=yes
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_libdir_separator=
|
||||
fi
|
||||
esac
|
||||
fi
|
||||
# Begin _LT_AC_SYS_LIBPATH_AIX.
|
||||
echo 'int main () { return 0; }' > conftest.c
|
||||
${CC} ${LDFLAGS} conftest.c -o conftest
|
||||
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
fi
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath="/usr/lib:/lib"
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
# End _LT_AC_SYS_LIBPATH_AIX.
|
||||
if test "$aix_use_runtimelinking" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
else
|
||||
if test "$host_cpu" = ia64; then
|
||||
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||
else
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# see comment about different semantics on the GNU ld section
|
||||
ld_shlibs=no
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec=' '
|
||||
libext=lib
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
hardcode_direct=no
|
||||
if test "$GCC" = yes ; then
|
||||
:
|
||||
else
|
||||
case "$cc_basename" in
|
||||
xlc*)
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
freebsd2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
freebsd* | kfreebsd*-gnu | dragonfly*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
hpux9*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
hpux10* | hpux11*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
case "$host_cpu" in
|
||||
hppa*64*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=no
|
||||
;;
|
||||
ia64*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=no
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
netbsd*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
newsos6)
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
openbsd*)
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
os2*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
osf3*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
osf4* | osf5*)
|
||||
if test "$GCC" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
else
|
||||
# Both cc and cxx compiler support -rpath directly
|
||||
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||
fi
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
sysv4)
|
||||
case $host_vendor in
|
||||
sni)
|
||||
hardcode_direct=yes # is this really true???
|
||||
;;
|
||||
siemens)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
motorola)
|
||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sysv4.3*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
if test -d /usr/nec; then
|
||||
ld_shlibs=yes
|
||||
fi
|
||||
;;
|
||||
sysv4.2uw2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=no
|
||||
;;
|
||||
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
|
||||
;;
|
||||
sysv5*)
|
||||
hardcode_libdir_flag_spec=
|
||||
;;
|
||||
uts4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check dynamic linker characteristics
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
|
||||
libname_spec='lib$name'
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
;;
|
||||
amigaos*)
|
||||
;;
|
||||
beos*)
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
shrext=.dll
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
shrext=.dylib
|
||||
;;
|
||||
dgux*)
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
kfreebsd*-gnu)
|
||||
;;
|
||||
freebsd*)
|
||||
;;
|
||||
gnu*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
case "$host_cpu" in
|
||||
ia64*)
|
||||
shrext=.so
|
||||
;;
|
||||
hppa*64*)
|
||||
shrext=.sl
|
||||
;;
|
||||
*)
|
||||
shrext=.sl
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
case "$host_os" in
|
||||
irix5* | nonstopux*)
|
||||
libsuff= shlibsuff=
|
||||
;;
|
||||
*)
|
||||
case $LD in
|
||||
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
|
||||
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
|
||||
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
|
||||
*) libsuff= shlibsuff= ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*oldld* | linux*aout* | linux*coff*)
|
||||
;;
|
||||
linux*)
|
||||
;;
|
||||
knetbsd*-gnu)
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
nto-qnx*)
|
||||
;;
|
||||
openbsd*)
|
||||
;;
|
||||
os2*)
|
||||
libname_spec='$name'
|
||||
shrext=.dll
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
;;
|
||||
sco3.2v5*)
|
||||
;;
|
||||
solaris*)
|
||||
;;
|
||||
sunos4*)
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
|
||||
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||
|
||||
# How to pass a linker flag through the compiler.
|
||||
wl="$escaped_wl"
|
||||
|
||||
# Static library suffix (normally "a").
|
||||
libext="$libext"
|
||||
|
||||
# Shared library suffix (normally "so").
|
||||
shlibext="$shlibext"
|
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking.
|
||||
# This must work even if \$libdir does not exist.
|
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||
|
||||
# Whether we need a single -rpath flag with a separated argument.
|
||||
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||
|
||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_direct="$hardcode_direct"
|
||||
|
||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_minus_L="$hardcode_minus_L"
|
||||
|
||||
EOF
|
||||
@@ -0,0 +1,176 @@
|
||||
dnl $Id$
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl May need to run automake && aclocal first
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
dnl NOTE: arg to macro below becomes the "VERSION"
|
||||
AC_INIT(gramps, 3.4.9, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_CONFIG_SRCDIR(configure.in)
|
||||
AM_INIT_AUTOMAKE([1.6.3 foreign])
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
dnl RELEASE=$(git log -1 --format=%h .)
|
||||
dnl RELEASE=0beta
|
||||
dnl RELEASE=0rc1
|
||||
RELEASE=1
|
||||
|
||||
VERSIONSTRING=$VERSION
|
||||
if test x"$RELEASE" != "x"
|
||||
then
|
||||
VERSIONSTRING="$VERSION-$RELEASE"
|
||||
fi
|
||||
|
||||
dnl put the ACLOCAL flags in the Makefile
|
||||
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
||||
|
||||
AC_PROG_INTLTOOL
|
||||
|
||||
AM_SHARED_MIME
|
||||
AM_PACKAGER
|
||||
AC_SUBST(RELEASE)
|
||||
AC_SUBST(VERSIONSTRING)
|
||||
|
||||
dnl Add the languages which your application supports here.
|
||||
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl nn pl pt_BR pt_PT ru sv fi lt sk bg hr sl ca sq he uk ja vi el ar"
|
||||
GETTEXT_PACKAGE=gramps
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the Gettext package name.])
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
|
||||
dnl Checks for programs.
|
||||
dnl We first only check for python >= 2.6
|
||||
|
||||
AM_PATH_PYTHON(2.6)
|
||||
AC_PATH_PROG(BINSH, sh)
|
||||
|
||||
pygtk_require="
|
||||
try:
|
||||
import pygtk
|
||||
pygtk.require('2.0')
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
def out(line):
|
||||
f = open('conftest.out', 'w')
|
||||
f.write(line)
|
||||
f.close()
|
||||
"
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gtk 2.10 (pygtk2>=2.10.0))
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
import gobject
|
||||
version = gobject.pygtk_version
|
||||
if version >= (2,10,0):
|
||||
print_version = '.'.join([[str(i) for i in version]])
|
||||
out(print_version)
|
||||
else:
|
||||
out("NO")
|
||||
except ImportError:
|
||||
out("NO")
|
||||
except AttributeError:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_pygtk=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test NO = "$has_pygtk"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
|
||||
**** The python bindings for gtk 2.10 (pygtk2>=2.10.0) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_pygtk)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
po/Makefile.in
|
||||
m4/Makefile
|
||||
Makefile
|
||||
gramps.sh
|
||||
src/const.py
|
||||
src/Makefile
|
||||
src/cli/Makefile
|
||||
src/cli/plug/Makefile
|
||||
src/gen/Makefile
|
||||
src/gen/db/Makefile
|
||||
src/gen/display/Makefile
|
||||
src/gen/lib/Makefile
|
||||
src/gen/mime/Makefile
|
||||
src/gen/plug/Makefile
|
||||
src/gen/plug/docbackend/Makefile
|
||||
src/gen/plug/docgen/Makefile
|
||||
src/gen/plug/menu/Makefile
|
||||
src/gen/plug/report/Makefile
|
||||
src/gen/proxy/Makefile
|
||||
src/gen/utils/Makefile
|
||||
src/gui/Makefile
|
||||
src/gui/editors/Makefile
|
||||
src/gui/editors/displaytabs/Makefile
|
||||
src/gui/plug/Makefile
|
||||
src/gui/plug/report/Makefile
|
||||
src/gui/selectors/Makefile
|
||||
src/gui/views/Makefile
|
||||
src/gui/views/treemodels/Makefile
|
||||
src/gui/widgets/Makefile
|
||||
src/GrampsLogger/Makefile
|
||||
src/Merge/Makefile
|
||||
src/docgen/Makefile
|
||||
src/Filters/Makefile
|
||||
src/Filters/Rules/Makefile
|
||||
src/Filters/Rules/Person/Makefile
|
||||
src/Filters/Rules/Family/Makefile
|
||||
src/Filters/Rules/Event/Makefile
|
||||
src/Filters/Rules/Source/Makefile
|
||||
src/Filters/Rules/Place/Makefile
|
||||
src/Filters/Rules/MediaObject/Makefile
|
||||
src/Filters/Rules/Repository/Makefile
|
||||
src/Filters/Rules/Note/Makefile
|
||||
src/Filters/Rules/Citation/Makefile
|
||||
src/Filters/SideBar/Makefile
|
||||
src/Simple/Makefile
|
||||
src/GrampsLocale/Makefile
|
||||
src/plugins/Makefile
|
||||
src/plugins/docgen/Makefile
|
||||
src/plugins/drawreport/Makefile
|
||||
src/plugins/export/Makefile
|
||||
src/plugins/gramplet/Makefile
|
||||
src/plugins/graph/Makefile
|
||||
src/plugins/import/Makefile
|
||||
src/plugins/lib/Makefile
|
||||
src/plugins/lib/maps/Makefile
|
||||
src/plugins/mapservices/Makefile
|
||||
src/plugins/quickview/Makefile
|
||||
src/plugins/rel/Makefile
|
||||
src/plugins/sidebar/Makefile
|
||||
src/plugins/textreport/Makefile
|
||||
src/plugins/tool/Makefile
|
||||
src/plugins/view/Makefile
|
||||
src/plugins/webreport/Makefile
|
||||
src/plugins/webstuff/Makefile
|
||||
src/plugins/webstuff/css/Makefile
|
||||
src/plugins/webstuff/images/Makefile
|
||||
src/plugins/webstuff/js/Makefile
|
||||
src/DateHandler/Makefile
|
||||
src/data/Makefile
|
||||
src/glade/Makefile
|
||||
src/images/Makefile
|
||||
src/images/scalable/Makefile
|
||||
src/images/16x16/Makefile
|
||||
src/images/22x22/Makefile
|
||||
src/images/48x48/Makefile
|
||||
data/Makefile
|
||||
data/man/Makefile
|
||||
data/man/cs/Makefile
|
||||
data/man/fr/Makefile
|
||||
data/man/nl/Makefile
|
||||
data/man/pl/Makefile
|
||||
data/man/sv/Makefile
|
||||
data/man/pt_BR/Makefile
|
||||
example/Makefile
|
||||
example/gramps/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,83 @@
|
||||
# This is the data level Makefile for gramps
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = man
|
||||
|
||||
# Rules for files with translatable strings
|
||||
# These are taken care of by the intltool
|
||||
desktopdir = $(datadir)/applications
|
||||
desktop_in_files = gramps.desktop.in
|
||||
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
|
||||
@INTLTOOL_DESKTOP_RULE@
|
||||
|
||||
keys_in_files = gramps.keys.in
|
||||
keys_files = $(keys_in_files:.keys.in=.keys)
|
||||
@INTLTOOL_KEYS_RULE@
|
||||
|
||||
# Rules for files with translatable strings
|
||||
# These are taken care of by the intltool
|
||||
xml_in_files = gramps.xml.in
|
||||
xml_files = $(xml_in_files:.xml.in=.xml)
|
||||
@INTLTOOL_XML_RULE@
|
||||
|
||||
applicationsdir = $(datadir)/application-registry
|
||||
applications_DATA = gramps.applications
|
||||
|
||||
mimedir = $(datadir)/mime-info
|
||||
mime_DATA = $(keys_files) gramps.mime
|
||||
|
||||
xmldir = $(SHARED_MIME_DIR)/packages
|
||||
xml_DATA = $(xml_files)
|
||||
|
||||
pngdir = $(datadir)/icons/gnome/48x48/mimetypes
|
||||
png_DATA = \
|
||||
gnome-mime-application-x-gramps.png \
|
||||
gnome-mime-application-x-gedcom.png \
|
||||
gnome-mime-application-x-gramps-package.png \
|
||||
gnome-mime-application-x-gramps-xml.png \
|
||||
gnome-mime-application-x-geneweb.png
|
||||
|
||||
svgdir = $(datadir)/icons/gnome/scalable/mimetypes
|
||||
svg_DATA = \
|
||||
gnome-mime-application-x-gramps.svg \
|
||||
gnome-mime-application-x-gedcom.svg \
|
||||
gnome-mime-application-x-gramps-package.svg \
|
||||
gnome-mime-application-x-gramps-xml.svg \
|
||||
gnome-mime-application-x-geneweb.svg
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(png_DATA) \
|
||||
$(svg_DATA) \
|
||||
$(applications_DATA) \
|
||||
$(keys_in_files) \
|
||||
$(desktop_in_files) \
|
||||
$(mime_DATA) \
|
||||
$(xml_DATA) \
|
||||
$(desktop_DATA) \
|
||||
$(xml_in_files)
|
||||
|
||||
CLEANFILES = \
|
||||
$(desktop_DATA) \
|
||||
$(keys_files) \
|
||||
$(xml_files)
|
||||
|
||||
# Conditionally enable/disable mime types,
|
||||
# or disable unconditionally if in a packager mode
|
||||
SHARED_MIME_INSTALLATION =
|
||||
SHARED_MIME_UNINSTALLATION =
|
||||
|
||||
if !PACKAGER_MODE
|
||||
if SHARED_MIME_INSTALL
|
||||
SHARED_MIME_INSTALLATION += \
|
||||
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
|
||||
SHARED_MIME_UNINSTALLATION += \
|
||||
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
install-data-hook:
|
||||
$(SHARED_MIME_INSTALLATION)
|
||||
|
||||
uninstall-hook:
|
||||
$(SHARED_MIME_UNINSTALLATION)
|
||||
@@ -1,145 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Id$ -->
|
||||
<authors xmlns:html="http://www.w3.org/1999/xhtml">
|
||||
<author title="author">
|
||||
Alex Roitman <<html:a href="mailto:shura@gramps-project.org">shura@gramps-project.org</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Arturas Sleinius <<html:a href="mailto:asleinius@users.sourceforge.net">asleinius@users.sourceforge.net</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Benny Malengier <<html:a href="mailto:benny.malengier@gramps-project.org">benny.malengier@gramps-project.org</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Boril Gourinov <<html:a href="mailto:boril.gourinov@gmail.com">boril.gourinov@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Brian Matherly <<html:a href="mailto:brian@gramps-project.org">brian@gramps-project.org</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Don Allingham <<html:a href="mailto:don@gramps-project.org">don@gramps-project.org</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Donald A. Peterson <<html:a href="mailto:"></html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Doug Blank <<html:a href="mailto:doug.blank@gmail.com">doug.blank@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Eero Tamminen <<html:a href="mailto:eerot@users.sourceforge.net">eerot@users.sourceforge.net</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Erik De Richter <<html:a href="mailto:erikdrgm@users.sourceforge.net">erikdrgm@users.sourceforge.net</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Espen Berg <<html:a href="mailto:espenbe@gmail.com">espenbe@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Gary Burton <<html:a href="mailto:gary.burton@zen.co.uk">gary.burton@zen.co.uk</html:a>>
|
||||
</author>
|
||||
<author uid="gbritton" title="contributor">
|
||||
Gerald Britton <<html:a href="mailto:gerald.britton@gmail.com">gerald.britton@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
James G Sack <<html:a href="mailto:jgsack@san.rr.com">jgsack@san.rr.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Janne Kovesjärvi <<html:a href="mailto:janne.kovesjarvi@gmail.com">janne.kovesjarvi@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Jason Simanek <<html:a href="mailto:jsimanek@gmail.com">jsimanek@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Jérôme Rapinat <<html:a href="mailto:romjerome@yahoo.fr">romjerome@yahoo.fr</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Joan Creus <<html:a href="mailto:joan.creus@gmail.com">joan.creus@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Josip Pisoj <<html:a href="mailto:josip@pisoj.com">josip@pisoj.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Julio Sánchez <<html:a href="mailto:julio.sanchez@gmail.com">julio.sanchez@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Kees Bakker <<html:a href="mailto:kees.bakker@xs4all.nl">kees.bakker@xs4all.nl</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Konstantin Dorichev <<html:a href="mailto:kdorichev@gmail.com">kdorichev@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Lubo Vasko <<html:a href="mailto:pgval@inMail.sk">pgval@inMail.sk</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Luigi Toscano <<html:a href="mailto:luigi.toscano@tiscali.it">luigi.toscano@tiscali.it</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Luiz Gonzaga dos Santos Filho <<html:a href="mailto:lfilho@gmail.com">lfilho@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Łukasz Rymarczyk <<html:a href="mailto:yenidai@poczta.onet.pl">yenidai@poczta.onet.pl</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Michiel Nauta <<html:a href="mailto:m.d.nauta@hetnet.nl">m.d.nauta@hetnet.nl</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Mirko Leonhäuser <<html:a href="mailto:mirko@leonhaeuser.de">mirko@leonhaeuser.de</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Morten Bo Johansen <<html:a href="mailto:mbj@spamcop.net">mbj@spamcop.net</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Martin Hawlisch <<html:a href="mailto:martin.hawlisch@gmx.de">martin.hawlisch@gmx.de</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Nick Hall <<html:a href="mailto:nick__hall@hotmail.com">nick__hall@hotmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Paul Culley <<html:a href="mailto:paulr2787@gmail.com">paulr2787@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Peter Landgren <<html:a href="mailto:peter.talken@telia.com">peter.talken@telia.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Raphael Ackermann <<html:a href="mailto:raphael.ackermann@gmail.com">raphael.ackermann@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Richard Taylor <<html:a href="mailto:rjt-gramps@thegrindstone.me.uk">rjt-gramps@thegrindstone.me.uk</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Serge Noiraud <<html:a href="mailto:Serge.Noiraud@free.fr">Serge.Noiraud@free.fr</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Sigmund Lorentsen <<html:a href="mailto:sigmund.lorentsen@tele2.no">sigmund.lorentsen@tele2.no</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Stefan Bjork <<html:a href="mailto:betula@users.sourceforge.net">betula@users.sourceforge.net</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Stéphane Charette <<html:a href="mailto:stephanecharette@gmail.com">stephanecharette@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Tim Waugh <<html:a href="mailto:twaugh@redhat.com">twaugh@redhat.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Vassilii Khachaturov <<html:a href="mailto:vassilii@tarunz.org">vassilii@tarunz.org</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Zdeněk Hataš <<html:a href="mailto:zdenek.hatas@gmail.com">zdenek.hatas@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Rob G. Healey <<html:a href="mailto:robhealey1@gmail.com">robhealey1@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Zsolt Foldvari <<html:a href="mailto:zfoldvar@users.sourceforge.net">zfoldvar@users.sourceforge.net</html:a>>
|
||||
</author>
|
||||
<author title="contributor">
|
||||
Craig J. Anderson <<html:a href="mailto:ander882@hotmail.com">ander882@hotmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
Tim G L Lyons <<html:a href="mailto:tim.g.lyons@gmail.com">tim.g.lyons@gmail.com</html:a>>
|
||||
</author>
|
||||
<author title="author">
|
||||
John Ralls <<html:a href="mailto:jralls@ceridwen.us">jralls@ceridwen.us</html:a>>
|
||||
</author>
|
||||
</authors>
|
||||
@@ -1,183 +0,0 @@
|
||||
/* Main Element
|
||||
------------------------------------------------------ */
|
||||
#menu, #menu ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
/* Main Level
|
||||
------------------------------------------------------ */
|
||||
#menu {
|
||||
width: 100%;
|
||||
margin: 6px auto;
|
||||
border: 1px solid #222;
|
||||
background-color: #111;
|
||||
background-image: -moz-linear-gradient(#444, #111);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#444), to(#111));
|
||||
background-image: -webkit-linear-gradient(#444, #111);
|
||||
background-image: -o-linear-gradient(#444, #111);
|
||||
background-image: -ms-linear-gradient(#444, #111);
|
||||
background-image: linear-gradient(#444, #111);
|
||||
-moz-border-radius: 6px;
|
||||
-webkit-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-moz-box-shadow: 0 1px 1px #777;
|
||||
-webkit-box-shadow: 0 1px 1px #777;
|
||||
box-shadow: 0 1px 1px #777;
|
||||
}
|
||||
|
||||
/* Clear Floats
|
||||
------------------------------------------------------ */
|
||||
#menu:before,
|
||||
#menu:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
#menu:after {
|
||||
clear: both
|
||||
}
|
||||
#menu {
|
||||
zoom: 1
|
||||
}
|
||||
|
||||
/* List Elements
|
||||
------------------------------------------------------ */
|
||||
#menu li {
|
||||
float: left;
|
||||
border-right: 1px solid #222;
|
||||
-moz-box-shadow: 1px 0 0 #444;
|
||||
-webkit-box-shadow: 1px 0 0 #444;
|
||||
box-shadow: 1px 0 0 #444;
|
||||
position: relative;
|
||||
}
|
||||
#menu a {
|
||||
float: left;
|
||||
padding: 12px 30px;
|
||||
color: #999;
|
||||
text-transform: uppercase;
|
||||
font: bold 12px Arial, Helvetica;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 #000;
|
||||
}
|
||||
#menu li:hover > a {
|
||||
color: #fafafa
|
||||
}
|
||||
*html #menu li a:hover { /* IE6 only */
|
||||
color: #fafafa
|
||||
}
|
||||
|
||||
/* sub-menu
|
||||
------------------------------------------------------ */
|
||||
#menu ul {
|
||||
margin: 20px 0 0 0;
|
||||
_margin: 0; /*IE6 only*/
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 38px;
|
||||
left: 0;
|
||||
z-index: 9999;
|
||||
background: #444;
|
||||
background: -moz-linear-gradient(#444, #111);
|
||||
background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444));
|
||||
background: -webkit-linear-gradient(#444, #111);
|
||||
background: -o-linear-gradient(#444, #111);
|
||||
background: -ms-linear-gradient(#444, #111);
|
||||
background: linear-gradient(#444, #111);
|
||||
-moz-box-shadow: 0 -1px rgba(255,255,255,.3);
|
||||
-webkit-box-shadow: 0 -1px 0 rgba(255,255,255,.3);
|
||||
box-shadow: 0 -1px 0 rgba(255,255,255,.3);
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
-webkit-transition: all .2s ease-in-out;
|
||||
-moz-transition: all .2s ease-in-out;
|
||||
-ms-transition: all .2s ease-in-out;
|
||||
-o-transition: all .2s ease-in-out;
|
||||
transition: all .2s ease-in-out;
|
||||
}
|
||||
#menu li:hover > ul {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
margin: 0;
|
||||
}
|
||||
#menu ul ul {
|
||||
top: 0;
|
||||
left: 150px;
|
||||
margin: 0 0 0 20px;
|
||||
_margin: 0; /*IE6 only*/
|
||||
-moz-box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
||||
-webkit-box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
||||
box-shadow: -1px 0 0 rgba(255,255,255,.3);
|
||||
}
|
||||
#menu ul li {
|
||||
float: none;
|
||||
display: block;
|
||||
border: 0;
|
||||
_line-height: 0; /*IE6 only*/
|
||||
-moz-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
||||
-webkit-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
||||
box-shadow: 0 1px 0 #111, 0 2px 0 #666;
|
||||
}
|
||||
#menu ul li:last-child {
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
#menu ul a {
|
||||
padding: 10px;
|
||||
width: 130px;
|
||||
_height: 10px; /*IE6 only*/
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
float: none;
|
||||
text-transform: none;
|
||||
}
|
||||
#menu ul a:hover {
|
||||
background-color: #0186ba;
|
||||
background-image: -moz-linear-gradient(#04acec, #0186ba);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
|
||||
background-image: -webkit-linear-gradient(#04acec, #0186ba);
|
||||
background-image: -o-linear-gradient(#04acec, #0186ba);
|
||||
background-image: -ms-linear-gradient(#04acec, #0186ba);
|
||||
background-image: linear-gradient(#04acec, #0186ba);
|
||||
}
|
||||
|
||||
/* first and Last child elements
|
||||
------------------------------------------------------ */
|
||||
#menu ul li:first-child > a {
|
||||
-moz-border-radius: 3px 3px 0 0;
|
||||
-webkit-border-radius: 3px 3px 0 0;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
#menu ul li:first-child > a:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 40px;
|
||||
top: -6px;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #444;
|
||||
}
|
||||
#menu ul ul li:first-child a:after {
|
||||
left: -6px;
|
||||
top: 50%;
|
||||
margin-top: -6px;
|
||||
border-left: 0;
|
||||
border-bottom: 6px solid transparent;
|
||||
border-top: 6px solid transparent;
|
||||
border-right: 6px solid #3b3b3b;
|
||||
}
|
||||
#menu ul li:first-child a:hover:after {
|
||||
border-bottom-color: #04acec
|
||||
}
|
||||
#menu ul ul li:first-child a:hover:after {
|
||||
border-right-color: #0299d3;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
#menu ul li:last-child > a {
|
||||
-moz-border-radius: 0 0 3px 3px;
|
||||
-webkit-border-radius: 0 0 3px 3px;
|
||||
border-radius: 0 0 3px 3px;
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2012 Rob G. Healey <robhealey1@gmail.com>
|
||||
#
|
||||
# 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,
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
******************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Web_Citations-Outline.css
|
||||
******************************************************
|
||||
|
||||
# $Id$
|
||||
|
||||
Source Citations Outline styles
|
||||
------------------------------------------------------ */
|
||||
div#SourceCitationReferents ul.Col1 {
|
||||
list-style-type: decimal
|
||||
}
|
||||
div#SourceCitationReferents ul.Col2 {
|
||||
list-style-type: upper-alpha
|
||||
}
|
||||
div#SourceCitationReferents ul.Col3 {
|
||||
list-style-type: lower-alpha
|
||||
}
|
||||
div#SourceCitationReferents ul.Col4 {
|
||||
list-style-type: upper-roman
|
||||
}
|
||||
div#SourceCitationReferents ul.Col5 {
|
||||
list-style-type: disc
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
/* Input textbox - do not specify a width here, it will be overwritten */
|
||||
.ffb-input
|
||||
{
|
||||
float:left;
|
||||
color:#000; /* must specify along with watermark color */
|
||||
height:16px; /* required for webkit browsers (Safari, Chrome) */
|
||||
}
|
||||
/* Color of watermark, if present */
|
||||
.ffb-input.watermark { /* added and removed dynamically */
|
||||
color:#888; /* must specify along with input color */
|
||||
}
|
||||
/* Drop-down arrow, with sprited image */
|
||||
.ffb-arrow
|
||||
{
|
||||
float:left;
|
||||
width:17px;
|
||||
height:22px;
|
||||
background-image:url(../img/sel_win7.gif);
|
||||
}
|
||||
.ffb-arrow.out { /* css sprite technique */
|
||||
background-position:0;
|
||||
}
|
||||
.ffb-arrow.over { /* css sprite technique */
|
||||
background-position:-17px 0;
|
||||
}
|
||||
.ffb-arrow.active { /* css sprite technique */
|
||||
background-position:-34px 0;
|
||||
}
|
||||
.ffb-no-results
|
||||
{
|
||||
padding:2px;
|
||||
color:#888;
|
||||
font-style:italic;
|
||||
border-bottom:1px solid #828790;
|
||||
}
|
||||
/* Container for dropdown contents */
|
||||
.ffb {
|
||||
position:absolute; /* this guy's parent div is hard-coded to position:relative */
|
||||
overflow:hidden;
|
||||
border-left:1px solid #828790; /* #7B9EBD for Vista */
|
||||
border-right:1px solid #828790;
|
||||
background-color:#fff; /* Give it a background-color, so it's not transparent */
|
||||
}
|
||||
/* Inner div for dropdown */
|
||||
.ffb .content {
|
||||
overflow:auto;
|
||||
}
|
||||
.ffb .content .row {
|
||||
border-bottom:1px solid #828790;
|
||||
color:#000;
|
||||
height:20px;
|
||||
clear:both;
|
||||
}
|
||||
.ffb-sel {
|
||||
cursor:pointer;
|
||||
cursor:hand;
|
||||
color:#fff !important;
|
||||
background-color:#39f;
|
||||
}
|
||||
.ffb-match {
|
||||
font-weight:bold;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
/* Paging */
|
||||
.ffb .paging {
|
||||
vertical-align:middle;
|
||||
border-bottom:1px solid #828790;
|
||||
}
|
||||
.ffb .page, .ffb a.page {
|
||||
font-size:85%;
|
||||
padding:2px;
|
||||
border:solid 1px #339;
|
||||
background-color:#eef;
|
||||
margin:2px;
|
||||
}
|
||||
.ffb .box {
|
||||
width:22px;
|
||||
margin:2px;
|
||||
}
|
||||
.ffb .summary {
|
||||
font-size:85%;
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>gramps.desktop</id>
|
||||
<metadata_license>CC0</metadata_license>
|
||||
<name>Gramps</name>
|
||||
<summary>Genealogical research program</summary>
|
||||
|
||||
<description>
|
||||
<_p>Gramps is a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists.</_p>
|
||||
<_p>It gives you the ability to record the many details of the life of an individual as well as the complex relationships between various people, places and events.</_p>
|
||||
<_p>All of your research is kept organized, searchable and as precise as you need it to be.</_p>
|
||||
</description>
|
||||
|
||||
<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>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<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>
|
||||
</screenshots>
|
||||
|
||||
<provides>
|
||||
<binary>gramps</binary>
|
||||
</provides>
|
||||
|
||||
</component>
|
||||
@@ -8,6 +8,5 @@ Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=GTK;Office;
|
||||
_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
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
$Id$
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
# Copyright (C) 2001 Graham J. Williams
|
||||
# Copyright (C) 2000-2007 Donald N. Allingham
|
||||
# Copyright (C) 2010-2014 Nick Hall
|
||||
# Copyright (C) 2010-2011 Nick Hall
|
||||
#
|
||||
# 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
|
||||
@@ -19,21 +19,21 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
# $Id$
|
||||
-->
|
||||
|
||||
<!--
|
||||
This is the Document Type Definition file for v1.7.1
|
||||
This is the Document Type Definition file for v1.5.1
|
||||
of the GRAMPS XML genealogy data format.
|
||||
Please use the following formal public identifier to identify it:
|
||||
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.7.1//EN"
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.5.1//EN"
|
||||
|
||||
For example:
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.7.1//EN"
|
||||
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd"
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.5.1//EN"
|
||||
"http://gramps-project.org/xml/1.5.1/grampsxml.dtd"
|
||||
[...]>
|
||||
-->
|
||||
|
||||
@@ -62,7 +62,7 @@ DATABASE
|
||||
<!ELEMENT database (header, name-formats?, tags?, events?, people?, families?,
|
||||
citations?, sources?, places?, objects?, repositories?,
|
||||
notes?, bookmarks?, namemaps?)>
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.7.1/">
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.5.1/">
|
||||
|
||||
|
||||
<!-- ************************************************************
|
||||
@@ -122,7 +122,6 @@ GENDER has values of M, F, or U.
|
||||
|
||||
<!ELEMENT name (first?, call?, surname*, suffix?, title?, nick?, familynick?, group?,
|
||||
(daterange|datespan|dateval|datestr)?, noteref*, citationref*)>
|
||||
<!-- (Unknown|Also Know As|Birth Name|Married Name|Other Name) -->
|
||||
<!ATTLIST name
|
||||
alt (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
@@ -139,8 +138,6 @@ GENDER has values of M, F, or U.
|
||||
<!ELEMENT familynick (#PCDATA)>
|
||||
<!ELEMENT group (#PCDATA)>
|
||||
<!ELEMENT surname (#PCDATA)>
|
||||
<!-- (Unknown|Inherited|Given|Taken|Patronymic|Matronymic|Feudal|
|
||||
Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
|
||||
<!ATTLIST surname
|
||||
prefix CDATA #IMPLIED
|
||||
prim (1|0) #IMPLIED
|
||||
@@ -199,13 +196,12 @@ FAMILY
|
||||
<!ELEMENT mother EMPTY>
|
||||
<!ATTLIST mother hlink IDREF #REQUIRED>
|
||||
|
||||
<!-- (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) -->
|
||||
<!ELEMENT childref (citationref*,noteref*)>
|
||||
<!ATTLIST childref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
mrel CDATA #IMPLIED
|
||||
frel CDATA #IMPLIED
|
||||
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
|
||||
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
@@ -219,8 +215,7 @@ EVENT
|
||||
<!ELEMENT events (event)*>
|
||||
|
||||
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
|
||||
description?, attribute*, noteref*, citationref*, objref*,
|
||||
tagref*)>
|
||||
description?, attribute*, noteref*, citationref*, objref*)>
|
||||
<!ATTLIST event
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@@ -234,7 +229,7 @@ SOURCES
|
||||
|
||||
<!ELEMENT sources (source)*>
|
||||
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
|
||||
noteref*, objref*, srcattribute*, reporef*, tagref*)>
|
||||
noteref*, objref*, data_item*, reporef*)>
|
||||
<!ATTLIST source
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@@ -252,25 +247,16 @@ PLACES
|
||||
|
||||
<!ELEMENT places (placeobj)*>
|
||||
|
||||
<!ELEMENT placeobj (ptitle?, pname+, code?, coord?, placeref*, location*,
|
||||
objref*, url*, noteref*, citationref*, tagref*)>
|
||||
<!ELEMENT placeobj (ptitle?, coord?, location*, objref*, url*, noteref*,
|
||||
citationref*)>
|
||||
<!ATTLIST placeobj
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
type CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT pname (daterange|datespan|dateval|datestr)?>
|
||||
|
||||
<!ATTLIST pname
|
||||
lang CDATA #IMPLIED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT ptitle (#PCDATA)>
|
||||
<!ELEMENT code (#PCDATA)>
|
||||
|
||||
<!ELEMENT coord EMPTY>
|
||||
<!ATTLIST coord
|
||||
@@ -310,7 +296,6 @@ OBJECTS
|
||||
<!ATTLIST file
|
||||
src CDATA #REQUIRED
|
||||
mime CDATA #REQUIRED
|
||||
checksum CDATA #IMPLIED
|
||||
description CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@@ -320,7 +305,7 @@ REPOSITORIES
|
||||
|
||||
<!ELEMENT repositories (repository)*>
|
||||
|
||||
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
|
||||
<!ELEMENT repository (rname, type, address*, url*, noteref*)>
|
||||
<!ATTLIST repository
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@@ -383,7 +368,7 @@ CITATIONS
|
||||
<!ELEMENT citations (citation)*>
|
||||
|
||||
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence,
|
||||
noteref*, objref*, srcattribute*, sourceref, tagref*)>
|
||||
noteref*, objref*, data_item*, sourceref)>
|
||||
<!ATTLIST citation
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@@ -508,13 +493,6 @@ SHARED ELEMENTS
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT srcattribute EMPTY>
|
||||
<!ATTLIST srcattribute
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT place EMPTY>
|
||||
<!ATTLIST place hlink IDREF #REQUIRED>
|
||||
|
||||
@@ -535,11 +513,6 @@ SHARED ELEMENTS
|
||||
priv (0|1) #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT placeref ((daterange|datespan|dateval|datestr)?)>
|
||||
<!ATTLIST placeref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT region EMPTY>
|
||||
<!ATTLIST region
|
||||
corner1_x CDATA #REQUIRED
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2005-2007 Donald N. Allingham
|
||||
# Copyright (C) 2010-2014 Nick Hall
|
||||
# Copyright (C) 2010-2011 Nick Hall
|
||||
#
|
||||
# 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
|
||||
@@ -18,10 +18,11 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
# Written by Alex Roitman
|
||||
|
||||
# $Id$
|
||||
-->
|
||||
|
||||
<!--
|
||||
@@ -31,7 +32,7 @@
|
||||
|
||||
<grammar
|
||||
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
|
||||
ns="http://gramps-project.org/xml/1.7.1/"
|
||||
ns="http://gramps-project.org/xml/1.5.1/"
|
||||
xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
|
||||
<start><element name="database">
|
||||
@@ -210,7 +211,16 @@
|
||||
</define>
|
||||
|
||||
<define name="child-rel">
|
||||
<text/>
|
||||
<choice>
|
||||
<value>Birth</value>
|
||||
<value>Adopted</value>
|
||||
<value>Stepchild</value>
|
||||
<value>Sponsored</value>
|
||||
<value>Foster</value>
|
||||
<value>None</value>
|
||||
<value>Other</value>
|
||||
<value>Unknown</value>
|
||||
</choice>
|
||||
</define>
|
||||
|
||||
<define name="name-content">
|
||||
@@ -221,7 +231,13 @@
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="type"><text/></attribute></optional>
|
||||
<optional><attribute name="type"><choice>
|
||||
<value>Unknown</value>
|
||||
<value>Also Known As</value>
|
||||
<value>Birth Name</value>
|
||||
<value>Married Name</value>
|
||||
<value>Other Name</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="sort"><text/></attribute></optional>
|
||||
<optional><attribute name="display"><text/></attribute></optional>
|
||||
<optional><element name="first"><text/></element></optional>
|
||||
@@ -250,7 +266,20 @@
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="derivation"><text/></attribute></optional>
|
||||
<optional><attribute name="derivation"><choice>
|
||||
<value>Unknown</value>
|
||||
<value>Inherited</value>
|
||||
<value>Given</value>
|
||||
<value>Taken</value>
|
||||
<value>Patronymic</value>
|
||||
<value>Matronymic</value>
|
||||
<value>Feudal</value>
|
||||
<value>Pseudonym</value>
|
||||
<value>Patrilineal</value>
|
||||
<value>Matrilineal</value>
|
||||
<value>Occupation</value>
|
||||
<value>Location</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="connector"><text/></attribute></optional>
|
||||
</define>
|
||||
|
||||
@@ -399,9 +428,6 @@
|
||||
<zeroOrMore><element name="objref">
|
||||
<ref name="objref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="citation-content">
|
||||
@@ -415,15 +441,13 @@
|
||||
<zeroOrMore><element name="objref">
|
||||
<ref name="objref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="srcattribute">
|
||||
<ref name="srcattribute-content"/>
|
||||
<zeroOrMore><element name="data_item">
|
||||
<attribute name="key"><text/></attribute>
|
||||
<attribute name="value"><text/></attribute>
|
||||
</element></zeroOrMore>
|
||||
<element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="source-content">
|
||||
@@ -438,32 +462,22 @@
|
||||
<zeroOrMore><element name="objref">
|
||||
<ref name="objref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="srcattribute">
|
||||
<ref name="srcattribute-content"/>
|
||||
<zeroOrMore><element name="data_item">
|
||||
<attribute name="key"><text/></attribute>
|
||||
<attribute name="value"><text/></attribute>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="reporef">
|
||||
<ref name="reporef-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="place-content">
|
||||
<ref name="primary-object"/>
|
||||
<attribute name="type"><text/></attribute>
|
||||
<optional><element name="ptitle"><text/></element></optional>
|
||||
<oneOrMore><element name="pname">
|
||||
<ref name="placename-content"/>
|
||||
</element></oneOrMore>
|
||||
<optional><element name="code"><text/></element></optional>
|
||||
<optional><element name="coord">
|
||||
<attribute name="long"><text/></attribute>
|
||||
<attribute name="lat"><text/></attribute>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="placeref">
|
||||
<ref name="placeref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="location">
|
||||
<optional><attribute name="street"><text/></attribute></optional>
|
||||
<optional><attribute name="locality"><text/></attribute></optional>
|
||||
@@ -487,9 +501,6 @@
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="object-content">
|
||||
@@ -497,8 +508,7 @@
|
||||
<element name="file">
|
||||
<attribute name="src"><text/></attribute>
|
||||
<attribute name="mime"><text/></attribute>
|
||||
<optional><attribute name="checksum"><text/></attribute></optional>
|
||||
<optional><attribute name="description"><text/></attribute></optional>
|
||||
<attribute name="description"><text/></attribute>
|
||||
</element>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
@@ -528,9 +538,6 @@
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="bookmark-content">
|
||||
@@ -673,14 +680,6 @@
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="srcattribute-content">
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<attribute name="type"><text/></attribute>
|
||||
<attribute name="value"><text/></attribute>
|
||||
</define>
|
||||
|
||||
<define name="url-content">
|
||||
<optional><attribute name="priv">
|
||||
@@ -745,17 +744,6 @@
|
||||
<text/>
|
||||
</define>
|
||||
|
||||
<define name="placename-content">
|
||||
<attribute name="value"><text/></attribute>
|
||||
<optional><attribute name="lang"><text/></attribute></optional>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
</define>
|
||||
|
||||
<define name="placeref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
</define>
|
||||
|
||||
<define name="tagref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</define>
|
||||
|
||||
|
Before Width: | Height: | Size: 338 KiB |
@@ -1,859 +0,0 @@
|
||||
/*!
|
||||
* jQuery FlexBox $Version: 0.9.6 $
|
||||
*
|
||||
* Copyright (c) 2008-2010 Noah Heldman and Fairway Technologies (http://www.fairwaytech.com/flexbox)
|
||||
* Licensed under Ms-PL (http://www.codeplex.com/flexbox/license)
|
||||
*
|
||||
* $Date: 2010-11-24 01:02:00 PM $
|
||||
* $Rev: 0.9.6.1 $
|
||||
*/
|
||||
(function($) {
|
||||
$.flexbox = function(div, o) {
|
||||
|
||||
// TODO: in straight type-ahead mode (showResults: false), if noMatchingResults, dropdown appears after new match
|
||||
// TODO: consider having options.mode (select, which replaces html select; combobox; suggest; others?)
|
||||
// TODO: on resize (at least when wrapping within a table), the arrow is pushed down to the next line
|
||||
// TODO: check for boundary/value problems (such as minChars of -1) and alert them
|
||||
// TODO: add options for advanced paging template
|
||||
// TODO: general cleanup and refactoring, commenting
|
||||
// TODO: detailed Exception handling, logging
|
||||
// TODO: FF2, up arrow from bottom has erratic scroll behavior (if multiple flexboxes on page)
|
||||
// TODO: FF2 (and maybe IE7): if maxVisibleRows == number of returned rows, height is a bit off (maybe set to auto?)
|
||||
// TODO: escape key only works from input box (this might be okay)
|
||||
// TODO: make .getJSON parameters (object and callback function) configurable (e.g. when calling yahoo image search)
|
||||
// TODO: escape key reverts to previous value (FF only?) (is this a good thing?)
|
||||
|
||||
// TEST: highlightMatches uses the case of whatever you typed in to replace the match string, which can look funny
|
||||
// TEST: handle pageDown and pageUp keys when scrolling through results
|
||||
// TEST: allow client-side paging (return all data initially, set paging:{pageSize:#}, and ensure maxCacheBytes is > 0)
|
||||
// TEST: accept json object as first parameter to flexbox instead of page source, and have it work like a combobox
|
||||
// TEST: implement no results template
|
||||
// TEST: implement noResultsText and class
|
||||
// TEST: watermark color should be configurable (and so should default input color)
|
||||
// TEST: exception handling and alerts for common mistakes
|
||||
// TEST: first example should use defaults ONLY
|
||||
// TEST: add property initialValue, so you can set it when the flexbox loads
|
||||
// TEST: handle hidden input value for form submissions
|
||||
// TEST: how can we allow programmatically setting the field value (and therefore hidden value). add jquery function?
|
||||
// TEST: use pageSize parameter as threshold to switch from no paging to paging based on results
|
||||
// TEST: if you type in an input value that matches the html, it might display html code (try typing "class" in the input box)
|
||||
// TEST: don't require all paging subprops (let default override)
|
||||
// TEST: when tabbing from one ffb to another, the previous ffb results flash...
|
||||
// TEST: IE7: when two non-paging ffbs right after each other, with only a clear-both div between them, the bottom ffb jumps down when selecting a value, then jumps back up on mouseover
|
||||
// TEST: FF2, make sure we scroll to top before showing results (maxVisibleRows only)
|
||||
// TEST: if maxVisibleRows is hiding the value the user types in to the input, scroll to that value (is this even possible?)
|
||||
// TEST: make sure caching supports multiple ffbs uniquely
|
||||
// TEST: when entering a number in the paging input box, the results are displayed twice
|
||||
|
||||
var timeout = false, // hold timeout ID for suggestion results to appear
|
||||
cache = [], // simple array with cacheData key values, MRU is the first element
|
||||
cacheData = [], // associative array holding actual cached data
|
||||
cacheSize = 0, // size of cache in bytes (cache up to o.maxCacheBytes bytes)
|
||||
delim = '\u25CA', // use an obscure unicode character (lozenge) as the cache key delimiter
|
||||
scrolling = false,
|
||||
pageSize = o.paging && o.paging.pageSize ? o.paging.pageSize : 0,
|
||||
retrievingRemoteData = false,
|
||||
$div = $(div).css('position', 'relative').css('z-index', 0);
|
||||
|
||||
// The hiddenField MUST be appended to the div before the input, or IE7 does not shift the dropdown below the input field (it overlaps)
|
||||
var $hdn = $('<input type="hidden"/>')
|
||||
.attr('id', $div.attr('id') + '_hidden')
|
||||
.attr('name', $div.attr('id'))
|
||||
.val(o.initialId)
|
||||
.appendTo($div);
|
||||
var $input = $('<input/>')
|
||||
.attr('id', $div.attr('id') + '_input')
|
||||
.attr('autocomplete', 'off')
|
||||
.addClass(o.inputClass)
|
||||
.css('width', o.width + 'px')
|
||||
.appendTo($div)
|
||||
.click(function(e) {
|
||||
if (o.watermark !== '' && this.value === o.watermark)
|
||||
this.value = '';
|
||||
else
|
||||
this.select();
|
||||
})
|
||||
.focus(function(e) {
|
||||
$(this).removeClass('watermark');
|
||||
})
|
||||
.blur(function(e) {
|
||||
if (this.value === '') $hdn.val('');
|
||||
setTimeout(function() { if (!$input.data('active')) hideResults(); }, 200);
|
||||
})
|
||||
.keydown(processKeyDown);
|
||||
|
||||
if (o.initialValue !== '')
|
||||
$input.val(o.initialValue).removeClass('watermark');
|
||||
else
|
||||
$input.val(o.watermark).addClass('watermark');
|
||||
|
||||
var arrowWidth = 0;
|
||||
if (o.showArrow && o.showResults) {
|
||||
var arrowClick = function() {
|
||||
if ($ctr.is(':visible')) {
|
||||
hideResults();
|
||||
}
|
||||
else {
|
||||
$input.focus();
|
||||
if (o.watermark !== '' && $input.val() === o.watermark)
|
||||
$input.val('');
|
||||
else
|
||||
$input.select();
|
||||
if (timeout)
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(function() { flexbox(1, true, o.arrowQuery); }, o.queryDelay);
|
||||
}
|
||||
};
|
||||
var $arrow = $('<span></span>')
|
||||
.attr('id', $div.attr('id') + '_arrow')
|
||||
.addClass(o.arrowClass)
|
||||
.addClass('out')
|
||||
.hover(function() {
|
||||
$(this).removeClass('out').addClass('over');
|
||||
}, function() {
|
||||
$(this).removeClass('over').addClass('out');
|
||||
})
|
||||
.mousedown(function() {
|
||||
$(this).removeClass('over').addClass('active');
|
||||
})
|
||||
.mouseup(function() {
|
||||
$(this).removeClass('active').addClass('over');
|
||||
})
|
||||
.click(arrowClick)
|
||||
.appendTo($div);
|
||||
arrowWidth = $arrow.width();
|
||||
$input.css('width', (o.width - arrowWidth) + 'px');
|
||||
}
|
||||
if (!o.allowInput) { o.selectFirstMatch = false; $input.click(arrowClick); } // simulate <select> behavior
|
||||
|
||||
// Handle presence of CSS Universal Selector (*) that defines padding by verifying what the browser thinks the outerHeight is.
|
||||
// In FF, the outerHeight() will not pick up the correct input field padding
|
||||
var inputPad = $input.outerHeight() - $input.height() - 2;
|
||||
var inputWidth = $input.outerWidth() - 2;
|
||||
var top = $input.outerHeight();
|
||||
|
||||
if (inputPad === 0) {
|
||||
inputWidth += 4;
|
||||
top += 4;
|
||||
}
|
||||
else if (inputPad !== 4) {
|
||||
inputWidth += inputPad;
|
||||
top += inputPad;
|
||||
}
|
||||
|
||||
var $ctr = $('<div></div>')
|
||||
.attr('id', $div.attr('id') + '_ctr')
|
||||
.css('width', inputWidth + arrowWidth)
|
||||
.css('top', top)
|
||||
.css('left', 0)
|
||||
.addClass(o.containerClass)
|
||||
.appendTo($div)
|
||||
.mousedown(function(e) {
|
||||
$input.data('active', true);
|
||||
})
|
||||
.hide();
|
||||
|
||||
var $content = $('<div></div>')
|
||||
.addClass(o.contentClass)
|
||||
.appendTo($ctr)
|
||||
.scroll(function() {
|
||||
scrolling = true;
|
||||
});
|
||||
|
||||
var $paging = $('<div></div>').appendTo($ctr);
|
||||
$div.css('height', $input.outerHeight());
|
||||
|
||||
function processKeyDown(e) {
|
||||
// handle modifiers
|
||||
var mod = 0;
|
||||
if (typeof (e.ctrlKey) !== 'undefined') {
|
||||
if (e.ctrlKey) mod |= 1;
|
||||
if (e.shiftKey) mod |= 2;
|
||||
} else {
|
||||
if (e.modifiers & Event.CONTROL_MASK) mod |= 1;
|
||||
if (e.modifiers & Event.SHIFT_MASK) mod |= 2;
|
||||
}
|
||||
// if the keyCode is one of the modifiers, bail out (we'll catch it on the next keypress)
|
||||
if (/16$|17$/.test(e.keyCode)) return; // 16 = Shift, 17 = Ctrl
|
||||
|
||||
var tab = e.keyCode === 9, esc = e.keyCode === 27;
|
||||
var tabWithModifiers = e.keyCode === 9 && mod > 0;
|
||||
var backspace = e.keyCode === 8; // we will end up extending the delay time for backspaces...
|
||||
|
||||
// tab is a special case, since we want to bubble events...
|
||||
if (tab) if (getCurr()) selectCurr();
|
||||
|
||||
// handling up/down/escape/right arrow/left arrow requires results to be visible
|
||||
// handling enter requires that AND a result to be selected
|
||||
if ((/27$|38$|33$|34$/.test(e.keyCode) && $ctr.is(':visible')) ||
|
||||
(/13$|40$/.test(e.keyCode)) || !o.allowInput) {
|
||||
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
if (e.stopPropagation) e.stopPropagation();
|
||||
|
||||
e.cancelBubble = true;
|
||||
e.returnValue = false;
|
||||
|
||||
switch (e.keyCode) {
|
||||
case 38: // up arrow
|
||||
prevResult();
|
||||
break;
|
||||
case 40: // down arrow
|
||||
if ($ctr.is(':visible')) nextResult();
|
||||
else flexboxDelay(true);
|
||||
break;
|
||||
case 13: // enter
|
||||
if (getCurr()) selectCurr();
|
||||
else flexboxDelay(true);
|
||||
break;
|
||||
case 27: // escape
|
||||
hideResults();
|
||||
break;
|
||||
case 34: // page down
|
||||
if (!retrievingRemoteData) {
|
||||
if (o.paging) $('#' + $div.attr('id') + 'n').click();
|
||||
else nextPage();
|
||||
}
|
||||
break;
|
||||
case 33: // page up
|
||||
if (!retrievingRemoteData) {
|
||||
if (o.paging) $('#' + $div.attr('id') + 'p').click();
|
||||
else prevPage();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (!o.allowInput) { return; }
|
||||
}
|
||||
} else if (!esc && !tab && !tabWithModifiers) { // skip esc and tab key and any modifiers
|
||||
flexboxDelay(false, backspace);
|
||||
}
|
||||
}
|
||||
|
||||
function flexboxDelay(simulateArrowClick, increaseDelay) {
|
||||
if (timeout) clearTimeout(timeout);
|
||||
var delay = increaseDelay ? o.queryDelay * 5 : o.queryDelay;
|
||||
timeout = setTimeout(function() { flexbox(1, simulateArrowClick, ''); }, delay);
|
||||
}
|
||||
|
||||
function flexbox(p, arrowOrPagingClicked, prevQuery) {
|
||||
if (arrowOrPagingClicked) prevQuery = '';
|
||||
var q = prevQuery && prevQuery.length > 0 ? prevQuery : $.trim($input.val());
|
||||
|
||||
if (q.length >= o.minChars || arrowOrPagingClicked) {
|
||||
// If we are getting data from the server, set the height of the content box so it doesn't shrink when navigating between pages, due to the $content.html('') below...
|
||||
if ($content.outerHeight() > 0)
|
||||
$content.css('height', $content.outerHeight());
|
||||
$content.html('').attr('scrollTop', 0);
|
||||
|
||||
var cached = checkCache(q, p);
|
||||
if (cached) {
|
||||
$content.css('height', 'auto');
|
||||
displayItems(cached.data, q);
|
||||
showPaging(p, cached.t);
|
||||
}
|
||||
else {
|
||||
var params = { q: q, p: p, s: pageSize, contentType: 'application/json; charset=utf-8' };
|
||||
var callback = function(data, overrideQuery) {
|
||||
if (overrideQuery === true) q = overrideQuery; // must compare to boolean because by default, the string value "success" is passed when the jQuery $.getJSON method's callback is called
|
||||
var totalResults = parseInt(data[o.totalProperty]);
|
||||
|
||||
// Handle client-side paging, if any paging configuration options were specified
|
||||
if (isNaN(totalResults) && o.paging) {
|
||||
if (o.maxCacheBytes <= 0) alert('The "maxCacheBytes" configuration option must be greater\nthan zero when implementing client-side paging.');
|
||||
totalResults = data[o.resultsProperty].length;
|
||||
|
||||
var pages = totalResults / pageSize;
|
||||
if (totalResults % pageSize > 0) pages = parseInt(++pages);
|
||||
|
||||
for (var i = 1; i <= pages; i++) {
|
||||
var pageData = {};
|
||||
pageData[o.totalProperty] = totalResults;
|
||||
pageData[o.resultsProperty] = data[o.resultsProperty].splice(0, pageSize);
|
||||
if (i === 1) totalSize = displayItems(pageData, q);
|
||||
updateCache(q, i, pageSize, totalResults, pageData, totalSize);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var totalSize = displayItems(data, q);
|
||||
updateCache(q, p, pageSize, totalResults, data, totalSize);
|
||||
}
|
||||
showPaging(p, totalResults);
|
||||
$content.css('height', 'auto');
|
||||
retrievingRemoteData = false;
|
||||
};
|
||||
if (typeof (o.source) === 'object') {
|
||||
if (o.allowInput) callback(filter(o.source, params));
|
||||
else callback(o.source);
|
||||
}
|
||||
else {
|
||||
retrievingRemoteData = true;
|
||||
if (o.method.toUpperCase() == 'POST') $.post(o.source, params, callback, 'json');
|
||||
else $.getJSON(o.source, params, callback);
|
||||
}
|
||||
}
|
||||
} else
|
||||
hideResults();
|
||||
}
|
||||
|
||||
function filter(data, params) {
|
||||
var filtered = {};
|
||||
filtered[o.resultsProperty] = [];
|
||||
filtered[o.totalProperty] = 0;
|
||||
var index = 0;
|
||||
|
||||
for (var i=0; i < data[o.resultsProperty].length; i++) {
|
||||
var indexOfMatch = data[o.resultsProperty][i][o.displayValue].toLowerCase().indexOf(params.q.toLowerCase());
|
||||
if ((o.matchAny && indexOfMatch !== -1) || (!o.matchAny && indexOfMatch === 0)) {
|
||||
filtered[o.resultsProperty][index++] = data[o.resultsProperty][i];
|
||||
filtered[o.totalProperty] += 1;
|
||||
}
|
||||
}
|
||||
if (o.paging) {
|
||||
var start = (params.p - 1) * params.s;
|
||||
var howMany = (start + params.s) > filtered[o.totalProperty] ? filtered[o.totalProperty] - start : params.s;
|
||||
filtered[o.resultsProperty] = filtered[o.resultsProperty].splice(start, howMany);
|
||||
}
|
||||
return filtered;
|
||||
}
|
||||
|
||||
function showPaging(p, totalResults) {
|
||||
$paging.html('').removeClass(o.paging.cssClass); // clear out for threshold scenarios
|
||||
if (o.showResults && o.paging && totalResults > pageSize) {
|
||||
var pages = totalResults / pageSize;
|
||||
if (totalResults % pageSize > 0) pages = parseInt(++pages);
|
||||
outputPagingLinks(pages, p, totalResults);
|
||||
}
|
||||
}
|
||||
|
||||
function handleKeyPress(e, page, totalPages) {
|
||||
if (/^13$|^39$|^37$/.test(e.keyCode)) {
|
||||
if (e.preventDefault)
|
||||
e.preventDefault();
|
||||
if (e.stopPropagation)
|
||||
e.stopPropagation();
|
||||
|
||||
e.cancelBubble = true;
|
||||
e.returnValue = false;
|
||||
|
||||
switch (e.keyCode) {
|
||||
case 13: // Enter
|
||||
if (/^\d+$/.test(page) && page > 0 && page <= totalPages)
|
||||
flexbox(page, true);
|
||||
else
|
||||
alert('Please enter a page number between 1 and ' + totalPages);
|
||||
// TODO: make this alert a function call, and a customizable parameter
|
||||
break;
|
||||
case 39: // right arrow
|
||||
$('#' + $div.attr('id') + 'n').click();
|
||||
break;
|
||||
case 37: // left arrow
|
||||
$('#' + $div.attr('id') + 'p').click();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function handlePagingClick(e) {
|
||||
flexbox(parseInt($(this).attr('page')), true, $input.attr('pq')); // pq == previous query
|
||||
return false;
|
||||
}
|
||||
|
||||
function outputPagingLinks(totalPages, currentPage, totalResults) {
|
||||
// TODO: make these configurable images
|
||||
var first = '<<',
|
||||
prev = '<',
|
||||
next = '>',
|
||||
last = '>>',
|
||||
more = '...';
|
||||
|
||||
$paging.addClass(o.paging.cssClass);
|
||||
|
||||
// set up our base page link element
|
||||
var $link = $('<a/>')
|
||||
.attr('href', '#')
|
||||
.addClass('page')
|
||||
.click(handlePagingClick),
|
||||
$span = $('<span></span>').addClass('page'),
|
||||
divId = $div.attr('id');
|
||||
|
||||
// show first page
|
||||
if (currentPage > 1) {
|
||||
$link.clone(true).attr('id', divId + 'f').attr('page', 1).html(first).appendTo($paging);
|
||||
$link.clone(true).attr('id', divId + 'p').attr('page', currentPage - 1).html(prev).appendTo($paging);
|
||||
}
|
||||
else {
|
||||
$span.clone(true).html(first).appendTo($paging);
|
||||
$span.clone(true).html(prev).appendTo($paging);
|
||||
}
|
||||
|
||||
if (o.paging.style === 'links') {
|
||||
var maxPageLinks = o.paging.maxPageLinks;
|
||||
// show page numbers
|
||||
if (totalPages <= maxPageLinks) {
|
||||
for (var i = 1; i <= totalPages; i++) {
|
||||
if (i === currentPage) {
|
||||
$span.clone(true).html(currentPage).appendTo($paging);
|
||||
}
|
||||
else {
|
||||
$link.clone(true).attr('page', i).html(i).appendTo($paging);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((currentPage + parseInt(maxPageLinks / 2)) > totalPages) {
|
||||
startPage = totalPages - maxPageLinks + 1;
|
||||
}
|
||||
else {
|
||||
startPage = currentPage - parseInt(maxPageLinks / 2);
|
||||
}
|
||||
|
||||
if (startPage > 1) {
|
||||
$link.clone(true).attr('page', startPage - 1).html(more).appendTo($paging);
|
||||
}
|
||||
else {
|
||||
startPage = 1;
|
||||
}
|
||||
|
||||
for (var i = startPage; i < startPage + maxPageLinks; i++) {
|
||||
if (i === currentPage) {
|
||||
$span.clone(true).html(i).appendTo($paging);
|
||||
}
|
||||
else {
|
||||
$link.clone(true).attr('page', i).html(i).appendTo($paging);
|
||||
}
|
||||
}
|
||||
|
||||
if (totalPages > (startPage + maxPageLinks)) {
|
||||
$link.clone(true).attr('page', i).html(more).appendTo($paging);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (o.paging.style === 'input') {
|
||||
var $pagingBox = $('<input/>')
|
||||
.addClass('box')
|
||||
.click(function(e) {
|
||||
this.select();
|
||||
})
|
||||
.keypress(function(e) {
|
||||
return handleKeyPress(e, this.value, totalPages);
|
||||
})
|
||||
.val(currentPage)
|
||||
.appendTo($paging);
|
||||
}
|
||||
|
||||
if (currentPage < totalPages) {
|
||||
$link.clone(true).attr('id', divId + 'n').attr('page', +currentPage + 1).html(next).appendTo($paging);
|
||||
$link.clone(true).attr('id', divId + 'l').attr('page', totalPages).html(last).appendTo($paging);
|
||||
}
|
||||
else {
|
||||
$span.clone(true).html(next).appendTo($paging);
|
||||
$span.clone(true).html(last).appendTo($paging);
|
||||
}
|
||||
var startingResult = (currentPage - 1) * pageSize + 1;
|
||||
var endingResult = (startingResult > (totalResults - pageSize)) ? totalResults : startingResult + pageSize - 1;
|
||||
|
||||
if (o.paging.showSummary) {
|
||||
var summaryData = {
|
||||
"start": startingResult,
|
||||
"end": endingResult,
|
||||
"total": totalResults,
|
||||
"page": currentPage,
|
||||
"pages": totalPages
|
||||
};
|
||||
var html = o.paging.summaryTemplate.applyTemplate(summaryData);
|
||||
$('<br/>').appendTo($paging);
|
||||
$('<span></span>')
|
||||
.addClass(o.paging.summaryClass)
|
||||
.html(html)
|
||||
.appendTo($paging);
|
||||
}
|
||||
}
|
||||
|
||||
function checkCache(q, p) {
|
||||
var key = q + delim + p; // use null character as delimiter
|
||||
if (cacheData[key]) {
|
||||
for (var i = 0; i < cache.length; i++) { // TODO: is it possible to not loop here?
|
||||
if (cache[i] === key) {
|
||||
// pull out the matching element (splice), and add it to the beginning of the array (unshift)
|
||||
cache.unshift(cache.splice(i, 1)[0]);
|
||||
return cacheData[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function updateCache(q, p, s, t, data, size) {
|
||||
if (o.maxCacheBytes > 0) {
|
||||
while (cache.length && (cacheSize + size > o.maxCacheBytes)) {
|
||||
var cached = cache.pop();
|
||||
cacheSize -= cached.size;
|
||||
}
|
||||
var key = q + delim + p; // use null character as delimiter
|
||||
cacheData[key] = {
|
||||
q: q,
|
||||
p: p,
|
||||
s: s,
|
||||
t: t,
|
||||
size: size,
|
||||
data: data
|
||||
}; // add the data to the cache at the hash key location
|
||||
cache.push(key); // add the key to the MRU list
|
||||
cacheSize += size;
|
||||
}
|
||||
}
|
||||
|
||||
function displayItems(d, q) {
|
||||
var totalSize = 0, itemCount = 0;
|
||||
|
||||
if (!d)
|
||||
return;
|
||||
|
||||
$hdn.val($input.val());
|
||||
if (parseInt(d[o.totalProperty]) === 0 && o.noResultsText && o.noResultsText.length > 0) {
|
||||
$content.addClass(o.noResultsClass).html(o.noResultsText);
|
||||
$ctr.show();
|
||||
return;
|
||||
} else $content.removeClass(o.noResultsClass);
|
||||
|
||||
for (var i = 0; i < d[o.resultsProperty].length; i++) {
|
||||
var data = d[o.resultsProperty][i],
|
||||
result = o.resultTemplate.applyTemplate(data),
|
||||
exactMatch = q === result,
|
||||
selectedMatch = false,
|
||||
hasHtmlTags = false,
|
||||
match = data[o.displayValue];
|
||||
|
||||
if (!exactMatch && o.highlightMatches && q !== '') {
|
||||
var pattern = q,
|
||||
highlightStart = match.toLowerCase().indexOf(q.toLowerCase()),
|
||||
replaceString = '<span class="' + o.matchClass + '">' + match.substr(highlightStart,q.length) + '</span>';
|
||||
if (result.match('<(.|\n)*?>')) { // see if the content contains html tags
|
||||
hasHtmlTags = true;
|
||||
pattern = '(>)([^<]*?)(' + q + ')((.|\n)*?)(<)'; // TODO: look for a better way
|
||||
replaceString = '$1$2<span class="' + o.matchClass + '">$3</span>$4$6';
|
||||
}
|
||||
result = result.replace(new RegExp(pattern.replace("[", "\\["), o.highlightMatchesRegExModifier), replaceString);
|
||||
}
|
||||
|
||||
// write the value of the first match to the input box, and select the remainder,
|
||||
// but only if autoCompleteFirstMatch is set, and there are no html tags in the response
|
||||
if (o.autoCompleteFirstMatch && !hasHtmlTags && i === 0) {
|
||||
if (q.length > 0 && match.toLowerCase().indexOf(q.toLowerCase()) === 0) {
|
||||
$input.attr('pq', q); // pq == previous query
|
||||
$hdn.val(data[o.hiddenValue]);
|
||||
$input.val(data[o.displayValue]);
|
||||
selectedMatch = selectRange(q.length, $input.val().length);
|
||||
}
|
||||
}
|
||||
|
||||
if (!o.showResults) return;
|
||||
|
||||
$row = $('<div></div>')
|
||||
.attr('id', data[o.hiddenValue])
|
||||
.attr('val', data[o.displayValue])
|
||||
.addClass('row')
|
||||
.html(result)
|
||||
.appendTo($content);
|
||||
|
||||
if (exactMatch || (++itemCount == 1 && o.selectFirstMatch) || selectedMatch) {
|
||||
$row.addClass(o.selectClass);
|
||||
}
|
||||
totalSize += result.length;
|
||||
}
|
||||
|
||||
if (totalSize === 0) {
|
||||
hideResults();
|
||||
return;
|
||||
}
|
||||
|
||||
$ctr.parent().css('z-index', 11000);
|
||||
$ctr.show();
|
||||
|
||||
$content
|
||||
.children('div')
|
||||
.mouseover(function() {
|
||||
$content.children('div').removeClass(o.selectClass);
|
||||
$(this).addClass(o.selectClass);
|
||||
})
|
||||
.mouseup(function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
selectCurr();
|
||||
});
|
||||
|
||||
if (o.maxVisibleRows > 0) {
|
||||
var maxHeight = $row.outerHeight() * o.maxVisibleRows;
|
||||
$content.css('max-height', maxHeight);
|
||||
}
|
||||
|
||||
return totalSize;
|
||||
}
|
||||
|
||||
function selectRange(s, l) {
|
||||
var tb = $input[0];
|
||||
if (tb.createTextRange) {
|
||||
var r = tb.createTextRange();
|
||||
r.moveStart('character', s);
|
||||
r.moveEnd('character', l - tb.value.length);
|
||||
r.select();
|
||||
} else if (tb.setSelectionRange) {
|
||||
tb.setSelectionRange(s, l);
|
||||
}
|
||||
tb.focus();
|
||||
return true;
|
||||
}
|
||||
|
||||
String.prototype.applyTemplate = function(d) {
|
||||
try {
|
||||
if (d === '') return this;
|
||||
return this.replace(/{([^{}]*)}/g,
|
||||
function(a, b) {
|
||||
var r;
|
||||
if (b.indexOf('.') !== -1) { // handle dot notation in {}, such as {Thumbnail.Url}
|
||||
var ary = b.split('.');
|
||||
var obj = d;
|
||||
for (var i = 0; i < ary.length; i++)
|
||||
obj = obj[ary[i]];
|
||||
r = obj;
|
||||
}
|
||||
else
|
||||
r = d[b];
|
||||
if (typeof r === 'string' || typeof r === 'number') return r; else throw (a);
|
||||
}
|
||||
);
|
||||
} catch (ex) {
|
||||
alert('Invalid JSON property ' + ex + ' found when trying to apply resultTemplate or paging.summaryTemplate.\nPlease check your spelling and try again.');
|
||||
}
|
||||
};
|
||||
|
||||
function hideResults() {
|
||||
$input.data('active', false); // for input blur
|
||||
$div.css('z-index', 0);
|
||||
$ctr.hide();
|
||||
}
|
||||
|
||||
function getCurr() {
|
||||
if (!$ctr.is(':visible'))
|
||||
return false;
|
||||
|
||||
var $curr = $content.children('div.' + o.selectClass);
|
||||
|
||||
if (!$curr.length)
|
||||
$curr = false;
|
||||
|
||||
return $curr;
|
||||
}
|
||||
|
||||
function selectCurr() {
|
||||
$curr = getCurr();
|
||||
|
||||
if ($curr) {
|
||||
$hdn.val($curr.attr('id'));
|
||||
$input.val($curr.attr('val')).focus();
|
||||
hideResults();
|
||||
|
||||
if (o.onSelect) {
|
||||
o.onSelect.apply($input[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function supportsGetBoxObjectFor() {
|
||||
try {
|
||||
document.getBoxObjectFor(document.body);
|
||||
return true;
|
||||
}
|
||||
catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function supportsGetBoundingClientRect() {
|
||||
try {
|
||||
document.body.getBoundingClientRect();
|
||||
return true;
|
||||
}
|
||||
catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function nextPage() {
|
||||
$curr = getCurr();
|
||||
|
||||
if ($curr && $curr.next().length > 0) {
|
||||
$curr.removeClass(o.selectClass);
|
||||
|
||||
for (var i = 0; i < o.maxVisibleRows; i++) {
|
||||
if ($curr.next().length > 0) {
|
||||
$curr = $curr.next();
|
||||
}
|
||||
}
|
||||
|
||||
$curr.addClass(o.selectClass);
|
||||
var scrollPos = $content.attr('scrollTop');
|
||||
$content.attr('scrollTop', scrollPos + $content.height());
|
||||
}
|
||||
else if (!$curr)
|
||||
$content.children('div:first-child').addClass(o.selectClass);
|
||||
}
|
||||
|
||||
function prevPage() {
|
||||
$curr = getCurr();
|
||||
|
||||
if ($curr && $curr.prev().length > 0) {
|
||||
$curr.removeClass(o.selectClass);
|
||||
|
||||
for (var i = 0; i < o.maxVisibleRows; i++) {
|
||||
if ($curr.prev().length > 0) {
|
||||
$curr = $curr.prev();
|
||||
}
|
||||
}
|
||||
|
||||
$curr.addClass(o.selectClass);
|
||||
var scrollPos = $content.attr('scrollTop');
|
||||
$content.attr('scrollTop', scrollPos - $content.height());
|
||||
}
|
||||
else if (!$curr)
|
||||
$content.children('div:last-child').addClass(o.selectClass);
|
||||
}
|
||||
|
||||
function nextResult() {
|
||||
$curr = getCurr();
|
||||
|
||||
if ($curr && $curr.next().length > 0) {
|
||||
$curr.removeClass(o.selectClass).next().addClass(o.selectClass);
|
||||
var scrollPos = $content.attr('scrollTop'),
|
||||
curr = $curr[0], parentBottom, bottom, height;
|
||||
if (supportsGetBoxObjectFor()) {
|
||||
parentBottom = document.getBoxObjectFor($content[0]).y + $content.attr('offsetHeight');
|
||||
bottom = document.getBoxObjectFor(curr).y + $curr.attr('offsetHeight');
|
||||
height = document.getBoxObjectFor(curr).height;
|
||||
}
|
||||
else if (supportsGetBoundingClientRect()) {
|
||||
parentBottom = $content[0].getBoundingClientRect().bottom;
|
||||
var rect = curr.getBoundingClientRect();
|
||||
bottom = rect.bottom;
|
||||
height = bottom - rect.top;
|
||||
}
|
||||
if (bottom >= parentBottom)
|
||||
$content.attr('scrollTop', scrollPos + height);
|
||||
}
|
||||
else if (!$curr)
|
||||
$content.children('div:first-child').addClass(o.selectClass);
|
||||
}
|
||||
|
||||
function prevResult() {
|
||||
$curr = getCurr();
|
||||
|
||||
if ($curr && $curr.prev().length > 0) {
|
||||
$curr.removeClass(o.selectClass).prev().addClass(o.selectClass);
|
||||
var scrollPos = $content.attr('scrollTop'),
|
||||
curr = $curr[0],
|
||||
parent = $curr.parent()[0],
|
||||
parentTop, top, height;
|
||||
if (supportsGetBoxObjectFor()) {
|
||||
height = document.getBoxObjectFor(curr).height;
|
||||
parentTop = document.getBoxObjectFor($content[0]).y - (height * 2); // TODO: this is not working when i add another control...
|
||||
top = document.getBoxObjectFor(curr).y - document.getBoxObjectFor($content[0]).y;
|
||||
}
|
||||
else if (supportsGetBoundingClientRect()) {
|
||||
parentTop = parent.getBoundingClientRect().top;
|
||||
var rect = curr.getBoundingClientRect();
|
||||
top = rect.top;
|
||||
height = rect.bottom - top;
|
||||
}
|
||||
if (top <= parentTop)
|
||||
$content.attr('scrollTop', scrollPos - height);
|
||||
}
|
||||
else if (!$curr)
|
||||
$content.children('div:last-child').addClass(o.selectClass);
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.flexbox = function(source, options) {
|
||||
if (!source)
|
||||
return;
|
||||
|
||||
try {
|
||||
var defaults = $.fn.flexbox.defaults;
|
||||
var o = $.extend({}, defaults, options);
|
||||
|
||||
for (var prop in o) {
|
||||
if (defaults[prop] === undefined) throw ('Invalid option specified: ' + prop + '\nPlease check your spelling and try again.');
|
||||
}
|
||||
o.source = source;
|
||||
|
||||
if (options) {
|
||||
o.paging = (options.paging || options.paging == null) ? $.extend({}, defaults.paging, options.paging) : false;
|
||||
|
||||
for (var prop in o.paging) {
|
||||
if (defaults.paging[prop] === undefined) throw ('Invalid option specified: ' + prop + '\nPlease check your spelling and try again.');
|
||||
}
|
||||
|
||||
if (options.displayValue && !options.hiddenValue) {
|
||||
o.hiddenValue = options.displayValue;
|
||||
}
|
||||
}
|
||||
|
||||
this.each(function() {
|
||||
new $.flexbox(this, o);
|
||||
});
|
||||
|
||||
return this;
|
||||
} catch (ex) {
|
||||
if (typeof ex === 'object') alert(ex.message); else alert(ex);
|
||||
}
|
||||
};
|
||||
|
||||
// plugin defaults - added as a property on our plugin function so they can be set independently
|
||||
$.fn.flexbox.defaults = {
|
||||
method: 'GET', // One of 'GET' or 'POST'
|
||||
queryDelay: 100, // num of milliseconds before query is run.
|
||||
allowInput: true, // set to false to disallow the user from typing in queries
|
||||
containerClass: 'ffb',
|
||||
contentClass: 'content',
|
||||
selectClass: 'ffb-sel',
|
||||
inputClass: 'ffb-input',
|
||||
arrowClass: 'ffb-arrow',
|
||||
matchClass: 'ffb-match',
|
||||
noResultsText: 'No matching results', // text to show when no results match the query
|
||||
noResultsClass: 'ffb-no-results', // class to apply to noResultsText
|
||||
showResults: true, // whether to show results at all, or just typeahead
|
||||
selectFirstMatch: true, // whether to highlight the first matching value
|
||||
autoCompleteFirstMatch: false, // whether to complete the first matching value in the input box
|
||||
highlightMatches: true, // whether all matches within the string should be highlighted with matchClass
|
||||
highlightMatchesRegExModifier: 'i', // 'i' for case-insensitive, 'g' for global (all occurrences), or combine
|
||||
matchAny: true, // for client-side filtering ONLY, match any occurrence of the search term in the result (e.g. "ar" would find "area" and "cart")
|
||||
minChars: 1, // the minimum number of characters the user must enter before a search is executed
|
||||
showArrow: true, // set to false to simulate google suggest
|
||||
arrowQuery: '', // the query to run when the arrow is clicked
|
||||
onSelect: false, // function to run when a result is selected
|
||||
maxCacheBytes: 32768, // in bytes, 0 means caching is disabled
|
||||
resultTemplate: '{name}', // html template for each row (put json properties in curly braces)
|
||||
displayValue: 'name', // json element whose value is displayed on select
|
||||
hiddenValue: 'id', // json element whose value is submitted when form is submitted
|
||||
initialValue: '', // what should the value of the input field be when the form is loaded?
|
||||
initialId: '', // what should the value of the hidden field be when the form is loaded?
|
||||
watermark: '', // text that appears when flexbox is loaded, if no initialValue is specified. style with css class '.ffb-input.watermark'
|
||||
width: 200, // total width of flexbox. auto-adjusts based on showArrow value
|
||||
resultsProperty: 'results', // json property in response that references array of results
|
||||
totalProperty: 'total', // json property in response that references the total results (for paging)
|
||||
maxVisibleRows: 0, // default is 0, which means it is ignored. use either this, or paging.pageSize
|
||||
paging: {
|
||||
style: 'input', // or 'links'
|
||||
cssClass: 'paging', // prefix with containerClass (e.g. .ffb .paging)
|
||||
pageSize: 10, // acts as a threshold. if <= pageSize results, paging doesn't appear
|
||||
maxPageLinks: 5, // used only if style is 'links'
|
||||
showSummary: true, // whether to show 'displaying 1-10 of 200 results' text
|
||||
summaryClass: 'summary', // class for 'displaying 1-10 of 200 results', prefix with containerClass
|
||||
summaryTemplate: 'Displaying {start}-{end} of {total} results' // can use {page} and {pages} as well
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.setValue = function(val) {
|
||||
var id = '#' + this.attr('id');
|
||||
$(id + '_hidden,' + id + '_input').val(val).removeClass('watermark');
|
||||
};
|
||||
})(jQuery);
|
||||
@@ -1,36 +0,0 @@
|
||||
<%@ Page Language="VB" ValidateRequest="false" AutoEventWireup="false" CodeFile="AutoPostTest.aspx.vb" Inherits="PostTest" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head id="Head1" runat="server">
|
||||
<title></title>
|
||||
<script type="text/javascript" src="scripts/jquery-1.3.2.js"></script>
|
||||
|
||||
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("textarea").htmlarea(); // Initialize jHtmlArea's with all default values
|
||||
|
||||
//window.setTimeout(function() { $("form").submit(); }, 3000);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
<asp:ScriptManager runat="server" ID="sm1"></asp:ScriptManager>
|
||||
|
||||
<asp:Literal runat="server" ID="litText"></asp:Literal><br />
|
||||
|
||||
<textarea runat="server" id="txtText" cols="50" rows="15"></textarea>
|
||||
<input type="submit" value='manual submit' />
|
||||
<br />
|
||||
|
||||
<asp:Button runat="server" ID="btnSubmit" Text="asp:Button" />
|
||||
<asp:LinkButton runat="server" ID="lbSubmit" Text="asp:LinkButton"></asp:LinkButton>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,9 +0,0 @@
|
||||
|
||||
Partial Class PostTest
|
||||
Inherits System.Web.UI.Page
|
||||
|
||||
Public Sub PostTest_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
|
||||
txtText.Value = Request("txtText")
|
||||
litText.Text = txtText.Value
|
||||
End Sub
|
||||
End Class
|
||||
@@ -1,89 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.min.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
|
||||
|
||||
<script type="text/javascript" src="scripts/jHtmlArea.ColorPickerMenu-0.7.0.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.ColorPickerMenu.css" />
|
||||
|
||||
<style type="text/css">
|
||||
div.jHtmlArea { border: solid 1px #ccc; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h3>jHtmlArea Live Demo - jHtmlAreaColorPickerMenu Example</h3>
|
||||
<p>The jHtmlAreaColorPickerMenu plugin/extension allows you to show a simple Color Picker Menu when the user clicks on the "forecolor" Toolbar Button.</p>
|
||||
|
||||
<p>
|
||||
<a href="http://jhtmlarea.codeplex.com">jHtmlArea Project Homepage</a>
|
||||
|
|
||||
<a href="http://jhtmlarea.codeplex.com/Release/ProjectReleases.aspx">Downloads</a>
|
||||
|
|
||||
<a href="http://jhtmlarea.codeplex.com/Thread/List.aspx">Discussions</a>
|
||||
|
|
||||
<a href="http://jhtmlarea.codeplex.com/WorkItem/List.aspx">Issue Tracker</a>
|
||||
</p>
|
||||
|
||||
<script type="text/javascript">
|
||||
//// You can also override the "default" colors option of the jHtmlAreaColorPickerMenu
|
||||
//// to show only the specific colors you want.
|
||||
// jHtmlAreaColorPickerMenu.defaultOptions.colors = ["red", "yellow", "blue", "green", "purple", "white", "black"];
|
||||
|
||||
// The followin creates a jHtmlArea and adds a custom list of toolbar buttons.
|
||||
// Among the buttons is the "forecolor" button that will automatically take
|
||||
// advantage of the jHtmlAreaColorPickerMenu plugin.
|
||||
$(function() {
|
||||
$("#Textarea1").htmlarea({
|
||||
toolbar: ["html", "|",
|
||||
"forecolor", // <-- Add the "forecolor" Toolbar Button
|
||||
"|", "bold", "italic", "underline", "|", "p", "h1", "h2", "h3", "|", "link", "unlink"] // Overrides/Specifies the Toolbar buttons to show
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<textarea id="Textarea1" cols="50" rows="15"><p><h3>Another TextArea</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
The jHtmlAreaColorPickerMenu object can also be reused for other purposes. For example clicking on the button below will allow you to change the background color of the page.
|
||||
<br />
|
||||
<input id="choosecolor" type="button" value="Choose Color..." />
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#choosecolor").click(function() {
|
||||
jHtmlAreaColorPickerMenu(this, {
|
||||
colorChosen: function(color) {
|
||||
$(document.body).css('background-color', color);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<br /><br /><br /><br /><br />
|
||||
<hr />
|
||||
<div style="position: relative;border: solid 30px #cccccc;">
|
||||
<h3>Editor within a "position: relative" DIV element.</h3>
|
||||
<textarea id="txtInDiv" cols="50" rows="15">Some <b>Test</b> content.</textarea>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#txtInDiv").htmlarea({
|
||||
toolbar: ["html", "|",
|
||||
"forecolor", // <-- Add the "forecolor" Toolbar Button
|
||||
"|", "bold", "italic", "underline", "|", "p", "h1", "h2", "h3", "|", "link", "unlink"] // Overrides/Specifies the Toolbar buttons to show
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,128 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery-ui-1.7.2.custom.min.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="style/jqueryui/ui-lightness/jquery-ui-1.7.2.custom.css" />
|
||||
|
||||
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
|
||||
|
||||
<style type="text/css">
|
||||
/* body { background: #ccc;} */
|
||||
div.jHtmlArea .ToolBar ul li a.custom_disk_button
|
||||
{
|
||||
background: url(images/disk.png) no-repeat;
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
div.jHtmlArea { border: solid 1px #ccc; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
// You can do this to perform a global override of any of the "default" options
|
||||
// jHtmlArea.fn.defaultOptions.css = "jHtmlArea.Editor.css";
|
||||
|
||||
$(function() {
|
||||
//$("textarea").htmlarea(); // Initialize all TextArea's as jHtmlArea's with default values
|
||||
|
||||
$("#txtDefaultHtmlArea").htmlarea(); // Initialize jHtmlArea's with all default values
|
||||
|
||||
$("#txtCustomHtmlArea").htmlarea({
|
||||
// Override/Specify the Toolbar buttons to show
|
||||
toolbar: [
|
||||
["bold", "italic", "underline", "|", "forecolor"],
|
||||
["p", "h1", "h2", "h3", "h4", "h5", "h6"],
|
||||
["link", "unlink", "|", "image"],
|
||||
[{
|
||||
// This is how to add a completely custom Toolbar Button
|
||||
css: "custom_disk_button",
|
||||
text: "Save",
|
||||
action: function(btn) {
|
||||
// 'this' = jHtmlArea object
|
||||
// 'btn' = jQuery object that represents the <A> "anchor" tag for the Toolbar Button
|
||||
alert('SAVE!\n\n' + this.toHtmlString());
|
||||
}
|
||||
}]
|
||||
],
|
||||
|
||||
// Override any of the toolbarText values - these are the Alt Text / Tooltips shown
|
||||
// when the user hovers the mouse over the Toolbar Buttons
|
||||
// Here are a couple translated to German, thanks to Google Translate.
|
||||
toolbarText: $.extend({}, jHtmlArea.defaultOptions.toolbarText, {
|
||||
"bold": "fett",
|
||||
"italic": "kursiv",
|
||||
"underline": "unterstreichen"
|
||||
}),
|
||||
|
||||
// Specify a specific CSS file to use for the Editor
|
||||
css: "style//jHtmlArea.Editor.css",
|
||||
|
||||
// Do something once the editor has finished loading
|
||||
loaded: function() {
|
||||
//// 'this' is equal to the jHtmlArea object
|
||||
//alert("jHtmlArea has loaded!");
|
||||
//this.showHTMLView(); // show the HTML view once the editor has finished loading
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<textarea id="txtDefaultHtmlArea" cols="50" rows="15"><p><h3>Test H3</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
|
||||
<input type="button" value="Alert HTML" onclick="alert($('#txtDefaultHtmlArea').htmlarea('toHtmlString'));" />
|
||||
<input type="button" value="Change Color to Blue" onclick="$('#txtDefaultHtmlArea').htmlarea('forecolor', 'blue');" />
|
||||
|
||||
<br /><hr /><br />
|
||||
|
||||
|
||||
<textarea id="txtCustomHtmlArea" cols="50" rows="15"><p><h3>Another TextArea</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
|
||||
|
||||
<input type="button" id="btnRemoveCustomHtmlArea" value="Remove jHtmlArea" />
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#btnRemoveCustomHtmlArea").click(function() {
|
||||
$("#txtCustomHtmlArea").htmlarea("dispose");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<input type="button" id="btnResetCustomHtmlArea" value="Reset To Default Options" />
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("#btnResetCustomHtmlArea").click(function() {
|
||||
$("#txtCustomHtmlArea").htmlarea("dispose");
|
||||
$("#txtCustomHtmlArea").htmlarea();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<br /><hr /><br />
|
||||
|
||||
<h3>Use jHtmlArea within jQuery UI Dialog</h3>
|
||||
<script type="text/javascript">
|
||||
$.ui.dialog.defaults.bgiframe = true;
|
||||
$(function() {
|
||||
$("#dialogShowButton").click(function() {
|
||||
$("#dialog").dialog({width: 420});
|
||||
$("#dialogEditor").htmlarea();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<input type="button" id="dialogShowButton" value="Show Dialog with jHtmlArea Editor" />
|
||||
|
||||
<div id="dialog" title="Basic dialog" style="display: none">
|
||||
Basic jHtmlArea within jQuery UI Dialog
|
||||
<br />
|
||||
<textarea id="dialogEditor" rows="10" style="width: 400px">Some <b>Basic</b> text.</textarea>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>To see a "proper" example of the "Font Color" button, you'll want to see the "<a href="ColorPickerMenu.htm">jHtmlAreaColorPickerMenu</a>" in action here: <a href="ColorPickerMenu.htm">ColorPickerMenu.htm</a></p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,117 +0,0 @@
|
||||
/* jHtmlArea - WYSIWYG Html Editor jQuery Plugin
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
|
||||
EXAMPLE USAGE:
|
||||
-----------------------
|
||||
See "Default.htm" for example usages.
|
||||
Or, check out http://jhtmlarea.codeplex.com
|
||||
|
||||
|
||||
CHANGE LOG
|
||||
-----------------------
|
||||
v0.7.0
|
||||
- Fixed ColorPickerMenu positioning when placed within a "position: relative"
|
||||
div element.
|
||||
|
||||
- Fixed ColorPickerMenu to auto-hide after a short delay (1 second) once the
|
||||
user moves the mouse off the menu.
|
||||
|
||||
- Fixed Form Submit issue that caused the text to not be posted. Also fixed a
|
||||
related issue with ASP.NET Postbacks.
|
||||
|
||||
- Added jHtmlArea.p method and "paragraph" functionality + toolbar button
|
||||
This allows the user to change the formatting from <H1>, <H2>, etc. to <P>
|
||||
|
||||
- Added an "Automatic" color option to the ColorPickerMenu.
|
||||
|
||||
|
||||
v0.6.0
|
||||
- Hide All Toolbar buttons except the "html" button when entering
|
||||
HTML Source view (via clicking "html" button or executing
|
||||
jHtmlArea.showHTMLView). When toggling view back to the WYSIWYG editor
|
||||
all other buttons will then be shown again.
|
||||
|
||||
- Added jHtmlArea.dispose method - Allows you to remove the WYSIWYG
|
||||
editor, and go back to having a plain TextArea. Beware, there is a
|
||||
memory leak when using this method; it's not too bad, but you want
|
||||
to call this as few a number of times if you can. The memory leak
|
||||
is due to the way the browsers handle removing DOM Elements.
|
||||
|
||||
- Added Indent and Outdent functionality - This includes toolbar buttons
|
||||
and jHtmlArea.indent and jHtmlArea.outdent buttons.
|
||||
|
||||
- Added justifyLeft, justifyCenter, justifyRight functionality and toolbar
|
||||
buttons.
|
||||
|
||||
- Added insertHorizontalRule functionality and toolbar button. This adds a
|
||||
<hr> tag to the currently selected area.
|
||||
|
||||
- Added an "alias" method for jHtmlArea.execCommand named "ec" to help reduce the
|
||||
file size of the script.
|
||||
|
||||
- Added increaseFontSize and decreaseFontSize functionality and toolbar buttons.
|
||||
The increaseFontSize and decreaseFontSize doesn't currently work in Safari.
|
||||
|
||||
- Added forecolor functionality - Changes a font color for the selection or at the
|
||||
insertion point. Requires a color value string to be passed in as a value argument.
|
||||
|
||||
- Fixed bug in jHtmlArea.toString method
|
||||
|
||||
- Added jHtmlArea.queryCommandValue method and it's alias "jHtmlArea.qc"
|
||||
|
||||
- Added the jHtmlAreaColorPickerMenu plugin/extension that resides within the
|
||||
"jHtmlAreaColorPickerMenu.js" file. This file includes a somewhat generic color
|
||||
picker menu that can be used for any purpose, plus it includes the code to wire
|
||||
up and override the "stock" jHtmlColor.forecolor functionality and inject the new
|
||||
Color Picker Menu functionality in it's place when you click on the "forecolor"
|
||||
toolbar button.
|
||||
|
||||
- Changed the "execCommand" and "ec" second parameter to default to "false" if not
|
||||
specified, and third parameter to default to "null" if not specified. This helps to
|
||||
reduce the overall file size of the script.
|
||||
|
||||
- Added support for Toolbar Button Grouping, now with the additional buttons included
|
||||
in this release, or even when any custom buttons are used, they will be able to display
|
||||
nicely by "auto-wrapping" to the next line.
|
||||
|
||||
- Added a gradient background to the Toolbar Button Groups, with a slight reverse
|
||||
gradient on the Buttons when the mouse is hovered over.
|
||||
|
||||
|
||||
v0.5.0 - Initial Release
|
||||
|
||||
|
||||
|
||||
|
||||
ICONS / IMAGES:
|
||||
-----------------------
|
||||
|
||||
Some of the Icons within the jHtmlArea.png file are from the
|
||||
Silk icon set at www.famfamfam.com.
|
||||
They are licensed under the following license:
|
||||
|
||||
Silk icon set 1.3
|
||||
_________________________________________
|
||||
Mark James
|
||||
http://www.famfamfam.com/lab/icons/silk/
|
||||
_________________________________________
|
||||
|
||||
This work is licensed under a
|
||||
Creative Commons Attribution 2.5 License.
|
||||
[ http://creativecommons.org/licenses/by/2.5/ ]
|
||||
|
||||
This means you may use it for any purpose,
|
||||
and make any changes you like.
|
||||
All I ask is that you include a link back
|
||||
to this page in your credits.
|
||||
|
||||
Are you using this icon set? Send me an email
|
||||
(including a link or picture if available) to
|
||||
mjames@gmail.com
|
||||
|
||||
Any other questions about this icon set please
|
||||
contact mjames@gmail.com
|
||||
|
Before Width: | Height: | Size: 620 B |
@@ -1,365 +0,0 @@
|
||||
/*
|
||||
* This file has been commented to support Visual Studio Intellisense.
|
||||
* You should not use this file at runtime inside the browser--it is only
|
||||
* intended to be used only for design-time IntelliSense. Please use the
|
||||
* standard jHtmlArea library for all production use.
|
||||
*/
|
||||
|
||||
/*
|
||||
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.htmlarea = function(options) {
|
||||
/// <summary>
|
||||
/// 1: (options) - Convert all TextArea DOM Elements to be displayed as jHtmlArea WYSIWYG Editors.
|
||||
/// 2: (string, arguments) - This function accepts a string containing the method name that you want to execute against the jHtmlArea object.
|
||||
/// </summary>
|
||||
/// <param name="options" type="Object">
|
||||
/// 1: options - The custom options you want applied to the jHtmlArea's that are created.
|
||||
/// 2: string - The name of the jHtmlArea object method to be executed. The results of the method call are then returned instead of the jQuery object.
|
||||
/// </param>
|
||||
};
|
||||
var jHtmlArea = window.jHtmlArea = function(elem, options) {
|
||||
/// <summary>
|
||||
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
|
||||
/// </summary>
|
||||
/// <param name="elem" type="TextArea DOM Element">
|
||||
/// The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor. Required.
|
||||
/// </param>
|
||||
/// <param name="options" type="Object">
|
||||
/// The custom options you want applied to the jHtmlArea that is created. Optional.
|
||||
/// </param>
|
||||
/// <field name="defaultOptions" Type="Object">
|
||||
/// The Default Options that are used for configuring the jHtmlArea WYSIWYG Editor upon creation.
|
||||
/// </field>
|
||||
/// <returns type="jHtmlArea" />
|
||||
};
|
||||
jHtmlArea.fn = jHtmlArea.prototype = {
|
||||
|
||||
// The current version of jHtmlArea being used
|
||||
jhtmlarea: "0.7.0",
|
||||
|
||||
init: function(elem, options) {
|
||||
/// <summary>
|
||||
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
|
||||
/// </summary>
|
||||
/// <param name="elem" type="TextArea DOM Element">
|
||||
/// Required. The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor.
|
||||
/// </param>
|
||||
/// <param name="options" type="Object">
|
||||
/// Optional. The custom options you want applied to the jHtmlArea that is created.
|
||||
/// </param>
|
||||
/// <returns type="jHtmlArea" />
|
||||
},
|
||||
execCommand: function(a, b, c) {
|
||||
/// <summary>
|
||||
/// Executes a command on the current document, current selection, or the given range.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
|
||||
/// </param>
|
||||
/// <param name="b" type="Boolean">
|
||||
/// Optional. Boolean that specifies one of the following values:
|
||||
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
|
||||
/// "true" = Display a user interface if the command supports one.
|
||||
/// </param>
|
||||
/// <param name="c" type="Object">
|
||||
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
|
||||
/// </param>
|
||||
},
|
||||
ec: function(a, b, c) {
|
||||
/// <summary>
|
||||
/// Executes a command on the current document, current selection, or the given range. An alias for the "execCommand" method.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
|
||||
/// </param>
|
||||
/// <param name="b" type="Boolean">
|
||||
/// Optional. Boolean that specifies one of the following values:
|
||||
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
|
||||
/// "true" = Display a user interface if the command supports one.
|
||||
/// </param>
|
||||
/// <param name="c" type="Object">
|
||||
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
|
||||
/// </param>
|
||||
},
|
||||
queryCommandValue: function(a) {
|
||||
/// <summary>
|
||||
/// Returns the current value of the document, range, or current selection for the given command.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies a command identifier.
|
||||
/// </param>
|
||||
/// <returns type="Variant" />
|
||||
},
|
||||
qc: function(a) {
|
||||
/// <summary>
|
||||
/// Returns the current value of the document, range, or current selection for the given command. An alias for the "queryCommandValue" method.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies a command identifier.
|
||||
/// </param>
|
||||
/// <returns type="Variant" />
|
||||
},
|
||||
getSelectedHTML: function() {
|
||||
/// <summary>
|
||||
/// Returns the HTML that is currently selected within the editor.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
getSelection: function() {
|
||||
/// <summary>
|
||||
/// Returns the Browser Selection object that represents the currently selected region of the editor.
|
||||
/// </summary>
|
||||
/// <returns type="Object" />
|
||||
},
|
||||
getRange: function() {
|
||||
/// <summary>
|
||||
/// Returns the Browser Range object that represents the currently selected region of the editor. (This uses the "getSelection" method internally.)
|
||||
/// </summary>
|
||||
/// <returns type="Object" />
|
||||
},
|
||||
html: function(v) {
|
||||
/// <summary>
|
||||
/// 1: () Returns the HTML text value contained within the editor. 2: (v) Sets the editors value to the HTML text passed in.
|
||||
/// </summary>
|
||||
/// <param name="v" type="String">
|
||||
/// The HTML text to set the editors value to.
|
||||
/// </param>
|
||||
},
|
||||
pasteHTML: function(html) {
|
||||
/// <summary>
|
||||
/// Pastes HTML text into the editor, replacing any currently selected text and HTML elements.
|
||||
/// </summary>
|
||||
/// <param name="html" type="String">
|
||||
/// The HTML text to paste/insert.
|
||||
/// </param>
|
||||
},
|
||||
cut: function() {
|
||||
/// <summary>
|
||||
/// Copies the current selection to the clipboard and then deletes it.
|
||||
/// </summary>
|
||||
},
|
||||
copy: function() {
|
||||
/// <summary>
|
||||
/// Copies the current selection to the clipboard.
|
||||
/// </summary>
|
||||
},
|
||||
paste: function() {
|
||||
/// <summary>
|
||||
/// Overwrites the contents of the clipboard on the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
bold: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between bold and nonbold.
|
||||
/// </summary>
|
||||
},
|
||||
italic: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between italic and nonitalic.
|
||||
/// </summary>
|
||||
},
|
||||
underline: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between underlined and not underlined.
|
||||
/// </summary>
|
||||
},
|
||||
strikeThrough: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already striked, the strikethrough will be removed. Otherwise, all selected characters will have a line drawn through them.
|
||||
/// </summary>
|
||||
},
|
||||
image: function(url) {
|
||||
/// <summary>
|
||||
/// This command will insert an image (referenced by url) at the insertion point.
|
||||
/// If no URL is specified, a prompt will be displayed to the user.
|
||||
/// </summary>
|
||||
/// <param name="url" type="String">
|
||||
/// The URL to the Image to be inserted. If no URL is specified, a prompt will be shown.
|
||||
/// </param>
|
||||
},
|
||||
removeFormat: function() {
|
||||
/// <summary>
|
||||
/// Removes the formatting tags from the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
link: function() {
|
||||
/// <summary>
|
||||
/// Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
unlink: function() {
|
||||
/// <summary>
|
||||
/// Removes any hyperlink from the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
orderedList: function() {
|
||||
/// <summary>
|
||||
/// Converts the text selection into an ordered list.
|
||||
/// </summary>
|
||||
},
|
||||
unorderedList: function() {
|
||||
/// <summary>
|
||||
/// Converts the text selection into an unordered list.
|
||||
/// </summary>
|
||||
},
|
||||
superscript: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already superscripted, the superscript will be removed. Otherwise, all selected characters will be drawn slightly higher than normal text.
|
||||
/// </summary>
|
||||
},
|
||||
subscript: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already subscripted, the subscript will be removed. Otherwise, all selected characters will be drawn slightly lower than normal text.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
p: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <P>.
|
||||
/// </summary>
|
||||
},
|
||||
h1: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H1>.
|
||||
/// </summary>
|
||||
},
|
||||
h2: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H2>.
|
||||
/// </summary>
|
||||
},
|
||||
h3: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H3>.
|
||||
/// </summary>
|
||||
},
|
||||
h4: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H4>.
|
||||
/// </summary>
|
||||
},
|
||||
h5: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H5>.
|
||||
/// </summary>
|
||||
},
|
||||
h6: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H6>.
|
||||
/// </summary>
|
||||
},
|
||||
heading: function(h) {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H?> tag.
|
||||
/// Example: Calling jHtmlArea.heading(2) will be the same as calling jHtmlArea.h2()
|
||||
/// </summary>
|
||||
/// <param name="h" type="Number">
|
||||
/// The Number of Header (<H?>) tag to format the current block with.
|
||||
/// For Example: Passing a 2 or "2" will cause the current block to be formatted with a <H2> tag.
|
||||
/// </param>
|
||||
},
|
||||
|
||||
indent: function() {
|
||||
/// <summary>
|
||||
/// Indents the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
outdent: function() {
|
||||
/// <summary>
|
||||
/// Outdents the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
insertHorizontalRule: function() {
|
||||
/// <summary>
|
||||
/// Inserts a horizontal rule at the insertion point (deletes selection).
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
justifyLeft: function() {
|
||||
/// <summary>
|
||||
/// Justifies the selection or insertion point to the left.
|
||||
/// </summary>
|
||||
},
|
||||
justifyCenter: function() {
|
||||
/// <summary>
|
||||
/// Centers the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
justifyRight: function() {
|
||||
/// <summary>
|
||||
/// Right-justifies the selection or the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
increaseFontSize: function() {
|
||||
/// <summary>
|
||||
/// Increases the Font Size around the selection or at the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
decreaseFontSize: function() {
|
||||
/// <summary>
|
||||
/// Decreases the Font Size around the selection or at the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
forecolor: function(c) {
|
||||
/// <summary>
|
||||
/// Changes a font color for the selection or at the insertion point. Requires a color value string to be passed in as a value argument.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
formatBlock: function(v) {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
showHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Shows the HTML/Source View (TextArea DOM Element) within the Editor and hides the WYSIWYG interface.
|
||||
/// </summary>
|
||||
},
|
||||
hideHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Hides the HTML/Source View (TextArea DOM Element) within the Editor and displays the WYSIWYG interface.
|
||||
/// </summary>
|
||||
},
|
||||
toggleHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Toggles between HTML/Source View (TextArea DOM Element) and the WYSIWYG interface within the Editor.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
toHtmlString: function() {
|
||||
/// <summary>
|
||||
/// Returns the HTML text contained within the editor.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
toString: function() {
|
||||
/// <summary>
|
||||
/// Return the Text contained within the editor, with all HTML tags removed.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
|
||||
updateTextArea: function() {
|
||||
/// <summary>
|
||||
/// Forces the TextArea DOM Element to by sync'd with the contents of the HTML WYSIWYG Editor.
|
||||
/// </summary>
|
||||
},
|
||||
updateHtmlArea: function() {
|
||||
/// <summary>
|
||||
/// Forces the HTML WYSIWYG Editor to be sync'd with the contents of the TextArea DOM Element.
|
||||
/// </summary>
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
|
||||
})(jQuery);
|
||||
@@ -1,403 +0,0 @@
|
||||
/*
|
||||
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.htmlarea = function(opts) {
|
||||
if (opts && typeof (opts) === "string") {
|
||||
var args = [];
|
||||
for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
|
||||
var htmlarea = jHtmlArea(this[0]);
|
||||
var f = htmlarea[opts];
|
||||
if (f) { return f.apply(htmlarea, args); }
|
||||
}
|
||||
return this.each(function() { jHtmlArea(this, opts); });
|
||||
};
|
||||
var jHtmlArea = window.jHtmlArea = function(elem, options) {
|
||||
if (elem.jquery) {
|
||||
return jHtmlArea(elem[0]);
|
||||
}
|
||||
if (elem.jhtmlareaObject) {
|
||||
return elem.jhtmlareaObject;
|
||||
} else {
|
||||
return new jHtmlArea.fn.init(elem, options);
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn = jHtmlArea.prototype = {
|
||||
|
||||
// The current version of jHtmlArea being used
|
||||
jhtmlarea: "0.7.0",
|
||||
|
||||
init: function(elem, options) {
|
||||
if (elem.nodeName.toLowerCase() === "textarea") {
|
||||
var opts = $.extend({}, jHtmlArea.defaultOptions, options);
|
||||
elem.jhtmlareaObject = this;
|
||||
|
||||
var textarea = this.textarea = $(elem);
|
||||
var container = this.container = $("<div/>").addClass("jHtmlArea").width(textarea.width()).insertAfter(textarea);
|
||||
|
||||
var toolbar = this.toolbar = $("<div/>").addClass("ToolBar").appendTo(container);
|
||||
priv.initToolBar.call(this, opts);
|
||||
|
||||
var iframe = this.iframe = $("<iframe/>").height(textarea.height());
|
||||
iframe.width(textarea.width() - ($.browser.msie ? 0 : 4));
|
||||
var htmlarea = this.htmlarea = $("<div/>").append(iframe);
|
||||
|
||||
container.append(htmlarea).append(textarea.hide());
|
||||
|
||||
priv.initEditor.call(this, opts);
|
||||
priv.attachEditorEvents.call(this);
|
||||
|
||||
// Fix total height to match TextArea
|
||||
iframe.height(iframe.height() - toolbar.height());
|
||||
toolbar.width(textarea.width() - 2);
|
||||
|
||||
if (opts.loaded) { opts.loaded.call(this); }
|
||||
}
|
||||
},
|
||||
dispose: function() {
|
||||
this.textarea.show().insertAfter(this.container);
|
||||
this.container.remove();
|
||||
this.textarea[0].jhtmlareaObject = null;
|
||||
},
|
||||
execCommand: function(a, b, c) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
this.editor.execCommand(a, b || false, c || null);
|
||||
this.updateTextArea();
|
||||
},
|
||||
ec: function(a, b, c) {
|
||||
this.execCommand(a, b, c);
|
||||
},
|
||||
queryCommandValue: function(a) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
return this.editor.queryCommandValue(a);
|
||||
},
|
||||
qc: function(a) {
|
||||
return this.queryCommandValue(a);
|
||||
},
|
||||
getSelectedHTML: function() {
|
||||
if ($.browser.msie) {
|
||||
return this.getRange().htmlText;
|
||||
} else {
|
||||
var elem = this.getRange().cloneContents();
|
||||
return $("<p/>").append($(elem)).html();
|
||||
}
|
||||
},
|
||||
getSelection: function() {
|
||||
if ($.browser.msie) {
|
||||
//return (this.editor.parentWindow.getSelection) ? this.editor.parentWindow.getSelection() : this.editor.selection;
|
||||
return this.editor.selection;
|
||||
} else {
|
||||
return this.iframe[0].contentDocument.defaultView.getSelection();
|
||||
}
|
||||
},
|
||||
getRange: function() {
|
||||
var s = this.getSelection();
|
||||
if (!s) { return null; }
|
||||
//return (s.rangeCount > 0) ? s.getRangeAt(0) : s.createRange();
|
||||
return (s.getRangeAt) ? s.getRangeAt(0) : s.createRange();
|
||||
},
|
||||
html: function(v) {
|
||||
if (v) {
|
||||
this.pastHTML(v);
|
||||
} else {
|
||||
return toHtmlString();
|
||||
}
|
||||
},
|
||||
pasteHTML: function(html) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
var r = this.getRange();
|
||||
if ($.browser.msie) {
|
||||
r.pasteHTML(html);
|
||||
} else if ($.browser.mozilla) {
|
||||
r.deleteContents();
|
||||
r.insertNode($((html.indexOf("<") != 0) ? $("<span/>").append(html) : html)[0]);
|
||||
} else { // Safari
|
||||
r.deleteContents();
|
||||
r.insertNode($(this.iframe[0].contentWindow.document.createElement("span")).append($((html.indexOf("<") != 0) ? "<span>" + html + "</span>" : html))[0]);
|
||||
}
|
||||
r.collapse(false);
|
||||
r.select();
|
||||
},
|
||||
cut: function() {
|
||||
this.ec("cut");
|
||||
},
|
||||
copy: function() {
|
||||
this.ec("copy");
|
||||
},
|
||||
paste: function() {
|
||||
this.ec("paste");
|
||||
},
|
||||
bold: function() { this.ec("bold"); },
|
||||
italic: function() { this.ec("italic"); },
|
||||
underline: function() { this.ec("underline"); },
|
||||
strikeThrough: function() { this.ec("strikethrough"); },
|
||||
image: function(url) {
|
||||
if ($.browser.msie && !url) {
|
||||
this.ec("insertImage", true);
|
||||
} else {
|
||||
this.ec("insertImage", false, (url || prompt("Image URL:", "http://")));
|
||||
}
|
||||
},
|
||||
removeFormat: function() {
|
||||
this.ec("removeFormat", false, []);
|
||||
this.unlink();
|
||||
},
|
||||
link: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("createLink", true);
|
||||
} else {
|
||||
this.ec("createLink", false, prompt("Link URL:", "http://"));
|
||||
}
|
||||
},
|
||||
unlink: function() { this.ec("unlink", false, []); },
|
||||
orderedList: function() { this.ec("insertorderedlist"); },
|
||||
unorderedList: function() { this.ec("insertunorderedlist"); },
|
||||
superscript: function() { this.ec("superscript"); },
|
||||
subscript: function() { this.ec("subscript"); },
|
||||
|
||||
p: function() {
|
||||
this.formatBlock("<p>");
|
||||
},
|
||||
h1: function() {
|
||||
this.heading(1);
|
||||
},
|
||||
h2: function() {
|
||||
this.heading(2);
|
||||
},
|
||||
h3: function() {
|
||||
this.heading(3);
|
||||
},
|
||||
h4: function() {
|
||||
this.heading(4);
|
||||
},
|
||||
h5: function() {
|
||||
this.heading(5);
|
||||
},
|
||||
h6: function() {
|
||||
this.heading(6);
|
||||
},
|
||||
heading: function(h) {
|
||||
this.formatBlock($.browser.msie ? "Heading " + h : "h" + h);
|
||||
},
|
||||
|
||||
indent: function() {
|
||||
this.ec("indent");
|
||||
},
|
||||
outdent: function() {
|
||||
this.ec("outdent");
|
||||
},
|
||||
|
||||
insertHorizontalRule: function() {
|
||||
this.ec("insertHorizontalRule", false, "ht");
|
||||
},
|
||||
|
||||
justifyLeft: function() {
|
||||
this.ec("justifyLeft");
|
||||
},
|
||||
justifyCenter: function() {
|
||||
this.ec("justifyCenter");
|
||||
},
|
||||
justifyRight: function() {
|
||||
this.ec("justifyRight");
|
||||
},
|
||||
|
||||
increaseFontSize: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("fontSize", false, this.qc("fontSize") + 1);
|
||||
} else if ($.browser.safari) {
|
||||
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "larger")[0]);
|
||||
} else {
|
||||
this.ec("increaseFontSize", false, "big");
|
||||
}
|
||||
},
|
||||
decreaseFontSize: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("fontSize", false, this.qc("fontSize") - 1);
|
||||
} else if ($.browser.safari) {
|
||||
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "smaller")[0]);
|
||||
} else {
|
||||
this.ec("decreaseFontSize", false, "small");
|
||||
}
|
||||
},
|
||||
|
||||
forecolor: function(c) {
|
||||
this.ec("foreColor", false, c || prompt("Enter HTML Color:", "#"));
|
||||
},
|
||||
|
||||
formatBlock: function(v) {
|
||||
this.ec("formatblock", false, v || null);
|
||||
},
|
||||
|
||||
showHTMLView: function() {
|
||||
this.updateTextArea();
|
||||
this.textarea.show();
|
||||
this.htmlarea.hide();
|
||||
$("ul li:not(li:has(a.html))", this.toolbar).hide();
|
||||
$("ul:not(:has(:visible))", this.toolbar).hide();
|
||||
$("ul li a.html", this.toolbar).addClass("highlighted");
|
||||
},
|
||||
hideHTMLView: function() {
|
||||
this.updateHtmlArea();
|
||||
this.textarea.hide();
|
||||
this.htmlarea.show();
|
||||
$("ul", this.toolbar).show();
|
||||
$("ul li", this.toolbar).show().find("a.html").removeClass("highlighted");
|
||||
},
|
||||
toggleHTMLView: function() {
|
||||
(this.textarea.is(":hidden")) ? this.showHTMLView() : this.hideHTMLView();
|
||||
},
|
||||
|
||||
toHtmlString: function() {
|
||||
return this.editor.body.innerHTML;
|
||||
},
|
||||
toString: function() {
|
||||
return this.editor.body.innerText;
|
||||
},
|
||||
|
||||
updateTextArea: function() {
|
||||
this.textarea.val(this.toHtmlString());
|
||||
},
|
||||
updateHtmlArea: function() {
|
||||
this.editor.body.innerHTML = this.textarea.val();
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
|
||||
|
||||
jHtmlArea.defaultOptions = {
|
||||
toolbar: [
|
||||
["html"], ["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
|
||||
["increasefontsize", "decreasefontsize"],
|
||||
["orderedlist", "unorderedlist"],
|
||||
["indent", "outdent"],
|
||||
["justifyleft", "justifycenter", "justifyright"],
|
||||
["link", "unlink", "image", "horizontalrule"],
|
||||
["p", "h1", "h2", "h3", "h4", "h5", "h6"],
|
||||
["cut", "copy", "paste"]
|
||||
],
|
||||
css: null,
|
||||
toolbarText: {
|
||||
bold: "Bold", italic: "Italic", underline: "Underline", strikethrough: "Strike-Through",
|
||||
cut: "Cut", copy: "Copy", paste: "Paste",
|
||||
h1: "Heading 1", h2: "Heading 2", h3: "Heading 3", h4: "Heading 4", h5: "Heading 5", h6: "Heading 6", p: "Paragraph",
|
||||
indent: "Indent", outdent: "Outdent", horizontalrule: "Insert Horizontal Rule",
|
||||
justifyleft: "Left Justify", justifycenter: "Center Justify", justifyright: "Right Justify",
|
||||
increasefontsize: "Increase Font Size", decreasefontsize: "Decrease Font Size", forecolor: "Text Color",
|
||||
link: "Insert Link", unlink: "Remove Link", image: "Insert Image",
|
||||
orderedlist: "Insert Ordered List", unorderedlist: "Insert Unordered List",
|
||||
subscript: "Subscript", superscript: "Superscript",
|
||||
html: "Show/Hide HTML Source View"
|
||||
}
|
||||
};
|
||||
var priv = {
|
||||
toolbarButtons: {
|
||||
strikethrough: "strikeThrough", orderedlist: "orderedList", unorderedlist: "unorderedList",
|
||||
horizontalrule: "insertHorizontalRule",
|
||||
justifyleft: "justifyLeft", justifycenter: "justifyCenter", justifyright: "justifyRight",
|
||||
increasefontsize: "increaseFontSize", decreasefontsize: "decreaseFontSize",
|
||||
html: function(btn) {
|
||||
this.toggleHTMLView();
|
||||
}
|
||||
},
|
||||
initEditor: function(options) {
|
||||
var edit = this.editor = this.iframe[0].contentWindow.document;
|
||||
edit.designMode = 'on';
|
||||
edit.open();
|
||||
edit.write(this.textarea.val());
|
||||
edit.close();
|
||||
if (options.css) {
|
||||
var e = edit.createElement('link'); e.rel = 'stylesheet'; e.type = 'text/css'; e.href = options.css; edit.getElementsByTagName('head')[0].appendChild(e);
|
||||
}
|
||||
},
|
||||
initToolBar: function(options) {
|
||||
var that = this;
|
||||
|
||||
var menuItem = function(className, altText, action) {
|
||||
return $("<li/>").append($("<a href='javascript:void(0);'/>").addClass(className).attr("title", altText).click(function() { action.call(that, $(this)); }));
|
||||
};
|
||||
|
||||
function addButtons(arr) {
|
||||
var ul = $("<ul/>").appendTo(that.toolbar);
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var e = arr[i];
|
||||
if ((typeof (e)).toLowerCase() === "string") {
|
||||
if (e === "|") {
|
||||
ul.append($('<li class="separator"/>'));
|
||||
} else {
|
||||
var f = (function(e) {
|
||||
// If button name exists in priv.toolbarButtons then call the "method" defined there, otherwise call the method with the same name
|
||||
var m = priv.toolbarButtons[e] || e;
|
||||
if ((typeof (m)).toLowerCase() === "function") {
|
||||
return function(btn) { m.call(this, btn); };
|
||||
} else {
|
||||
return function() { this[m](); this.editor.body.focus(); };
|
||||
}
|
||||
})(e.toLowerCase());
|
||||
var t = options.toolbarText[e.toLowerCase()];
|
||||
ul.append(menuItem(e.toLowerCase(), t || e, f));
|
||||
}
|
||||
} else {
|
||||
ul.append(menuItem(e.css, e.text, e.action));
|
||||
}
|
||||
}
|
||||
};
|
||||
if (options.toolbar.length !== 0 && priv.isArray(options.toolbar[0])) {
|
||||
for (var i = 0; i < options.toolbar.length; i++) {
|
||||
addButtons(options.toolbar[i]);
|
||||
}
|
||||
} else {
|
||||
addButtons(options.toolbar);
|
||||
}
|
||||
},
|
||||
attachEditorEvents: function() {
|
||||
var t = this;
|
||||
|
||||
var fnHA = function() {
|
||||
t.updateHtmlArea();
|
||||
};
|
||||
|
||||
this.textarea.click(fnHA).
|
||||
keyup(fnHA).
|
||||
keydown(fnHA).
|
||||
mousedown(fnHA).
|
||||
blur(fnHA);
|
||||
|
||||
|
||||
|
||||
var fnTA = function() {
|
||||
t.updateTextArea();
|
||||
};
|
||||
|
||||
$(this.editor.body).click(fnTA).
|
||||
keyup(fnTA).
|
||||
keydown(fnTA).
|
||||
mousedown(fnTA).
|
||||
blur(fnTA);
|
||||
|
||||
$('form').submit(function() { t.toggleHTMLView(); t.toggleHTMLView(); });
|
||||
//$(this.textarea[0].form).submit(function() { //this.textarea.closest("form").submit(function() {
|
||||
|
||||
|
||||
// Fix for ASP.NET Postback Model
|
||||
if (window.__doPostBack) {
|
||||
var old__doPostBack = __doPostBack;
|
||||
window.__doPostBack = function() {
|
||||
if (t) {
|
||||
if (t.toggleHTMLView) {
|
||||
t.toggleHTMLView();
|
||||
t.toggleHTMLView();
|
||||
}
|
||||
}
|
||||
return old__doPostBack.apply(window, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
},
|
||||
isArray: function(v) {
|
||||
return v && typeof v === 'object' && typeof v.length === 'number' && typeof v.splice === 'function' && !(v.propertyIsEnumerable('length'));
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
@@ -1,357 +0,0 @@
|
||||
/*
|
||||
* This file has been commented to support Visual Studio Intellisense.
|
||||
* You should not use this file at runtime inside the browser--it is only
|
||||
* intended to be used only for design-time IntelliSense. Please use the
|
||||
* standard jHtmlArea library for all production use.
|
||||
*/
|
||||
|
||||
/*
|
||||
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.htmlarea = function(options) {
|
||||
/// <summary>
|
||||
/// 1: (options) - Convert all TextArea DOM Elements to be displayed as jHtmlArea WYSIWYG Editors.
|
||||
/// 2: (string, arguments) - This function accepts a string containing the method name that you want to execute against the jHtmlArea object.
|
||||
/// </summary>
|
||||
/// <param name="options" type="Object">
|
||||
/// 1: options - The custom options you want applied to the jHtmlArea's that are created.
|
||||
/// 2: string - The name of the jHtmlArea object method to be executed. The results of the method call are then returned instead of the jQuery object.
|
||||
/// </param>
|
||||
};
|
||||
var jHtmlArea = window.jHtmlArea = function(elem, options) {
|
||||
/// <summary>
|
||||
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
|
||||
/// </summary>
|
||||
/// <param name="elem" type="TextArea DOM Element">
|
||||
/// The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor. Required.
|
||||
/// </param>
|
||||
/// <param name="options" type="Object">
|
||||
/// The custom options you want applied to the jHtmlArea that is created. Optional.
|
||||
/// </param>
|
||||
/// <field name="defaultOptions" Type="Object">
|
||||
/// The Default Options that are used for configuring the jHtmlArea WYSIWYG Editor upon creation.
|
||||
/// </field>
|
||||
/// <returns type="jHtmlArea" />
|
||||
};
|
||||
jHtmlArea.fn = jHtmlArea.prototype = {
|
||||
|
||||
// The current version of jHtmlArea being used
|
||||
jhtmlarea: "0.7.0",
|
||||
|
||||
init: function(elem, options) {
|
||||
/// <summary>
|
||||
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
|
||||
/// </summary>
|
||||
/// <param name="elem" type="TextArea DOM Element">
|
||||
/// Required. The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor.
|
||||
/// </param>
|
||||
/// <param name="options" type="Object">
|
||||
/// Optional. The custom options you want applied to the jHtmlArea that is created.
|
||||
/// </param>
|
||||
/// <returns type="jHtmlArea" />
|
||||
},
|
||||
execCommand: function(a, b, c) {
|
||||
/// <summary>
|
||||
/// Executes a command on the current document, current selection, or the given range.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
|
||||
/// </param>
|
||||
/// <param name="b" type="Boolean">
|
||||
/// Optional. Boolean that specifies one of the following values:
|
||||
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
|
||||
/// "true" = Display a user interface if the command supports one.
|
||||
/// </param>
|
||||
/// <param name="c" type="Object">
|
||||
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
|
||||
/// </param>
|
||||
},
|
||||
ec: function(a, b, c) {
|
||||
/// <summary>
|
||||
/// Executes a command on the current document, current selection, or the given range. An alias for the "execCommand" method.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
|
||||
/// </param>
|
||||
/// <param name="b" type="Boolean">
|
||||
/// Optional. Boolean that specifies one of the following values:
|
||||
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
|
||||
/// "true" = Display a user interface if the command supports one.
|
||||
/// </param>
|
||||
/// <param name="c" type="Object">
|
||||
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
|
||||
/// </param>
|
||||
},
|
||||
queryCommandValue: function(a) {
|
||||
/// <summary>
|
||||
/// Returns the current value of the document, range, or current selection for the given command.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies a command identifier.
|
||||
/// </param>
|
||||
/// <returns type="Variant" />
|
||||
},
|
||||
qc: function(a) {
|
||||
/// <summary>
|
||||
/// Returns the current value of the document, range, or current selection for the given command. An alias for the "queryCommandValue" method.
|
||||
/// </summary>
|
||||
/// <param name="a" type="String">
|
||||
/// Required. String that specifies a command identifier.
|
||||
/// </param>
|
||||
/// <returns type="Variant" />
|
||||
},
|
||||
getSelectedHTML: function() {
|
||||
/// <summary>
|
||||
/// Returns the HTML that is currently selected within the editor.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
getSelection: function() {
|
||||
/// <summary>
|
||||
/// Returns the Browser Selection object that represents the currently selected region of the editor.
|
||||
/// </summary>
|
||||
/// <returns type="Object" />
|
||||
},
|
||||
getRange: function() {
|
||||
/// <summary>
|
||||
/// Returns the Browser Range object that represents the currently selected region of the editor. (This uses the "getSelection" method internally.)
|
||||
/// </summary>
|
||||
/// <returns type="Object" />
|
||||
},
|
||||
pasteHTML: function(html) {
|
||||
/// <summary>
|
||||
/// Pastes HTML text into the editor, replacing any currently selected text and HTML elements.
|
||||
/// </summary>
|
||||
/// <param name="html" type="String">
|
||||
/// The HTML text to paste/insert.
|
||||
/// </param>
|
||||
},
|
||||
cut: function() {
|
||||
/// <summary>
|
||||
/// Copies the current selection to the clipboard and then deletes it.
|
||||
/// </summary>
|
||||
},
|
||||
copy: function() {
|
||||
/// <summary>
|
||||
/// Copies the current selection to the clipboard.
|
||||
/// </summary>
|
||||
},
|
||||
paste: function() {
|
||||
/// <summary>
|
||||
/// Overwrites the contents of the clipboard on the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
bold: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between bold and nonbold.
|
||||
/// </summary>
|
||||
},
|
||||
italic: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between italic and nonitalic.
|
||||
/// </summary>
|
||||
},
|
||||
underline: function() {
|
||||
/// <summary>
|
||||
/// Toggles the current selection between underlined and not underlined.
|
||||
/// </summary>
|
||||
},
|
||||
strikeThrough: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already striked, the strikethrough will be removed. Otherwise, all selected characters will have a line drawn through them.
|
||||
/// </summary>
|
||||
},
|
||||
image: function(url) {
|
||||
/// <summary>
|
||||
/// This command will insert an image (referenced by url) at the insertion point.
|
||||
/// If no URL is specified, a prompt will be displayed to the user.
|
||||
/// </summary>
|
||||
/// <param name="url" type="String">
|
||||
/// The URL to the Image to be inserted. If no URL is specified, a prompt will be shown.
|
||||
/// </param>
|
||||
},
|
||||
removeFormat: function() {
|
||||
/// <summary>
|
||||
/// Removes the formatting tags from the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
link: function() {
|
||||
/// <summary>
|
||||
/// Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
unlink: function() {
|
||||
/// <summary>
|
||||
/// Removes any hyperlink from the current selection.
|
||||
/// </summary>
|
||||
},
|
||||
orderedList: function() {
|
||||
/// <summary>
|
||||
/// Converts the text selection into an ordered list.
|
||||
/// </summary>
|
||||
},
|
||||
unorderedList: function() {
|
||||
/// <summary>
|
||||
/// Converts the text selection into an unordered list.
|
||||
/// </summary>
|
||||
},
|
||||
superscript: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already superscripted, the superscript will be removed. Otherwise, all selected characters will be drawn slightly higher than normal text.
|
||||
/// </summary>
|
||||
},
|
||||
subscript: function() {
|
||||
/// <summary>
|
||||
/// If there is a selection and all of the characters are already subscripted, the subscript will be removed. Otherwise, all selected characters will be drawn slightly lower than normal text.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
p: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <P>.
|
||||
/// </summary>
|
||||
},
|
||||
h1: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H1>.
|
||||
/// </summary>
|
||||
},
|
||||
h2: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H2>.
|
||||
/// </summary>
|
||||
},
|
||||
h3: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H3>.
|
||||
/// </summary>
|
||||
},
|
||||
h4: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H4>.
|
||||
/// </summary>
|
||||
},
|
||||
h5: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H5>.
|
||||
/// </summary>
|
||||
},
|
||||
h6: function() {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H6>.
|
||||
/// </summary>
|
||||
},
|
||||
heading: function(h) {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag to <H?> tag.
|
||||
/// Example: Calling jHtmlArea.heading(2) will be the same as calling jHtmlArea.h2()
|
||||
/// </summary>
|
||||
/// <param name="h" type="Number">
|
||||
/// The Number of Header (<H?>) tag to format the current block with.
|
||||
/// For Example: Passing a 2 or "2" will cause the current block to be formatted with a <H2> tag.
|
||||
/// </param>
|
||||
},
|
||||
|
||||
indent: function() {
|
||||
/// <summary>
|
||||
/// Indents the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
outdent: function() {
|
||||
/// <summary>
|
||||
/// Outdents the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
insertHorizontalRule: function() {
|
||||
/// <summary>
|
||||
/// Inserts a horizontal rule at the insertion point (deletes selection).
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
justifyLeft: function() {
|
||||
/// <summary>
|
||||
/// Justifies the selection or insertion point to the left.
|
||||
/// </summary>
|
||||
},
|
||||
justifyCenter: function() {
|
||||
/// <summary>
|
||||
/// Centers the selection or insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
justifyRight: function() {
|
||||
/// <summary>
|
||||
/// Right-justifies the selection or the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
increaseFontSize: function() {
|
||||
/// <summary>
|
||||
/// Increases the Font Size around the selection or at the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
decreaseFontSize: function() {
|
||||
/// <summary>
|
||||
/// Decreases the Font Size around the selection or at the insertion point.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
forecolor: function(c) {
|
||||
/// <summary>
|
||||
/// Changes a font color for the selection or at the insertion point. Requires a color value string to be passed in as a value argument.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
formatBlock: function(v) {
|
||||
/// <summary>
|
||||
/// Sets the current block format tag.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
showHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Shows the HTML/Source View (TextArea DOM Element) within the Editor and hides the WYSIWYG interface.
|
||||
/// </summary>
|
||||
},
|
||||
hideHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Hides the HTML/Source View (TextArea DOM Element) within the Editor and displays the WYSIWYG interface.
|
||||
/// </summary>
|
||||
},
|
||||
toggleHTMLView: function() {
|
||||
/// <summary>
|
||||
/// Toggles between HTML/Source View (TextArea DOM Element) and the WYSIWYG interface within the Editor.
|
||||
/// </summary>
|
||||
},
|
||||
|
||||
toHtmlString: function() {
|
||||
/// <summary>
|
||||
/// Returns the HTML text contained within the editor.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
toString: function() {
|
||||
/// <summary>
|
||||
/// Return the Text contained within the editor, with all HTML tags removed.
|
||||
/// </summary>
|
||||
/// <returns type="String" />
|
||||
},
|
||||
|
||||
updateTextArea: function() {
|
||||
/// <summary>
|
||||
/// Forces the TextArea DOM Element to by sync'd with the contents of the HTML WYSIWYG Editor.
|
||||
/// </summary>
|
||||
},
|
||||
updateHtmlArea: function() {
|
||||
/// <summary>
|
||||
/// Forces the HTML WYSIWYG Editor to be sync'd with the contents of the TextArea DOM Element.
|
||||
/// </summary>
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
|
||||
})(jQuery);
|
||||
@@ -1,189 +0,0 @@
|
||||
/*
|
||||
* jHtmlAreaColorPickerMenu 0.7.0 - A Color Picker Extension to jHtmlArea
|
||||
* Part of the jHtmlArea Project
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
(function($) {
|
||||
if (jHtmlArea) {
|
||||
var oldForecolor = jHtmlArea.fn.forecolor;
|
||||
jHtmlArea.fn.forecolor = function(c) {
|
||||
if (c) {
|
||||
// If color is specified, then use the "default" method functionality
|
||||
oldForecolor.call(this, c);
|
||||
} else {
|
||||
// If no color is specified, then display color picker ui
|
||||
var that = this;
|
||||
var rng = this.getRange();
|
||||
jHtmlAreaColorPickerMenu($(".forecolor", this.toolbar), {
|
||||
colorChosen: function(color) {
|
||||
if ($.browser.msie) {
|
||||
rng.execCommand("ForeColor", false, color);
|
||||
} else {
|
||||
that.forecolor(color);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
var menu = window.jHtmlAreaColorPickerMenu = function(ownerElement, options) {
|
||||
return new jHtmlAreaColorPickerMenu.fn.init(ownerElement, options);
|
||||
};
|
||||
menu.fn = menu.prototype = {
|
||||
jhtmlareacolorpickermenu: "0.7.0",
|
||||
|
||||
init: function(ownerElement, options) {
|
||||
var opts = $.extend({}, menu.defaultOptions, options);
|
||||
var that = this;
|
||||
var owner = this.owner = $(ownerElement);
|
||||
var position = owner.position();
|
||||
|
||||
if (menu.instance) {
|
||||
menu.instance.hide();
|
||||
}
|
||||
jHtmlAreaColorPickerMenu.instance = this;
|
||||
|
||||
var picker = this.picker = $("<div/>").css({
|
||||
position: "absolute",
|
||||
left: position.left + opts.offsetLeft,
|
||||
top: position.top + owner.height() + opts.offsetTop,
|
||||
"z-index": opts["z-index"]
|
||||
}).addClass("jHtmlAreaColorPickerMenu");
|
||||
|
||||
for (var i = 0; i < opts.colors.length; i++) {
|
||||
var c = opts.colors[i];
|
||||
$("<div/>").css("background-color", c).appendTo(picker).click(
|
||||
(function(color) {
|
||||
return function() {
|
||||
if (opts.colorChosen) {
|
||||
opts.colorChosen.call(this, color);
|
||||
}
|
||||
that.hide();
|
||||
};
|
||||
})(c)
|
||||
);
|
||||
}
|
||||
|
||||
$("<div/>").html("<div></div>Automatic").addClass("automatic").appendTo(picker).click(
|
||||
function() {
|
||||
if (opts.colorChosen) {
|
||||
opts.colorChosen.call(this, null);
|
||||
}
|
||||
that.hide();
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
var autoHide = false;
|
||||
picker.appendTo(owner.parent()).
|
||||
show().
|
||||
mouseout(function() {
|
||||
autoHide = true;
|
||||
that.currentTimeout = window.setTimeout(function() { if (autoHide === true) { that.hide(); } }, 1000);
|
||||
}).
|
||||
mouseover(function() {
|
||||
if (that.currentTimeout) {
|
||||
window.clearTimeout(that.currentTimeout);
|
||||
that.currentTimeout = null;
|
||||
}
|
||||
autoHide = false;
|
||||
});
|
||||
},
|
||||
hide: function() {
|
||||
this.picker.hide();
|
||||
this.picker.remove();
|
||||
}
|
||||
};
|
||||
menu.fn.init.prototype = menu.fn;
|
||||
|
||||
menu.defaultOptions = {
|
||||
"z-index": 0,
|
||||
offsetTop: 0,
|
||||
offsetLeft: 0,
|
||||
colors: [
|
||||
"#ffffff",
|
||||
"#cccccc",
|
||||
"#c0c0c0",
|
||||
"#999999",
|
||||
"#666666",
|
||||
"#333333",
|
||||
"#000000",
|
||||
|
||||
"#ffcccc",
|
||||
"#ff6666",
|
||||
"#ff0000",
|
||||
"#cc0000",
|
||||
"#990000",
|
||||
"#660000",
|
||||
"#330000",
|
||||
|
||||
"#ffcc99",
|
||||
"#ff9966",
|
||||
"#ff9900",
|
||||
"#ff6600",
|
||||
"#cc6600",
|
||||
"#993300",
|
||||
"#663300",
|
||||
|
||||
"#ffff99",
|
||||
"#ffff66",
|
||||
"#ffcc66",
|
||||
"#ffcc33",
|
||||
"#cc9933",
|
||||
"#996633",
|
||||
"#663333",
|
||||
|
||||
"#ffffcc",
|
||||
"#ffff33",
|
||||
"#ffff00",
|
||||
"#ffcc00",
|
||||
"#999900",
|
||||
"#666600",
|
||||
"#333300",
|
||||
|
||||
"#99ff99",
|
||||
"#66ff99",
|
||||
"#33ff33",
|
||||
"#33cc00",
|
||||
"#009900",
|
||||
"#006600",
|
||||
"#003300",
|
||||
|
||||
"#99FFFF",
|
||||
"#33FFFF",
|
||||
"#66CCCC",
|
||||
"#00CCCC",
|
||||
"#339999",
|
||||
"#336666",
|
||||
"#003333",
|
||||
|
||||
"#CCFFFF",
|
||||
"#66FFFF",
|
||||
"#33CCFF",
|
||||
"#3366FF",
|
||||
"#3333FF",
|
||||
"#000099",
|
||||
"#000066",
|
||||
|
||||
"#CCCCFF",
|
||||
"#9999FF",
|
||||
"#6666CC",
|
||||
"#6633FF",
|
||||
"#6600CC",
|
||||
"#333399",
|
||||
"#330099",
|
||||
|
||||
"#FFCCFF",
|
||||
"#FF99FF",
|
||||
"#CC66CC",
|
||||
"#CC33CC",
|
||||
"#993399",
|
||||
"#663366",
|
||||
"#330033"
|
||||
],
|
||||
colorChosen: null
|
||||
};
|
||||
})(jQuery);
|
||||
@@ -1,8 +0,0 @@
|
||||
// jHtmlArea - http://jhtmlarea.codeplex.com - (c)2009 Chris Pietschmann
|
||||
(function($){if(jHtmlArea){var oldForecolor=jHtmlArea.fn.forecolor;jHtmlArea.fn.forecolor=function(c){if(c){oldForecolor.call(this,c);}else{var that=this;var rng=this.getRange();jHtmlAreaColorPickerMenu($(".forecolor",this.toolbar),{colorChosen:function(color){if($.browser.msie){rng.execCommand("ForeColor",false,color);}else{that.forecolor(color);}}});}};}
|
||||
var menu=window.jHtmlAreaColorPickerMenu=function(ownerElement,options){return new jHtmlAreaColorPickerMenu.fn.init(ownerElement,options);};menu.fn=menu.prototype={jhtmlareacolorpickermenu:"0.7.0",init:function(ownerElement,options){var opts=$.extend({},menu.defaultOptions,options);var that=this;var owner=this.owner=$(ownerElement);var position=owner.position();if(menu.instance){menu.instance.hide();}
|
||||
jHtmlAreaColorPickerMenu.instance=this;var picker=this.picker=$("<div/>").css({position:"absolute",left:position.left+opts.offsetLeft,top:position.top+owner.height()+opts.offsetTop,"z-index":opts["z-index"]}).addClass("jHtmlAreaColorPickerMenu");for(var i=0;i<opts.colors.length;i++){var c=opts.colors[i];$("<div/>").css("background-color",c).appendTo(picker).click((function(color){return function(){if(opts.colorChosen){opts.colorChosen.call(this,color);}
|
||||
that.hide();};})(c));}
|
||||
$("<div/>").html("<div></div>Automatic").addClass("automatic").appendTo(picker).click(function(){if(opts.colorChosen){opts.colorChosen.call(this,null);}
|
||||
that.hide();});var autoHide=false;picker.appendTo(owner.parent()).show().mouseout(function(){autoHide=true;that.currentTimeout=window.setTimeout(function(){if(autoHide===true){that.hide();}},1000);}).mouseover(function(){if(that.currentTimeout){window.clearTimeout(that.currentTimeout);that.currentTimeout=null;}
|
||||
autoHide=false;});},hide:function(){this.picker.hide();this.picker.remove();}};menu.fn.init.prototype=menu.fn;menu.defaultOptions={"z-index":0,offsetTop:0,offsetLeft:0,colors:["#ffffff","#cccccc","#c0c0c0","#999999","#666666","#333333","#000000","#ffcccc","#ff6666","#ff0000","#cc0000","#990000","#660000","#330000","#ffcc99","#ff9966","#ff9900","#ff6600","#cc6600","#993300","#663300","#ffff99","#ffff66","#ffcc66","#ffcc33","#cc9933","#996633","#663333","#ffffcc","#ffff33","#ffff00","#ffcc00","#999900","#666600","#333300","#99ff99","#66ff99","#33ff33","#33cc00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#330033"],colorChosen:null};})(jQuery);
|
||||
@@ -1,6 +0,0 @@
|
||||
div.jHtmlAreaColorPickerMenu {border: solid 1px #bbb; background-color: #ddd; width: 112px;}
|
||||
div.jHtmlAreaColorPickerMenu div {float: left; margin: 2px; width: 12px; height: 14px;}
|
||||
div.jHtmlAreaColorPickerMenu div:hover {margin: 0px; border: dotted 2px black;}
|
||||
|
||||
div.jHtmlAreaColorPickerMenu div.automatic { width: 104px; height: auto; padding: 2px;}
|
||||
div.jHtmlAreaColorPickerMenu div.automatic div { margin: 2px; width: 12px; height: 14px; border: solid 1px black;}
|
||||
@@ -1,6 +0,0 @@
|
||||
body
|
||||
{
|
||||
background: #000;
|
||||
color: #fff;
|
||||
margin: 2px;
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
div.jHtmlArea { display: inline block; }
|
||||
div.jHtmlArea div { padding: 0px; margin: 0px; }
|
||||
div.jHtmlArea .ToolBar { }
|
||||
div.jHtmlArea .ToolBar ul { border: solid 1px #ccc; margin: 1px; padding: 1px; float: left; background: #fff url(jHtmlArea_Toolbar_Group_BG.png) repeat-x;}
|
||||
div.jHtmlArea .ToolBar ul li { list-style-type: none; float: left; border: none; padding: 1px; margin: 1px; }
|
||||
div.jHtmlArea .ToolBar ul li:hover { border: solid 1px #ccc; background: #ddd url(jHtmlArea_Toolbar_Group__Btn_Select_BG.png); padding: 0; }
|
||||
div.jHtmlArea .ToolBar ul li a { display: block; width: 16px; height: 16px; background: url(jHtmlArea.png) no-repeat -16px -500px; border: none; cursor: pointer; padding: 0px; }
|
||||
div.jHtmlArea .ToolBar ul li a.highlighted { border: solid 1px #aaa; background-color: #bbb; padding: 0; }
|
||||
div.jHtmlArea .ToolBar ul li.separator {height: 16px; margin: 0 2px 0 3px; border-left: 1px solid #ccc;}
|
||||
div.jHtmlArea .ToolBar ul li.separator:hover { padding: 1px; background-color: #fff; border-top:none; border-bottom:none; border-right:none;}
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a:hover { }
|
||||
div.jHtmlArea .ToolBar ul li a.bold { background-position: 0 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.italic { background-position: -16px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.underline { background-position: -32px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.strikethrough { background-position: -48px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.link { background-position: -64px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.unlink { background-position: -80px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.orderedlist { background-position: -96px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.unorderedlist { background-position: -112px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.image { background-position: -128px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.cut { background-position: -144px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.copy { background-position: -160px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.paste { background-position: -176px 0; }
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.html { background-position: -192px 0; opacity:0.6; filter:alpha(opacity=60);}
|
||||
div.jHtmlArea .ToolBar ul li a.html.highlighted { opacity:1.0; filter:alpha(opacity=100);}
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.h1 { background-position: 0 -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h2 { background-position: -16px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h3 { background-position: -32px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h4 { background-position: -48px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h5 { background-position: -64px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h6 { background-position: -80px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.subscript { background-position: -96px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.superscript { background-position: -112px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.indent { background-position: -128px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.outdent { background-position: -144px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.horizontalrule { background-position: -160px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.p { background-position: -176px -16px;}
|
||||
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.justifyleft { background-position: 0 -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.justifycenter { background-position: -16px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.justifyright { background-position: -32px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.increasefontsize { background-position: -48px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.decreasefontsize { background-position: -64px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.forecolor { background-position: -80px -32px;}
|
||||
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 964 B |
|
Before Width: | Height: | Size: 942 B |
|
Before Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 251 B |
|
Before Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 104 B |
|
Before Width: | Height: | Size: 125 B |
|
Before Width: | Height: | Size: 105 B |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 90 B |
|
Before Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,14 @@
|
||||
# This is the data/man level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = fr sv nl pl cs pt_BR
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#locale_dirs = './locale'
|
||||
#gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('en', 'gramps', u'Gramps Documentation',
|
||||
['Gramps project'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -0,0 +1,14 @@
|
||||
# This is the data/man/sv level Makefile for Gramps
|
||||
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/cs
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/cs/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'cs'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('cs', 'gramps', u'Gramps Documentation',
|
||||
[u'.'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,282 +0,0 @@
|
||||
Czech
|
||||
======
|
||||
|
||||
gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
**JMÉNO**
|
||||
gramps - programový systém pro správu genealogického výzkumu a analýzy.
|
||||
|
||||
|
||||
**POUŽITÍ**
|
||||
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
|
||||
[-O|--open= DATABÁZE [-f|--format= FORMÁT]] [-i|--import= SOUBOR
|
||||
[-f|--format= FORMÁT]] [-i|--import= ...] [-e|--export= SOUBOR
|
||||
[-f|--format= FORMÁT]] [-a|--action= AKCE] [-p|--options= PARAMETRY]] [
|
||||
SOUBOR ] [--version]
|
||||
|
||||
|
||||
**POPIS**
|
||||
Gramps je zdarma šířený Open Source genealogický program. Je napsán v
|
||||
jazyce Python s využitím rozhraní GTK+/GNOME. Gramps bude povědomý
|
||||
komukoli, kdo už pracoval s jinými genealogickými programy jako Family
|
||||
Tree Maker (TM), Personal Ancestral Files (TM), nebo GNU Geneweb.
|
||||
Podporuje import dat z populárního formátu GEDCOM, který je celosvětově
|
||||
rozšířen a je využíván téměř všemi ostatními genealogickými programy.
|
||||
|
||||
|
||||
**MOŽNOSTI**
|
||||
**gramps** *SOUBOR*
|
||||
Pokud je zadán SOUBOR (bez dalších parametrů) jako název rodok‐
|
||||
menu nebo jako adresář databáze rodokmenu, je gramps otevřeno v
|
||||
interaktivním módu. Pokud je SOUBOR formátem podporovaným
|
||||
Gramps, je vytvořen rodokmen s názvem založeným na názvu souboru
|
||||
a data ze vstupu jsou do něho naimportována. Zbytek parametrů
|
||||
příkazové řádky je ignorován. Tento způsob spouštění je vhodný
|
||||
pro gramps použitý jako prohlížeč genealogických dat např. pro
|
||||
webové prohlížeče. Spuštění tímto způsobem zpracuje jakákoli
|
||||
data ve formátu podporovaném gramps, viz dále.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMÁT*
|
||||
Explicitně definuje formát SOUBORu předchozího parametru -i,
|
||||
nebo -e. Pokud není parametr -f pro SOUBOR specifikován, bude
|
||||
automaticky použit formát odpovídající koncovce souboru nebo
|
||||
MIME-typu.
|
||||
|
||||
Formáty dostupné pro export jsou gramps-xml (automaticky použit
|
||||
pokud má SOUBOR koncovku .gramps), gedcom (automaticky použit
|
||||
pokud má SOUBOR koncovku .ged), případně jiný další formát dos‐
|
||||
tupný prostřednictvím zásuvných modulů Gramps.
|
||||
|
||||
Formáty dostupné pro import jsou grdb, gramps-xml, gedcom,
|
||||
gramps-pkg (automaticky použit pokud má SOUBOR koncovku .gpkg),
|
||||
nebo geneweb (automaticky použit pokud má SOUBOR koncovku .gw).
|
||||
|
||||
Formáty dostupné pro export jsou gramps-xml, gedcom, gramps-pkg,
|
||||
wft (automaticky použit pokud má SOUBOR koncovku .wft), geneweb,
|
||||
a iso (nikdy není použit automaticky, vždy musí být specifikován
|
||||
parametrem -f).
|
||||
|
||||
|
||||
**-l**
|
||||
Vypíše seznam známých rodokmenů.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Odemkne zamčenou databázi.
|
||||
|
||||
|
||||
**-O** , **--open=** *DATABÁZE*
|
||||
Otevření *DATABÁZE* . Hodnota musí být existujícím databázovým
|
||||
adresářem, nebo názvem existujícího rodokmenu. Pokud na
|
||||
příkazové řádce nejsou žádné parametry importu nebo exportu, je
|
||||
nad danou databází spuštěna interaktivní relace.
|
||||
|
||||
|
||||
**-i** , **--import=** *SOUBOR*
|
||||
Importuje data ze SOUBORu. Pokud není specifikována databáze, je
|
||||
použita dočasná. Ta je po ukončení gramps smazána.
|
||||
|
||||
Pokud je předáván více než jeden vstup, musí každému souboru
|
||||
předcházet parametr -i. Soubory jsou zpracovávány v pořadí, v
|
||||
jakém byly zadány na příkazové řádce. Např. -i SOUBOR1 -i SOU‐
|
||||
BOR2 a -i SOUBOR2 -i SOUBOR1 mohou vytvořit ve výsledné databázi
|
||||
různá gramps ID.
|
||||
|
||||
|
||||
**-a** , **--action=** *AKCE*
|
||||
Provedení AKCE nad importovanými daty. Akce jsou spuštěny poté
|
||||
co jsou všechny importy dat úspěšně ukončeny. V tuto chvíli jsou
|
||||
podporovány následující akce: summary (stejné jako
|
||||
Zprávy->Pohled->Souhrn), check (stejné jako Nástroje->Database
|
||||
Processing->Kontrola a oprava), report (vytvoří zprávu), a tool
|
||||
(spustí nástroj zásuvného modulu). Akce report a tool potřebují
|
||||
v PARAMETRY zadat parametr -p .
|
||||
|
||||
PARAMETRY by měly splňovat následující kritéria:
|
||||
Nesmí obsahovat žádné mezery. Pokud některý argument potřebuje
|
||||
mezeru, musí být řetězec uzavřen v uvozovkách (držet se syntaxe
|
||||
příkazové řádky). Řetězec možností je seznam párů název=hod‐
|
||||
nota. Jednotlivé páry musí být odděleny čárkami.
|
||||
|
||||
Většina možností nástrojů a zpráv jsou specifickými pro
|
||||
konkrétní nástroj nebo zprávu. Existují ale i takové, které
|
||||
jsou společné.
|
||||
|
||||
**name=name**
|
||||
Povinná předvolba určující který nástroj nebo zpráva bude
|
||||
spuštěna. Pokud zadané name neodpovídá žádné dostupné
|
||||
funkčnosti, vypíše se chybové hlášení následované seznamem dos‐
|
||||
tupných nástrojů a zpráv (záleží na AKCE).
|
||||
|
||||
**show=all**
|
||||
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu
|
||||
nebo nástroj.
|
||||
|
||||
**show=optionname**
|
||||
Vypíše popis všech funkcionalit poskytnutých optionname, ale
|
||||
také všechny přijatelné typy a hodnoty pro tuto volbu.
|
||||
|
||||
Použijte výše popsané volby pro zjištění všech možností dané
|
||||
zprávy.
|
||||
|
||||
|
||||
Pokud je zadána jedna nebo více výstupních akcí, každá musí být uvozena
|
||||
předvolbou -a. Akce jsou prováděny jedna za druhou v zadaném pořadí.
|
||||
|
||||
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve
|
||||
zdrojovém kódu.
|
||||
|
||||
**--version**
|
||||
Vytiskne číslo verze gramps a skončí
|
||||
|
||||
|
||||
|
||||
|
||||
**Chování**
|
||||
Pokud první parametr příkazové řádky nezačíná pomlčkou, pokusí se
|
||||
gramps otevřít soubor s názvem daným prvním argumentem na příkazové
|
||||
řádce a spustit interaktivní relaci. Zbytek argumentů na příkazové
|
||||
řádce je v tomto případě ignorován.
|
||||
|
||||
|
||||
Pokud je zadán parametr -O, pak se gramps snaží otevřít zadanou
|
||||
databázi a pracovat s jejími daty podle instrukcí dalších parametrů
|
||||
příkazové řádky.
|
||||
|
||||
|
||||
S nebo bez použití parametru -O může být provedeno více importů,
|
||||
exportů, případně akcí daných argumenty příkazové řádky (-i, -e a -a).
|
||||
|
||||
|
||||
Na pořadí parametrů -i, -e, nebo -a nezáleží. Aktuální pořadí zpra‐
|
||||
cování je vždy: všechny importy (pokud jsou nějaké) -> všechny akce
|
||||
(pokud jsou nějaké) -> všechny exporty (pokud jsou nějaké). Parametr
|
||||
otevření musí být ale vždy první!
|
||||
|
||||
|
||||
Pokud nejsou zadány -O nebo -i, gramps otevře své hlavní okno a spustí
|
||||
se v obvyklém interaktivním módu s prázdnou databází.
|
||||
|
||||
|
||||
Pokud nejsou zadány -e nebo -a, gramps otevře své hlavní okno a spustí
|
||||
se v ovbyklém interaktnivním módu s databází vzniklou výsledkem všech
|
||||
importů. Tato databáze je umístěna v souboru import_db.grdb v adresáři
|
||||
~/.gramps/import.
|
||||
|
||||
|
||||
Chyba vzniklá při importu, exportu nebo akci bude vypsána na stdout
|
||||
(pokud se jedná o vyjímku ošetřenou gramps) nebo na stderr (pokud
|
||||
problém není ošetřen). Pro uložení zpráv a chyb do souboru použijte
|
||||
obvyklá přesměrování výstupů stdout a stderr příkazové řádky.
|
||||
|
||||
|
||||
**PŘÍKLADY**
|
||||
Otevření existujícího rodokmenu a import xml souboru do něho může být
|
||||
proveden takto:
|
||||
|
||||
gramps -O 'Můj rodokmen' -i ~/db3.gramps
|
||||
|
||||
To samé, jen s importem do dočasné databáze a otevřením interaktivní
|
||||
relace:
|
||||
|
||||
gramps -i 'My Family Tree' -i ~/db3.gramps
|
||||
|
||||
Import čtyř databází (jejichž formáty jsou stanoveny podle názvů sou‐
|
||||
borů) a následná kontrola bezchybnosti výsledné databáze může být
|
||||
provedena takto:
|
||||
|
||||
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps -i file4.wft -a
|
||||
check
|
||||
|
||||
Explicitní specifikace formátu databází předchozího příkladu přidáním
|
||||
příslušného parametru -f za název souboru:
|
||||
|
||||
gramps -i file1.ged -f gedcom -i file2.tgz -f gramps-pkg -i
|
||||
~/db3.gramps -f gramps-xml -i file4.wft -f wft -a check
|
||||
|
||||
Zapsání výsledné databáze vytvořené ze všech importů zajistí parametr
|
||||
-e (použijte -f pokud nelze uhodnout formát z názvu souboru):
|
||||
|
||||
gramps -i file1.ged -i file2.tgz -e ~/nový-balíček -f gramps-pkg
|
||||
|
||||
Import tří databází a start interaktivní gramps relace nad výsledkem:
|
||||
|
||||
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps
|
||||
|
||||
Spuštění nástroje kontroly z příkazové řádky s výstupem na stdout:
|
||||
|
||||
gramps -O 'Můj rodokmen' -a tool -p name=verify
|
||||
|
||||
A konečně spuštění normální interaktivní relace aplikace:
|
||||
|
||||
gramps
|
||||
|
||||
|
||||
**PROMĚNNÉ PROSTŘEDÍ**
|
||||
Program kontroluje, zda jsou nastaveny následující proměnné:
|
||||
|
||||
**LANG** - popisuje, který jazyk bude použit: Příklad: pro češtinu musí mít
|
||||
proměnná hodnotu cs_CZ.utf8.
|
||||
|
||||
**GRAMPSHOME** - pokud je nastavena, Gramps použije její hodnotu jako
|
||||
adresář v němž jsou uložena nastavení a databáze. Ve výchozím stavu,
|
||||
kdy proměnná není nastavena gramps předpokládá že adresář s databázemi
|
||||
a nastavením bude vytvořen v adresáři s uživatelským profile (popsán
|
||||
proměnnou prostředí HOME v Linuxu nebo USERPROFILE ve Windows 2000/XP).
|
||||
|
||||
|
||||
**KONCEPTY**
|
||||
gramps podporuje systém zásuvných modulů založených na jazyku python
|
||||
jehož prostřednictvím umožňuje přidání import/export modulů, modulů
|
||||
pro vytváření zpráv, nástrojů a zobrazovacích filtrů bez nutnosti
|
||||
zásahu do hlavního programu.
|
||||
|
||||
Dále, krom možnosti přímého tisku, dovoluje směřovat výstup také k
|
||||
ostatním systémům a aplikacím jako např. OpenOffice.org, AbiWord, HTML,
|
||||
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
|
||||
|
||||
|
||||
**ZNÁMÉ CHYBY A OMEZENÍ**
|
||||
nejsou
|
||||
|
||||
|
||||
**SOUBORY**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**AUTOŘI**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Originální manuálovou stránku vytvořil:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
pro zařazení do systému Debian GNU/Linux.
|
||||
|
||||
Tuto manuálovou stránku přeložil a v současné době spravuje:
|
||||
Zdeněk Hataš <zdenek.hatas@gmail.com>
|
||||
|
||||
|
||||
**DOKUMENTACE**
|
||||
Uživatelská dokumentace je k dispozici prostřednictvím standardního
|
||||
prohlížeče nápovědy GNOME ve formě příručky Gramps. Příručka je také
|
||||
dostupná ve formátu XML jako gramps-manual.xml v adresáři doc/gramps-
|
||||
manual/$LANG v oficiální distribuci zdrojového kódu.
|
||||
|
||||
Dokumentace pro vývojáře je k dispozici na webu
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
|
||||
|
||||
|
||||
Leden 2012 3.4.0 gramps(1)
|
||||
@@ -1,299 +0,0 @@
|
||||
English
|
||||
=======
|
||||
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
||||
|
||||
|
||||
**NAME**
|
||||
gramps - Genealogical Research and Analysis Management Programming Sys‐
|
||||
tem.
|
||||
|
||||
|
||||
**SYNOPSIS**
|
||||
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
|
||||
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *DATABASE*
|
||||
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
|
||||
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
|
||||
[**-e** | **--export=** *FILE* [**-f** | **--format=** *FORMAT*]]
|
||||
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *OPTION‐
|
||||
STRING*]] [*FILE*] [**--version**]
|
||||
|
||||
|
||||
**DESCRIPTION**
|
||||
Gramps is a Free/OpenSource genealogy program. It is written in Python,
|
||||
using the GTK+/GNOME interface. Gramps should seem familiar to anyone
|
||||
who has used other genealogy programs before such as Family Tree Maker
|
||||
(TM), Personal Ancestral Files (TM), or the GNU Geneweb. It supports
|
||||
importing of the ever popular GEDCOM format which is used world wide by
|
||||
almost all other genealogy software.
|
||||
|
||||
|
||||
**OPTIONS**
|
||||
**gramps** *FILE*
|
||||
When *FILE* is given (without any flags) as a family tree name or
|
||||
as a family tree database directory, then it is opened and an
|
||||
interactive session is started. If *FILE* is a file format under‐
|
||||
stood by Gramps, an empty family tree is created whose name is
|
||||
based on the *FILE* name and the data is imported into it. The
|
||||
rest of the options is ignored. This way of launching is suit‐
|
||||
able for using gramps as a handler for genealogical data in e.g.
|
||||
web browsers. This invocation can accept any data format native
|
||||
to gramps, see below.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMAT*
|
||||
Explicitly specify format of *FILE* given by preceding **-i** ,
|
||||
or **-e** option. If the **-f** option is not given for any
|
||||
*FILE* , the format of that file is guessed according to its extension
|
||||
or MIME-type.
|
||||
|
||||
Formats available for export are **gramps-xml** (guessed if *FILE*
|
||||
ends with **.gramps** ), **gedcom** (guessed if *FILE* ends with
|
||||
**.ged** ), or any file export available through the Gramps plugin
|
||||
system.
|
||||
|
||||
Formats available for import are **gramps-xml** , **gedcom** ,
|
||||
**gramps-pkg** (guessed if *FILE* ends with **.gpkg** ),
|
||||
and **geneweb** (guessed if *FILE* ends with **.gw** ).
|
||||
|
||||
Formats available for export are **gramps-xml** , **gedcom** ,
|
||||
**gramps-pkg** , **wft** (guessed if *FILE* ends with **.wft** ),
|
||||
**geneweb**.
|
||||
|
||||
|
||||
**-l**
|
||||
Print a list of known family trees.
|
||||
|
||||
|
||||
**-L**
|
||||
Print a detailed list of known family trees.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Unlock a locked database.
|
||||
|
||||
|
||||
**-O** , **--open=** *DATABASE*
|
||||
Open *DATABASE* which must be an existing database directory or
|
||||
existing family tree name. If no action, import or export
|
||||
options are given on the command line then an interactive ses‐
|
||||
sion is started using that database.
|
||||
|
||||
|
||||
**-i** , **--import=** *FILE*
|
||||
Import data from *FILE* . If you haven't specified a database, then
|
||||
an empty database is created for you called Family Tree x
|
||||
(where x is an incrementing number).
|
||||
|
||||
When more than one input file is given, each has to be preceded
|
||||
by **-i** flag. The files are imported in the specified order, i.e.
|
||||
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
|
||||
might produce different gramps IDs in the resulting database.
|
||||
|
||||
|
||||
**-e** , **--export=** *FILE*
|
||||
Export data into *FILE* . For **gramps-xml** , **gedcom**
|
||||
, **wft** , **gramps-pkg** , and **geneweb** , the *FILE* is the
|
||||
name of the resulting file.
|
||||
|
||||
When more than one output file is given, each has to be preceded
|
||||
by **-e** flag. The files are written one by one, in the specified order.
|
||||
|
||||
|
||||
**-a** , **--action=** *ACTION*
|
||||
Perform *ACTION* on the imported data. This is done after all
|
||||
imports are successfully completed. Currently available actions
|
||||
are **summary** (same as Reports->View->Summary), **check** (same as
|
||||
Tools->Database Processing->Check and Repair), **report** (generates
|
||||
report), and tool (runs a plugin tool). Both **report** and **tool**
|
||||
need the *OPTIONSTRING* supplied by the **-p** flag).
|
||||
|
||||
The *OPTIONSTRING* should satisfy the following conditions:
|
||||
It must not contain any spaces. If some arguments need to
|
||||
include spaces, the string should be enclosed with quotation
|
||||
marks, i.e., follow the shell syntax. Option string is a list
|
||||
of pairs with name and value (separated by the equality sign).
|
||||
The name and value pairs must be separated by commas.
|
||||
|
||||
Most of the report or tools options are specific for each report
|
||||
or tool. However, there are some common options.
|
||||
|
||||
**name=name**
|
||||
This mandatory option determines which report or tool will be
|
||||
run. If the supplied name does not correspond to any available
|
||||
report or tool, an error message will be printed followed by the
|
||||
list of available reports or tools (depending on the *ACTION* ).
|
||||
|
||||
**show=all**
|
||||
This will produce the list of names for all options available
|
||||
for a given report or tool.
|
||||
|
||||
**show=optionname**
|
||||
This will print the description of the functionality supplied by
|
||||
*optionname*, as well as what are the acceptable types and values
|
||||
for this option.
|
||||
|
||||
Use the above options to find out everything about a given
|
||||
report.
|
||||
|
||||
|
||||
When more than one output action is given, each has to be preceded by
|
||||
**-a** flag. The actions are performed one by one, in the specified order.
|
||||
|
||||
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Enables debug logs for development and testing. Look at the
|
||||
source code for details
|
||||
|
||||
**--version**
|
||||
Prints the version number of gramps and then exits
|
||||
|
||||
|
||||
|
||||
|
||||
**Operation**
|
||||
If the first argument on the command line does not start with dash
|
||||
(i.e. no flag), gramps will attempt to open the file with the name
|
||||
given by the first argument and start interactive session, ignoring the
|
||||
rest of the command line arguments.
|
||||
|
||||
|
||||
If the **-O** flag is given, then gramps will try opening the supplied
|
||||
database and then work with that data, as instructed by the further
|
||||
command line parameters.
|
||||
|
||||
|
||||
With or without the **-O** flag, there could be multiple imports, exports,
|
||||
and actions specified further on the command line by using **-i** ,
|
||||
**-e** , and **-a** flags.
|
||||
|
||||
|
||||
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
|
||||
always is: all imports (if any) -> all actions (if any) -> all exports
|
||||
(if any). But opening must always be first!
|
||||
|
||||
|
||||
If no **-O** or **-i** option is given, gramps will launch its main window and
|
||||
start the usual interactive session with the empty database, since
|
||||
there is no data to process, anyway.
|
||||
|
||||
|
||||
If no **-e** or **-a** options are given, gramps will launch its main window
|
||||
and start the usual interactive session with the database resulted from
|
||||
all imports. This database resides in the **import_db.grdb** under
|
||||
**~/.gramps/import** directory.
|
||||
|
||||
|
||||
The error encountered during import, export, or action, will be either
|
||||
dumped to stdout (if these are exceptions handled by gramps) or to
|
||||
*stderr* (if these are not handled). Use usual shell redirections of
|
||||
*stdout* and *stderr* to save messages and errors in files.
|
||||
|
||||
|
||||
**EXAMPLES**
|
||||
To open an existing family tree and import an xml file into it, one
|
||||
may type:
|
||||
|
||||
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
|
||||
|
||||
The above changes the opened family tree, to do the same, but import
|
||||
both in a temporary family tree and start an interactive session, one
|
||||
may type:
|
||||
|
||||
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
|
||||
|
||||
To import four databases (whose formats can be determined from their
|
||||
names) and then check the resulting database for errors, one may type:
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
**-i** *file4.wft* **-a** *check*
|
||||
|
||||
To explicitly specify the formats in the above example, append file‐
|
||||
names with appropriate **-f** options:
|
||||
|
||||
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
|
||||
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
|
||||
**-f** *wft* **-a** *check*
|
||||
|
||||
To record the database resulting from all imports, supply **-e** flag (use
|
||||
**-f** if the filename does not allow gramps to guess the format):
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
|
||||
**-f** *gramps-pkg*
|
||||
|
||||
To import three databases and start interactive gramps session with the
|
||||
result:
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
|
||||
To run the Verify tool from the commandline and output the result to
|
||||
stdout:
|
||||
|
||||
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
|
||||
|
||||
Finally, to start normal interactive session type:
|
||||
|
||||
**gramps**
|
||||
|
||||
|
||||
**ENVIRONMENT VARIABLES**
|
||||
The program checks whether these environment variables are set:
|
||||
|
||||
**LANG** - describe, which language to use: Ex.: for polish language this
|
||||
variable has to be set to pl_PL.UTF-8.
|
||||
|
||||
**GRAMPSHOME** - if set, force Gramps to use the specified directory to
|
||||
keep program settings and databases there. By default, this variable is
|
||||
not set and gramps assumes that the folder with all databases and pro‐
|
||||
file settings should be created within the user profile folder
|
||||
(described by environment variable HOME for Linux or USERPROFILE for
|
||||
Windows 2000/XP).
|
||||
|
||||
|
||||
**CONCEPTS**
|
||||
Supports a python-based plugin system, allowing import and export writ‐
|
||||
ers, report generators, tools, and display filters to be added without
|
||||
modification of the main program.
|
||||
|
||||
In addition to generating direct printer output, report generators also
|
||||
target other systems, such as *LibreOffice.org* , *AbiWord* , *HTML*,
|
||||
or *LaTeX* to allow the users to modify the format to suit their needs.
|
||||
|
||||
|
||||
**KNOWN BUGS AND LIMITATIONS**
|
||||
|
||||
**FILES**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**AUTHORS**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
This man page was originally written by:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
for inclusion in the Debian GNU/Linux system.
|
||||
|
||||
This man page is currently maintained by:
|
||||
Gramps project <xxx@gramps-project.org>
|
||||
|
||||
|
||||
**DOCUMENTATION**
|
||||
The user documentation is available through standard web browser
|
||||
in the form of Gramps Manual.
|
||||
|
||||
The developer documentation can be found on the
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
portal.
|
||||
|
||||
|
||||
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
@@ -0,0 +1,14 @@
|
||||
# This is the data/man/fr level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/fr
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/fr/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'fr'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%d %B %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('fr', 'gramps', u'Gramps Documentation',
|
||||
['Jerome Rapinat'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,300 +0,0 @@
|
||||
French
|
||||
=======
|
||||
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
||||
|
||||
**NOM**
|
||||
gramps - Gramps est une application de généalogie. Gramps est
|
||||
l'acronyme de Genealogical Research and Analysis Management Programming
|
||||
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
|
||||
données généalogiques)
|
||||
|
||||
|
||||
**SYNOPSIS**
|
||||
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
|
||||
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *BASE_DE_DONNEES*
|
||||
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
|
||||
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
|
||||
[**-e** | **--export=** *FICHIER* [**-f** | **--format=** *FORMAT*]]
|
||||
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *CHAÎNE‐
|
||||
OPTION*]] [*FICHIER*] [**--version**]
|
||||
|
||||
|
||||
**DESCRIPTION**
|
||||
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
|
||||
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
|
||||
d'autres programmes de généalogie tel que Family Tree Maker (FTM),
|
||||
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
|
||||
importer/exporter le format le plus utilisé par les autres logiciels de
|
||||
généalogie : GEDCOM.
|
||||
|
||||
|
||||
**OPTIONS**
|
||||
**gramps** *FICHIER*
|
||||
Si *FICHIER* est désigné (sans autres commandes) comme arbre
|
||||
familial ou comme répertoire d'arbre familial, alors une session
|
||||
interactive est ouverte. Si *FICHIER* est un format de fichier
|
||||
supporté par Gramps, une base vide est créée dont le nom est
|
||||
celui du *FICHIER* et les données y seront importées. Les autres
|
||||
options sont ignorées. Ce type de lancement permet d'utiliser
|
||||
gramps pour manipuler des données comme dans un navigateur web.
|
||||
Les formats natifs de gramps sont acceptés, voir ci-dessous.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMAT*
|
||||
Le format spécifique du *FICHIER* est précédé par les arguments
|
||||
**-i** , ou **-e** . Si l'option **-f** n'est pas donnée pour le *FICHIER* ,
|
||||
alors le format sera celui de l'extension ou du type-MIME.
|
||||
|
||||
Les formats de sortie disponibles sont **gramps-xml** (deviné si
|
||||
*FICHIER* se termine par **.gramps** ), et **gedcom** (deviné si *FICHIER* se
|
||||
termine par **.ged** ), ou tout autre fichier d'exportation
|
||||
disponible dans le système de plugin Gramps.
|
||||
|
||||
Les formats disponibles pour l'importation sont **grdb** ,
|
||||
**gramps-xml** , **gedcom** , **gramps-pkg** (deviné si *FICHIER* se termine par
|
||||
**.gpkg** ), et **geneweb** (deviné si *FICHIER* se termine par **.gw** ).
|
||||
|
||||
Les formats disponibles pour l'exportation sont **gramps-xml** , **ged‐
|
||||
com** , **gramps-pkg** , **wft** (deviné si *FICHIER* se termine par **.wft** ),
|
||||
**geneweb** .
|
||||
|
||||
|
||||
**-l**
|
||||
Imprime une liste des arbres familiaux disponibles.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Débloquer une base de données verrouillée.
|
||||
|
||||
|
||||
**-O** , **--open=** *BASE_DE_DONNEES*
|
||||
Ouvrir une *BASE_DE_DONNEES* qui doit être une base présente dans
|
||||
le répertoire des bases ou le nom d'un arbre familial existant.
|
||||
Si aucune action n'est définie, les options d'import ou d'export
|
||||
sont données par la ligne de commande puis une session interactive
|
||||
est ouverte, utilisant cette base de données.
|
||||
|
||||
Seulement une base peut être ouverte. Si vous utilisez plusieurs
|
||||
sources, vous devez utiliser l'option d'import.
|
||||
|
||||
|
||||
**-i** , **--import=** *FICHIER*
|
||||
Importer des données depuis un *FICHIER* . Si vous n'avez pas
|
||||
spécifié de base de données, alors une base de données vide
|
||||
est utilisée.
|
||||
|
||||
Quand plus d'un fichier doit être importé, chacun doit être
|
||||
précédé par la commande **-i** . Ces fichiers sont importés dans le
|
||||
même ordre, **-i** *FICHIER1* **-i** *FICHIER2* et **-i** *FICHIER2* **-i**
|
||||
*FICHIER1* vont tous les deux produire différents IDs gramps.
|
||||
|
||||
|
||||
**-e** , **--export=** *FICHIER*
|
||||
Exporter des données dans un *FICHIER* . Pour les fichiers **gramps-xml**
|
||||
, **gedcom** , **wft** , **gramps-pkg** , et **geneweb** , le
|
||||
*FICHIER* est le nom du fichier de sortie.
|
||||
|
||||
Quand plus d'un fichier doit être exporté, chacun doit être
|
||||
précédé par la commande **-e** . Ces fichiers sont importés dans le
|
||||
même ordre.
|
||||
|
||||
|
||||
**-a** , **--action=** *ACTION*
|
||||
Accomplir une *ACTION* sur les données importées. C'est effectué à
|
||||
la fin de l'importation. Les actions possibles sont **summary**
|
||||
(comme le rapport -> Afficher -> Statistiques sur la base),
|
||||
**check** (comme l'outil -> Réparation de la base -> Vérifier et
|
||||
réparer), **report** (produit un rapport) et **tool** (utilise un
|
||||
outil), ces derniers ont besoin de *OPTION* précédé par la commande -p.
|
||||
|
||||
L' *OPTION* doit satisfaire ces conditions:
|
||||
Il ne doit pas y avoir d'espace. Si certains arguments doivent
|
||||
utiliser des espaces, la chaîne doit être encadrée par des
|
||||
guillemets. Les options vont par paire nom et valeur. Une
|
||||
paire est séparée par un signe égal. Différentes paires sont
|
||||
séparées par une virgule.
|
||||
|
||||
La plupart des options sont spécifiques à chaque rapport. Même
|
||||
s'il existe des options communes.
|
||||
|
||||
**name=name**
|
||||
Cette option est obligatoire, elle détermine quel rapport ou
|
||||
outil sera utilisé. Si le name saisi ne correspond à aucun
|
||||
module disponible, un message d'erreur sera ajouté.
|
||||
|
||||
**show=all**
|
||||
Cette option produit une liste avec les noms des options
|
||||
disponibles pour un rapport donné.
|
||||
|
||||
**show=optionname**
|
||||
Cette option affiche une description de toutes les fonctionnalités
|
||||
proposées par optionname, aussi bien les types que les valeurs pour une option.
|
||||
|
||||
Utiliser les options ci-dessus pour trouver tout sur un rapport
|
||||
choisi.
|
||||
|
||||
|
||||
Quand plus d'une action doit être effectuée, chacune doit être précédée
|
||||
par la commande **-a** . Les actions seront réalisées une à une, dans
|
||||
l'ordre spécifié.
|
||||
|
||||
|
||||
**-d** , **--debug=** *NOM_LOGGER*
|
||||
Permet les logs de debug pour le développement et les tests.
|
||||
Regarder le code source pour les détails.
|
||||
|
||||
**--version**
|
||||
Imprime le numéro de version pour gramps puis quitte.
|
||||
|
||||
|
||||
|
||||
|
||||
**Opération**
|
||||
Si le premie argument de la ligne de commande ne commence pas par un
|
||||
tiret (i.e. pas d'instruction), gramps va essayer d'ouvrir la base de
|
||||
données avec le nom donné par le premier argument et démarrer une ses‐
|
||||
sion interactive, en ignorant le reste de la ligne de commande.
|
||||
|
||||
|
||||
Si la commande **-O** est notée, alors gramps va essayer le fichier défini
|
||||
et va travailler avec ses données, comme pour les autres paramètres de
|
||||
la ligne de commande.
|
||||
|
||||
|
||||
Avec ou sans la commande **-O** , il peut y avoir plusieurs imports,
|
||||
exports, et actions dans la ligne de commande **-i** , **-e** , et **-a** .
|
||||
|
||||
|
||||
L'ordre des options **-i** , **-e** , ou **-a** n'a pas de sens. L'ordre actuel est
|
||||
toujours : imports -> actions -> exports. Mais l'ouverture doit toujours
|
||||
être la première !
|
||||
|
||||
|
||||
Si aucune option **-O** ou **-i** n'est donnée, gramps lancera sa propre
|
||||
fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
|
||||
|
||||
|
||||
Si aucune option **-e** ou **-a** n'est donnée, gramps lancera sa propre
|
||||
fenêtre et démarrera avec la base de données issue de tout les imports.
|
||||
Cette base sera **import_db.grdb** dans le répertoire **~/.gramps/import**.
|
||||
|
||||
|
||||
Les erreurs rencontrées lors d'importation, d'exportation, ou d'action, seront
|
||||
mémorisées en *stdout* (si elles sont le fait de la manipulation par
|
||||
gramps) ou en *stderr* (si elles ne sont pas le fait d'une manipulation).
|
||||
Utilisez les shell de redirection de *stdout* et *stderr* pour sauver
|
||||
les messages et les erreurs dans les fichiers.
|
||||
|
||||
|
||||
**EXEMPLES**
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
saisir:
|
||||
|
||||
**gramps -O** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
|
||||
|
||||
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
|
||||
dans un arbre familial temporaire et démarrer une session interactive,
|
||||
on peut saisir :
|
||||
|
||||
**gramps -i** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
|
||||
|
||||
Lecture de quatre bases de données dont les formats peuvent être
|
||||
devinés d'après les noms, puis vérification des données:
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
**-i** *file4.wft* **-a** *check*
|
||||
|
||||
Si vous voulez préciser lesformats de fichiers dans l'exemple ci-
|
||||
dessus, complétez les noms de fichiers par les options -f appropriées:
|
||||
|
||||
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
|
||||
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
|
||||
**-f** *wft* **-a** *check*
|
||||
|
||||
Pour enregistrer le résultat des lectures, donnez l'option **-e**
|
||||
(utiliser -f si le nom de fichier ne permet pas à gramps de deviner le
|
||||
format):
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
|
||||
**-f** *gramps-pkg*
|
||||
|
||||
Pour lire trois ensembles de données puis lancer une session
|
||||
interactive de gramps sur le tout :
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
|
||||
Pour lancer l'outil de vérification de la base de données depuis la
|
||||
ligne de commande et obtenir le résultat :
|
||||
|
||||
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
|
||||
|
||||
Enfin, pour lancer une session interactive normale, entrer :
|
||||
|
||||
**gramps**
|
||||
|
||||
|
||||
**VARIABLES D'ENVIRONMENT**
|
||||
Le programme vérifie si ces variables d'environnement sont déclarées:
|
||||
|
||||
**LANG** - décrit, quelle langue est utilisée: Ex.: pour le français on
|
||||
peut définir fr_FR.UTF-8.
|
||||
|
||||
**GRAMPSHOME** - si défini, force Gramps à utiliser un répertoire
|
||||
spécifique pour y conserver ses préférences et bases de données. Par
|
||||
défaut, cette variable n'est pas active et Gramps sait que les options
|
||||
et bases de données doivent être créées dans le répertoire par défaut
|
||||
de l'utilisateur (la variable d'environnement HOME pour Linux ou USER‐
|
||||
PROFILE pour Windows 2000/XP).
|
||||
|
||||
|
||||
**CONCEPTS**
|
||||
Gramps est un système basé sur le support de plugin-python, permettant
|
||||
d'importer et d'exporter, la saisie, générer des rapports, des outils,
|
||||
et afficher des filtres pouvant être ajoutés sans modifier le programme.
|
||||
|
||||
Par ailleurs, gramps permet la génération directe : impression, rap‐
|
||||
ports avec sortie vers d'autres formats, comme *LibreOffice.org* ,
|
||||
*HTML* , ou *LaTeX* pour permettre à l'utilisateur de choisir selon ses
|
||||
besoins
|
||||
|
||||
|
||||
**BUGS CONNUS ET LIMITATIONS**
|
||||
|
||||
**FICHIERS**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**AUTEURS**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Cette page man a d'abord été écrite par :
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
pour Debian GNU/Linux système.
|
||||
|
||||
Cette page man est maintenue par :
|
||||
Gramps project <xxx@gramps-project.org>
|
||||
|
||||
La traduction française :
|
||||
Jérôme Rapinat <romjerome@yahoo.fr>
|
||||
|
||||
|
||||
**DOCUMENTATION**
|
||||
La documentation-utilisateur est disponible par un navigateur
|
||||
standard sous la forme du manuel Gramps.
|
||||
|
||||
La documentation pour développeur est disponible sur le site
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
|
||||
|
||||
|
||||
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
@@ -1,343 +1,290 @@
|
||||
.TH "GRAMPS" "1" "09 March 2015" "4.2" "Gramps"
|
||||
.SH NAME
|
||||
gramps \- Gramps Documentation
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
.TH gramps 1 "@VERSION@" "Mars 2009" "@VERSION@"
|
||||
.SH NOM
|
||||
gramps \- Gramps est une application de généalogie. Gramps est l'acronyme de Genealogical Research and Analysis Management Programming System (Systeme de Programmation pour Recherche, Analyse et Gestion de données généalogiques)
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B gramps
|
||||
.RB [ \-?|\-\^\-help ]
|
||||
.RB [ \-\^\-usage ]
|
||||
.RB [ \-\^\-version ]
|
||||
.RB [ \-l]
|
||||
.RB [ \-u|\-\^\-force-unlock ]
|
||||
.RB [ \-O|\-\^\-open=
|
||||
.IR BASE_DE_DONNEES
|
||||
.RB [ \-f|\-\^\-format=
|
||||
.IR FORMAT ]]
|
||||
.RB [ \-i|\-\^\-import=
|
||||
.IR FICHIER
|
||||
.RB [ \-f|\-\^\-format=
|
||||
.IR FORMAT ]]
|
||||
.RB [ \-i|\-\^\-import=
|
||||
.IR ... ]
|
||||
.RB [ \-e|\-\^\-export=
|
||||
.IR FICHIER
|
||||
.RB [ \-f|\-\^\-format=
|
||||
.IR FORMAT ]]
|
||||
.RB [ \-a|\-\^\-action=
|
||||
.IR ACTION ]
|
||||
.RB [ \-p|\-\^\-options=
|
||||
.IR OPTION ]]
|
||||
.RB [
|
||||
.IR FICHIER
|
||||
.RB ]
|
||||
.if 0 .RB [ bonobo\ options ]
|
||||
.if 0 .RB [ sound\ options ]
|
||||
.RB [ \-\-version ]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
\fIGramps\fP est un programme Libre/OpenSource de généalogie. Il est écrit en python,
|
||||
et utilise une interface GTK+/GNOME.
|
||||
Gramps est semblable à d'autres programmes de généalogie tel que \fIFamily Tree Maker (FTM)\fR, \fIPersonal Ancestral
|
||||
Files\fR, ou le programme GNU Geneweb.
|
||||
Il peut importer/exporter le format le plus utilisé par les autres logiciels de généalogie : GEDCOM.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BI gramps " FICHIER"
|
||||
Si \fIFICHIER\fR est désigné (sans autres commandes) comme arbre familial ou comme répertoire d'arbre familial, alors une session interactive est ouverte. Si FICHIER est un format de fichier supporté par Gramps, une base vide est créée dont le nom est celui du \fIFICHIER\fP et les données y seront importées. Les autres options sont ignorées. Ce type de lancement permet d'utiliser gramps pour manipuler des données comme dans un navigateur web. Les formats natifs de gramps sont acceptés, voir ci-dessous.
|
||||
.br
|
||||
|
||||
.TP
|
||||
.BI \-f,\-\^\-format= " FORMAT"
|
||||
Le format spécifique du \fIFICHIER\fR est précédé par les arguments
|
||||
.ig
|
||||
\fB\-O\fR,
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
\fB\-i\fR, ou
|
||||
\fB\-e\fR. Si l'option \fB\-f\fR n'est pas donnée pour le \fIFICHIER\fR, alors le format sera celui de l'extension ou du type-MIME.
|
||||
.br
|
||||
|
||||
Les formats de sortie disponibles sont \fBgramps\-xml\fR (deviné si \fIFICHIER\fR se termine par
|
||||
\fB.gramps\fR), et \fBgedcom\fR (deviné si \fIFICHIER\fR se termine par \fB.ged\fR), ou
|
||||
tout autre fichier d'exportation disponible dans le système de plugin Gramps.
|
||||
.br
|
||||
|
||||
Les formats disponibles pour l'importation sont \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
|
||||
\fBgramps\-pkg\fR (deviné si \fIFICHIER\fR se termine par \fB.gpkg\fR), et
|
||||
\fBgeneweb\fR (deviné si \fIFICHIER\fR se termine par \fB.gw\fR).
|
||||
.br
|
||||
|
||||
Les formats disponibles pour l'exportation sont
|
||||
.ig
|
||||
\fBgrdb\fR,
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.\" Man page generated from reStructeredText.
|
||||
.
|
||||
.sp
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \fBNOM\fP
|
||||
gramps \- Gramps est une application de généalogie. Gramps est
|
||||
l\(aqacronyme de Genealogical Research and Analysis Management Programming
|
||||
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
|
||||
données généalogiques)
|
||||
.TP
|
||||
.B \fBSYNOPSIS\fP
|
||||
\fBgramps\fP [\fB\-?\fP | \fB\-\-help\fP] [\fB\-\-usage\fP] [\fB\-\-version\fP]
|
||||
[\fB\-l\fP] [\fB\-L\fP] [\fB\-u\fP | \fB\-\-force\-unlock\fP] [\fB\-O\fP | \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
|
||||
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fIFILE\fP
|
||||
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fI...\fP]
|
||||
[\fB\-e\fP | \fB\-\-export=\fP \fIFICHIER\fP [\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]]
|
||||
[\fB\-a\fP | \fB\-\-action=\fP \fIACTION\fP] [\fI\-p\fP | \fB\-\-options=\fP \fICHAÎNE‐
|
||||
OPTION\fP]] [\fIFICHIER\fP] [\fB\-\-version\fP]
|
||||
.TP
|
||||
.B \fBDESCRIPTION\fP
|
||||
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
|
||||
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
|
||||
d\(aqautres programmes de généalogie tel que Family Tree Maker (FTM),
|
||||
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
|
||||
importer/exporter le format le plus utilisé par les autres logiciels de
|
||||
généalogie : GEDCOM.
|
||||
.TP
|
||||
.B \fBOPTIONS\fP
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \fBgramps\fP \fIFICHIER\fP
|
||||
Si \fIFICHIER\fP est désigné (sans autres commandes) comme arbre
|
||||
familial ou comme répertoire d\(aqarbre familial, alors une session
|
||||
interactive est ouverte. Si \fIFICHIER\fP est un format de fichier
|
||||
supporté par Gramps, une base vide est créée dont le nom est
|
||||
celui du \fIFICHIER\fP et les données y seront importées. Les autres
|
||||
options sont ignorées. Ce type de lancement permet d\(aqutiliser
|
||||
gramps pour manipuler des données comme dans un navigateur web.
|
||||
Les formats natifs de gramps sont acceptés, voir ci\-dessous.
|
||||
.TP
|
||||
.B \fB\-f\fP , \fB\-\-format=\fP \fIFORMAT\fP
|
||||
Le format spécifique du \fIFICHIER\fP est précédé par les arguments
|
||||
\fB\-i\fP , ou \fB\-e\fP . Si l\(aqoption \fB\-f\fP n\(aqest pas donnée pour le \fIFICHIER\fP ,
|
||||
alors le format sera celui de l\(aqextension ou du type\-MIME.
|
||||
.sp
|
||||
Les formats de sortie disponibles sont \fBgramps\-xml\fP (deviné si
|
||||
\fIFICHIER\fP se termine par \fB.gramps\fP ), et \fBgedcom\fP (deviné si \fIFICHIER\fP se
|
||||
termine par \fB.ged\fP ), ou tout autre fichier d\(aqexportation
|
||||
disponible dans le système de plugin Gramps.
|
||||
.sp
|
||||
Les formats disponibles pour l\(aqimportation sont \fBgrdb\fP ,
|
||||
\fBgramps\-xml\fP , \fBgedcom\fP , \fBgramps\-pkg\fP (deviné si \fIFICHIER\fP se termine par
|
||||
\fB.gpkg\fP ), et \fBgeneweb\fP (deviné si \fIFICHIER\fP se termine par \fB.gw\fP ).
|
||||
.sp
|
||||
Les formats disponibles pour l\(aqexportation sont \fBgramps\-xml\fP , \fBged‐
|
||||
com\fP , \fBgramps\-pkg\fP , \fBwft\fP (deviné si \fIFICHIER\fP se termine par \fB.wft\fP ),
|
||||
\fBgeneweb\fP .
|
||||
.TP
|
||||
.B \fB\-l\fP
|
||||
\fBgramps\-xml\fR, \fBgedcom\fR,
|
||||
\fBgramps\-pkg\fR, \fBwft\fR (deviné si \fIFICHIER\fR se termine par \fB.wft\fR),
|
||||
\fBgeneweb\fR, et \fBiso\fR (jamais deviné, toujours spécifié avec l'option
|
||||
\fB\-f\fR).
|
||||
|
||||
.TP
|
||||
.BI \-l
|
||||
Imprime une liste des arbres familiaux disponibles.
|
||||
|
||||
.TP
|
||||
.B \fB\-u\fP , \fB\-\-force\-unlock\fP
|
||||
.BI \-u,\-\^\-force-unlock
|
||||
Débloquer une base de données verrouillée.
|
||||
|
||||
.TP
|
||||
.BI \-O,\-\^\-open= " BASE_DE_DONNEES"
|
||||
Ouvrir une \fIBASE_DE_DONNEES\fR qui doit être une base présente dans le répertoire des bases ou le nom d'un arbre familial existant.
|
||||
Si aucune action n'est définie, les options d'import ou d'export sont données par la ligne de commande puis une session interactive est ouverte, utilisant cette base de données.
|
||||
.br
|
||||
|
||||
Seulement une base peut être ouverte. Si vous utilisez plusieurs sources, vous devez utiliser l'option d'import.
|
||||
|
||||
.TP
|
||||
.BI \-i,\-\^\-import= " FICHIER"
|
||||
Importer des données depuis un \fIFICHIER\fR. Si vous n'avez pas spécifié de base de données alors une base de données temporaire est utilisée; elle sera effacée quand vous quitterez gramps.
|
||||
.br
|
||||
|
||||
Quand plus d'un fichier doit être importé, chacun doit être précédé par la commande \fB\-i\fR. Ces fichiers sont importés dans le même ordre,
|
||||
i.e. \fB\-i\fR \fIFICHIER1\fR \fB\-i\fR \fIFICHIER2\fR
|
||||
et \fB\-i\fR \fIFICHIER2\fR \fB\-i\fR \fIFICHIER1\fR vont tous les deux produire différents IDs gramps.
|
||||
|
||||
.TP
|
||||
.BI \-e,\-\^\-export= " FICHIER"
|
||||
Exporter des données dans un \fIFICHIER\fR. Pour le format \fBiso\fR, le \fIFICHIER\fR est le nom du répertoire dans lequel la base de données gramps est écrite.
|
||||
Pour
|
||||
.ig
|
||||
\fBgrdb\fR,
|
||||
..
|
||||
\fBgramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBgramps\-pkg\fR,
|
||||
et \fBgeneweb\fR, le \fIFICHIER\fR est le nom du fichier de sortie
|
||||
.br
|
||||
|
||||
Quand plus d'un fichier doit être exporté, chacun doit être précédé par la commande \fB\-e\fR. Ces fichiers sont importés dans le même ordre.
|
||||
|
||||
.TP
|
||||
.BI \-a,\-\^\-action= " ACTION"
|
||||
Accomplir une \fIACTION\fR sur les données importées. C'est effectué à la fin de l'importation. Les actions possibles sont \fBsummary\fR
|
||||
(comme le rapport -> Afficher -> Statistiques sur la base), \fBcheck\fR (comme l'outil -> Réparation de la base -> Vérifier et réparer), \fBreport\fR (produit un rapport) et
|
||||
\fBtool\fR (utilise un outil), ces derniers ont besoin
|
||||
de \fIOPTION\fR précédé par la commande \fB\-p\fR.
|
||||
.br
|
||||
|
||||
L'\fIOPTION\fR doit satisfaire ces conditions:
|
||||
.br
|
||||
Il ne doit pas y avoir d'espace.
|
||||
Si certains arguments doivent utiliser des espaces, la chaîne doit être encadrée par des guillemets.
|
||||
Les options vont par paire nom et valeur.
|
||||
Une paire est séparée par un signe égal.
|
||||
Différentes paires sont séparées par une virgule.
|
||||
.br
|
||||
|
||||
La plupart des options sont spécifiques à chaque rapport. Même s'il existe des options communes.
|
||||
|
||||
.BI "name=name"
|
||||
.br
|
||||
Cette option est obligatoire, elle détermine quel rapport ou outil sera utilisé. Si le \fIname\fR saisi ne correspond à aucun module disponible, un message d'erreur sera ajouté.
|
||||
|
||||
.BI "show=all"
|
||||
.br
|
||||
Cette option produit une liste avec les noms des options disponibles pour un rapport donné.
|
||||
|
||||
.BI "show="optionname
|
||||
.br
|
||||
Cette option affiche une description de toutes les fonctionnalités proposées par \fIoptionname\fR, aussi bien les types que les valeurs pour une option.
|
||||
|
||||
.br
|
||||
Utiliser les options ci-dessus pour trouver tout sur un rapport choisi.
|
||||
|
||||
.LP
|
||||
Quand plus d'une action doit être effectuée, chacune doit être précédée par la commande \fB\-a\fR. Les actions seront réalisées une à une, dans l'ordre spécifié.
|
||||
|
||||
.TP
|
||||
.BI \-d,\-\^\-debug= " NOM_LOGGER"
|
||||
Permet les logs de debug pour le développement et les tests. Regarder le code source pour les détails.
|
||||
.TP
|
||||
.B \fB\-O\fP , \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
|
||||
Ouvrir une \fIBASE_DE_DONNEES\fP qui doit être une base présente dans
|
||||
le répertoire des bases ou le nom d\(aqun arbre familial existant.
|
||||
Si aucune action n\(aqest définie, les options d\(aqimport ou d\(aqexport
|
||||
sont données par la ligne de commande puis une session interactive
|
||||
est ouverte, utilisant cette base de données.
|
||||
.sp
|
||||
Seulement une base peut être ouverte. Si vous utilisez plusieurs
|
||||
sources, vous devez utiliser l\(aqoption d\(aqimport.
|
||||
.TP
|
||||
.B \fB\-i\fP , \fB\-\-import=\fP \fIFICHIER\fP
|
||||
Importer des données depuis un \fIFICHIER\fP . Si vous n\(aqavez pas
|
||||
spécifié de base de données, alors une base de données vide
|
||||
est utilisée.
|
||||
.sp
|
||||
Quand plus d\(aqun fichier doit être importé, chacun doit être
|
||||
précédé par la commande \fB\-i\fP . Ces fichiers sont importés dans le
|
||||
même ordre, \fB\-i\fP \fIFICHIER1\fP \fB\-i\fP \fIFICHIER2\fP et \fB\-i\fP \fIFICHIER2\fP \fB\-i\fP
|
||||
\fIFICHIER1\fP vont tous les deux produire différents IDs gramps.
|
||||
.TP
|
||||
.B \fB\-e\fP , \fB\-\-export=\fP \fIFICHIER\fP
|
||||
Exporter des données dans un \fIFICHIER\fP . Pour les fichiers \fBgramps\-xml\fP
|
||||
, \fBgedcom\fP , \fBwft\fP , \fBgramps\-pkg\fP , et \fBgeneweb\fP , le
|
||||
\fIFICHIER\fP est le nom du fichier de sortie.
|
||||
.sp
|
||||
Quand plus d\(aqun fichier doit être exporté, chacun doit être
|
||||
précédé par la commande \fB\-e\fP . Ces fichiers sont importés dans le
|
||||
même ordre.
|
||||
.TP
|
||||
.B \fB\-a\fP , \fB\-\-action=\fP \fIACTION\fP
|
||||
Accomplir une \fIACTION\fP sur les données importées. C\(aqest effectué à
|
||||
la fin de l\(aqimportation. Les actions possibles sont \fBsummary\fP
|
||||
(comme le rapport \-> Afficher \-> Statistiques sur la base),
|
||||
\fBcheck\fP (comme l\(aqoutil \-> Réparation de la base \-> Vérifier et
|
||||
réparer), \fBreport\fP (produit un rapport) et \fBtool\fP (utilise un
|
||||
outil), ces derniers ont besoin de \fIOPTION\fP précédé par la commande \-p.
|
||||
.sp
|
||||
L\(aq \fIOPTION\fP doit satisfaire ces conditions:
|
||||
Il ne doit pas y avoir d\(aqespace. Si certains arguments doivent
|
||||
utiliser des espaces, la chaîne doit être encadrée par des
|
||||
guillemets. Les options vont par paire nom et valeur. Une
|
||||
paire est séparée par un signe égal. Différentes paires sont
|
||||
séparées par une virgule.
|
||||
.sp
|
||||
La plupart des options sont spécifiques à chaque rapport. Même
|
||||
s\(aqil existe des options communes.
|
||||
.sp
|
||||
\fBname=name\fP
|
||||
Cette option est obligatoire, elle détermine quel rapport ou
|
||||
outil sera utilisé. Si le name saisi ne correspond à aucun
|
||||
module disponible, un message d\(aqerreur sera ajouté.
|
||||
.sp
|
||||
\fBshow=all\fP
|
||||
Cette option produit une liste avec les noms des options
|
||||
disponibles pour un rapport donné.
|
||||
.sp
|
||||
\fBshow=optionname\fP
|
||||
Cette option affiche une description de toutes les fonctionnalités
|
||||
proposées par optionname, aussi bien les types que les valeurs pour une option.
|
||||
.sp
|
||||
Utiliser les options ci\-dessus pour trouver tout sur un rapport
|
||||
choisi.
|
||||
.UNINDENT
|
||||
.sp
|
||||
Quand plus d\(aqune action doit être effectuée, chacune doit être précédée
|
||||
par la commande \fB\-a\fP . Les actions seront réalisées une à une, dans
|
||||
l\(aqordre spécifié.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \fB\-d\fP , \fB\-\-debug=\fP \fINOM_LOGGER\fP
|
||||
Permet les logs de debug pour le développement et les tests.
|
||||
Regarder le code source pour les détails.
|
||||
.TP
|
||||
.B \fB\-\-version\fP
|
||||
.BI \-\^\-version
|
||||
Imprime le numéro de version pour gramps puis quitte.
|
||||
.UNINDENT
|
||||
\" changer 0 par 1 pour permettre la sortie des options OAF
|
||||
.if 0 \{
|
||||
.PP
|
||||
Les options suivantes seront utilisées pour l'activation Bonobo.
|
||||
.TP
|
||||
.BI \-\^\-oaf-ior-fd= "FD"
|
||||
Le descripteur de fichier pour imprimer OAF IOR
|
||||
.TP
|
||||
.BI \-\^\-oaf-activate-iid= " IID"
|
||||
OAF IID à activer
|
||||
.TP
|
||||
.BI \-\^\-oaf-private
|
||||
Prévenir de l'enregistrement du serveur avec OAF
|
||||
\}
|
||||
\" changer 0 par 1 pour permettre la sortie des options son de GNOME
|
||||
.if 0 \{
|
||||
.PP
|
||||
Les options suivantes seront utilisées pour contrôler le son avec les librairies GNOME.
|
||||
.TP
|
||||
.B \fBOpération\fP
|
||||
Si le premie argument de la ligne de commande ne commence pas par un
|
||||
tiret (i.e. pas d\(aqinstruction), gramps va essayer d\(aqouvrir la base de
|
||||
données avec le nom donné par le premier argument et démarrer une ses‐
|
||||
sion interactive, en ignorant le reste de la ligne de commande.
|
||||
.sp
|
||||
Si la commande \fB\-O\fP est notée, alors gramps va essayer le fichier défini
|
||||
et va travailler avec ses données, comme pour les autres paramètres de
|
||||
la ligne de commande.
|
||||
.sp
|
||||
Avec ou sans la commande \fB\-O\fP , il peut y avoir plusieurs imports,
|
||||
exports, et actions dans la ligne de commande \fB\-i\fP , \fB\-e\fP , et \fB\-a\fP .
|
||||
.sp
|
||||
L\(aqordre des options \fB\-i\fP , \fB\-e\fP , ou \fB\-a\fP n\(aqa pas de sens. L\(aqordre actuel est
|
||||
toujours : imports \-> actions \-> exports. Mais l\(aqouverture doit toujours
|
||||
être la première !
|
||||
.sp
|
||||
Si aucune option \fB\-O\fP ou \fB\-i\fP n\(aqest donnée, gramps lancera sa propre
|
||||
fenêtre et demarrera avec une base vide, puisqu\(aqil n\(aqy a pas données.
|
||||
.sp
|
||||
Si aucune option \fB\-e\fP ou \fB\-a\fP n\(aqest donnée, gramps lancera sa propre
|
||||
fenêtre et démarrera avec la base de données issue de tout les imports.
|
||||
Cette base sera \fBimport_db.grdb\fP dans le répertoire \fB~/.gramps/import\fP.
|
||||
.sp
|
||||
Les erreurs rencontrées lors d\(aqimportation, d\(aqexportation, ou d\(aqaction, seront
|
||||
mémorisées en \fIstdout\fP (si elles sont le fait de la manipulation par
|
||||
gramps) ou en \fIstderr\fP (si elles ne sont pas le fait d\(aqune manipulation).
|
||||
Utilisez les shell de redirection de \fIstdout\fP et \fIstderr\fP pour sauver
|
||||
les messages et les erreurs dans les fichiers.
|
||||
.BI \-\^\-disable-sound
|
||||
Désactive l'utilisation du server son
|
||||
.TP
|
||||
.B \fBEXEMPLES\fP
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
saisir:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-O\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
|
||||
dans un arbre familial temporaire et démarrer une session interactive,
|
||||
on peut saisir :
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-i\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Lecture de quatre bases de données dont les formats peuvent être
|
||||
devinés d\(aqaprès les noms, puis vérification des données:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
|
||||
\fB\-i\fP \fIfile4.wft\fP \fB\-a\fP \fIcheck\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Si vous voulez préciser lesformats de fichiers dans l\(aqexemple ci\-
|
||||
dessus, complétez les noms de fichiers par les options \-f appropriées:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-f\fP \fIgedcom\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-f\fP
|
||||
\fIgramps\-pkg\fP \fB\-i\fP \fI~/db3.gramps\fP \fB\-f\fP \fIgramps\-xml\fP \fB\-i\fP \fIfile4.wft\fP
|
||||
\fB\-f\fP \fIwft\fP \fB\-a\fP \fIcheck\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pour enregistrer le résultat des lectures, donnez l\(aqoption \fB\-e\fP
|
||||
(utiliser \-f si le nom de fichier ne permet pas à gramps de deviner le
|
||||
format):
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-e\fP \fI~/new\-package\fP
|
||||
\fB\-f\fP \fIgramps\-pkg\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pour lire trois ensembles de données puis lancer une session
|
||||
interactive de gramps sur le tout :
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pour lancer l\(aqoutil de vérification de la base de données depuis la
|
||||
ligne de commande et obtenir le résultat :
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps \-O\fP \fI\(aqMy Family Tree\(aq\fP \fB\-a\fP \fItool\fP \fB\-p name=\fP \fIverify\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Enfin, pour lancer une session interactive normale, entrer :
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fBgramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.BI \-\^\-enable-sound
|
||||
Active l'utilisation du server son
|
||||
.TP
|
||||
.B \fBVARIABLES D\(aqENVIRONMENT\fP
|
||||
Le programme vérifie si ces variables d\(aqenvironnement sont déclarées:
|
||||
.sp
|
||||
\fBLANG\fP \- décrit, quelle langue est utilisée: Ex.: pour le français on
|
||||
peut définir fr_FR.UTF\-8.
|
||||
.sp
|
||||
\fBGRAMPSHOME\fP \- si défini, force Gramps à utiliser un répertoire
|
||||
spécifique pour y conserver ses préférences et bases de données. Par
|
||||
défaut, cette variable n\(aqest pas active et Gramps sait que les options
|
||||
et bases de données doivent être créées dans le répertoire par défaut
|
||||
de l\(aqutilisateur (la variable d\(aqenvironnement HOME pour Linux ou USER‐
|
||||
PROFILE pour Windows 2000/XP).
|
||||
.BI \-\^\-espeaker= " HOSTNAME:PORT"
|
||||
Host:port sur lequel le serveur son sera utilisé
|
||||
\}
|
||||
|
||||
.SH "Operation"
|
||||
.br
|
||||
Si le premier argument de la ligne de commande ne commence pas par un tiret (i.e. pas
|
||||
d'instruction), gramps va essayer d'ouvrir la base de données avec le nom donné par le premier argument et démarrer une session interactive, en ignorant le reste de la ligne de commande.
|
||||
|
||||
.LP
|
||||
Si la commande \fB\-O\fR est notée, alors gramps va essayer le fichier défini et va travailler avec ses données, comme pour les autres paramètres de la ligne de commande.
|
||||
|
||||
.LP
|
||||
Avec ou sans la commande \fB\-O\fR, il peut y avoir plusieurs imports, exports, et actions dans la ligne de commande \fB\-i\fR,
|
||||
\fB\-e\fR, et \fB\-a\fR.
|
||||
|
||||
.LP
|
||||
L'ordre des options \fB\-i\fR, \fB\-e\fR, ou \fB\-a\fR n'a pas de sens. L'ordre actuel est toujours : imports -> actions -> exports. Mais l'ouverture doit toujours être la première!
|
||||
|
||||
.LP
|
||||
Si aucune option \fB\-O\fR ou \fB\-i\fR n'est donnée, gramps lancera sa propre fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
|
||||
|
||||
.LP
|
||||
Si aucune option \fB\-e\fR ou \fB\-a\fR n'est donnée, gramps lancera sa propre fenêtre et démarrera avec la base de données issue de tout les imports. Cette base sera \fBimport_db.grdb\fR sous le répertoire \fB~/.gramps/import\fR.
|
||||
|
||||
.LP
|
||||
Les erreurs rencontrées lors d'import, export, ou action, seront mémorisées en \fIstdout\fR (si elles sont le fait de la manipulation par gramps) ou
|
||||
en \fIstderr\fR (si elles ne sont pas le fait d'une manipulation). Utilisez les shell de redirection de
|
||||
\fIstdout\fR et \fIstderr\fR pour sauver les messages et les erreurs dans les fichiers.
|
||||
|
||||
.SH EXEMPLES
|
||||
.TP
|
||||
.B \fBCONCEPTS\fP
|
||||
Gramps est un système basé sur le support de plugin\-python, permettant
|
||||
d\(aqimporter et d\(aqexporter, la saisie, générer des rapports, des outils,
|
||||
et afficher des filtres pouvant être ajoutés sans modifier le programme.
|
||||
.sp
|
||||
Par ailleurs, gramps permet la génération directe : impression, rap‐
|
||||
ports avec sortie vers d\(aqautres formats, comme \fILibreOffice.org\fP ,
|
||||
\fIHTML\fP , ou \fILaTeX\fP pour permettre à l\(aqutilisateur de choisir selon ses
|
||||
besoins
|
||||
.UNINDENT
|
||||
.sp
|
||||
\fBBUGS CONNUS ET LIMITATIONS\fP
|
||||
.sp
|
||||
\fBFICHIERS\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.sp
|
||||
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
|
||||
.sp
|
||||
\fI${PREFIX}/share/\fP
|
||||
.sp
|
||||
\fI${HOME}/.gramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut saisir:
|
||||
\fBgramps\fR \fB\-O\fR \fI'Mon Arbre Familial'\fR \fB\-i\fR \fI~/db3.gramps\fR
|
||||
.TP
|
||||
Ceci ouvre un arbre familial, pour faire la même chose, mais importer dans un arbre familial temporaire et démarrer une session interactive, on peut saisir:
|
||||
\fBgramps\fR \fB\-i\fR \fI'Mon Arbre Familial'\fR \fB\-i\fR \fI~/db3.gramps\fR
|
||||
.TP
|
||||
Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données:
|
||||
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
|
||||
.TP
|
||||
Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options \fB\-f\fR appropriées:
|
||||
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
|
||||
.TP
|
||||
Pour enregistrer le résultat des lectures, donnez l'option \fB\-e\fR (utiliser \fB\-f\fR si le nom de fichier ne permet pas à gramps de deviner le format):
|
||||
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
|
||||
.TP
|
||||
Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :
|
||||
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
|
||||
.TP
|
||||
Pour lancer l'outil de vérification de la base de données depuis la ligne de commande et obtenir le résultat:
|
||||
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
|
||||
.TP
|
||||
.B \fBAUTEURS\fP
|
||||
Donald Allingham <\fI\%don@gramps\-project.org\fP>
|
||||
\fI\%http://gramps\-project.org/\fP
|
||||
.sp
|
||||
Cette page man a d\(aqabord été écrite par :
|
||||
Brandon L. Griffith <\fI\%brandon@debian.org\fP>
|
||||
Enfin, pour lancer une session interactive normale, entrer : \fBgramps\fR
|
||||
|
||||
.SH VARIABLES D'ENVIRONMENT
|
||||
Le programme vérifie si ces variables d'environnement sont déclarées:
|
||||
|
||||
\fBLANG\fR - décrit, quelle langue est utilisée:
|
||||
Ex.: pour le français on peut définir fr_FR.UTF-8.
|
||||
|
||||
\fBGRAMPSHOME\fR - si défini, force Gramps à utiliser un répertoire spécifique pour y conserver ses préférences et bases de données. Par défaut, cette variable n'est pas active et Gramps sait que les options et bases de données doivent être créées
|
||||
dans le répertoire par défaut de l'utilisateur (la variable d'environnement HOME pour Linux ou USERPROFILE pour Windows 2000/XP).
|
||||
|
||||
.SH CONCEPTS
|
||||
Gramps est un système basé sur le support de plugin-python, permettant d'importer et d'exporter, la saisie,
|
||||
générer des rapports, des outils, et afficher des filtres pouvant être ajoutés sans modifier le programme.
|
||||
.LP
|
||||
Par ailleurs, gramps permet la génération directe : impression, rapports avec sortie vers d'autres formats, comme \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
|
||||
ou LaTeX pour permettre à l'utilisateur de choisir selon ses besoins
|
||||
|
||||
.SH BUGS CONNUS ET LIMITATIONS
|
||||
|
||||
.SH FICHIERS
|
||||
.LP
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.br
|
||||
\fI${PREFIX}/share/gramps\fP
|
||||
.br
|
||||
\fI${HOME}/.gramps\fP
|
||||
|
||||
.SH AUTEURS
|
||||
Donald Allingham \fI<don@gramps-project.org>\fR
|
||||
.br
|
||||
\fIhttp://gramps.sourceforge.net\fR
|
||||
.LP
|
||||
Cette page man a d'abord été écrite par:
|
||||
.br
|
||||
Brandon L. Griffith \fI<brandon@debian.org>\fR
|
||||
.br
|
||||
pour Debian GNU/Linux système.
|
||||
.sp
|
||||
Cette page man est maintenue par :
|
||||
Gramps project <\fI\%xxx@gramps\-project.org\fP>
|
||||
.sp
|
||||
La traduction française :
|
||||
Jérôme Rapinat <\fI\%romjerome@yahoo.fr\fP>
|
||||
.TP
|
||||
.B \fBDOCUMENTATION\fP
|
||||
La documentation\-utilisateur est disponible par un navigateur
|
||||
standard sous la forme du manuel Gramps.
|
||||
.sp
|
||||
La documentation pour développeur est disponible sur le site
|
||||
\fI\%http://www.gramps\-project.org/wiki/index.php?title=Portal:Developers\fP .
|
||||
.UNINDENT
|
||||
.sp
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
.SH AUTHOR
|
||||
Jerome Rapinat
|
||||
.SH COPYRIGHT
|
||||
2015, Gramps project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.\"
|
||||
.
|
||||
.LP
|
||||
Cette page man est maintenue par:
|
||||
.br
|
||||
Gramps project \fI<xxx@gramps-project.org>\fR
|
||||
.LP
|
||||
La traduction française:
|
||||
.br
|
||||
Jérôme Rapinat \fI<romjerome@yahoo.fr>\fR
|
||||
.br
|
||||
|
||||
.SH DOCUMENTATION
|
||||
La documentation-utilisateur est disponible par le navigateur d'aide de GNOME sous la forme du manuel Gramps. Ce manuel est également disponible sous format XML comme \fBgramps-manual.xml\fR sous \fIdoc/gramps-manual/$LANG\fR dans les sources officielles.
|
||||
.LP
|
||||
La documentation pour développeur est disponible sur le site \fIhttp://developers.gramps-project.org\fR.
|
||||
|
||||
@@ -104,7 +104,7 @@ If no action, import or export options are given on the command line then an int
|
||||
|
||||
.TP
|
||||
.BI \-i,\-\^\-import= " FILE"
|
||||
Import data from \fIFILE\fR. If you haven't specified a database, then an empty database is created for you called Family Tree x (where x is an incrementing number).
|
||||
Import data from \fIFILE\fR. If you haven't specified a database then a temporary database is used; this is deleted when you exit gramps.
|
||||
.br
|
||||
|
||||
When more than one input file is given, each has to be preceded by \fB\-i\fR
|
||||
@@ -298,11 +298,9 @@ or LaTeX to allow the users to modify the format to suit their needs.
|
||||
|
||||
.SH FILES
|
||||
.LP
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.br
|
||||
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
|
||||
.br
|
||||
\fI${PREFIX}/share/\fP
|
||||
\fI${PREFIX}/share/gramps\fP
|
||||
.br
|
||||
\fI${HOME}/.gramps\fP
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
.. Gramps documentation master file, created by
|
||||
sphinx-quickstart on Sat Dec 1 00:07:37 2012.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to Gramps' command line documentation!
|
||||
==============================================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
en
|
||||
cs/cs
|
||||
fr/fr
|
||||
nl/nl
|
||||
pl/pl
|
||||
pt_BR/pt_BR
|
||||
sv/sv
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# This is the data/man/nl level Makefile for Gramps
|
||||
# $Id: Makefile.am 9819 2008-01-15 15:42:10Z bmcage $
|
||||
|
||||
mandir = @mandir@/nl
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/nl/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'nl'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('nl', 'gramps', u'Gramps Documentation',
|
||||
[u'.'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,266 +0,0 @@
|
||||
Dutch
|
||||
======
|
||||
|
||||
gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
**NAAM**
|
||||
gramps - Genealogisch Onderzoek en Analyse Beheersysteem.
|
||||
|
||||
|
||||
**SAMENVATTING**
|
||||
gramps [-?|--help] [--usage] [--version] [-O|--open= GEGEVENSBESTAND
|
||||
[-f|--format= FORMAAT]] [-i|--import= BESTAND [-f|--format= FORMAAT]]
|
||||
[-i|--import= ...] [-e|--export= BESTAND [-f|--format= FORMAAT]]
|
||||
[-a|--action= ACTIE] [-p|--options= OPTIESTRING]] [ BESTAND ] [--ver‐
|
||||
sion]
|
||||
|
||||
|
||||
**BESCHRIJVING**
|
||||
Gramps is een Free/OpenSource genealogisch programma dat in Python,
|
||||
geschreven is en gebruik maakt van de GTK+/GNOME interface. Gramps zal
|
||||
voor iedereen die al gewerkt heeft met andere genealogische programma's
|
||||
zoals Family Tree Maker (TM), Personal Ancestral Files (TM) of GNU
|
||||
Geneweb. Importeren vanuit het gekende GEDCOM-formaat wordt onderste‐
|
||||
und. Dit formaat wordt wereldwijd gebruikt door bijna alle genealogis‐
|
||||
che software.
|
||||
|
||||
|
||||
**OPTIES**
|
||||
**gramps** *BESTAND*
|
||||
Wanneer *BESTAND* opgegeven wordt (zonder vlaggen) als een famili‐
|
||||
estamboom of als een familistamboommap, dan wordt dit bestand
|
||||
geopend en een interactieve sessie wordt gestart. Indien BESTAND
|
||||
een bestandsformaat dat door Gramps herkent wordt, zal een lege
|
||||
familiestamboom aangemaakt worden. De bestandsnaam wordt
|
||||
gebaseerd op de *BESTAND* naam en de gegevens worden in dit
|
||||
bestand geïmporteerd. Met resterende opties wordt geen rekening
|
||||
gehouden. Deze wijze van opstarten is zeer bruikbaar om Gramps
|
||||
te gebruiken voor genealogische gegevens via een webbrowser.
|
||||
Deze opstartmethode kan gelijk welk gegevensformaat eigen aan
|
||||
Gramps behandelen, zie onder.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMAAT*
|
||||
Expliciet een formaat opgeven voor BESTAND door de optie -i, of
|
||||
-e mee te geven. Indien de -f optie niet opgegeven wordt voor
|
||||
BESTAND, wordt het formaat gebaseerd op de bestandsextensie of
|
||||
het MIME-type.
|
||||
|
||||
Formaten beschikbaar voor uitvoer zijn gramps-xml (guessed if
|
||||
FILE ends with .gramps), gedcom (guessed if FILE ends with
|
||||
.ged), or any file export available through the Gramps plugin
|
||||
system.
|
||||
|
||||
Formats available for import are grdb, gramps-xml, gedcom,
|
||||
gramps-pkg (guessed if FILE ends with .gpkg), and geneweb
|
||||
(guessed if FILE ends with .gw).
|
||||
|
||||
Formats available for export are gramps-xml, gedcom, gramps-pkg,
|
||||
wft (guessed if FILE ends with .wft), geneweb, and iso (never
|
||||
guessed, always specify with -f option).
|
||||
|
||||
|
||||
**-O** , **--open=** *DATABASE*
|
||||
Open *DATABASE* which must be an existing database directory or
|
||||
existing family tree name. If no action, import or export
|
||||
options are given on the command line then an interactive ses‐
|
||||
sion is started using that database.
|
||||
|
||||
|
||||
**-i** , **--import=** *FILE*
|
||||
Import data from *FILE* . If you haven't specified a database then
|
||||
a temporary database is used; this is deleted when you exit
|
||||
gramps.
|
||||
|
||||
When more than one input file is given, each has to be preceded
|
||||
by **-i** flag. The files are imported in the specified order, i.e.
|
||||
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
|
||||
might produce different gramps IDs in the resulting database.
|
||||
|
||||
|
||||
**-a** , **--action=** *ACTION*
|
||||
Perform *ACTION* on the imported data. This is done after all
|
||||
imports are successfully completed. Currently available actions
|
||||
are **summary** (same as Reports->View->Summary), **check** (same as
|
||||
Tools->Database Processing->Check and Repair), **report** (generates
|
||||
report), and tool (runs a plugin tool). Both **report** and **tool**
|
||||
need the *OPTIONSTRING* supplied by the **-p** flag).
|
||||
|
||||
The *OPTIONSTRING* should satisfy the following conditions:
|
||||
It must not contain any spaces. If some arguments need to
|
||||
include spaces, the string should be enclosed with quotation
|
||||
marks, i.e., follow the shell syntax. Option string is a list
|
||||
of pairs with name and value (separated by the equality sign).
|
||||
The name and value pairs must be separated by commas.
|
||||
|
||||
Most of the report or tools options are specific for each report
|
||||
or tool. However, there are some common options.
|
||||
|
||||
**name=name**
|
||||
This mandatory option determines which report or tool will be
|
||||
run. If the supplied name does not correspond to any available
|
||||
report or tool, an error message will be printed followed by the
|
||||
list of available reports or tools (depending on the *ACTION* ).
|
||||
|
||||
**show=all**
|
||||
This will produce the list of names for all options available
|
||||
for a given report or tool.
|
||||
|
||||
**show=optionname**
|
||||
This will print the description of the functionality supplied by
|
||||
*optionname*, as well as what are the acceptable types and values
|
||||
for this option.
|
||||
|
||||
Use the above options to find out everything about a given
|
||||
report.
|
||||
|
||||
|
||||
When more than one output action is given, each has to be preceded by
|
||||
**-a** flag. The actions are performed one by one, in the specified order.
|
||||
|
||||
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Enables debug logs for development and testing. Look at the
|
||||
source code for details
|
||||
|
||||
**--version**
|
||||
Prints the version number of gramps and then exits
|
||||
|
||||
|
||||
|
||||
|
||||
**werking**
|
||||
Indien het eerste argument in de opdrachtregel niet start met dash (dus
|
||||
geen vlag) dan zal Gramps trachten om het bestand te openen met een
|
||||
naam die in het eerste argument werd opgegeven. Vervolgens wordt een
|
||||
interactieve sessie gestart en de overige argumenten van de
|
||||
opdrachtregel worden genegeerd.
|
||||
|
||||
If the **-O** flag is given, then gramps will try opening the supplied
|
||||
database and then work with that data, as instructed by the further
|
||||
command line parameters.
|
||||
|
||||
|
||||
With or without the **-O** flag, there could be multiple imports, exports,
|
||||
and actions specified further on the command line by using **-i** ,
|
||||
**-e** , and **-a** flags.
|
||||
|
||||
|
||||
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
|
||||
always is: all imports (if any) -> all actions (if any) -> all exports
|
||||
(if any). But opening must always be first!
|
||||
|
||||
|
||||
If no **-O** or **-i** option is given, gramps will launch its main window and
|
||||
start the usual interactive session with the empty database, since
|
||||
there is no data to process, anyway.
|
||||
|
||||
|
||||
If no **-e** or **-a** options are given, gramps will launch its main window
|
||||
and start the usual interactive session with the database resulted from
|
||||
all imports. This database resides in the **import_db.grdb** under
|
||||
**~/.gramps/import** directory.
|
||||
|
||||
|
||||
The error encountered during import, export, or action, will be either
|
||||
dumped to stdout (if these are exceptions handled by gramps) or to
|
||||
*stderr* (if these are not handled). Use usual shell redirections of
|
||||
*stdout* and *stderr* to save messages and errors in files.
|
||||
|
||||
|
||||
**EXAMPLES**
|
||||
To open an existing family tree and import an xml file into it, one
|
||||
may type:
|
||||
|
||||
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
|
||||
|
||||
The above changes the opened family tree, to do the same, but import
|
||||
both in a temporary family tree and start an interactive session, one
|
||||
may type:
|
||||
|
||||
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
|
||||
|
||||
To import four databases (whose formats can be determined from their
|
||||
names) and then check the resulting database for errors, one may type:
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
**-i** *file4.wft* **-a** *check*
|
||||
|
||||
To explicitly specify the formats in the above example, append file‐
|
||||
names with appropriate **-f** options:
|
||||
|
||||
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
|
||||
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
|
||||
**-f** *wft* **-a** *check*
|
||||
|
||||
To record the database resulting from all imports, supply **-e** flag (use
|
||||
**-f** if the filename does not allow gramps to guess the format):
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
|
||||
**-f** *gramps-pkg*
|
||||
|
||||
To import three databases and start interactive gramps session with the
|
||||
result:
|
||||
|
||||
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
|
||||
|
||||
To run the Verify tool from the commandline and output the result to
|
||||
stdout:
|
||||
|
||||
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
|
||||
|
||||
Finally, to start normal interactive session type:
|
||||
|
||||
**gramps**
|
||||
|
||||
|
||||
**CONCEPTEN**
|
||||
Ondersteuning van een op python-gebaseerd plugin systeem. Dit laat toe
|
||||
om verslagen, hulpgereedschappen en vensterfilters toe te voegen zonder
|
||||
dat het hoofdprogramma dient aangepast.
|
||||
|
||||
De klassieke uitdrukken zijn mogelijk, maar daar bovenover kunnen de
|
||||
meeste verslagen ook gebruik maken van OpenOffice.org, AbiWord, HTML,
|
||||
of LaTeX. Zo kunnen gebruikers het formaat wijzigen naar eigen wens.
|
||||
|
||||
|
||||
**GEKENDE BUGS EN BEPERKINGEN**
|
||||
|
||||
**BESTANDEN**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**AUTEURS**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Deze man pagina werd oorspronkelijk geschreven door:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
voor het Debian GNU/Linux systeem.
|
||||
|
||||
Deze man pagina wordt momenteel onderhouden door:
|
||||
Alex Roitman <shura@gramps-project.org>
|
||||
|
||||
Deze nederlandstalige man pagina wordt momenteel onderhouden door:
|
||||
Erik De Richter <frederik.de.richter@pandora.be>
|
||||
|
||||
|
||||
**DOCUMENTATIE**
|
||||
De gebruikersdocumentatie is beschikbaar via browser in de webstek.
|
||||
|
||||
De ontwikkelingsdocumentatie kan gevonden worden op de
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
webstek.
|
||||
|
||||
|
||||
|
||||
August 2005 4.0.0 gramps(1)
|
||||
@@ -0,0 +1,14 @@
|
||||
# This is the data/man/sv level Makefile for Gramps
|
||||
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/pl
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/pl/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'pl'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('pl', 'gramps', u'Gramps Documentation',
|
||||
[u'.'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,308 +0,0 @@
|
||||
Polish
|
||||
=======
|
||||
|
||||
gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
**NAME**
|
||||
gramps - Genealogical Research and Analysis Management Programming Sys‐
|
||||
tem.
|
||||
(w wolnym tłumaczeniu: System Wspomagania Badań Genealogicznych i Pro‐
|
||||
gramowego Zarządzania Tą Informacją)
|
||||
|
||||
|
||||
**SYNOPSIS**
|
||||
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
|
||||
[-O|--open= BAZA_DANYCH [-f|--format= FORMAT]] [-i|--import= PLIK
|
||||
[-f|--format= FORMAT]] [-i|--import= ...] [-e|--export= PLIK
|
||||
[-f|--format= FORMAT]] [-a|--action= AKCJA] [-p|--options= CIĄG_OPCJI]]
|
||||
[ PLIK ] [--version]
|
||||
|
||||
|
||||
**OPIS**
|
||||
Gramps jest wolnym, darmowym programem genealogicznym OpenSource. Jest
|
||||
napisany w Python, przy użyciu interfejsu GTK+/GNOME. Dla każdego, kto
|
||||
wcześniej używał innego programu genealogicznego (np. Family Tree
|
||||
Maker (TM), Personal Ancestral Files (TM), lub GNU Geneweb), zapoz‐
|
||||
nanie się z interfejsem Gramps'a będzie natychmiastowe. Program
|
||||
obsługuje także import i eksport w popularnym formacie GEDCOM, który
|
||||
jest używany przez większość programów genealogicznych na świecie.
|
||||
|
||||
|
||||
**OPCJE**
|
||||
**gramps** *PLIK*
|
||||
Kiedy *PLIK* jest podany (bez żadnych flag) jako nazwa drzewa
|
||||
rodzinnego albo nazwa katalogu z drzewem, to wybrane drzewo jest
|
||||
otwierane i rozpoczynana jest sesja interaktywna. Jeśli PLIK
|
||||
jest formatem rozpoznawanym przez Gramps, to tworzone jest puste
|
||||
drzewo, którego nazwa bazuje na nazwie PLIKU i dane są do niego
|
||||
importowane. Pozostałe opcje są wtedy ignorowane. Jest to
|
||||
sposób na używanie programu jako uchwytu obsługującego dane
|
||||
genealogiczne, np. w przeglądarce internetowej. Takie wywołanie
|
||||
akceptuje każdy format natywny dla grampsa, zobacz poniżej.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMAT*
|
||||
Jawne określenie formatu PLIKU przez poprzedzenie opcji -i, lub
|
||||
-e. Jeśli opcja -f nie jest podana dla żadnego PLIKU, to format
|
||||
pliku jest określany na podstawie rozszerzenia albo typu MIME.
|
||||
|
||||
Dostępne formaty wyjściowe to:
|
||||
gramps-xml (używany jeśli PLIK kończy się na .gramps),
|
||||
gedcom (przyjmowany jeśli PLIK kończy się na .ged),
|
||||
lub dowolny plik eksportu obsługiwany przez system wtyczek
|
||||
Gramps.
|
||||
|
||||
Formaty dostępne dla importu to: grdb, gramps-xml, gedcom,
|
||||
gramps-pkg (przyjmowany jeśli PLIK kończy się na .gpkg),
|
||||
oraz geneweb (przyjmowany jeśli PLIK ma rozszerzenie .gw).
|
||||
|
||||
Formats dostępne dla eksportu to: gramps-xml, gedcom,
|
||||
gramps-pkg, wft (jeśli rozszerzenie PLIKU to .wft), geneweb, i
|
||||
iso (używany tylko, jeśli jawnie określony przez parametr -f ).
|
||||
|
||||
|
||||
**-l**
|
||||
Wyświetla listę dosŧępnych drzew genealogicznych.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Wymusza odblokowanie bazy danych.
|
||||
|
||||
|
||||
**-O** , **--open=** *BAZA_DANYCH*
|
||||
Otwiera *BAZĘ_DANYCH* , która musi istnieć w katalogu baz lub być
|
||||
nazwą istniejącego drzewa rodzinnego. Jeśli nie podano akcji, to
|
||||
opcje eksportu albo importu są wykonywane, a następnie jest
|
||||
uruchamiana sesja interaktywna z otwarciem wybranej bazy.
|
||||
|
||||
|
||||
**-i** , **--import=** *PLIK*
|
||||
Importuje dane z *PLIKU* . Jeśli nie określono bazy danych, to
|
||||
tworzona jest tymczasowa baza kasowana po zamknięciu programu.
|
||||
|
||||
Kiedy podany jest więcej niż jeden plik do importu, to każdy z
|
||||
nich musi być poprzedzony flagą -i. Pliki są importowane w kole‐
|
||||
jności podanej w linii poleceń, np.: -i PLIK1 -i PLIK2 oraz -i
|
||||
PLIK2 -i PLIK1 mogą utworzyć inne identyfikatory (gramps ID) w
|
||||
bazie wynikowej.
|
||||
|
||||
|
||||
**-e** , **--export=** *PLIK*
|
||||
Eksportuje dane do *PLIKU* . Dla formatu iso, PLIK natomiast nazwą
|
||||
katalogu, do którego baza danych gramps zostanie zapisana. Dla
|
||||
gramps-xml, gedcom, wft, gramps-pkg, oraz geneweb, PLIK jest
|
||||
nazwą pliku wynikowego.
|
||||
|
||||
Kiedy więcej niż jeden plik wyjściowy jest podany, każdy musi
|
||||
być poprzedzony flagą -e. Pliki będą zapisywane kolejno, w
|
||||
podanej przez parametry kolejności.
|
||||
|
||||
|
||||
**-a** , **--action=** *AKCJA*
|
||||
Wykonuje AKCJĘ na zaimportowanych danych. Działanie to jest
|
||||
wykonywane dopiero, gdy wszystkie określone importy zakończą się
|
||||
powodzeniem. Aktualnie dostępne akcje to:
|
||||
summary (taka sama jak Raporty->Wyświetl->Podsumowanie bazy
|
||||
danych),
|
||||
check (tożsama z Narzędzia->Naprawa bazy danych->Sprawdź i
|
||||
napraw bazę),
|
||||
report (generuje raport), oraz
|
||||
tool (uruchamia narzędzie/wtyczkę). Zarówno report jak i tool
|
||||
wymagają podania CIĄGU_OPCJI poprzedzonego flagą -p ).
|
||||
|
||||
CIĄG_OPCJI powinien spełniać następujące warunki:
|
||||
Nie może zawierać spacji. Jeśli niektóre argumenty wymagają
|
||||
spacji, ciąg powinien być enkapsulowany w znakach cudzysłowu,
|
||||
(zobacz składnię powłoki). Ciąg opcji jest listą parametrów z
|
||||
nazwą i wartością oddzielonymi znakiem równości. Kolejne parame‐
|
||||
try muszą być oddzielone od siebie znakiem przecinka.
|
||||
|
||||
Większość opcji dla raportów czy narzędzi jest specyficzna dla
|
||||
konkretnej opcji, jednak część z opcji jest wspólna, szczególnie
|
||||
dla raportów.
|
||||
|
||||
**name=nazwa**
|
||||
Opcja wymagana, określający który raport czy narzędzie będzie
|
||||
uruchamiane. Jeśli podana wartość nazwy nie pasuje do żadnego
|
||||
dostępnego raportu czy narzędzia, zostanie wyświetlony komunikat
|
||||
o błędzie oraz lista dostępnych raportów albo opcji (w
|
||||
zależności od wartości parametru AKCJA).
|
||||
|
||||
**show=all**
|
||||
Wyświetla listę wszystkich nazw dostępnych opcji wraz z krótkim
|
||||
opisem dla danego raportu albo narzędzia.
|
||||
|
||||
**show=nazwa_opcji**
|
||||
Wyświetla opis funkcji udostępnianej przez daną nazwę_opcji, jak
|
||||
również listę parametrów, które akceptuje dana opcja.
|
||||
|
||||
Używając powyższych opcji jesteś w stanie dowiedzieć się o
|
||||
wszystkich możliwościach danego raportu.
|
||||
|
||||
|
||||
Kiedy więcej niż jeden akcja wyjściowa jest podana, każda musi być
|
||||
poprzedzona flagą -a. Akcje są wykonywane jedna po drugiej, w kole‐
|
||||
jności w jakiej występują w linii poleceń.
|
||||
|
||||
|
||||
**-d** , **--debug=** *NAZWA_LOGGERA*
|
||||
Włącza logi debuggowania dla celów programistycznych i
|
||||
testowych. Zobacz do kodu źródłowego po szczegóły.
|
||||
|
||||
|
||||
**--version**
|
||||
Wyświetla wersję programu i kończy działanie.
|
||||
|
||||
|
||||
**Działanie**
|
||||
Jeśli pierwszy argument nie rozpoczyna się znakiem myślnik, (nie jest
|
||||
flagą), to gramps będzie próbował otworzyć plik podany przez pierwszy
|
||||
argument, a następnie sesję interaktywną a pozostałą część parametrów w
|
||||
linii poleceń zignoruje.
|
||||
|
||||
|
||||
Jeśli podana jest flaga -O, będzie próbował otworzyć podaną bazę i pra‐
|
||||
cować na danych w niej zawartych realizując podane później polecenia z
|
||||
linii komend.
|
||||
|
||||
|
||||
Z flagą -O czy bez, może występować wiele importów, eksportów oraz
|
||||
akcji określonych za pomocą flag -i, -e, oraz -a .
|
||||
|
||||
|
||||
Kolejność podawania opcji -i, -e, czy -a nie ma znaczenia. Wykonywane
|
||||
są one zawsze w kolejności: wszystkie importy (jeśli podane) -> wszys‐
|
||||
tkie akcje (jeśli podane) -> wszystkie eksporty (jeśli podane) Ale
|
||||
otwarcie bazy zawsze musi być na pierwszym parametrem !
|
||||
|
||||
|
||||
Jeśli nie podano opcji -O lub -i, gramps uruchomi swoje główne okno i
|
||||
rozpocznie normalną sesję interaktywną z pustą bazą danych (ponieważ
|
||||
nie zdołał przetworzyć do niej żadnych danych).
|
||||
|
||||
|
||||
Jeśli nie podano opcji-e albo -a gramps uruchomi swoje głowne okno i
|
||||
rozpocznie normalną sesję interaktywną z bazą będącą wynikiem wszyst‐
|
||||
kich importów. Ta baza będzie znajdować się w pliku import_db.grdb w
|
||||
katalogu ~/.gramps/import.
|
||||
|
||||
|
||||
Błąd podczas importu, eksportu albo dowolnej akcji będzie przekierowany
|
||||
na stdout (jeśli wyjątek zostanie obsłużony przez gramps) albo na
|
||||
stderr (jeśli nie jest obsłużony). Użyj standardowych przekierowań
|
||||
strumieni stdout oraz stderr jeśli chcesz zapisać wyświetlane informa‐
|
||||
cje i błędy do pliku.
|
||||
|
||||
|
||||
**PRZYKŁADY**
|
||||
Aby otworzyć istniejące drzewo rodzinne i zaimportować dane do niego,
|
||||
można wpisać:
|
||||
|
||||
gramps -O 'Moje drzewo' -i ~/db3.gramps
|
||||
|
||||
Powyższa opcja otwiera istniejące drzewo, ale gdy chcesz zrobić wykonać
|
||||
taką samą akcję tworząc tymczasowe drzewo: wystarczy wpisać:
|
||||
|
||||
gramps -i 'Moje drzewo' -i ~/db3.gramps
|
||||
|
||||
Aby zaimportować cztery bazy (których formaty zostaną określone na pod‐
|
||||
stawie ich nazw) i następnie sprawdić powstałą bazę pod kątem błędów,
|
||||
należy wpisać:
|
||||
|
||||
gramps -i plik1.ged -i plik2.tgz -i ~/db3.gramps
|
||||
-i plik4.wft -a check
|
||||
|
||||
Aby jawnie określić formaty w powyższym przykładzie, należy dodać nazwy
|
||||
plików z odpowiednimi opcjami -f options:
|
||||
|
||||
gramps -i plik1.ged -f gedcom -i plik2.tgz -f gramps-pkg -i
|
||||
~/db3.gramps -f gramps-xml -i plik4.wft -f wft -a check
|
||||
|
||||
Aby zachować bazę z wynikami wszystkich importów, należy dodać flagę -e
|
||||
(należy użyć -f jeśli nazwa pliku nie pozwala gramps'owi na odgadnięcie
|
||||
formatu wyjściowego):
|
||||
|
||||
gramps -i plik1.ged -i plik2.tgz -e ~/nowy-pakiet -f gramps-pkg
|
||||
|
||||
W celu zaimportwania trzech baz i rozpoczęcia sesji interaktywnej z
|
||||
wynikiem importu należy użyć polecenia podobnego do poniższego:
|
||||
|
||||
gramps -i plik1.ged -i plik22.tgz -i ~/db3.gramps
|
||||
|
||||
Aby uruchomić narzędzie weryfikacji z linii poleceń i wyświetlić wyniki
|
||||
na stdout:
|
||||
|
||||
gramps -O 'Moje drzewo' -a tool -p name=verify
|
||||
|
||||
Zawsze można też po prostu uruchomić sesję interaktywną wpisująć:
|
||||
|
||||
gramps
|
||||
|
||||
|
||||
**ZMIENNE ŚRODOWISKOWE**
|
||||
|
||||
Program sprawdza w systemie istnienie i wartości następujących zmien‐
|
||||
nych:
|
||||
|
||||
**LANG** - określa ustawienia, jaki język zostanie wybrany. Np.: polski to
|
||||
pl_PL.UTF-8.
|
||||
|
||||
**GRAMPSHOME** - określa folder, w którym będzie zapisywane ustawienia i
|
||||
bazy programu. Domyślnie jest on nieustawiony, a program przyjmuje, że
|
||||
katalog z danymi zostanie utworzony w profilu użytkownika (zmienna HOME
|
||||
pod Linuxem albo USERPROFILE pod Windows 2000/XP).
|
||||
|
||||
|
||||
|
||||
**KONCEPCJA**
|
||||
Obsługa systemu rozszerzeń bazującego na pythonie, pozwalającego na
|
||||
dodawanie formatów importu i eksportu zapisów, generatorów raportów,
|
||||
narzędzi i filtrów wyświetlania bez modyfikowania głównego programu
|
||||
|
||||
Dodatkowo oprócz generowania standardowego wyjścia na drukarkę, raporty
|
||||
mogą także być generowane dla innch systemów i do innych formatów,
|
||||
takich jak: OpenOffice.org, AbiWord, HTML, lub LaTeX aby umożliwić
|
||||
użytkownikm wybór formatu wyjściowego w zależności od ich potrzeb.
|
||||
|
||||
|
||||
**ZNANE BŁĘDY I OGRANICZENIA**
|
||||
Prawdopodobne. Lista błędów i propozycji znajduje się na:
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
|
||||
|
||||
|
||||
**PLIKI**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps (jeśli nie użyta została zmienna środowiskowa GRAMP‐
|
||||
SHOME)*
|
||||
|
||||
|
||||
**AUTORZY**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Ta strona man jest tłumaczeniem strony man napisanej przez:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
dla systemu Debian GNU/Linux.
|
||||
|
||||
Ta strona aktualnie jest pod opeką:
|
||||
Projekt Gramps<xxx@gramps-project.org>
|
||||
Tłumaczenie na polski: Łukasz Rymarczyk <yenidai@poczta.onet.pl>
|
||||
|
||||
|
||||
**DOCUMENTATION**
|
||||
Dokumentacja użytkownika jest dostępna poprzez standardową przeglądarkę.
|
||||
|
||||
Dokumentacja dla programistów jest dostępna na stronie projektu:
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
|
||||
|
||||
|
||||
January 2008 4.0.0 gramps(1)
|
||||
@@ -0,0 +1,14 @@
|
||||
# This is the data/pt_BR level Makefile for Gramps
|
||||
# $Id: Makefile.am 16377 2011-01-13 18:32:42Z matlas $
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/pt_BR
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/pt_BR/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'pt_BR'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('pt_BR', 'gramps', u'Gramps Documentation',
|
||||
[u'.'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,293 +0,0 @@
|
||||
Portuguese (Brazil)
|
||||
===================
|
||||
|
||||
gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**NOME**
|
||||
|
||||
gramps - Programa para pesquisa genealógica.
|
||||
|
||||
|
||||
**RESUMO**
|
||||
|
||||
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
|
||||
[-O|--open= BANCODEDADOS [-f|--format= FORMATO]] [-i|--import= ARQUIVO
|
||||
[-f|--format= FORMATO]] [-i|--import= ...] [-e|--export= ARQUIVO
|
||||
[-f|--format= FORMATO]] [-a|--action= AÇÃO] [-p|--options= OPÇÕES]]
|
||||
[ ARQUIVO ] [--version]
|
||||
|
||||
|
||||
**DESCRIÇÃO**
|
||||
|
||||
Gramps é um programa de genealogia livre e de código aberto.
|
||||
Ele é escrito em Python e usa a interface GTK+/GNOME.
|
||||
Gramps deve parecer familiar a qualquer pessoa que já tenha usado
|
||||
outro programa de genealogia, tais como o Family Tree Maker (TM),
|
||||
Personal Ancestral Files (TM), ou o GNU Geneweb. Ele suporta a
|
||||
importação do formato GEDCOM, que é amplamente usado por quase
|
||||
todos os outros programas de genealogia.
|
||||
|
||||
|
||||
**OPÇÕES**
|
||||
|
||||
**gramps** *ARQUIVO*
|
||||
Quando *ARQUIVO* for indicado (sem qualquer outra opção) como um
|
||||
nome de árvore genealógica ou como pasta do banco de dados,
|
||||
ela será aberta e iniciada uma sessão interativa. Se *ARQUIVO* for
|
||||
um formato compreendido pelo Gramps, será criada uma árvore
|
||||
genealógica vazia com o nome baseado no ARQUIVO e os dados são
|
||||
importados para ela. As demais opções serão ignoradas. Esta
|
||||
forma de execução é apropriada para usar o Gramps como manipulador
|
||||
de dados genealógicos em, por exemplo, navegadores Web. Este método
|
||||
aceita qualquer formato de dados nativo do Gramps, conforme abaixo.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMATO*
|
||||
Indica expressamente o formato do *ARQUIVO*, precedente das opções
|
||||
-i ou -e. Se a opção -f não for fornecida para um ARQUIVO, o
|
||||
formato será identificado de acordo com a sua extensão ou tipo MIME.
|
||||
|
||||
Os formatos disponíveis para exportação são gramps-xml (se o ARQUIVO
|
||||
terminar com .gramps), gedcom (se o ARQUIVO terminar com .ged) ou
|
||||
qualquer outro formato de arquivo disponível através do sistema de
|
||||
plugins do Gramps.
|
||||
|
||||
|
||||
Os formatos disponíveis para importação são grdb, gramps-xml, gedcom,
|
||||
gramps-pkg (se o ARQUIVO terminar com .gpkg), e geneweb
|
||||
(se o ARQUIVO terminar com .gw).
|
||||
|
||||
|
||||
Os formatos disponíveis para exportação são gramps-xml, gedcom,
|
||||
gramps-pkg, wft (se o ARQUIVO terminar com .wft), geneweb.
|
||||
|
||||
**-l**
|
||||
Exibe uma lista com as árvores genealógicas conhecidas.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Desbloqueia um banco de dados previamente bloqueado.
|
||||
|
||||
|
||||
**-O** , **--open=** *BANCODEDADOS*
|
||||
Abre o *BANCODEDADOS* , que deve ser uma pasta de banco de dados
|
||||
ou um nome de árvore genealógica existentes. Se não forem indicadas
|
||||
opções de ação, importação ou exportação na linha de comando,
|
||||
será iniciada uma sessão interativa usando este banco de dados.
|
||||
|
||||
|
||||
**-i** , **--import=** *ARQUIVO*
|
||||
Importa os dados do ARQUIVO. Se não for indicado um banco de dados,
|
||||
o Gramps usará um arquivo temporário, que será excluído ao sair
|
||||
do programa.
|
||||
|
||||
|
||||
Quando mais de um arquivo de origem for indicado, cada um deles
|
||||
deve ser precedido da opção -i. Os arquivos são importados na ordem
|
||||
indicada, por exemplo, -i ARQUIVO1 -i ARQUIVO2 e -i ARQUIVO2 -i
|
||||
ARQUIVO1 poderá produzir diferentes gramps IDs no banco de dados
|
||||
resultante.
|
||||
|
||||
|
||||
**-a** , **--action=** *AÇÃO*
|
||||
Executa a *AÇÃO* nos dados importados. Isto será executado após a
|
||||
conclusão de todas as importações. Até o momento, as ações
|
||||
disponíveis são summary (o mesmo que Relatórios->Exibir->Resumo),
|
||||
check (o mesmo que Ferramentas->Processamento do banco de dados->
|
||||
Verificar e reparar), report (gera o relatório), e tool (executa
|
||||
uma ferramenta de plugin). Para o report e tool é necessário
|
||||
fornecer OPÇÕES (com uso da opção -p).
|
||||
|
||||
|
||||
As OPÇÕES devem satisfazer as seguintes condições:
|
||||
Não podem conter espaços. Se alguns argumentos precisam incluir
|
||||
espaços, a string deve ser colocada entre aspas, ou seja, seguir
|
||||
a sintaxe do shell. String de opção é uma lista de pares com o
|
||||
nome e o valor (separados por sinal de igual). Os pares de nome
|
||||
e valor devem ser separados por vírgula.
|
||||
|
||||
|
||||
Muitas opções são específicas de cada relatório ou ferramenta.
|
||||
Entretanto, algumas opções são comuns.
|
||||
|
||||
**name=nome**
|
||||
Esta opção obrigatória determina qual relatório ou ferramenta
|
||||
será executado. Se o nome fornecido não corresponder a um
|
||||
relatório ou ferramenta, será exibida uma mensagem de erro
|
||||
seguida de uma lista de relatórios e ferramentas disponíveis
|
||||
dependendo da AÇÃO).
|
||||
|
||||
**show=all**
|
||||
Isto irá gerar uma lista com os nomes para todas as opções
|
||||
disponíveis de um determinado relatório ou ferramenta.
|
||||
|
||||
**show=nome_opção**
|
||||
Isto irá exibir a descrição da funcionalidade indicada por nome_opção,
|
||||
bem como quais são os tipos aceitáveis e os valores para esta opção.
|
||||
|
||||
|
||||
Use as opções acima para descobrir tudo sobre um determinado relatório.
|
||||
|
||||
Quando mais de uma ação de saída for indicada, cada uma deve ser
|
||||
precedida da opção -a. As ações são realizadas uma a uma, na ordem
|
||||
indicada.
|
||||
|
||||
**-d** , **--debug=** *ARQUIVO_REGISTRO*
|
||||
Ativa os registros para desenvolvimento e testes. Veja o código-fonte
|
||||
para mais detalhes.
|
||||
|
||||
**--version**
|
||||
Exibe o número da versão do Gramps e finaliza.
|
||||
|
||||
**Operação**
|
||||
Se o primeiro argumento da linha de comando não começar com um
|
||||
traço (isto é, sem uma opção), o Gramps tentará abrir o arquivo
|
||||
com o nome fornecido pelo primeiro argumento e iniciar a sessão
|
||||
interativa, ignorando o resto dos argumentos da linha de comando.
|
||||
|
||||
|
||||
Se for fornecida a opção -O, então o Gramps tentará abrir o banco
|
||||
de dados indicado e trabalhar com estes dados, de acordo com as
|
||||
instruções dos parâmetros adicionais da linha de comando.
|
||||
|
||||
|
||||
Com ou sem a opção -O, pode haver múltiplas importações, exportações
|
||||
e ações indicadas pela linha de comando usando as opções -i, -e e -a.
|
||||
|
||||
|
||||
A ordem das opções -i, -e ou -a não importa. A ordem utilizada
|
||||
será sempre esta: todas as importações (se existirem) -> todas
|
||||
as ações (se existirem) -> todas as exportações (se existirem).
|
||||
Mas a abertura deve estar sempre em primeiro lugar!
|
||||
|
||||
|
||||
Se as opções -O ou -i não forem fornecidas, o Gramps será aberto
|
||||
com a sua janela principal e iniciará a sessão interativa padrão
|
||||
com um banco de dados vazio, uma vez que não há nada a processar.
|
||||
|
||||
|
||||
Se as opções -e ou -a não forem fornecidas, o Gramps será aberto
|
||||
com a sua janela principal e iniciará a sessão interativa padrão
|
||||
com um banco de dados resultante de todas as importações. Este
|
||||
banco de dados está localizado no arquivo import_db.grdb da
|
||||
pasta ~/.gramps/import.
|
||||
|
||||
|
||||
Os erros encontrados durante a importação, exportação ou ação,
|
||||
serão direcionados para stdout (se forem exceções tratadas pelo
|
||||
Gramps) ou para stderr (se não forem tratadas). Use redirecionamentos
|
||||
usuais de stdout e stderr do shell para salvar mensagens e erros
|
||||
em arquivos.
|
||||
|
||||
|
||||
|
||||
**EXEMPLOS**
|
||||
|
||||
Abrir uma árvore genealógica existente e importar um arquivo xml para
|
||||
ela:
|
||||
|
||||
gramps -O 'Minha árvore genealógica' -i ~/db3.gramps
|
||||
|
||||
Fazer as mesmas alterações da árvore genealógica do comando anterior,
|
||||
mas importar a árvore genealógica temporária e iniciar uma sessão
|
||||
interativa:
|
||||
|
||||
gramps -i 'Minha árvore genealógica' -i ~/db3.gramps
|
||||
|
||||
Importar quatro bancos de dados (cujos formatos podem ser
|
||||
reconhecidos pelos nomes) e verificar a existência de erros no
|
||||
banco de dados resultante:
|
||||
|
||||
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps -i
|
||||
arquivo4.wft -a check
|
||||
|
||||
Indicar de forma explícita os formatos do exemplo acima, atribuindo
|
||||
os nomes dos arquivos com as opções -f apropriadas:
|
||||
|
||||
gramps -i arquivo1.ged -f gedcom -i arquivo2.tgz -f gramps-pkg
|
||||
-i ~/db3.gramps -f gramps-xml -i arquivo4.wft -f wft -a check
|
||||
|
||||
Gravar o banco de dados resultante de todas as importações,
|
||||
indicando a opção -e (use -f se o nome do arquivo não permirtir
|
||||
que o gramps reconheça o formato automaticamente):
|
||||
|
||||
gramps -i arquivo1.ged -i arquivo2.tgz -e ~/novo-pacote -f gramps-pkg
|
||||
|
||||
Importar três bancos de dados e iniciar a sessão interativa do
|
||||
Gramps com o resultado:
|
||||
|
||||
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps
|
||||
|
||||
Executar a ferramenta de verificação a partir da linha de
|
||||
comando e direcionar o resultado para stdout:
|
||||
|
||||
gramps -O 'Minha árvore genealógica' -a tool -p name=verify
|
||||
|
||||
Finalmente, para iniciar uma sessão interativa normal, digite:
|
||||
|
||||
gramps
|
||||
|
||||
**VARIÁVEIS DE AMBIENTE**
|
||||
|
||||
O programa verifica se estas variáveis de ambiente estão definidas:
|
||||
**LANG** - identifica o idioma a ser usado. Ex.: Para o idioma português do Brasil, a variável deve ser definida como pt_BR.UTF-8.
|
||||
|
||||
**GRAMPSHOME** - se definida, força o Gramps a usar a pasta indicada para armazenar as configurações e os bancos de dados do programa. Por padrão, esta variável não é definida e o Gramps assume que a pasta com todos os bancos de dados e configurações do perfil devem ser criadas na pasta do usuário (descrita na variável de ambiente HOME no Linux ou USERPROFILE no Windows 2000/XP).
|
||||
|
||||
|
||||
|
||||
**CONCEITOS**
|
||||
|
||||
Suporta um sistema de plugins baseado em Python, permitindo acrescentar
|
||||
importações e exportações adicionais, geradores de relatórios,
|
||||
ferramentas e filtros de exibição, sem modificação do programa principal.
|
||||
|
||||
Além da impressão direta, é possível gerar relatórios em diversos
|
||||
formatos de arquivo, tais como OpenOffice.org, AbiWord, HTML ou
|
||||
LaTeX, para permitir aos usuários a modificação de acordo com
|
||||
suas necessidades.
|
||||
|
||||
|
||||
|
||||
**LIMITAÇÕES E ERROS CONHECIDOS**
|
||||
|
||||
*ARQUIVOS**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
*AUTORES*
|
||||
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps.sourceforge.net
|
||||
Este manual foi originalmente escrito por:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
para inclusão na distribuição Debian GNU/Linux.
|
||||
|
||||
Este manual é atualmente mantido pelo:
|
||||
Projeto Gramps <xxx@gramps-project.org>
|
||||
|
||||
|
||||
**DOCUMENTAÇÃO**
|
||||
|
||||
A documentação para usuários está disponível através da
|
||||
opção de ajuda.
|
||||
|
||||
A documentação para desenvolvedores pode ser encontrada na
|
||||
página http://developers.gramps-project.org.
|
||||
|
||||
|
||||
|
||||
**TRADUÇÃO**
|
||||
|
||||
André Marcelo Alvarenga <andrealvarenga@gmx.net> em 05/08/2012
|
||||
|
||||
January 2013 4.0.0 gramps(1)
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# This is the data/man/sv level Makefile for Gramps
|
||||
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/sv
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/sv/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
@@ -1,243 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps documentation build configuration file, created by
|
||||
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import sys, os
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = []
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'sv'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Gramps'
|
||||
copyright = u'2015, Gramps project'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.2.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
locale_dirs = './locale'
|
||||
gettext_compact = True
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = 'default'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
#html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'Grampsdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#'preamble': '',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'Gramps.tex', u'Gramps Documentation',
|
||||
u'.', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('sv', 'gramps', u'Gramps Documentation',
|
||||
[u'.'], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output ------------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
('index', 'Gramps', u'Gramps Documentation',
|
||||
u'.', 'Gramps', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#texinfo_show_urls = 'footnote'
|
||||
@@ -1,281 +0,0 @@
|
||||
Swedish
|
||||
=======
|
||||
|
||||
Gramps(1) 3.4.0 Gramps(1)
|
||||
|
||||
|
||||
|
||||
**NAMN**
|
||||
Gramps - Genealogical Research and Analysis Management Programming Sys‐
|
||||
tem.
|
||||
|
||||
|
||||
**SAMMANFATTNING**
|
||||
Gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
|
||||
[-O|--open= DATABAS [-f|--format= FORMAT]] [-i|--import= FIL [-f|--for‐
|
||||
mat= FORMAT]] [-i|--import= ...] [-e|--export= FIL [-f|--format= FOR‐
|
||||
MAT]] [-a|--action= ÅTGÄRD] [-p|--options= ALTERNATIVSTRÄNG]] [ FIL ]
|
||||
[--version]
|
||||
|
||||
|
||||
**BESKRIVNING**
|
||||
Gramps är ett Free/OpenSource släktforskningsprogram. Det är skrivet i
|
||||
Python, med hjälp av GTK+/GNOME gränssnittet. Gramps bör kännas bekant
|
||||
för de flesta, som har använt andra släktforskningsprogram tidigare,
|
||||
som Family Tree Maker (TM), Personal Ancestral Files (TM), DISGEN eller
|
||||
GNU Geneweb. Det stöder import via det populära GEDCOM-formatet, som
|
||||
används över hela världen av nästan all släktforskningsprogramvara.
|
||||
|
||||
|
||||
**ALTERNATIV**
|
||||
**Gramps** *FIL*
|
||||
När *FIL* ges (utan några flaggor) som namn på ett familjeträd
|
||||
eller som en mapp med familjeträd, så öppnas detta och en inter‐
|
||||
aktiv session startas. Om FIL är en fil, vars format förstås av
|
||||
Gramps, skapas ett tomt famljeträd, vars namn är grundat på nam‐
|
||||
net FIL och vars data importeras till det. Resterande alterna‐
|
||||
tiv ignoreras. Detta sätt att starta passar vid användning av
|
||||
Gramps som en hanterare för släktforskningsdata i t. ex. en web-
|
||||
läsare. Detta startsätt accepterar alla inbyggda dataformat för
|
||||
Gramps, se nedan.
|
||||
|
||||
|
||||
**-f** , **--format=** *FORMAT*
|
||||
Uttryckligen specificera format på FIL givet av föregående -i
|
||||
eller -e-alternativ. Om -f-alternativet inte ges för någon FIL,
|
||||
gissas filformat för den filen utgående från dess filändelse
|
||||
eller dess MIME-typ.
|
||||
|
||||
De format, som är tillgängliga för utmatnig, är Gramps-xml (gis‐
|
||||
sas om FIL slutar på .Gramps), gedcom (gissas om FIL slutar med
|
||||
.ged) eller någon filexport, som är tillgänglig via Gramps
|
||||
tilläggsprogramsystem.
|
||||
|
||||
De format, som är tillgängliga för inmatnig, är grdb,
|
||||
Gramps-xml, gedcom, Gramps-pkg (gissas om FIL slutar med .gpkg)
|
||||
och geneweb (gissas om FIL slutar med .gw).
|
||||
|
||||
De format, som är tillgängliga för export är Gramps-xml, gedcom,
|
||||
Gramps-pkg, wft (gissas om FIL slutar med .wft), geneweb och iso
|
||||
(gissas aldrig, specificeras alltid med -f-alternativ).
|
||||
|
||||
|
||||
**-l**
|
||||
Listar alla databaser/familjeträd.
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Tvingar upplåsning av databas.
|
||||
|
||||
|
||||
**-O** , **--open=** *DATABAS*
|
||||
Öppnar *DATABAS* , som måste vara en befitlig databasmapp eller ett
|
||||
befintligt familjeträd. Om ingen åtgärd, import eller export-
|
||||
alternativ anges på kommandoraden så startas en interaktiv ses‐
|
||||
sion med den angivna databasen.
|
||||
|
||||
|
||||
**-i** , **--import=** *FIL*
|
||||
Importera data från FIL. Om du inte har specificerat en databas,
|
||||
skapas en temporär sådan, som tas bort när Gramps avslutas.
|
||||
|
||||
Om mer är en indatafil anges, måste varje föregås av en -i-
|
||||
flagga. Filerna importeras i den givna ordningen, t.ex. -i FIL1
|
||||
-i FIL2 och -i FIL2 -i FIL1 kan skapa skilda Gramps IDs i den
|
||||
resulterande databasen.
|
||||
|
||||
|
||||
**-e** , **--export=** *FIL*
|
||||
Exporterar data till *FIL* . För iso-format, är *FIL* i själva verket
|
||||
namnet på den mapp, som Gramps databas kommer att skrivas till.
|
||||
För Gramps-xml, gedcom, wft, Gramps-pkg och geneweb, är *FIL* nam‐
|
||||
net på resultatfilen.
|
||||
|
||||
Om mer är en utdatafil anges, måste varje föregås av en -e-
|
||||
flagga. Filerna skrivs en efter en i den givna ordningen.
|
||||
|
||||
|
||||
**-a** , **--action=** *ÅTGÄRD*
|
||||
Utför ÅTGÄRD på importerade data. Detta görs efter att all
|
||||
import har avslutats felfritt. F. n. är följand åtgärder möjliga
|
||||
summary (samma som Rapporter->Visa->Sammanfattning av
|
||||
databasen) , check (samma som Verktyg->Reparera databas ->Kon‐
|
||||
trollera och reparera) samt report ( skapar report, kräver
|
||||
en *ALTERNATIVSTRÄNG* lämnad via **-p** flaggan ) .
|
||||
|
||||
*ALTERNATIVSTRÄNG* -en måste uppfylla följand villkor:
|
||||
Får ej innehålla några mellanslag. Om några argument behöver
|
||||
inbegripa mellanslag, måste strängen omslutas av anföring‐
|
||||
stecken. Alternativsträngen är en lista med par av namn och
|
||||
värden (åtskiljda av likhetstecken). Namn och värde måste
|
||||
åtskiljas med komma.
|
||||
|
||||
De flesta rapportalternativ är unika för varje rapport eller
|
||||
verktyg. Emellertid finns det gemensamm alternativ.
|
||||
|
||||
**name=rapportnamn**
|
||||
Detta är obligatoriskt och bestämmer vilken rapport som skall
|
||||
skapas. Om det givna namn inte motsvarar någon möjlig rapport
|
||||
eller verktyg, kommer ett felmeddelande att skrivas ut, följt av
|
||||
möjliga namn på rapporter eller verktyg.
|
||||
|
||||
**show=all**
|
||||
Detta ger en lista med namn på alla möjliga alternativ för en
|
||||
bestämd rapport eller verktyg.
|
||||
|
||||
**show=optionname**
|
||||
Detta skriver ut beskrivningen av den funktion, som optionname
|
||||
innebär, likväl vad som är godkända typer och värden för detta
|
||||
alternativ.
|
||||
|
||||
Använd alternativen ovan för att ta reda på all om en viss rap‐
|
||||
port.
|
||||
|
||||
|
||||
Om mer än en utdataåtgärd givits måste varje föregås av en -a-flagga.
|
||||
Åtgärderna utförs en och en i den givna turordningen.
|
||||
|
||||
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Kopplar på avlusningshjälpmedel för utveckling och tester. För
|
||||
detaljer hänvisas till källkoder
|
||||
|
||||
**--version**
|
||||
Skriver ur Gramps versionsnummer och avslutar
|
||||
|
||||
|
||||
**Operation**
|
||||
Om första argumentet på kommandoraden inte inledds med ett minustecken
|
||||
(d. v. s. ingen flagga), kommer Gramps att försöka öppna den fil, vars
|
||||
namn givits av det första argumentet samt påbörja en interaktiv session
|
||||
utan att ta hänsyn till resten av argumenten på kommandoraden.
|
||||
|
||||
|
||||
Om -O-flagga givits, kommer Gramps att försöka öppna den omnämnda
|
||||
databasen och sedan arbeta med dess data, enligt ytterligare instruk‐
|
||||
tioner på kommandoraden.
|
||||
|
||||
|
||||
Med eller utan -Oflagga, kan det ske många importeringar, exporteringar
|
||||
och åtgärder beskrivna ytterligare på kommanodraden genom att använda
|
||||
-i-, -e- samt -a-flaggor.
|
||||
|
||||
|
||||
Ordningen på -i-, -e- eller -a-alternativen spelar ingen roll. Den
|
||||
gällande ordningen är alltid: all import (om någon) -> alla åtgärder
|
||||
(om några) -> all export (om någon). Men öppning måste alltid ske
|
||||
först!
|
||||
|
||||
|
||||
Om inget -O- eller -i-alternativ givits, kommer Gramps att starta sitt
|
||||
huvudfönster samt påbörja den vanliga interaktiva sessionen med en tom
|
||||
databas, då hur som helst inget data finns att bearbeta.
|
||||
|
||||
|
||||
Om inget -e- eller -a-alternativ givits, kommer Gramps att starta sitt
|
||||
huvudfönster samt påbörja den vanliga interaktiva sessionen med den
|
||||
databas, som blev resultet från all import. Denna databas återfinns i
|
||||
import_db.grdb under ~/.Gramps/import-mappen.
|
||||
|
||||
|
||||
De fel som inträffar under import, export eller vid åtgärder kommer
|
||||
antingen att skrivas till stdout (om dessa avbrott hanteras av Gramps)
|
||||
eller till stderr (om dessa inte hanteras). Använd vanliga skalkomman‐
|
||||
don för att styra om stdout och stderr till att spara medelanden och
|
||||
fel i filer.
|
||||
|
||||
|
||||
**EXAMPEL**
|
||||
För att öppna ett befintligt familjeträd och importera en xml-fil till
|
||||
det, kan man skriva:
|
||||
|
||||
Gramps -O 'Mitt familjeträd' -i ~/db3.Gramps
|
||||
|
||||
Ovanstående ändrar det öppnade familjeträdet, för att göra samma sak,
|
||||
men importera bägge till ett tillfälligt familjeträd och påbörja en
|
||||
interaktiv session, kan man skriva:
|
||||
|
||||
Gramps -i 'My Family Tree' -i ~/db3.Gramps
|
||||
|
||||
För att importera fyra databaser (vars format kan avgöras av deras
|
||||
namn) och sedan felkontrollera den resulterande databasen, kan man
|
||||
skriva:
|
||||
|
||||
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps -i FIL4.wft -a
|
||||
check
|
||||
|
||||
För att uttryckligen specificera formaten i examplet ovan, lägg till
|
||||
filnamn med passande -f-alternativ:
|
||||
|
||||
Gramps -i FIL1.ged -f gedcom -i FIL2.tgz -f Gramps-pkg -i
|
||||
~/db3.Gramps -f Gramps-xml -i FIL4.wft -f wft -a check
|
||||
|
||||
För att spara den databas, som är resultat av all import, ange -e-
|
||||
flagga (använd -f om filnamnet inte tillåter Gramps att gissa dess for‐
|
||||
mat):
|
||||
|
||||
Gramps -i FIL1.ged -i FIL2.tgz -e ~/new-package -f Gramps-pkg
|
||||
|
||||
För att importera tre databaser och påbörja en interaklive Gramps-ses‐
|
||||
sion med importresultatet:
|
||||
|
||||
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps
|
||||
|
||||
För att köra verifieringsverktyget från kommandoraden och mata ut
|
||||
resultatet till stdout:
|
||||
|
||||
Gramps -O file.grdb -a tool -p name=verify
|
||||
|
||||
Slutligen, för att påbörja en normal interaktiv session skriv bara:
|
||||
|
||||
Gramps
|
||||
|
||||
|
||||
**BEGREPP**
|
||||
Stöder ett python-baserat system för tilläggsprogram, som möjliggör att
|
||||
import- och export-funktioner, rapportgeneratorer, verktyg samt vis‐
|
||||
ningsfilter, kan komplettera Gramps utan ändringar i huvudprogrammet.
|
||||
|
||||
Förutom att skapa utskrift på skrivare direkt, kan rapportgeneratorer
|
||||
ha andra målsystem som OpenOffice.org, AbiWord, HTML eller LaTeX så att
|
||||
användaren kan tillåtas att ändra format för att passa behoven.
|
||||
|
||||
|
||||
**KÄNDA FEL OCH BEGRÄNSNINGAR**
|
||||
**FILER**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**FÖRFATTARE**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Denna man-sida skrevs ursprungligen av:
|
||||
Brandon L. Griffith <brandon@debian.org>
|
||||
till att ingå i Debians GNU/Linux-system.
|
||||
|
||||
Denna man-sida underhålls f. n. av:
|
||||
Alex Roitman <shura@gramps-project.org>
|
||||
|
||||
Denna man-sida har översatts till svenska av:
|
||||
Peter Landgren <peter.talken@telia.com>
|
||||
|
||||
|
||||
**DOCUMENTATION**
|
||||
Användardokumentationen är tillgänglig genom GNOME's standard hjälp-
|
||||
bläddrare i form av Gramps-handboken. Handboken finns även i XML-format
|
||||
som gramps-manual.xml under doc/gramps-manual/$LANG i den officiella
|
||||
källdistributionen. Dock ej på svenska.
|
||||
|
||||
Utvecklingsdokumentationen kan hittas på
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
|
||||
|
||||
Januari 2013 4.0.0 Gramps(1)
|
||||
@@ -1,183 +0,0 @@
|
||||
#! /usr/bin/env python
|
||||
#
|
||||
# update_po - a gramps tool to update translations
|
||||
#
|
||||
# Copyright (C) 2006-2006 Kees Bakker
|
||||
# Copyright (C) 2006 Brian Matherly
|
||||
# Copyright (C) 2008 Stephen George
|
||||
# Copyright (C) 2012
|
||||
#
|
||||
# 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,
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
"""
|
||||
update_man.py for command line documentation.
|
||||
|
||||
Examples:
|
||||
python update_man.py -t
|
||||
|
||||
Tests if 'sphinx' and 'python' are well configured.
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
from argparse import ArgumentParser
|
||||
|
||||
DOCUTILS = True
|
||||
try:
|
||||
import docutils.core, docutils.writers
|
||||
except:
|
||||
DOCUTILS = False
|
||||
|
||||
LANGUAGES = ['sv', 'nl', 'pl', 'cs', 'pt_BR', 'fr']
|
||||
VERSION = '4.2.0'
|
||||
DATE = ''
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXBUILD = 'sphinx-build'
|
||||
|
||||
if sys.platform == 'win32':
|
||||
pythonCmd = os.path.join(sys.prefix, 'bin', 'python.exe')
|
||||
sphinxCmd = os.path.join(sys.prefix, 'bin', 'sphinx-build.exe')
|
||||
elif sys.platform in ['linux2', 'darwin', 'cygwin']:
|
||||
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
|
||||
sphinxCmd = SPHINXBUILD
|
||||
else:
|
||||
print ("Update Man ERROR: unknown system, don't know sphinx, ... commands")
|
||||
sys.exit(0)
|
||||
|
||||
def tests():
|
||||
"""
|
||||
Testing installed programs.
|
||||
We made tests (-t flag) by displaying versions of tools if properly
|
||||
installed. Cannot run all commands without 'sphinx' and 'python'.
|
||||
"""
|
||||
try:
|
||||
print("\n=================='python'=============================\n")
|
||||
os.system('''%(program)s -V''' % {'program': pythonCmd})
|
||||
except:
|
||||
print ('Please, install python')
|
||||
|
||||
try:
|
||||
print("\n=================='Shpinx-build'=============================\n")
|
||||
os.system('''%(program)s''' % {'program': sphinxCmd})
|
||||
except:
|
||||
print ('Please, install sphinx')
|
||||
|
||||
if not DOCUTILS:
|
||||
print('\nNo docutils support, cannot use -m/--man and -o/--odt arguments.')
|
||||
|
||||
def main():
|
||||
"""
|
||||
The utility for handling documentation stuff.
|
||||
What is need by Gramps, nothing more.
|
||||
"""
|
||||
|
||||
parser = ArgumentParser(
|
||||
description='This program aims to handle documentation'
|
||||
' and realted translated versions.',
|
||||
)
|
||||
|
||||
parser.add_argument("-t", "--test",
|
||||
action="store_true", dest="test", default=True,
|
||||
help="test if 'python' and 'sphinx' are properly installed")
|
||||
|
||||
parser.add_argument("-b", "--build",
|
||||
action="store_true", dest="build", default=False,
|
||||
help="build man documentation (via sphinx-build)")
|
||||
|
||||
parser.add_argument("-m", "--man",
|
||||
action="store_true", dest="man", default=False,
|
||||
help="build man documentation (via docutils)")
|
||||
|
||||
parser.add_argument("-o", "--odt",
|
||||
action="store_true", dest="odt", default=False,
|
||||
help="build odt documentation (via docutils)")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.test:
|
||||
tests()
|
||||
|
||||
if args.build:
|
||||
build()
|
||||
|
||||
if args.man and DOCUTILS:
|
||||
man()
|
||||
|
||||
if args.odt and DOCUTILS:
|
||||
odt()
|
||||
|
||||
def build():
|
||||
"""
|
||||
Build documentation.
|
||||
"""
|
||||
|
||||
# testing stage
|
||||
|
||||
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b htmlhelp . _build/htmlhelp''' % {'program': sphinxCmd})
|
||||
if DOCUTILS:
|
||||
os.system('''%(program)s -b man . .''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b text . _build/text''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b changes . _build/changes''' % {'program': sphinxCmd})
|
||||
#os.system('''%(program)s -b linkcheck . _build/linkcheck''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b gettext . _build/gettext''' % {'program': sphinxCmd})
|
||||
|
||||
for lang in LANGUAGES:
|
||||
os.system('''%(program)s -b html -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
|
||||
% {'lang': lang, 'program': sphinxCmd})
|
||||
os.system('''%(program)s -b htmlhelp -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
|
||||
% {'lang': lang, 'program': sphinxCmd})
|
||||
if DOCUTILS:
|
||||
os.system('''%(program)s -b man %(lang)s %(lang)s'''
|
||||
% {'lang': lang, 'program': sphinxCmd})
|
||||
os.system('''%(program)s -b text -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
|
||||
% {'lang': lang, 'program': sphinxCmd})
|
||||
# for update/migration
|
||||
os.system('''%(program)s -b gettext -D language="%(lang)s" master_doc="%(lang)s" . _build/gettext/%(lang)s'''
|
||||
% {'lang': lang, 'program': sphinxCmd})
|
||||
|
||||
def man():
|
||||
"""
|
||||
man file generation via docutils (python)
|
||||
|
||||
from docutils.core import publish_cmdline, default_description
|
||||
from docutils.writers import manpage
|
||||
"""
|
||||
|
||||
os.system('''rst2man en.rst gramps.1''')
|
||||
|
||||
for lang in LANGUAGES:
|
||||
os.system('''rst2man %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.1'''
|
||||
% {'lang': lang})
|
||||
|
||||
def odt():
|
||||
"""
|
||||
odt file generation via docutils (python)
|
||||
|
||||
from docutils.core import publish_cmdline_to_binary, default_description
|
||||
from docutils.writers.odf_odt import Writer, Reader
|
||||
"""
|
||||
|
||||
os.system('''rst2odt en.rst gramps.odt''')
|
||||
|
||||
for lang in LANGUAGES:
|
||||
os.system('''rst2odt %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.odt'''
|
||||
% {'lang': lang})
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,21 +0,0 @@
|
||||
{% extends "admin/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{{ title }} | Adminstration{% endblock %}
|
||||
|
||||
{% block branding %}
|
||||
<h1 id="site-name">Administration</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block nav-global %}
|
||||
{% if user.is_staff %}
|
||||
<style type="text/css">
|
||||
.ml {margin:0 10px 10px;display:block;float:left}
|
||||
</style>
|
||||
|
||||
<a href="/" clas="ml">Home</a>
|
||||
<a href="/admin/" class="ml">Administration home</a>
|
||||
<a href="/admin/auth/user/?is_active__exact=0" class="ml">New Users</a>
|
||||
<a href="/admin/auth/user/" class="ml">All Users</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -1,12 +0,0 @@
|
||||
{% load my_tags %}
|
||||
{% filter breadcrumb %}
|
||||
{% format "/browse|Browse" %}||
|
||||
{% format "/%s/%s|%s" view args tviews %}
|
||||
{% if object.gramps_id %}
|
||||
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.gramps_id %}
|
||||
{% else %}
|
||||
{% if object.name %}
|
||||
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.name %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfilter %}
|
||||
@@ -1,399 +0,0 @@
|
||||
{% load my_tags %}
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
|
||||
<head>
|
||||
<title>{% block title %}{{sitename}}{% endblock %}</title>
|
||||
{% block meta %}
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta name="generator" content="Gramps 3.2.0-0.SVN12859M http://gramps-project.org/" />
|
||||
<meta name="author" content="" />
|
||||
{% endblock %}
|
||||
<link href="/images/ped24.ico" type="image/x-icon" rel="shortcut icon" />
|
||||
{% block css %}
|
||||
<link media="screen" href="/styles/css/{{css_theme}}" type="text/css" rel="stylesheet" />
|
||||
<link media="print" href="/styles/css/Web_Print-Default.css" type="text/css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="/styles/javascript/jquery-1.3.2.min.js"></script>
|
||||
<script type="text/javascript" src="/styles/javascript/jquery-ui-1.7.2.custom.min.js"></script>
|
||||
<script type="text/javascript" src="/styles/jhtmlarea/scripts/jHtmlArea-0.7.0.js"></script>
|
||||
<link rel="Stylesheet" type="text/css" href="/styles/jhtmlarea/style/jHtmlArea.css" />
|
||||
<script type="text/javascript" src="/styles/javascript/jquery.flexbox.min.js"></script>
|
||||
<link type="text/css" rel="stylesheet" href="/styles/css/jquery.flexbox.css" />
|
||||
{% endblock %}
|
||||
|
||||
<style type="text/css">
|
||||
table td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
div.content {
|
||||
background: none;
|
||||
}
|
||||
.content {
|
||||
padding: 0px 0px 10px;
|
||||
}
|
||||
.browsecell {
|
||||
display: block;
|
||||
}
|
||||
#subtitle {
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
border-top: 1px solid;
|
||||
}
|
||||
td.ColumnAttribute {
|
||||
text-align: right;
|
||||
}
|
||||
#error {
|
||||
color: red;
|
||||
}
|
||||
{% if action == "edit" or action == "add" %}
|
||||
{% else %}
|
||||
#rowspace {
|
||||
height: 3px;
|
||||
}
|
||||
#data {
|
||||
border: 1px solid;
|
||||
background-color: white;
|
||||
color: brown;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
/* Component containers */
|
||||
.ui-widget {
|
||||
font-family: Georgia,serif;
|
||||
font-size: small;
|
||||
}
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
|
||||
font-family: Georgia,serif;
|
||||
font-size: small;
|
||||
}
|
||||
.ui-widget-content {
|
||||
border: 1px solid #7D5925;
|
||||
color: #7D5925;
|
||||
float: left;
|
||||
width: 98%;
|
||||
}
|
||||
.ui-widget-content a {
|
||||
color: #7D5925;
|
||||
}
|
||||
.ui-widget-header {
|
||||
color: #ffffff;
|
||||
}
|
||||
.ui-widget-header a {
|
||||
color: #7D5925;
|
||||
}
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
background: #aaaaaa;
|
||||
opacity: .30;
|
||||
}
|
||||
|
||||
.ui-widget-shadow {
|
||||
margin: -8px 0 0 -8px;
|
||||
padding: 8px;
|
||||
opacity: .30;
|
||||
-webkit-border-radius: 8px;
|
||||
}
|
||||
|
||||
/* Interaction states */
|
||||
.ui-state-default {
|
||||
border: 1px solid #7D5925;
|
||||
background: #FFF2C6;
|
||||
font-weight: normal;
|
||||
color: #7D5925;
|
||||
outline: none;
|
||||
}
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
|
||||
color: #7D5925;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
.ui-state-hover, .ui-state-focus {
|
||||
border: 1px solid #f5ad66;
|
||||
background: #f5f0e5;
|
||||
font-weight: normal;
|
||||
color: #a46313;
|
||||
outline: none;
|
||||
}
|
||||
.ui-state-hover a, .ui-state-hover a:hover {
|
||||
color: #a46313;
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
.ui-state-active {
|
||||
border: 1px solid #7D5925;
|
||||
background: #f4f0ec;
|
||||
font-weight: normal;
|
||||
color: #b85700;
|
||||
outline: none;
|
||||
}
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
|
||||
color: #b85700;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Interaction Cues */
|
||||
.ui-state-highlight {
|
||||
border: 1px solid #d9bb73;
|
||||
background: #f5f5b5;
|
||||
color: #060200;
|
||||
}
|
||||
.ui-state-highlight a {
|
||||
color: #060200;
|
||||
}
|
||||
.ui-state-error {
|
||||
border: 1px solid #f8893f;
|
||||
background: #fee4bd;
|
||||
color: #dd4e2c;
|
||||
}
|
||||
.ui-state-error a {
|
||||
color: #dd4e2c;
|
||||
}
|
||||
.ui-state-error-text {
|
||||
color: #dd4e2c;
|
||||
}
|
||||
.ui-state-disabled {
|
||||
opacity: .35;
|
||||
background-image: none;
|
||||
}
|
||||
.ui-priority-primary {
|
||||
font-weight: bold;
|
||||
}
|
||||
.ui-priority-secondary {
|
||||
opacity: .7;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* Tabs */
|
||||
.ui-tabs {
|
||||
padding: .2em;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav {
|
||||
list-style: none;
|
||||
position: relative;
|
||||
padding: .2em .2em 0;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin: .2em .2em -1px 0;
|
||||
padding: 0;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li a {
|
||||
float: left;
|
||||
text-decoration: none;
|
||||
padding: .5em 1em;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected {
|
||||
padding-bottom: 1px;
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
|
||||
cursor: text;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
|
||||
cursor: pointer;
|
||||
} /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel {
|
||||
padding: 1em 1.4em;
|
||||
display: block;
|
||||
border-width: 0;
|
||||
background: none;
|
||||
}
|
||||
.ui-tabs .ui-tabs-hide {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
<!--
|
||||
var timerId=0 ;
|
||||
|
||||
function clearTimer() {
|
||||
if (timerId!=0) {
|
||||
clearTimeout(timerId); timerId=0; }}
|
||||
|
||||
function startTimer() {
|
||||
clearTimer(); timerId=setTimeout('timerId=0;hideMenus()',200);
|
||||
}
|
||||
|
||||
function showMenu(menuNum) {
|
||||
clearTimer(); hideMenus();
|
||||
document.getElementById('menu_'+menuNum).style.display="";
|
||||
}
|
||||
|
||||
function hideMenus() {
|
||||
document.getElementById('menu_browse').style.display="none";
|
||||
}
|
||||
|
||||
function hiLite(theOption) {
|
||||
clearTimer();
|
||||
document.getElementById('opt_'+theOption).style.background='#9090FF';
|
||||
}
|
||||
|
||||
function unLite(theOption) {
|
||||
startTimer();
|
||||
document.getElementById('opt_'+theOption).style.background='#D0D0FF';
|
||||
}
|
||||
|
||||
function optClick(theOption) {
|
||||
document.location.href=theOption;
|
||||
}
|
||||
|
||||
function setHasData(classname, value) {
|
||||
var elems = document.getElementsByTagName('*'), i;
|
||||
for (i in elems) {
|
||||
if((" " + elems[i].className + " ").indexOf(" " + classname + " ") > -1) {
|
||||
if (value) {
|
||||
elems[i].style.fontWeight = "bold";
|
||||
elems[i].style.fontStyle = "italic";
|
||||
} else {
|
||||
elems[i].style.fontWeight = "";
|
||||
elems[i].style.fontStyle = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setReturnValues() {
|
||||
var elems = document.getElementsByTagName('*'), i;
|
||||
for (i in elems) {
|
||||
if ((" " + elems[i].name + " ").indexOf("_return ") > -1) {
|
||||
var pos = (" " + elems[i].name + " ").indexOf("_return ");
|
||||
var s = elems[i].name.substring(0, pos - 1);
|
||||
var v = document.getElementsByName(s)[0];
|
||||
elems[i].value = v.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function buttonOver(button) {
|
||||
button.style.backgroundColor = "white";
|
||||
button.style.border = "1px solid gray";
|
||||
}
|
||||
|
||||
function buttonOut(button) {
|
||||
button.style.backgroundColor = "lightgray";
|
||||
button.style.border = "1px solid lightgray";
|
||||
}
|
||||
//-->
|
||||
</SCRIPT>
|
||||
|
||||
<STYLE TYPE="text/css">
|
||||
<!--
|
||||
.popupMenu {
|
||||
// font-family : Verdana,Tahoma,Helvetica,sans-serif;
|
||||
// font-size : 12px;
|
||||
color : #111111;
|
||||
position : absolute;
|
||||
// top : 72px;
|
||||
border : 1px;
|
||||
padding : 3px;
|
||||
z-index : 16;
|
||||
background-color: #D0D0FF;
|
||||
cursor : pointer; }
|
||||
-->
|
||||
</STYLE>
|
||||
</head>
|
||||
<body onclick="hideMenus()"
|
||||
onload="if (document.getElementById('get_focus')) {document.getElementById('get_focus').focus();}"
|
||||
>
|
||||
<div id="header" style="padding-top: 1em; background-position:0px -32px;">
|
||||
<h1 id="SiteTitle" style="margin-left: 0em;">{% block heading %}{{sitename}}{% endblock %}</h1>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" role="navigation" id="nav">
|
||||
{% block navigation %}
|
||||
<div class="container">
|
||||
<ul class="menu" id="dropmenu">
|
||||
<li {{ tview|currentSection:"home" }}><a href="/">Home</a></li>
|
||||
{% for title in menu %}
|
||||
{# (<Nice name>, /<path>/, <Model> | None, Need authentication ) #}
|
||||
{% if title.3 %}
|
||||
{% if user.is_authenticated %}
|
||||
<li {{tview|currentSection:title.1 }}>
|
||||
{% if title.1 %}
|
||||
<a href="/{{title.1}}/">{{title.0}}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<a href="/">{{title.0}}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{# don't show #}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<li {{tview|currentSection:title.1 }}>
|
||||
{% if title.1 %}
|
||||
<a href="/{{title.1}}/"
|
||||
onmouseover="showMenu('{{title.1}}')"
|
||||
onmouseout="startTimer()"
|
||||
style="cursor:pointer"
|
||||
href="/browse/">{{title.0}}</a>
|
||||
<DIV CLASS="popupMenu" ID="menu_browse" STYLE="display:none;">
|
||||
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
|
||||
<TR ID="opt_person"><TD><A ONMOUSEOVER="hiLite('person')" ONMOUSEOUT="unLite('person')" ONCLICK="optClick('/person/')">People</A></TD></TR>
|
||||
<TR ID="opt_family"><TD><A ONMOUSEOVER="hiLite('family')" ONMOUSEOUT="unLite('family')" ONCLICK="optClick('/family/')">Families</A></TD></TR>
|
||||
<TR ID="opt_event"><TD><A ONMOUSEOVER="hiLite('event')" ONMOUSEOUT="unLite('event')" ONCLICK="optClick('/event/')">Events</A></TD></TR>
|
||||
<TR ID="opt_note"><TD><A ONMOUSEOVER="hiLite('note')" ONMOUSEOUT="unLite('note')" ONCLICK="optClick('/note/')">Note</A></TD></TR>
|
||||
<TR ID="opt_media"><TD><A ONMOUSEOVER="hiLite('media')" ONMOUSEOUT="unLite('media')" ONCLICK="optClick('/media/')">Media</A></TD></TR>
|
||||
<TR ID="opt_citation"><TD><A ONMOUSEOVER="hiLite('citation')" ONMOUSEOUT="unLite('citation')" ONCLICK="optClick('/citation/')">Citations</A></TD></TR>
|
||||
<TR ID="opt_source"><TD><A ONMOUSEOVER="hiLite('source')" ONMOUSEOUT="unLite('source')" ONCLICK="optClick('/source/')">Sources</A></TD></TR>
|
||||
<TR ID="opt_place"><TD><A ONMOUSEOVER="hiLite('place')" ONMOUSEOUT="unLite('place')" ONCLICK="optClick('/place/')">Places</A></TD></TR>
|
||||
<TR ID="opt_repository"><TD><A ONMOUSEOVER="hiLite('repsoitory')" ONMOUSEOUT="unLite('repository')" ONCLICK="optClick('/repository/')">Repository</A></TD></TR>
|
||||
<TR ID="opt_tag"><TD><A ONMOUSEOVER="hiLite('tag')" ONMOUSEOUT="unLite('tag')" ONCLICK="optClick('/tag/')">Tags</A></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
</li>
|
||||
{% else %}
|
||||
<a href="/">{{title.0}}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if user.is_authenticated %}
|
||||
{% if next %}
|
||||
<li><a href="/logout/?next={{next}}">Logout</a></li>
|
||||
{% else %}
|
||||
<li><a href="/logout">Logout</a></li>
|
||||
{% endif %}
|
||||
{% if user.is_superuser %}
|
||||
<li><a href="/admin">Admin</a></li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if next %}
|
||||
<li><a href="/login/?next={{next}}">Login</a></li>
|
||||
{% else %}
|
||||
<li><a href="/login/">Login</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="grampsweb">
|
||||
{% for message in messages %}
|
||||
<font color="red">{{message}}</font><br/>
|
||||
{% endfor %}
|
||||
{% if message %}
|
||||
<div id="system_message" class="{{ message_type }}">
|
||||
<font color="red">{{message}}</font><br/>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
<div class="content">
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
{% block footer %}
|
||||
<p id="createdate">
|
||||
<a href="http://www.gramps-project.org/wiki/index.php?title=Gramps-Connect">Gramps-Connect, version {{gramps_version}}</a>.
|
||||
</p>
|
||||
<p id="copyright">© 2009-2015 <a href="http://www.gramps-project.org/">www.gramps-project.org</a>
|
||||
</p>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,36 +0,0 @@
|
||||
<div class="pagination">
|
||||
<span class="step-links">
|
||||
<form method="post">{% csrf_token %}
|
||||
<div id="alphanav" style="padding: 0pt 0 0pt 0;">
|
||||
<ul>
|
||||
{% ifequal page.number 1 %}
|
||||
<li><input type="button" value="<<" disabled="disabled"></li>
|
||||
{% else %}
|
||||
<li><input type="button" value="<<" onclick="document.location.href='?page=1{{search_query}}'"></li>
|
||||
{% endifequal %}
|
||||
{% if page.has_previous %}
|
||||
<li><input type="button" value="<" onclick="document.location.href='?page={{page.previous_page_number}}{{search_query}}'"></li>
|
||||
{% else %}
|
||||
<li><input type="button" value="<" disabled="disabled"></li>
|
||||
{% endif %}
|
||||
|
||||
<span class="current">
|
||||
<li>Page {{ page.number }} of {{ page.paginator.num_pages }}</li>
|
||||
</span>
|
||||
|
||||
{% if page.has_next %}
|
||||
<li><input type="button" value=">" onclick="document.location.href='?page={{page.next_page_number}}{{search_query}}'"></li>
|
||||
{% else %}
|
||||
<li><input type="button" value=">" disabled="disabled"></li>
|
||||
{% endif %}
|
||||
{% ifequal page.number page.paginator.num_pages %}
|
||||
<li><input type="button" value=">>" disabled="disabled"></li>
|
||||
{% else %}
|
||||
<li><input type="button" value=">>" onclick="document.location.href='?page={{page.paginator.num_pages}}{{search_query}}'"></li>
|
||||
{% endifequal %}
|
||||
<b>Matches</b>: {{page.paginator.count}}/{{total}} <b>Showing</b>: {{results_this_page}}
|
||||
</ul>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
{% extends "view_page_detail.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#tabs').tabs({
|
||||
'select': function(event, ui){
|
||||
document.location.hash = ui.panel.id;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="content" id="IndividualDetail">
|
||||
|
||||
{% include "detail_breadcrumb.html" %}
|
||||
|
||||
<div id="summaryarea">
|
||||
<table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %}
|
||||
<tbody>
|
||||
{% if pickform.errors %}
|
||||
<hr>
|
||||
<p id="error">The following fields have errors. Please correct and try again.</p>
|
||||
<div id="error">{{pickform.errors}}</div>
|
||||
<hr>
|
||||
{% endif %}
|
||||
<form method="post">{% csrf_token %}
|
||||
<tr>
|
||||
<td class="ColumnAttribute">Pick:</td>
|
||||
{% if user.is_authenticated %}
|
||||
<td class="ColumnValue" id="data">{{pickform.picklist}}</td>
|
||||
{% else %}
|
||||
<td class="ColumnValue" id="data"></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if user.is_superuser %}
|
||||
{% make_button "Cancel" "/%s/%s" object_type object_handle args %}
|
||||
<input type="hidden" name="action" value="save-share"/>
|
||||
<input type="hidden" name="search" value="{{search}}"/>
|
||||
<input type="hidden" name="page" value="{{page}}"/>
|
||||
<input type="submit" value="Save"/>
|
||||
{% else %}
|
||||
{% endif %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
{% extends "view_page_detail.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="content" id="IndividualDetail">
|
||||
|
||||
{% include "detail_breadcrumb.html" %}
|
||||
<h2>Temporary Reference Detail</h2>
|
||||
<div id="summaryarea">
|
||||
<table class="infolist" style="width:90%;">
|
||||
<trbody>
|
||||
{% if form.errors %}
|
||||
<hr>
|
||||
<p id="error">The following fields have errors. Please correct and try again.</p>
|
||||
<div id="error">{{form.errors}}</div>
|
||||
<hr>
|
||||
{% endif %}
|
||||
<form method="post">{% csrf_token %}
|
||||
|
||||
{% for f in form.forms %}
|
||||
<tr>
|
||||
{{f}}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% make_button "Go to reference" url %}
|
||||
{% make_button "Go back" referenced_by %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{% extends "gramps-base.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block title %}{{sitename}} - user page {% endblock %}
|
||||
{% block heading %}{{sitename}} - user page {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<p id="description">Details for <b>{{user.first_name}} {{user.last_name}}</b> ({{user.username}}):</p>
|
||||
|
||||
<p id="description">
|
||||
<table>
|
||||
<tr>
|
||||
<td width="30%">User name: </td><td><em>{{user.username}}</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Email: </td><td><a href="mailto:{{user.email}}"><em>{{user.email}}</a></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Type: </td>
|
||||
<td>
|
||||
|
||||
{% if user.is_superuser %}
|
||||
<em>Administrator</em>
|
||||
{% else %}
|
||||
<em>User</em>
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last login: </td><td><em>{{user.last_login}}</em></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{% if user.is_superuser %}
|
||||
{% make_button "Edit Profile" "/admin/grampsdb/profile/%s" user.id %}
|
||||
{% make_button "Edit User" "/admin/auth/user/%s" user.id %}
|
||||
{% else %}
|
||||
<em>User</em>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</p>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
{% extends "view_page_detail.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#tabs').tabs({
|
||||
'select': function(event, ui){
|
||||
document.location.hash = ui.panel.id;
|
||||
}
|
||||
});
|
||||
$('#shared-tabs').tabs({
|
||||
'select': function(event, ui){
|
||||
document.location.hash = ui.panel.id;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="content" id="IndividualDetail">
|
||||
|
||||
{% include "detail_breadcrumb.html" %}
|
||||
|
||||
{% if citationform.errors or sourceform.errors %}
|
||||
<hr>
|
||||
<p id="error">The following fields have errors. Please correct and try again.</p>
|
||||
<div id="error">{{citationform.errors}}</div>
|
||||
<div id="error">{{sourceform.errors}}</div>
|
||||
<hr>
|
||||
{% endif %}
|
||||
<form method="post">{% csrf_token %}
|
||||
|
||||
<!-- Tabs -->
|
||||
<h2>Citation information</h2>
|
||||
|
||||
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs" style="border: none;">
|
||||
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
|
||||
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a class="tab-general" href="#tab-general">General</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-notes" href="#tab-notes">Note</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-media" href="#tab-media">Media</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-data" href="#tab-data">Data</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-references" href="#tab-references">Reference</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-history" href="#tab-history">History</a></li>
|
||||
</ul>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tab-general" style="background-color: #f4f0ec;">
|
||||
|
||||
<table class="infolist" style="width:90%;">
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{citationform.text.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.text user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{citationform.gramps_id.label}}:</td>
|
||||
<td class="ColumnValue" id="data"> {% render citationform.gramps_id user action %}</td>
|
||||
<td class="ColumnAttribute">{{citationform.private.label}}:</td>
|
||||
<td class="ColumnValue" id="data"> {% render citationform.private user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{citationform.page.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.page user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{citationform.confidence.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.confidence user action %}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
|
||||
{% note_table citation user action "/note/$act/citation/%s" citation.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-media" style="background-color: #f4f0ec;">
|
||||
{% media_table citation user action "/media/$act/citation/%s" citation.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-data" style="background-color: #f4f0ec;">
|
||||
{% data_table citation user action "/data/$act/citation/%s" citation.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-references" style="background-color: #f4f0ec;">
|
||||
{% citation_reference_table citation user action %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-history" style="background-color: #f4f0ec;">
|
||||
{% history_table citation user action %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Note: Any changes in the shared citation information will be reflected
|
||||
in the citation itself, for all items that reference the citation.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>Source information (shared)</h2>
|
||||
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="shared-tabs" style="border: none;">
|
||||
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
|
||||
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a class="tab-shared-general" href="#tab-shared-general">General</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-shared-notes" href="#tab-shared-notes">Notes</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-shared-media" href="#tab-shared-media">Media</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-shared-repositories" href="#tab-shared-repositories">Repositories</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-shared-references" href="#tab-shared-references">References</a></li>
|
||||
<li class="ui-corner-top ui-state-default"><a class="tab-shared-history" href="#tab-shared-history">History</a></li>
|
||||
</ul>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tab-shared-general" style="background-color: #f4f0ec;">
|
||||
|
||||
<table class="infolist" style="width:90%;">
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{sourceform.title.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.title user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{sourceform.author.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.author user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{sourceform.gramps_id.label}}:</td>
|
||||
<td class="ColumnValue" id="data"> {% render sourceform.gramps_id user action %}</td>
|
||||
<td class="ColumnAttribute">{{sourceform.private.label}}:</td>
|
||||
<td class="ColumnValue" id="data"> {% render sourceform.private user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{sourceform.abbrev.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.abbrev user action %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="ColumnAttribute">{{sourceform.pubinfo.label}}:</td>
|
||||
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.pubinfo user action %}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-notes" style="background-color: #f4f0ec;">
|
||||
{% note_table source user action "/note/$act/source/%s" source.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-media" style="background-color: #f4f0ec;">
|
||||
{% media_table source user action "/media/$act/source/%s" source.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-repositories" style="background-color: #f4f0ec;">
|
||||
{% repository_table source user action "/repository/$act/source/%s" source.handle %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-references" style="background-color: #f4f0ec;">
|
||||
{% citation_reference_table source user action %}
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-history" style="background-color: #f4f0ec;">
|
||||
{% history_table source user action %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Note: Any changes in the shared source information will be reflected
|
||||
in the source itself, for all items that reference the source.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
{% if user.is_superuser %}
|
||||
{% if action == "edit" %}
|
||||
{% make_button "Cancel" "/citation/%s" citation.handle args %}
|
||||
<input type="hidden" name="action" value="save"/>
|
||||
<input type="hidden" name="search" value="{{search}}"/>
|
||||
<input type="hidden" name="page" value="{{page}}"/>
|
||||
<input type="submit" value="Save"/>
|
||||
{% else %}
|
||||
{% ifequal action "add" %}
|
||||
{% make_button "Cancel" "/citation/" args %}
|
||||
<input type="hidden" name="action" value="create"/>
|
||||
<input type="hidden" name="search" value="{{search}}"/>
|
||||
<input type="hidden" name="page" value="{{page}}"/>
|
||||
<input type="submit" value="Create"/>
|
||||
{% else %}
|
||||
<div style="background-color: lightgray; padding: 2px 0px 0px 2px; clear: both;">
|
||||
{% make_button "+Add Citation" "/citation/add" args %}
|
||||
{% make_button "?Edit Citation" "/citation/%s/edit" citation.handle args %}
|
||||
{% make_button "-Delete Citation" "/citation/%s/delete" citation.handle args %}
|
||||
</div>
|
||||
{% endifequal %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% endif %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
@@ -1,48 +0,0 @@
|
||||
{% extends "view_page.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block table_data %}
|
||||
|
||||
<table cellspacing="0" class="infolist surname" width="90%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>ID</th>
|
||||
<th>Title</th>
|
||||
<th>Pub Info</th>
|
||||
<th>Author</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for source in page.object_list %}
|
||||
<tr class="{% cycle odd,even %}">
|
||||
<td>{{ forloop.counter|row_count:page }}</td>
|
||||
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
|
||||
>
|
||||
<span class="grampsid">[{{source.gramps_id}}]</span></a>
|
||||
{% if user.is_authenticated or source.public %}
|
||||
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
|
||||
>{{source.title|escape|nbsp}}</a>
|
||||
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
|
||||
>{{source.pubinfo|nbsp}}</a>
|
||||
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
|
||||
>{{source.author|nbsp}}</a>
|
||||
{% else %}
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block admin_functions %}
|
||||
{% if user.is_superuser %}
|
||||
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
|
||||
{% make_button "+Add Citation" "/citation/add" args %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||