Compare commits
484 Commits
v5.2.0-bet
...
v3.1.3
Author | SHA1 | Date | |
---|---|---|---|
6a9be24e1c | |||
487435d411 | |||
c6dcfef776 | |||
5866b28877 | |||
e9b643c5d6 | |||
4cc6d3f904 | |||
f18c6c9189 | |||
aae0360818 | |||
f649702b1d | |||
83c2b7940d | |||
3f0475b252 | |||
9c1af31a35 | |||
431effe789 | |||
2bc8f50ac2 | |||
5a6e6959de | |||
5b5bf3344f | |||
af15d80cdb | |||
613c11b64f | |||
dec5bb6390 | |||
fb178130c8 | |||
93812faa40 | |||
6d990ba147 | |||
f8316f1794 | |||
e36d39f208 | |||
dbc96aad2e | |||
990a833d21 | |||
af25513134 | |||
853d2a638d | |||
a4c22a3b46 | |||
963f99536e | |||
6844392c3d | |||
a7bc1ad0f8 | |||
01f6e569a7 | |||
6d533d4c35 | |||
55e41fadf4 | |||
ee5ee7db3f | |||
5fdcc32703 | |||
b4aa00dac7 | |||
834662a823 | |||
b25211037a | |||
35a03d7994 | |||
1a7fad0ab1 | |||
ac84dc2e26 | |||
e6ddc51d72 | |||
e6c1c5f689 | |||
5a44ced7b1 | |||
ba9e469215 | |||
7cc523ac4e | |||
f8d54b64bc | |||
ce3c465ef5 | |||
275e9eebfd | |||
c9cb640f28 | |||
3eaa8115c2 | |||
285e23303c | |||
bda858cc5f | |||
597e6a150d | |||
b9c091a72e | |||
2732634e98 | |||
23f0fae4e3 | |||
f459fc1ee4 | |||
602097c854 | |||
75991dd5cd | |||
c5951cab7c | |||
4c4605e744 | |||
fcab11a0ee | |||
28e4707cd1 | |||
ffe4ea5306 | |||
809a810c37 | |||
d1592c55be | |||
14c76f563f | |||
7ba22af095 | |||
fba0650302 | |||
4b5383170c | |||
9d78dd6613 | |||
31e415f442 | |||
fe54661b54 | |||
e0570c9d3a | |||
615abec162 | |||
d71ccad5b5 | |||
4b694197cf | |||
38651e2349 | |||
bd9393ddbf | |||
a6ecbce949 | |||
690c95b098 | |||
f89f313836 | |||
49d21ff189 | |||
0687de05f4 | |||
562c14ebb4 | |||
b135a50fe9 | |||
51db87f2c4 | |||
6335ba09de | |||
0e6b7ed78b | |||
ac8bfe2732 | |||
e8835aa513 | |||
91cf708449 | |||
d397a2a64f | |||
95e0b720a9 | |||
3552b01910 | |||
2da9d7e1ab | |||
5e7f896e92 | |||
d47c4534c6 | |||
20d1cb0110 | |||
8abec7ba25 | |||
465c9d1a0b | |||
7947af1fb7 | |||
e291b76c00 | |||
2cde7624f5 | |||
6eb3c3f9b2 | |||
0ebbeb30b8 | |||
82500dc151 | |||
1f576221d7 | |||
b7b5045497 | |||
37db7366c1 | |||
30acde6546 | |||
26fed05e64 | |||
2554a1decd | |||
cfa140e165 | |||
fbc6414670 | |||
8cc62188e1 | |||
40399556c2 | |||
940b2471c4 | |||
718b763b6d | |||
234994bfaf | |||
c62229a449 | |||
f4b5710959 | |||
84d1485cec | |||
960a62b4c8 | |||
94313ae388 | |||
d43de411bc | |||
6d48930121 | |||
5bd5a98ba9 | |||
26dd3db5bc | |||
057c962fe0 | |||
bd8f5317ba | |||
6a6ccadf6a | |||
4cd92c86e1 | |||
2cfdd5f179 | |||
1c41b04d3d | |||
57456a3fdf | |||
28babdfd20 | |||
83177dbe7b | |||
5ccc779779 | |||
6cd32e4b74 | |||
f0f32f6122 | |||
c81b322009 | |||
d7fcfc6fb1 | |||
466bffef30 | |||
7272f94206 | |||
450991f5c3 | |||
76c8eb47cf | |||
07218ca4c4 | |||
1d1281ae10 | |||
c207cf819b | |||
b294f3608b | |||
7423eec380 | |||
59c14c507c | |||
9d055bb444 | |||
494311f234 | |||
56762c8444 | |||
6eb21926ed | |||
1de0ef724f | |||
6e5f90e580 | |||
cdaddc3479 | |||
641adf57de | |||
1e34c037f3 | |||
501be49025 | |||
94f8838dd6 | |||
a5f68318db | |||
02cd032f72 | |||
ee565d5d6b | |||
b09fa93eea | |||
48abb86bb8 | |||
eb337a8d29 | |||
52e908a5a1 | |||
9e8420aaac | |||
72767dce85 | |||
385c3c3d9b | |||
b9e1ba0195 | |||
f1ded0d689 | |||
f45b4316b5 | |||
49599fa9c3 | |||
170336d573 | |||
78216846f2 | |||
b236953ebe | |||
c4a2e2791d | |||
705fbf4007 | |||
72838423a0 | |||
a5970e71bc | |||
430124cdc4 | |||
4e7b70b2b4 | |||
5125046ac1 | |||
a2a8faec04 | |||
8476afd5f3 | |||
500435cf98 | |||
47f9471b55 | |||
ea9ed2ddde | |||
bd4e7688a7 | |||
1b32bc543c | |||
ccf9f5b311 | |||
9b5749fc8e | |||
53b832c4f8 | |||
94ff7d085a | |||
3c2cc180c4 | |||
b49b9f7941 | |||
5f31494546 | |||
ee26d9b0d5 | |||
dddfd7f083 | |||
ba01db947b | |||
1157557105 | |||
c09cf15e78 | |||
8e4d65cfc0 | |||
70bfdbf73a | |||
9c2027e437 | |||
1da2cb2ab2 | |||
71ed8bd1fc | |||
17afb65f7a | |||
ba627e4e9d | |||
66142929da | |||
2ecd1e022e | |||
6b858a2385 | |||
917714b9c6 | |||
8c73b202c3 | |||
5befb6046b | |||
1fafeab275 | |||
6eb37cbdcf | |||
b0ef00da80 | |||
ce44bc6b8d | |||
45561e1596 | |||
f19488da77 | |||
de2a2c2e67 | |||
afbf70ed3f | |||
0b7d3bcb41 | |||
bc49dcb2d9 | |||
5386daf355 | |||
505ec7440c | |||
c980ef955a | |||
177044c5db | |||
d107631a40 | |||
b817556ccd | |||
a91dc48e42 | |||
25c01a5a78 | |||
431985b420 | |||
baca380914 | |||
5652e047e6 | |||
da52e4cdcb | |||
4c9752d6bc | |||
c322cbfd5f | |||
77afdabed8 | |||
b3d21f8454 | |||
9aede5be4f | |||
c4282e685d | |||
d1716a8387 | |||
10e437384c | |||
581c713311 | |||
0637992264 | |||
8e3560821d | |||
d5502f02df | |||
d50a527fd4 | |||
71e08f0ef7 | |||
b29f07c524 | |||
0b3cbc5c12 | |||
507e9ec8d6 | |||
29bf07cb1c | |||
25864a5d16 | |||
840e77aec8 | |||
fc9759c177 | |||
5acd0f70c8 | |||
b8f71776d2 | |||
c9172e064f | |||
6d8dbdae60 | |||
cd24dc27bf | |||
76da035636 | |||
6da75fba18 | |||
4297c5c77f | |||
d0609e0666 | |||
bce48c7231 | |||
e9295da5a1 | |||
8e82370798 | |||
34fa469ffe | |||
517ab79472 | |||
9a85727a75 | |||
8619a1b03d | |||
19df538d3e | |||
e07febd145 | |||
6659dcc927 | |||
5ecb4d2145 | |||
44a1904dbd | |||
cb3d543bd6 | |||
514e8f9d3f | |||
5fcab02199 | |||
29750623a9 | |||
79cc2ba4b1 | |||
4f177aa1d9 | |||
116ec44e79 | |||
5f618ba6ec | |||
d48d1122f3 | |||
c2db8cf1fb | |||
c9913ba9eb | |||
a972560b9a | |||
0a3a99769d | |||
c84ac60e96 | |||
7eb951c8cd | |||
a9c2363951 | |||
fdf94834c5 | |||
e94fb3f66f | |||
12a642b166 | |||
fca98024fc | |||
5e30c890b9 | |||
c5b0bdffe1 | |||
bbfb853ee9 | |||
878931e076 | |||
ad71da397f | |||
6470c49eda | |||
a3656c2be5 | |||
81a83ce2d9 | |||
400c0db84b | |||
ea2d2eb2f5 | |||
f0852c0a41 | |||
a10093408e | |||
1b56b2e9fe | |||
e9d2e361da | |||
bb8a97372c | |||
b37590b2b5 | |||
1e79a2aed6 | |||
42e2e8960d | |||
3a4781aaa0 | |||
4d900e41e8 | |||
1566aa7f43 | |||
3b21c9457c | |||
c0ef6c74a7 | |||
b9200ade80 | |||
f597681a11 | |||
7f9afcec58 | |||
180995643b | |||
9e9d522099 | |||
0015f16e9f | |||
6d0b902aab | |||
f185911423 | |||
c7127fe162 | |||
c6633a559e | |||
5d84e3b1e2 | |||
d10d443c9d | |||
930c47b290 | |||
3ae4e233db | |||
bdbcc5efb2 | |||
231a26fbf0 | |||
9d3c20898c | |||
b2a8a557ab | |||
4f92f8d713 | |||
708ab325bd | |||
9fa3b9a9d2 | |||
7cdbc88fc3 | |||
3153f10118 | |||
8efc6f0184 | |||
797075b59f | |||
95e5848d03 | |||
05f91734e2 | |||
15a9ca94f3 | |||
e43452178c | |||
722af724f9 | |||
d0606fe836 | |||
9ccef7848e | |||
37063335fe | |||
69dbf66558 | |||
65c3b60c55 | |||
f0c39aae21 | |||
42fbb1aa57 | |||
6e2827a62e | |||
6dbc57aaac | |||
31fb009b66 | |||
6f43a05424 | |||
c2a49e1dd8 | |||
0dda10baf9 | |||
8ce73d3956 | |||
1a2b50e645 | |||
cc52eab90d | |||
fee2d84f67 | |||
a614049b08 | |||
1d7d2c5289 | |||
b5f738859a | |||
ae56bee828 | |||
254930fc55 | |||
c200651f74 | |||
7f7b155e36 | |||
02a02b8499 | |||
890be35845 | |||
e16e91d973 | |||
72f4ca9df9 | |||
0bfb3a622d | |||
c34b30fa0d | |||
5417a69408 | |||
5c04db932d | |||
146dcc3773 | |||
3cf4da5cee | |||
57ed71a842 | |||
06d28806f3 | |||
c4d27e603d | |||
20baece6b3 | |||
666df8e6f2 | |||
e498b18d52 | |||
3ebb888cce | |||
dabf4f4756 | |||
dda2662b0b | |||
d1ae849c1b | |||
237c4a055b | |||
fbd2afdf8c | |||
844cb231c7 | |||
eb42ce4ce2 | |||
ecc30300d4 | |||
a533c3abd4 | |||
1edbdc33d9 | |||
9b017678ad | |||
d7c5e02a55 | |||
2445590149 | |||
0f2d8769f0 | |||
a7e6e1b089 | |||
e36ffede8e | |||
bac46805f9 | |||
1e0e05a43e | |||
cd04faca60 | |||
86d0cc8b26 | |||
2f2a0712a0 | |||
8ca8e2f4bd | |||
c645246b2c | |||
8de51db5fe | |||
795a745793 | |||
3d057838ff | |||
cc6e62dc66 | |||
c98e4e94df | |||
5224211634 | |||
04bb731620 | |||
c1274ebdef | |||
d6d7855caa | |||
c844f30bd0 | |||
505ab40201 | |||
4937994904 | |||
1c556b7134 | |||
ba5c5835f9 | |||
6b78d5ae01 | |||
56de9475f6 | |||
a92154970b | |||
7fce761948 | |||
80e78696ab | |||
6f3186c82c | |||
9884160929 | |||
b7805d90a8 | |||
7163ce148a | |||
9bb68012d5 | |||
d5781b27a7 | |||
54a0d23f27 | |||
7457c9f5f6 | |||
8236591a71 | |||
41fadda92b | |||
dbb777d411 | |||
66753f3d3b | |||
9da589e7b7 | |||
beda493165 | |||
2799d50a90 | |||
06819df7ac | |||
3700908cdc | |||
66f9048cb8 | |||
3b2deb1021 | |||
5ae168c618 | |||
dd8be64503 | |||
f076668200 | |||
d0d3849250 | |||
408c7cf4a4 | |||
a84ee1da33 | |||
bf24fcee1f | |||
c595f6d4b0 | |||
31e4cf1114 | |||
548e8d20c3 | |||
e6f1e2a82e | |||
512231d54b | |||
f55b046171 | |||
a1cc0b2788 | |||
eda3cd2c94 | |||
c0053b6117 | |||
bcf2cd4fa4 | |||
63aa9b9ea3 | |||
d9937bcfc3 | |||
ee46a8f43a | |||
6f1ad8ce5a | |||
249efbaa53 |
18
.gitattributes
vendored
@ -1,18 +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
|
||||
|
||||
# don't mess with line endings for test files
|
||||
*.vcs -text
|
||||
*.ged -text
|
||||
*.GED -text
|
||||
*.csv -text
|
||||
*.DEF -text
|
||||
*.IXI -text
|
||||
*.REM -text
|
78
.github/workflows/gramps-ci.yml
vendored
@ -1,78 +0,0 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2021 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
|
||||
# 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.
|
||||
|
||||
name: Gramps CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install gir1.2-pango-1.0
|
||||
sudo apt-get install gir1.2-gtk-3.0
|
||||
sudo apt-get install xdg-utils
|
||||
sudo apt-get install librsvg2-common
|
||||
sudo apt-get install libglib2.0-dev
|
||||
sudo apt-get install intltool
|
||||
sudo apt-get install python3-gi
|
||||
sudo apt-get install python3-cairo
|
||||
sudo apt-get install python3-gi-cairo
|
||||
sudo apt-get install python3-bsddb3
|
||||
sudo apt-get install python3-dev
|
||||
sudo apt-get install python3-nose
|
||||
sudo apt-get install python3-mock
|
||||
sudo apt-get install python3-icu
|
||||
sudo apt-get install python3-coverage
|
||||
sudo apt-get install python3-jsonschema
|
||||
sudo apt-get install libxml2-utils
|
||||
sudo apt-get install python3-lxml
|
||||
sudo apt-get install python-libxml2
|
||||
sudo apt-get install zlib1g-dev
|
||||
sudo apt-get install python3-setuptools
|
||||
- name: Install addons
|
||||
run: |
|
||||
mkdir -p ~/.gramps/gramps52/plugins/
|
||||
wget https://github.com/gramps-project/addons/raw/master/gramps52/download/CliMerge.addon.tgz
|
||||
tar -C ~/.gramps/gramps52/plugins -xzf CliMerge.addon.tgz
|
||||
wget https://github.com/gramps-project/addons/raw/master/gramps52/download/ExportRaw.addon.tgz
|
||||
tar -C ~/.gramps/gramps52/plugins -xzf ExportRaw.addon.tgz
|
||||
- name: Build
|
||||
run: |
|
||||
python3 setup.py build
|
||||
- name: Run unit test suite
|
||||
run: |
|
||||
export GDK_BACKEND=-
|
||||
python3 setup.py test
|
||||
- name: Trailing whitespace check
|
||||
run: |
|
||||
if git --no-pager grep --color -n --full-name '[ ]$' -- \*.py; then
|
||||
echo "ERROR - Trailing whitespace found in source file(s)";
|
||||
exit 1;
|
||||
fi
|
31
.gitignore
vendored
@ -1,31 +0,0 @@
|
||||
# Python
|
||||
*.py[cod]
|
||||
|
||||
# Distutils
|
||||
MANIFEST
|
||||
build/
|
||||
dist/
|
||||
|
||||
# Gramps
|
||||
docs/_build/
|
||||
|
||||
# Editing
|
||||
tags
|
||||
*.swp
|
||||
|
||||
# Testing
|
||||
test/data
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
|
||||
# Glade temp files
|
||||
*~
|
||||
|
||||
# Python metadata
|
||||
.venv*/
|
||||
|
28
.mailmap
@ -1,28 +0,0 @@
|
||||
<benny.malengier@gramps-project.org> <benny.malengier@gmail.com>
|
||||
<doug.blank@gmail.com> <dsblank@bitbucket.org>
|
||||
<doug.blank@gmail.com> <dblank@cs.brynmawr.edu>
|
||||
<beernarrd@gmail.com> <beernarrd@users.sourceforge.net>
|
||||
<igal.shapira@gmail.com> <igalshapira@users.sourceforge.net>
|
||||
<romjerome@yahoo.fr> <romjerome@users.noreply.github.com>
|
||||
<jralls@ceridwen.us> <john@aeolus.local>
|
||||
<josip@pisoj.com> <bpisoj@gmail.com>
|
||||
Josip Pisoj <josip@pisoj.com>
|
||||
Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
<martin.hawlisch@gmx.de> <loshawlos@users.sourceforge.net>
|
||||
Matti Niemelä <matti.u.niemela@gmail.com> <niememat@gmail.com>
|
||||
<nick-h@gramps-project.org> <nick__hall@hotmail.com>
|
||||
<nick-h@gramps-project.org> <Nick-Hall@users.noreply.github.com>
|
||||
Ondrej Krč-Jediný <hou@centrum.sk>
|
||||
<hou@centrum.sk> <ondrisko@users.sourceforge.com>
|
||||
Pierre Bélissent <pierre.belissent@gmail.com>
|
||||
Serge Noiraud <Serge.Noiraud@free.fr>
|
||||
<Serge.Noiraud@free.fr> <serge.noiraud@free.fr>
|
||||
<Serge.Noiraud@free.fr> <serge.noiraud@laposte.net>
|
||||
Zdeněk Hataš <zdenek.hatas@gmail.com>
|
||||
<zdenek.hatas@gmail.com> <zdenek.hatas@hp.com>
|
||||
<zdenek.hatas@gmail.com> <zenhas@users.sourceforge.net>
|
||||
<gerald@gkunzmann.de> <g.kunzmann@arcor.de>
|
||||
Tim G L Lyons <tim.g.lyons@gmail.com>
|
||||
<tim.g.lyons@gmail.com> <guy.linton@gmail.com>
|
||||
Elder Evans <elderamevans@gmail.com>
|
||||
|
325
.pylintrc
@ -1,325 +0,0 @@
|
||||
[MASTER]
|
||||
|
||||
# Specify a configuration file.
|
||||
#rcfile=
|
||||
|
||||
# Python code to execute, usually for sys.path manipulation such as
|
||||
# pygtk.require().
|
||||
#init-hook=
|
||||
|
||||
# Add files or directories to the blacklist. They should be base names, not
|
||||
# paths.
|
||||
ignore=CVS
|
||||
|
||||
# Pickle collected data for later comparisons.
|
||||
persistent=yes
|
||||
|
||||
# List of plugins (as comma separated values of python modules names) to load,
|
||||
# usually to register additional checkers.
|
||||
load-plugins=
|
||||
|
||||
# Use multiple processes to speed up Pylint.
|
||||
jobs=1
|
||||
|
||||
# Allow loading of arbitrary C extensions. Extensions are imported into the
|
||||
# active Python interpreter and may run arbitrary code.
|
||||
unsafe-load-any-extension=no
|
||||
|
||||
# A comma-separated list of package or module names from where C extensions may
|
||||
# be loaded. Extensions are loading into the active Python interpreter and may
|
||||
# run arbitrary code
|
||||
extension-pkg-whitelist=
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
# Only show warnings with the listed confidence levels. Leave empty to show
|
||||
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
|
||||
confidence=
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
# multiple time. See also the "--disable" option for examples.
|
||||
#enable=
|
||||
|
||||
# Disable the message, report, category or checker with the given id(s). You
|
||||
# can either give multiple identifiers separated by comma (,) or put this
|
||||
# option multiple times (only on the command line, not in the configuration
|
||||
# file where it should appear only once).You can also use "--disable=all" to
|
||||
# disable everything first and then reenable specific checks. For example, if
|
||||
# you want to run only the similarities checker, you can use "--disable=all
|
||||
# --enable=similarities". If you want to run only the classes checker, but have
|
||||
# no Warning level messages displayed, use"--disable=all --enable=classes
|
||||
# --disable=W"
|
||||
disable=suppressed-message,useless-suppression
|
||||
|
||||
|
||||
[REPORTS]
|
||||
|
||||
# Set the output format. Available formats are text, parseable, colorized, msvs
|
||||
# (visual studio) and html. You can also give a reporter class, eg
|
||||
# mypackage.mymodule.MyReporterClass.
|
||||
output-format=text
|
||||
|
||||
# Tells whether to display a full report or only the messages
|
||||
reports=yes
|
||||
|
||||
# Python expression which should return a note less than 10 (10 is the highest
|
||||
# note). You have access to the variables errors warning, statement which
|
||||
# respectively contain the number of errors / warnings messages and the total
|
||||
# number of statements analyzed. This is used by the global evaluation report
|
||||
# (RP0004).
|
||||
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
|
||||
|
||||
# Template used to display messages. This is a python new-style format string
|
||||
# used to format the message information. See doc for all details
|
||||
#msg-template=
|
||||
|
||||
|
||||
[BASIC]
|
||||
|
||||
# Good variable names which should always be accepted, separated by a comma
|
||||
good-names=i,j,k,ex,Run,_,db
|
||||
|
||||
# Bad variable names which should always be refused, separated by a comma
|
||||
bad-names=foo,bar,baz,toto,tutu,tata
|
||||
|
||||
# Colon-delimited sets of names that determine each other's naming style when
|
||||
# the name regexes allow several styles.
|
||||
name-group=
|
||||
|
||||
# Include a hint for the correct naming format with invalid-name
|
||||
include-naming-hint=no
|
||||
|
||||
# Regular expression matching correct argument names
|
||||
argument-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression matching correct module names
|
||||
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
||||
|
||||
# Regular expression matching correct class attribute names
|
||||
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
|
||||
|
||||
# Regular expression matching correct function names
|
||||
function-rgx=(([a-z_][a-z0-9_]{2,30})|(_T_))$
|
||||
|
||||
# Regular expression matching correct inline iteration names
|
||||
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
|
||||
|
||||
# Regular expression matching correct constant names
|
||||
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
|
||||
|
||||
# Regular expression matching correct method names
|
||||
method-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression matching correct class names
|
||||
class-rgx=[A-Z_][a-zA-Z0-9]+$
|
||||
|
||||
# Regular expression matching correct variable names
|
||||
variable-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression matching correct attribute names
|
||||
attr-rgx=[a-z_][a-z0-9_]{2,30}$
|
||||
|
||||
# Regular expression which should only match function or class names that do
|
||||
# not require a docstring.
|
||||
no-docstring-rgx=^_
|
||||
|
||||
# Minimum line length for functions/classes that require docstrings, shorter
|
||||
# ones are exempt.
|
||||
docstring-min-length=-1
|
||||
|
||||
|
||||
[ELIF]
|
||||
|
||||
# Maximum number of nested blocks for function / method body
|
||||
max-nested-blocks=5
|
||||
|
||||
|
||||
[LOGGING]
|
||||
|
||||
# Logging modules to check that the string format arguments are in logging
|
||||
# function parameter format
|
||||
logging-modules=logging
|
||||
|
||||
|
||||
[SPELLING]
|
||||
|
||||
# Spelling dictionary name. Available dictionaries: none. To make it working
|
||||
# install python-enchant package.
|
||||
spelling-dict=
|
||||
|
||||
# List of comma separated words that should not be checked.
|
||||
spelling-ignore-words=
|
||||
|
||||
# A path to a file that contains private dictionary; one word per line.
|
||||
spelling-private-dict-file=
|
||||
|
||||
# Tells whether to store unknown words to indicated private dictionary in
|
||||
# --spelling-private-dict-file option instead of raising a message.
|
||||
spelling-store-unknown-words=no
|
||||
|
||||
|
||||
[MISCELLANEOUS]
|
||||
|
||||
# List of note tags to take in consideration, separated by a comma.
|
||||
notes=FIXME,XXX,TODO
|
||||
|
||||
|
||||
[TYPECHECK]
|
||||
|
||||
# Tells whether missing members accessed in mixin class should be ignored. A
|
||||
# mixin class is detected if its name ends with "mixin" (case insensitive).
|
||||
ignore-mixin-members=yes
|
||||
|
||||
# List of module names for which member attributes should not be checked
|
||||
# (useful for modules/projects where namespaces are manipulated during runtime
|
||||
# and thus existing member attributes cannot be deduced by static analysis. It
|
||||
# supports qualified module names, as well as Unix pattern matching.
|
||||
ignored-modules=
|
||||
|
||||
# List of classes names for which member attributes should not be checked
|
||||
# (useful for classes with attributes dynamically set). This supports can work
|
||||
# with qualified names.
|
||||
ignored-classes=
|
||||
|
||||
# List of members which are set dynamically and missed by pylint inference
|
||||
# system, and so shouldn't trigger E1101 when accessed. Python regular
|
||||
# expressions are accepted.
|
||||
generated-members=
|
||||
|
||||
|
||||
[SIMILARITIES]
|
||||
|
||||
# Minimum lines number of a similarity.
|
||||
min-similarity-lines=4
|
||||
|
||||
# Ignore comments when computing similarities.
|
||||
ignore-comments=yes
|
||||
|
||||
# Ignore docstrings when computing similarities.
|
||||
ignore-docstrings=yes
|
||||
|
||||
# Ignore imports when computing similarities.
|
||||
ignore-imports=no
|
||||
|
||||
|
||||
[FORMAT]
|
||||
|
||||
# Maximum number of characters on a single line.
|
||||
max-line-length=80
|
||||
|
||||
# Regexp for a line that is allowed to be longer than the limit.
|
||||
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
|
||||
|
||||
# Allow the body of an if to be on the same line as the test if there is no
|
||||
# else.
|
||||
single-line-if-stmt=no
|
||||
|
||||
# Maximum number of lines in a module
|
||||
max-module-lines=1000
|
||||
|
||||
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||
# tab).
|
||||
indent-string=' '
|
||||
|
||||
# Number of spaces of indent required inside a hanging or continued line.
|
||||
indent-after-paren=4
|
||||
|
||||
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
|
||||
expected-line-ending-format=
|
||||
|
||||
|
||||
[VARIABLES]
|
||||
|
||||
# Tells whether we should check for unused import in __init__ files.
|
||||
init-import=no
|
||||
|
||||
# A regular expression matching the name of dummy variables (i.e. expectedly
|
||||
# not used).
|
||||
dummy-variables-rgx=_$|dummy
|
||||
|
||||
# List of additional names supposed to be defined in builtins. Remember that
|
||||
# you should avoid to define new builtins when possible.
|
||||
additional-builtins=
|
||||
|
||||
# List of strings which can identify a callback function by name. A callback
|
||||
# name must start or end with one of those strings.
|
||||
callbacks=cb_,_cb
|
||||
|
||||
|
||||
[CLASSES]
|
||||
|
||||
# List of method names used to declare (i.e. assign) instance attributes.
|
||||
defining-attr-methods=__init__,__new__,setUp
|
||||
|
||||
# List of valid names for the first argument in a class method.
|
||||
valid-classmethod-first-arg=cls
|
||||
|
||||
# List of valid names for the first argument in a metaclass class method.
|
||||
valid-metaclass-classmethod-first-arg=mcs
|
||||
|
||||
# List of member names, which should be excluded from the protected access
|
||||
# warning.
|
||||
exclude-protected=_asdict,_fields,_replace,_source,_make
|
||||
|
||||
|
||||
[IMPORTS]
|
||||
|
||||
# Deprecated modules which should not be used, separated by a comma
|
||||
deprecated-modules=optparse
|
||||
|
||||
# Create a graph of every (i.e. internal and external) dependencies in the
|
||||
# given file (report RP0402 must not be disabled)
|
||||
import-graph=
|
||||
|
||||
# Create a graph of external dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
ext-import-graph=
|
||||
|
||||
# Create a graph of internal dependencies in the given file (report RP0402 must
|
||||
# not be disabled)
|
||||
int-import-graph=
|
||||
|
||||
|
||||
[DESIGN]
|
||||
|
||||
# Maximum number of arguments for function / method
|
||||
max-args=5
|
||||
|
||||
# Argument names that match this expression will be ignored. Default to name
|
||||
# with leading underscore
|
||||
ignored-argument-names=_.*
|
||||
|
||||
# Maximum number of locals for function / method body
|
||||
max-locals=15
|
||||
|
||||
# Maximum number of return / yield for function / method body
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of branch for function / method body
|
||||
max-branches=12
|
||||
|
||||
# Maximum number of statements in function / method body
|
||||
max-statements=50
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=7
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=7
|
||||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=2
|
||||
|
||||
# Maximum number of public methods for a class (see R0904).
|
||||
max-public-methods=20
|
||||
|
||||
# Maximum number of boolean expressions in a if statement
|
||||
max-bool-expr=5
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "Exception"
|
||||
overgeneral-exceptions=Exception
|
96
AUTHORS
@ -1,95 +1,17 @@
|
||||
Donald N. Allingham ** Concept and main design
|
||||
|
||||
David Hampton ** Autocomp.py and Report.py
|
||||
|
||||
Alex Roitman shura@gramps-project.org
|
||||
Donald A. Peterson ** Makefiles, LaTeXDoc.py
|
||||
|
||||
Arturas Sleinius asleinius@users.sourceforge.net
|
||||
Alex Roitman ** BookReport, command line, Gramps manual, bugfixes
|
||||
|
||||
Benny Malengier benny.malengier@gramps-project.org
|
||||
Tim Waugh ** Comprehensive Ancestor report, docgen, Makefiles, bugfixes
|
||||
|
||||
Boril Gourinov boril.gourinov@gmail.com
|
||||
Martin Hawlisch - Filters
|
||||
|
||||
Brian Matherly brian@gramps-project.org
|
||||
Richard Taylor - ScratchPad.py, GrampsDBCallback.py
|
||||
|
||||
Craig J. Anderson ander882@hotmail.com
|
||||
Brian Matherly - Reports
|
||||
|
||||
Don Allingham don@gramps-project.org
|
||||
|
||||
Donald A. Peterson
|
||||
|
||||
Doug Blank doug.blank@gmail.com
|
||||
|
||||
Eero Tamminen eerot@users.sourceforge.net
|
||||
|
||||
Erik De Richter erikdrgm@users.sourceforge.net
|
||||
|
||||
Espen Berg espenbe@gmail.com
|
||||
|
||||
Gary Burton gary.burton@zen.co.uk
|
||||
|
||||
Gerald Britton gerald.britton@gmail.com
|
||||
|
||||
James G Sack jgsack@san.rr.com
|
||||
|
||||
Janne Kovesjärvi janne.kovesjarvi@gmail.com
|
||||
|
||||
Jason Simanek jsimanek@gmail.com
|
||||
|
||||
Jérôme Rapinat romjerome@yahoo.fr
|
||||
|
||||
Joan Creus joan.creus@gmail.com
|
||||
|
||||
Josip Pisoj josip@pisoj.com
|
||||
|
||||
Julio Sánchez julio.sanchez@gmail.com
|
||||
|
||||
Kees Bakker kees.bakker@xs4all.nl
|
||||
|
||||
Konstantin Dorichev kdorichev@gmail.com
|
||||
|
||||
Lubo Vasko pgval@inMail.sk
|
||||
|
||||
Luigi Toscano luigi.toscano@tiscali.it
|
||||
|
||||
Luiz Gonzaga dos Santos Filho lfilho@gmail.com
|
||||
|
||||
Łukasz Rymarczyk yenidai@poczta.onet.pl
|
||||
|
||||
Michiel Nauta m.d.nauta@hetnet.nl
|
||||
|
||||
Mirko Leonhäuser mirko@leonhaeuser.de
|
||||
|
||||
Morten Bo Johansen mbj@spamcop.net
|
||||
|
||||
Martin Hawlisch martin.hawlisch@gmx.de
|
||||
|
||||
Nick Hall nick__hall@hotmail.com
|
||||
|
||||
Paul Culley paulr2787@gmail.com
|
||||
|
||||
Peter Landgren peter.talken@telia.com
|
||||
|
||||
Raphael Ackermann raphael.ackermann@gmail.com
|
||||
|
||||
Richard Taylor rjt-gramps@thegrindstone.me.uk
|
||||
|
||||
Rob G. Healey robhealey1@gmail.com
|
||||
|
||||
Serge Noiraud Serge.Noiraud@free.fr
|
||||
|
||||
Sigmund Lorentsen sigmund.lorentsen@tele2.no
|
||||
|
||||
Stefan Bjork betula@users.sourceforge.net
|
||||
|
||||
Stéphane Charette stephanecharette@gmail.com
|
||||
|
||||
Tim G L Lyons tim.g.lyons@gmail.com
|
||||
|
||||
Tim Waugh twaugh@redhat.com
|
||||
|
||||
Vassilii Khachaturov vassilii@tarunz.org
|
||||
|
||||
Zdeněk Hataš zdenek.hatas@gmail.com
|
||||
|
||||
Zsolt Foldvari zfoldvar@users.sourceforge.net
|
||||
|
||||
John Ralls jralls@ceridwen.us
|
||||
$Id$
|
||||
|
12
CONTRIBUTING
@ -1,12 +0,0 @@
|
||||
See developer documentation at:
|
||||
https://gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
https://gramps-project.org/wiki/index.php?title=Brief_introduction_to_Git#Making_a_patchfile
|
||||
https://gramps-project.org/wiki/index.php?title=Brief_introduction_to_Git#Making_a_PR
|
||||
|
||||
If you are interested in translating:
|
||||
* The Gramps program to your language see:
|
||||
https://gramps-project.org/wiki/index.php?title=Translating_Gramps
|
||||
https://gramps-project.org/wiki/index.php?title=Portal:Translators
|
||||
|
||||
* The Gramps user manual to your language see:
|
||||
https://gramps-project.org/wiki/index.php?title=Translating_the_Gramps_User_manual
|
2
COPYING
@ -2,7 +2,7 @@
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
306
FAQ
@ -1,7 +1,7 @@
|
||||
**** 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
|
||||
This list is by no means complete. If you would like to add questions/answers
|
||||
to this list, please email your suggestions to gramps-devel@lists.sf.net
|
||||
|
||||
|
||||
@ -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,164 +33,167 @@ 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. Is the database format portable?
|
||||
28. Why is the database format not portable?
|
||||
|
||||
==Bugs and requests==
|
||||
|
||||
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.
|
||||
In other words, it is a personal genealogy program letting you store, edit,
|
||||
and research genealogical data using the powers of your computer.
|
||||
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.
|
||||
You have full access to the source code and are allowed to distribute the
|
||||
program and source code freely.
|
||||
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. Although developed in English, Gramps is actively translated into dozens
|
||||
of languages including: Catalan, Chinese, Croatian, Czech, Danish, Dutch,
|
||||
Esperanto, Finnish, French, German, Greek, Hebrew, Hungarian, Icelandic,
|
||||
Italian, Japanese, Lithuanian, Norwegian, Portuguese, Russian, Serbian,
|
||||
Slovak, Slovenian, Spanish, Swedish, Ukrainian and Vietnamese.
|
||||
Note: See https://www.gramps-project.org/wiki/index.php/Template:Gramps_translations for more information.
|
||||
|
||||
4. How do I keep backups?
|
||||
|
||||
Use a recent version of Gramps! From 5.0.0 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->Preferences->Family Tree menu), Gramps will keep a backup of your database on exit or on shedule (every 15 minutes, 30 minutes, 1 hour, 12 hours, or 1 day). You can copy this backup file from time to time to a save location (e.g. 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.
|
||||
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).
|
||||
|
||||
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.
|
||||
Note: To use genealogical symbols you must install a font that provides the miscellaneous symbols in the unicode range 2600-26FF.
|
||||
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 Windows installer is available for 32 and 64 bit versions of windows from Windows versions 7 through 10. As with all other support, we do do our best to solve windows related problems.
|
||||
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 5.x, Gramps can run quite efficiently on a 3GB memory system. A system with that much RAM should be able to hold more than 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 (e.g. 'YYYY-MM-DD' or 'day month 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, and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.
|
||||
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?
|
||||
@ -201,151 +204,178 @@ 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
|
||||
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.
|
||||
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
|
||||
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
|
||||
reports. Moreover, the plugin architechture enables users (you) to create
|
||||
their own plugins which could be new reports, charts, or research tools.
|
||||
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?
|
||||
19. How can I change the default language in reports?
|
||||
|
||||
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.
|
||||
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
|
||||
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
|
||||
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 :-)
|
||||
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
|
||||
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 :-)
|
||||
|
||||
|
||||
21. Can I create custom reports/filters/whatever?
|
||||
|
||||
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
|
||||
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
|
||||
by you. You can combine these filters to create new, more complex filters.
|
||||
Finally, you have an option to create your own plugins. These may be new
|
||||
reports, research tools, import/export filters, etc. This assumes some
|
||||
knowledge of programming in Python.
|
||||
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
|
||||
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
|
||||
by you. You can combine these filters to create new, more complex filters.
|
||||
Finally, you have an option to create your own plugins. These may be new
|
||||
reports, research tools, import/export filters, etc. This assumes some
|
||||
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. 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.
|
||||
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. Is the database format portable?
|
||||
28. Why is the database format not portable?
|
||||
|
||||
Prior to 5.0, Gramps used BSDDB as its database backend. The BSDDB database
|
||||
format is not portable.
|
||||
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
|
||||
benefit of using transactions is that database access (reads and writes)
|
||||
are faster.
|
||||
|
||||
Starting with 5.0, Gramps allowed the user to choose from other datbase
|
||||
backends, including SqLite. The SqLite database format is portable.
|
||||
The problem with transactions (at least using BSDDB) is that it does not
|
||||
allow all the data to be stored in a single file. Logging files are
|
||||
needed to keep track of things. These logging files are kept in a DB
|
||||
Environment directory. We need a separate directory for each file,
|
||||
otherwise the log files can interfere with each other.
|
||||
|
||||
In 2.2, we keep the log files under the ~/.gramps/ path directory,
|
||||
creating a unique directory for each database. The problem is that your
|
||||
GRDB file needs the log files, which are in a different directory.
|
||||
Copying the GRDB file is only copying a portion of the database.
|
||||
|
||||
As of 5.2, the BSDDB backend is no longer available. SqLite is used by default.
|
||||
|
||||
==Bugs and requests==
|
||||
|
||||
29. I found a bug and I want it fixed right now! What do I do?
|
||||
|
||||
The best thing you can do is to fix the bug and submit a pull request on
|
||||
GitHub :-)
|
||||
The best thing you can do is to fix the bug and send the patch to
|
||||
gramps-devel@lists.sf.net :-)
|
||||
|
||||
The next best thing would be to submit a good bug report. This can be done by
|
||||
filing your report with the bug tracker system at
|
||||
https://gramps-project.org/bugs/ (this function is also
|
||||
available by selecting "Help->Report a bug" from Gramps main menu).
|
||||
The next best thing would be to submit a good bug report. This can be done in
|
||||
one of the two ways: (1) send your report to gramps-bugs@lists.sf.net
|
||||
or (2) file your report with the bug tracker system at
|
||||
http://bugs.gramps-project.org (this function is also
|
||||
available by selecting "Help->Report a bug" from gramps main menu).
|
||||
|
||||
You may also discuss the problem first on our mailing list or Discourse forum.
|
||||
https://gramps-project.org/blog/contact
|
||||
|
||||
A good bug report would include:
|
||||
(1) Version of Gramps you were using when you encountered the bug
|
||||
A good bug report would include:
|
||||
(1) Version of gramps you were using when you encountered the bug
|
||||
(available through Help->About menu item)
|
||||
(2) Language under which Gramps was run
|
||||
(also available through Help->About menu item)
|
||||
(2) Language under which gramps was run
|
||||
(available by executing "echo $LANG" in your terminal)
|
||||
(3) Symptoms indicating that this is indeed a bug
|
||||
(4) Any Traceback messages, error messages, warnings, etc, that showed up
|
||||
in your terminal or a in separate traceback window
|
||||
|
||||
Most problems can be fixed quickly provided there is enough information.
|
||||
To ensure this, please follow up on your bug reports.
|
||||
Most problems can be fixed quickly provided there is enough information.
|
||||
To ensure this, please follow up on your bug reports.
|
||||
|
||||
If the above explanations seem vague, please follow this link:
|
||||
https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
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.
|
||||
|
||||
HINT: if Gramps developers are still not convinced after about three
|
||||
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
|
||||
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$
|
||||
|
30
Gramps.py
@ -1,30 +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 gramps.grampsapp as app
|
||||
|
||||
app.main()
|
155
INSTALL
@ -1,108 +1,103 @@
|
||||
$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
|
||||
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.5.
|
||||
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
|
||||
----------------------------
|
||||
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".
|
||||
|
||||
To install all needed dependencies you can use (in Ubuntu):
|
||||
sudo apt-get build-dep gramps
|
||||
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.
|
||||
|
||||
To build and install, whether from a tarball or git repo:
|
||||
python3 setup.py build
|
||||
sudo python3 setup.py 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
|
||||
Regular vs local installation
|
||||
-----------------------------
|
||||
This version of gramps REQUIRES, among other things, the mime types for
|
||||
gramps be properly installed.
|
||||
|
||||
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.
|
||||
The usual ./configure, make, and make install as a root should do the trick.
|
||||
|
||||
export PYTHONPATH="/top/grampsdir/gramps:$PYTHONPATH"
|
||||
export GRAMPS_RESOURCES="/top/grampsdir"
|
||||
But be careful if you're using the non-default options or would like
|
||||
to install without being root.
|
||||
|
||||
See below for ways to invoke Gramps.
|
||||
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
|
||||
|
||||
Typical install directories in linux (Ubuntu) are:
|
||||
* /usr/local/bin : the Gramps executable
|
||||
* /usr/local/lib/python3.5/dist-packages/gramps/ : the Gramps python module
|
||||
* /usr/local/share/doc/gramps : documentation, also example .gramps and .gedcom
|
||||
* /usr/local/share/icons/gnome : our icons
|
||||
* /usr/local/share/locale/xx/LC_MESSAGES : xx language code, translation
|
||||
* /usr/local/share/man/xx/man1 : xx language code, man file
|
||||
* /usr/local/share/mime
|
||||
* /usr/local/share/mime-info : mime info so Gramps opens files automatically
|
||||
Whether you're doing local install or regular install, YOU MUST INSTALL
|
||||
MIME TYPES. YOU HAVE BEEN WARNED!
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
gramps
|
||||
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.
|
||||
|
||||
b) You installed Gramps, and want to start it from the PYTHONPATH. In this
|
||||
case use the command:
|
||||
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
|
||||
|
||||
python3 -c 'from gramps.grampsapp import main; main()'
|
||||
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.
|
||||
|
||||
The executable 'gramps' in /usr/local/bin or /usr/bin from a) does
|
||||
this for you.
|
||||
|
||||
c) 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.
|
||||
|
||||
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
|
||||
|
||||
For example:
|
||||
python3 setup.py install --root ~/test
|
||||
|
||||
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.
|
||||
|
28
MANIFEST.in
@ -1,28 +0,0 @@
|
||||
include AUTHORS
|
||||
include ChangeLog
|
||||
include COPYING
|
||||
include FAQ
|
||||
include Gramps.py
|
||||
include INSTALL
|
||||
include MANIFEST.in
|
||||
include NEWS
|
||||
include RELEASE_NOTES
|
||||
include TODO
|
||||
include CONTRIBUTING
|
||||
include TestPlan.txt
|
||||
recursive-include aio *
|
||||
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 *
|
||||
|
||||
# Remove files created in the build
|
||||
global-exclude *.pyc
|
||||
global-exclude *.pyo
|
||||
|
||||
# Remove directories which should not be included in the distribution
|
35
Makefile.am
Normal file
@ -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 \
|
||||
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
|
47
README
Normal file
@ -0,0 +1,47 @@
|
||||
Please read the COPYING file first.
|
||||
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 2.5 or greater
|
||||
PyGTK2 2.12 or greater
|
||||
Python Glade bindings
|
||||
librsvg2 (svg icon view)
|
||||
xdg-utils
|
||||
|
||||
The following packages are *STRONGLY RECOMMENDED* to be installed:
|
||||
GraphViz Enable creation of graphs using GraphViz engine
|
||||
http://www.graphviz.org
|
||||
|
||||
The following packages are optional
|
||||
python gtkspell Enable spell checking in the notes
|
||||
pyenchant Enable query of installed spell check dictionaries
|
||||
|
||||
ttf-freefont More font support in the reports
|
||||
|
||||
No longer needed in 3.0:
|
||||
yelp Gnome help browser. At the moment no help is shipped
|
||||
with version 3.0.
|
||||
|
||||
|
||||
Documentation
|
||||
---------------------------------
|
||||
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
|
||||
|
||||
|
||||
--------------------------------
|
||||
Donald Allingham
|
||||
dallingham@users.sourceforge.net
|
||||
benny.malengier@gramps-project.org
|
196
README.md
@ -1,196 +0,0 @@
|
||||
The Gramps Project ( https://gramps-project.org )
|
||||
===================
|
||||
[](https://github.com/gramps-project/gramps/actions/workflows/gramps-ci.yml?query=branch%3Amaster)
|
||||
[](https://app.codecov.io/gh/gramps-project/gramps/branch/master)
|
||||
[](https://hosted.weblate.org/engage/gramps-project)
|
||||
|
||||
We strive to produce a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists.
|
||||
|
||||
Please read the **COPYING** file first.
|
||||
|
||||
Please read the **INSTALL** file if you intend to build from source.
|
||||
|
||||
Requirements
|
||||
============
|
||||
The following packages **MUST** be installed in order for Gramps to work:
|
||||
|
||||
* **Python** 3.8 or greater - The programming language used by Gramps. https://www.python.org/
|
||||
* **GTK** 3.24 or greater - A cross-platform widget toolkit for creating graphical user interfaces. http://www.gtk.org/
|
||||
* **pygobject** 3.12 or greater - Python Bindings for GLib/GObject/GIO/GTK+ https://wiki.gnome.org/Projects/PyGObject
|
||||
|
||||
The following three packages with GObject Introspection bindings (the gi packages)
|
||||
|
||||
* **cairo** 1.14.0 or greater - a 2D graphics library with support for multiple output devices. http://cairographics.org/
|
||||
* **Pycairo** 1.13.3 or greater - GObject Introspection bindings for cairo. https://github.com/pygobject/pycairo
|
||||
* **pango** - a library for laying out and rendering of text, with an emphasis on internationalization. http://www.pango.org/
|
||||
* **pangocairo** - Allows you to use Pango with Cairo http://www.pango.org/
|
||||
|
||||
* **librsvg2** - (SVG icon view) a library to render SVG files using cairo. http://live.gnome.org/LibRsvg
|
||||
* **bsddb3** - Python bindings for Oracle Berkeley DB https://pypi.python.org/pypi/bsddb3/
|
||||
* **sqlite3** - Python bindings for SQLite Database library
|
||||
|
||||
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-nl. The translation of the
|
||||
Gramps strings is included with the Gramps source.
|
||||
|
||||
|
||||
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, so gir1.2-osmgpsmap-1.0.
|
||||
Without this the GeoView will not be active, see
|
||||
https://gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Categories#Geography_Category
|
||||
|
||||
* **Graphviz**
|
||||
|
||||
Enable creation of graphs using Graphviz engine.
|
||||
Without this, three reports cannot be run.
|
||||
Obtain it from: http://www.graphviz.org or try graphviz and python3-pygraphviz from your packages.
|
||||
|
||||
* **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/).
|
||||
|
||||
* **Ghostscript**
|
||||
|
||||
Used by Graphviz reports to help create PDF files.
|
||||
|
||||
The following packages are optional:
|
||||
------------------------------------
|
||||
* **gspell**
|
||||
|
||||
Enable spell checking in the notes.
|
||||
|
||||
* **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_5.1_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
|
||||
Only rcs is needed, NO python bindings are required.
|
||||
|
||||
* **PIL**
|
||||
|
||||
Python Image Library (PILLOW) 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 https://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#GExiv2_for_Image_metadata
|
||||
|
||||
* **ttf-freefont**
|
||||
|
||||
Provides genealogical symbols and more fonts for reports
|
||||
|
||||
* **geocodeglib**
|
||||
|
||||
A library use to associate a geographical position (latitude, longitude)
|
||||
to a place name. This is used if you already have osmgpsmap installed.
|
||||
If installed, when you add or link a place from the map, you have a red line
|
||||
at the end of the table for selection.
|
||||
Debian, Ubuntu, ... : gir1.2-geocodeglib-1.0
|
||||
Fedora, Redhat, ... : geocode-glib
|
||||
openSUSE : geocode-glib
|
||||
ArchLinux : geocode-glib
|
||||
...
|
||||
|
||||
* **fontconfig**
|
||||
|
||||
Python bindings of fontconfig are required for displaying
|
||||
genealogical symbols
|
||||
|
||||
* **magic**
|
||||
|
||||
Python magic bindings required to have better performances with image
|
||||
processing.
|
||||
If this module is not available, we continue to use Gdk.
|
||||
This avoid to load the image in memory. This is a real improvement
|
||||
when we have many big images.
|
||||
Used in odfdoc, rtfdoc and webreport and tested with png, gif, jpeg, bmp, tiff
|
||||
#
|
||||
# file size with magic without (Gdk) ratio
|
||||
# example 1 : 256k 0.00080 0.00575 7
|
||||
# example 2 : 21M 0.00171 0.55860 326
|
||||
|
||||
Debian, Ubuntu, ... : python3-magic
|
||||
Fedora, Redhat, ... : python3-magic
|
||||
openSUSE : python-magic
|
||||
ArchLinux : python-magic
|
||||
|
||||
Optional packages required by Third-party Addons
|
||||
------------------------------------------------
|
||||
|
||||
**Third-party Addons are written by users and developers and unless stated are not officially part of Gramps.**
|
||||
For more information about Addons see: https://gramps-project.org/wiki/index.php?title=Third-party_Plugins
|
||||
|
||||
Prerequistes required for the following Addons to work:
|
||||
|
||||
* **Family Sheet** - Requires: PIL (Python Imaging Library) or PILLOW.
|
||||
( https://gramps-project.org/wiki/index.php?title=Family_Sheet )
|
||||
|
||||
* **Graph View** - Requires: PyGoocanvas and Goocanvas (python-pygoocanvas, gir1.2-goocanvas-2.0).
|
||||
( https://gramps-project.org/wiki/index.php?title=Graph_View )
|
||||
|
||||
* **Network Chart** - Requires: networkx and pygraphviz
|
||||
( https://gramps-project.org/wiki/index.php?title=NetworkChart )
|
||||
|
||||
* **PedigreeChart** - Can optionally use - numpy if installed
|
||||
( https://gramps-project.org/wiki/index.php?title=PedigreeChart )
|
||||
|
||||
No longer needed:
|
||||
-----------------
|
||||
* Since Gramps 5.2:
|
||||
**xdg-utils**
|
||||
|
||||
* Since Gramps 4.2:
|
||||
**gir-webkit**
|
||||
|
||||
* Since Gramps 4.0:
|
||||
**pygoocanvas, pygtk, pyexiv2**
|
||||
|
||||
* Since Gramps 3.3:
|
||||
**python-enchant Enchant**
|
||||
|
||||
* Since Gramps 3.2:
|
||||
**python glade bindings**
|
||||
|
||||
* Since Gramps 3.1:
|
||||
**yelp** - Gnome help browser. No offline help is shipped see Gramps website for User manual
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
The User Manual is maintained on the Gramps website:
|
||||
|
||||
* https://www.gramps-project.org/wiki/index.php?title=User_manual
|
||||
|
||||
Issue Tracker
|
||||
-------------
|
||||
Gramps bug and issue tracker can be found [here](https://gramps-project.org/bugs/my_view_page.php).
|
||||
|
||||
Translation
|
||||
-------------
|
||||
Gramps uses Hosted Weblate for its translations:
|
||||
|
||||
* https://hosted.weblate.org/engage/gramps-project
|
@ -1,35 +0,0 @@
|
||||
|
||||
UNSTABLE Gramps 4.0.0 Beta2 release.
|
||||
|
||||
This is a technology preview to allow distribution packagers (and plugin
|
||||
writers) to update their scripts (and plugins). This release is not
|
||||
production ready, so only use it for testing!
|
||||
|
||||
It is recommended that Gramps 4.0.0 be used with python 2.7 since many
|
||||
dependent packages do not yet have python 3 versions. A determined person
|
||||
can probably download their sources and build them, however.
|
||||
|
||||
The dependencies for Gramps 4.0.0 are _completely_ different than 3.4 due
|
||||
to the switch to GObject introspection, and the removal of autotools. So
|
||||
only install 4.0.0 if you are certain you can obtain the dependencies,
|
||||
see README and INSTALL.
|
||||
|
||||
For linux, in Ubuntu 12.10 you can install 4.0.0, but you will need to
|
||||
compile and install osmgpsmap manually to have the maps working (see
|
||||
http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography )
|
||||
|
||||
|
||||
Major enhancements in Gramps 4.0.0:
|
||||
|
||||
* GEP 8: code reorganization: http://www.gramps-project.org/wiki/index.php?title=GEPS_008:_File_Organization
|
||||
|
||||
* GEP 26: Replace make: http://www.gramps-project.org/wiki/index.php?title=GEPS_026:_Replace_%27make%27_for_Gramps_build
|
||||
|
||||
* GEP 29: Gtk 3 :http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion
|
||||
|
||||
* GEP 31: Python 3 support: http://www.gramps-project.org/wiki/index.php?title=GEPS_031:_Python_3_support
|
||||
|
||||
More info in the manual
|
||||
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_What%27s_new%3F
|
||||
|
||||
Everybody is invited to update the manual to make it current!
|
77
TODO
@ -1 +1,76 @@
|
||||
http://gramps-project.org/wiki/index.php?title=Category:GEPS
|
||||
* Remove GCONF, provide up grade path - IN PROGRESS
|
||||
|
||||
* Replace the LPRDoc interface (based on gnome-print) with a GTK based
|
||||
print routine. This would remove one of the last gnome-specific
|
||||
libraries, and make portability better. Even more important, the
|
||||
gnome-print interface has been deprecated by the GNOME project, so it
|
||||
will not be around forever. We need to adapt to the new GTK method.
|
||||
- IN PROGRESS
|
||||
|
||||
* Add support for formatted notes. We have a start by ripping off code
|
||||
from GPL code from grecipe-manager. - DONE
|
||||
|
||||
* Allow for multiple notes. A tabbed interface would be really useful,
|
||||
since there are no titles for notes. Not all objects would
|
||||
necessarily need multiple notes. Determine which ones should and
|
||||
shouldn't. - DONE
|
||||
|
||||
* before release: fix command line options
|
||||
|
||||
* remove critical bugs:
|
||||
- #1053 - DONE (testing of LDS privacy needed!!)
|
||||
- #1318, wrong note backreferences - DONE
|
||||
- #1208, relative path, see bug note for agreed solution
|
||||
|
||||
* before release on multiple notes:
|
||||
--> in note: also public/private on GUI - DONE
|
||||
--> on upgrade, the notetype should correspond to the object the note is made
|
||||
from, so notetype SOURCE, SOURCEREF, ..., this gives information on
|
||||
orphaned notes.(DONE for GRDB)
|
||||
TODO: change notetype into note tags, so people can give notes multiple tags,
|
||||
Like this all source notes can have tag source, but also tag 'family history' (Discussion Alex/Benny)
|
||||
--> in sourceref:
|
||||
* remove text tab. (DONE)
|
||||
* On import of GEDCOM text tag, or upgrade of < 2.2 database,
|
||||
create a note with type TRANSCRIPT (DONE, type SOURCE_TEXT)
|
||||
* On export, do not write the text tag in sourceref, write a
|
||||
note instead (DONE)
|
||||
--> A GrampsWidget for use in report dialogs to select which notetypes to include
|
||||
in a report (a filter?).
|
||||
--> Support for multiple notes in all reports.
|
||||
--> Empty text field on Saving Note should throw an error that Note is empty ! (?)
|
||||
--> Undo in Note. Serious editing needs an undo function. Furthermore, the function
|
||||
the Clear icon is unclear: tooltip? Other icon?
|
||||
|
||||
* Remove import of global var in __init__.py, use functions or don't export. Eg.
|
||||
PluginUtils/__init__.py export of plugin lists (tool_list, ...). E
|
||||
|
||||
* Add forward/backward buttons (and active object) on all object views, not only person views.
|
||||
|
||||
* Split views
|
||||
|
||||
* Export to spreadsheet, print, CSV of views - DONE
|
||||
|
||||
* Date calculator. See
|
||||
http://sourceforge.net/mailarchive/forum.php?thread_id=3252078&forum_id=1993
|
||||
|
||||
* Add string substitutions for web page generation (name, report name,
|
||||
date, etc).
|
||||
|
||||
* Add support for sources of the parent/child relation
|
||||
|
||||
* Add support for storing reliability (confidence) of the marriage
|
||||
information; see
|
||||
http://sourceforge.net/mailarchive/forum.php?thread_id=3066997&forum_id=1993
|
||||
and
|
||||
http://sourceforge.net/mailarchive/forum.php?thread_id=3134931&forum_id=1993
|
||||
for the details.
|
||||
|
||||
* Move LDS temple info out of const.py and into an XML file: DONE
|
||||
|
||||
* Make the descendant graph adapt to the page size, not stuck with the
|
||||
current 3 entries per page.
|
||||
|
||||
* Add slideshow generation ability to web page generator
|
||||
|
||||
* And a whole lot more....
|
||||
|
54
acinclude.m4
Normal file
@ -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
|
||||
])
|
@ -1,25 +0,0 @@
|
||||
The files in this directory are used to build the Windows AIO (All In One) installer.
|
||||
|
||||
To build AIO for the master branch :
|
||||
|
||||
1. install msys2
|
||||
* download msys2 from <https://www.msys2.org/> .
|
||||
* install with default options.
|
||||
* run "MSYS2 MINGW64"
|
||||
* upgrade system : ` pacman -Syuu --noconfirm ` (twice if first run close msys2).
|
||||
|
||||
2. download sources from github :
|
||||
|
||||
```
|
||||
pacman -S git --noconfirm
|
||||
git clone https://github.com/gramps-project/gramps.git
|
||||
```
|
||||
|
||||
3. build AIO :
|
||||
|
||||
```
|
||||
cd gramps/aio
|
||||
./build.sh
|
||||
```
|
||||
|
||||
result is in gramps/aio/mingw64/src
|
44
aio/build.sh
@ -1,44 +0,0 @@
|
||||
# install prerequisites :
|
||||
## prerequisites in msys packages :
|
||||
pacman -S --needed --noconfirm mingw-w64-x86_64-python-pip mingw-w64-x86_64-python3-bsddb3 mingw-w64-x86_64-gexiv2 mingw-w64-x86_64-ghostscript mingw-w64-x86_64-python3-cairo mingw-w64-x86_64-python3-gobject mingw-w64-x86_64-python3-icu mingw-w64-x86_64-iso-codes mingw-w64-x86_64-hunspell mingw-w64-x86_64-hunspell-en mingw-w64-x86_64-enchant perl-XML-Parser intltool mingw-w64-x86_64-python3-lxml mingw-w64-x86_64-python3-jsonschema mingw-w64-x86_64-gtkspell3 mingw-w64-x86_64-geocode-glib mingw-w64-x86_64-python3-pillow git mingw-w64-x86_64-graphviz mingw-w64-x86_64-goocanvas mingw-w64-x86_64-osm-gps-map base-devel mingw-w64-x86_64-toolchain subversion mingw-w64-x86_64-db mingw-w64-x86_64-python-bsddb3 mingw-w64-x86_64-graphviz mingw-w64-x86_64-python-graphviz mingw-w64-x86_64-osm-gps-map mingw-w64-x86_64-nsis mingw-w64-x86_64-python-cx-freeze mingw-w64-x86_64-python3-requests mingw-w64-x86_64-enchant mingw-w64-x86_64-adwaita-icon-theme mingw-w64-x86_64-python-networkx mingw-w64-x86_64-python-psycopg2 upx mingw-w64-x86_64-python-packaging unzip mingw-w64-x86_64-python3-nose mingw-w64-x86_64-python-wheel
|
||||
python3 -m pip install --upgrade pip
|
||||
## prerequisites in pip packages
|
||||
pip3 install --upgrade pydot pydotplus requests asyncio
|
||||
## berkeley db, from sources (6.0.30 wanted, msys2 provides actually 6.0.19)
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
if [ ! -f mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz ] ; then
|
||||
wget https://github.com/bpisoj/MINGW-packages/releases/download/v5.0/mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz
|
||||
fi
|
||||
pacman -U --noconfirm mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz
|
||||
pacman -S --noconfirm mingw-w64-x86_64-python3-bsddb3
|
||||
## pygraphviz, from sources
|
||||
if [ ! -f Pygraphviz-1.4rc1.zip ] ; then
|
||||
wget https://gramps-project.org/wiki/images/2/2b/Pygraphviz-1.4rc1.zip
|
||||
fi
|
||||
mkdir pygraphviz-1.4rc1
|
||||
cd pygraphviz-1.4rc1
|
||||
unzip -u ../Pygraphviz-1.4rc1.zip
|
||||
MINGW_INSTALLS=mingw64 makepkg-mingw -sLf
|
||||
pacman -U --noconfirm mingw-w64-x86_64-python3-pygraphviz-1.4rc1-0.0-any.pkg.tar.zst
|
||||
## add some icons and dictionaries not easy to install
|
||||
cd ../../aio
|
||||
tar --directory /mingw64/share/ -zxf share.tgz
|
||||
|
||||
# build gramps
|
||||
cd ..
|
||||
rm -rf dist aio/dist
|
||||
python3 setup.py bdist_wheel
|
||||
appbuild="r$(git rev-list --count HEAD)-$(git rev-parse --short HEAD)"
|
||||
appversion=$(grep "^VERSION_TUPLE" gramps/version.py|sed 's/.*(//;s/, */\./g;s/).*//')
|
||||
unzip -d aio/dist dist/*.whl
|
||||
cd aio
|
||||
|
||||
# create nsis script
|
||||
cat grampsaio64.nsi.template|sed "s/yourVersion/$appversion/;s/yourBuild/$appbuild/">grampsaio64.nsi
|
||||
# build cx_freeze executables
|
||||
python3 setup.py build_exe --no-compress
|
||||
# build installer
|
||||
makensis mingw64/src/grampsaio64.nsi
|
||||
# result is in mingw64/src
|
||||
|
BIN
aio/gramps.ico
Before Width: | Height: | Size: 127 KiB |
@ -1,659 +0,0 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; 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
|
||||
;
|
||||
;Copyright (C) 2013-2021 Josip (pisoj), Paul Culley
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
!define APPNAME "GrampsAIO64"
|
||||
!define APPVERSION "yourVersion"
|
||||
!define APPBUILD "yourBuild"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
!define APP_PUBLISHER "The Gramps project"
|
||||
!define APP_WEB_SITE "https://gramps-project.org"
|
||||
BrandingText "Version ${APPVERSION}-${APPBUILD} -- a new maintenance release"
|
||||
|
||||
; Main Install settings
|
||||
Name "${APPNAME}-${APPVERSION}-${APPBUILD}"
|
||||
OutFile "GrampsAIO-${APPVERSION}-${APPBUILD}_win64.exe"
|
||||
|
||||
CRCCheck on
|
||||
SetCompressor /SOLID /FINAL LZMA
|
||||
SetCompressorDictSize 32
|
||||
SetDatablockOptimize on
|
||||
SetOverwrite try
|
||||
XPStyle on
|
||||
;RequestExecutionLevel admin
|
||||
;AllowRootDirInstall false
|
||||
|
||||
!define MULTIUSER_EXECUTIONLEVEL Highest
|
||||
!define MULTIUSER_MUI
|
||||
!define MULTIUSER_INSTALLMODE_COMMANDLINE
|
||||
!define MULTIUSER_USE_PROGRAMFILES64
|
||||
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "Software\${APPNAME}\${APPVERSION}"
|
||||
!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME ""
|
||||
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "Software\${APPNAME}\${APPVERSION}"
|
||||
!define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME ""
|
||||
!define MULTIUSER_INSTALLMODE_INSTDIR "${APPNAME}-${APPVERSION}"
|
||||
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAMEANDVERSION}"
|
||||
|
||||
!include MultiUser.nsh
|
||||
!include MUI2.nsh
|
||||
!include x64.nsh
|
||||
!include WinVer.nsh
|
||||
!include 'LogicLib.nsh'
|
||||
!include StrFunc.nsh
|
||||
|
||||
!define MUI_ICON ".\gramps.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
;!define MUI_HEADERIMAGE_BITMAP ".\grampshd.bmp"
|
||||
;!define MUI_WELCOMEFINISHPAGE_BITMAP ".\grampsbg.bmp"
|
||||
;!define MUI_BGCOLOR
|
||||
;!define MUI_LICENSEPAGE_BGCOLOR
|
||||
;!define MUI_DIRECTORYPAGE_BGCOLOR
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\gramps.exe"
|
||||
;!define MUI_FINISHPAGE_RUN_PARAMETERS "-EO gramps"
|
||||
|
||||
|
||||
;--------- Pages---------------------------------------------------------------
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_LICENSE "..\share\doc\gramps\COPYING"
|
||||
!insertmacro MULTIUSER_PAGE_INSTALLMODE
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
;!insertmacro MUI_PAGE_STARTMENU
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
;--------- Languages ----------------------------------------------------------
|
||||
!insertmacro MUI_LANGUAGE English
|
||||
!insertmacro MUI_LANGUAGE Albanian
|
||||
!insertmacro MUI_LANGUAGE Arabic
|
||||
!insertmacro MUI_LANGUAGE Bulgarian
|
||||
!insertmacro MUI_LANGUAGE Catalan
|
||||
!insertmacro MUI_LANGUAGE Croatian
|
||||
!insertmacro MUI_LANGUAGE Czech
|
||||
!insertmacro MUI_LANGUAGE Danish
|
||||
!insertmacro MUI_LANGUAGE Dutch
|
||||
!insertmacro MUI_LANGUAGE Esperanto
|
||||
!insertmacro MUI_LANGUAGE Finnish
|
||||
!insertmacro MUI_LANGUAGE French
|
||||
!insertmacro MUI_LANGUAGE German
|
||||
!insertmacro MUI_LANGUAGE Greek
|
||||
!insertmacro MUI_LANGUAGE Hebrew
|
||||
!insertmacro MUI_LANGUAGE Hungarian
|
||||
!insertmacro MUI_LANGUAGE Icelandic
|
||||
!insertmacro MUI_LANGUAGE Italian
|
||||
!insertmacro MUI_LANGUAGE Japanese
|
||||
!insertmacro MUI_LANGUAGE Lithuanian
|
||||
!insertmacro MUI_LANGUAGE Norwegian
|
||||
!insertmacro MUI_LANGUAGE NorwegianNynorsk
|
||||
!insertmacro MUI_LANGUAGE Polish
|
||||
!insertmacro MUI_LANGUAGE Portuguese
|
||||
!insertmacro MUI_LANGUAGE PortugueseBR
|
||||
!insertmacro MUI_LANGUAGE Russian
|
||||
!insertmacro MUI_LANGUAGE Serbian
|
||||
!insertmacro MUI_LANGUAGE SerbianLatin
|
||||
!insertmacro MUI_LANGUAGE SimpChinese
|
||||
!insertmacro MUI_LANGUAGE Slovak
|
||||
!insertmacro MUI_LANGUAGE Slovenian
|
||||
!insertmacro MUI_LANGUAGE Spanish
|
||||
!insertmacro MUI_LANGUAGE SpanishInternational
|
||||
!insertmacro MUI_LANGUAGE Swedish
|
||||
!insertmacro MUI_LANGUAGE TradChinese
|
||||
!insertmacro MUI_LANGUAGE Turkish
|
||||
!insertmacro MUI_LANGUAGE Ukrainian
|
||||
!insertmacro MUI_LANGUAGE Vietnamese
|
||||
|
||||
;--------- Reserve Files ------------------------------------------------------
|
||||
!insertmacro MUI_RESERVEFILE_LANGDLL
|
||||
;ReserveFile "${NSISDIR}\Plugins\x86-ansi\*.dll"
|
||||
ReserveFile "${NSISDIR}\Plugins\unicode\*.dll"
|
||||
|
||||
ShowInstDetails show
|
||||
|
||||
Section "Gramps" Section1
|
||||
SectionIn RO
|
||||
SetOverwrite on
|
||||
|
||||
;;; Set Section Files and Shortcuts
|
||||
SetOutPath "$INSTDIR\"
|
||||
File "..\"
|
||||
|
||||
SetOutPath "$INSTDIR\lib\"
|
||||
File /r "..\lib\"
|
||||
|
||||
SetOutPath "$INSTDIR\etc\"
|
||||
File /r "..\etc\"
|
||||
|
||||
SetOutPath "$INSTDIR\share\"
|
||||
File /r "..\share\doc"
|
||||
File /r "..\share\glib-2.0"
|
||||
File /r "..\share\gramps"
|
||||
File /r "..\share\icons"
|
||||
File /r "..\share\xml"
|
||||
|
||||
SetOutPath "$INSTDIR\gramps\"
|
||||
File /r "..\gramps\"
|
||||
|
||||
SetOutPath "$INSTDIR\ssl\"
|
||||
File /r "..\etc\ssl\"
|
||||
|
||||
SetOutPath "$INSTDIR\src\"
|
||||
File /r ".\"
|
||||
|
||||
CreateDirectory "$INSTDIR\var\cache\fontconfig"
|
||||
|
||||
SetOutPath "$INSTDIR\"
|
||||
CreateShortCut "$DESKTOP\${APPNAMEANDVERSION}.lnk" "$INSTDIR\grampsw.exe" "" "" "" "" "" "Gramps"
|
||||
CreateDirectory "$SMPROGRAMS\${APPNAMEANDVERSION}"
|
||||
CreateShortCut "$SMPROGRAMS\${APPNAMEANDVERSION}\${APPNAMEANDVERSION}.lnk" "$INSTDIR\grampsw.exe" "" "" "" "" "" "Gramps"
|
||||
CreateShortCut "$SMPROGRAMS\${APPNAMEANDVERSION}\${APPNAMEANDVERSION}-console.lnk" "$INSTDIR\gramps.exe" "" "" "" "" "" "Gramps (console)"
|
||||
|
||||
DetailPrint "Writing resource-path ..."
|
||||
FileOpen $4 "$INSTDIR\gramps\gen\utils\resource-path" w
|
||||
FileWrite $4 "share"
|
||||
FileClose $4
|
||||
|
||||
DetailPrint "Writing branding ..."
|
||||
FileOpen $4 "$INSTDIR\gramps\version.py" a
|
||||
FileSeek $4 0 END
|
||||
FileWrite $4 "$\r$\n" ; we write a new line
|
||||
FileWrite $4 "VERSION = 'AIO64-${APPVERSION}-${APPBUILD}'"
|
||||
FileWrite $4 "$\r$\n" ; we write an extra line
|
||||
FileClose $4 ; and close the file
|
||||
|
||||
DetailPrint "Compiling GLib schemas ..."
|
||||
nsExec::ExecToStack '"$INSTDIR\glib-compile-schemas.exe" $INSTDIR\share\glib-2.0\schemas'
|
||||
|
||||
DetailPrint "Caching gdk-pixbuf-query-loaders ..."
|
||||
nsExec::ExecToStack '"$INSTDIR\gdk-pixbuf-query-loaders.exe" --update-cache'
|
||||
SectionEnd
|
||||
|
||||
SectionGroup "Dictionaries" sec_d
|
||||
Section /o "ca" d_ca
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\ca_ES.*"
|
||||
SectionEnd
|
||||
Section /o "cs" d_cs
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\cs_CZ.*"
|
||||
SectionEnd
|
||||
Section /o "da" d_da
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\da_DK.*"
|
||||
SectionEnd
|
||||
Section /o "de" d_de
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\de_DE.*"
|
||||
SectionEnd
|
||||
Section /o "en_AU" d_enau
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\en_AU.*"
|
||||
SectionEnd
|
||||
Section "en_GB" d_engb
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR\share\enchant\"
|
||||
File "..\share\enchant\enchant.ordering"
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\en_GB.*"
|
||||
SectionEnd
|
||||
Section /o "en_US" d_enus
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\en_US.*"
|
||||
SectionEnd
|
||||
Section /o "es_ES" d_es
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\es_ES.*"
|
||||
SectionEnd
|
||||
Section /o "fr_FR" d_fr
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\fr_FR.*"
|
||||
SectionEnd
|
||||
Section /o "hr_HR" d_hr
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\hr_HR.*"
|
||||
SectionEnd
|
||||
Section /o "it_IT" d_it
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\it_IT.*"
|
||||
SectionEnd
|
||||
Section /o "nb_NO" d_nb
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\nb_no.*"
|
||||
SectionEnd
|
||||
Section /o "nl_NL" d_nl
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\nl_NL.*"
|
||||
SectionEnd
|
||||
Section /o "nn_NO" d_nn
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\nn_NO.*"
|
||||
SectionEnd
|
||||
Section /o "pl_PL" d_pl
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\pl_PL.*"
|
||||
SectionEnd
|
||||
Section /o "ru_RU" d_ru
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\ru_RU.*"
|
||||
SectionEnd
|
||||
Section /o "sk_SK" d_sk
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\sk_SK.*"
|
||||
SectionEnd
|
||||
Section /o "sl_SI" d_sl
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\sl_SI.*"
|
||||
SectionEnd
|
||||
Section /o "sv_SE" d_sv
|
||||
SetOutPath "$INSTDIR\share\enchant\myspell\"
|
||||
File "..\share\enchant\myspell\sv_SE.*"
|
||||
SectionEnd
|
||||
SectionGroupEnd
|
||||
|
||||
SectionGroup "Translations" sec_t
|
||||
Section /o "ar" ar
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\ar"
|
||||
SectionEnd
|
||||
Section /o "bg" bg
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\bg"
|
||||
SectionEnd
|
||||
Section /o "ca" ca
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\ca"
|
||||
SectionEnd
|
||||
Section /o "cs" cs
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\cs"
|
||||
SectionEnd
|
||||
Section /o "da" da
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\da"
|
||||
SectionEnd
|
||||
Section /o "de" de
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\de"
|
||||
SectionEnd
|
||||
Section /o "el" el
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\el"
|
||||
SectionEnd
|
||||
Section "en_GB" en_GB
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\en_GB"
|
||||
SectionEnd
|
||||
Section /o "eo" eo
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\eo"
|
||||
SectionEnd
|
||||
Section /o "es" es
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\es"
|
||||
SectionEnd
|
||||
Section /o "fi" fi
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\fi"
|
||||
SectionEnd
|
||||
Section /o "fr" fr
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\fr"
|
||||
SectionEnd
|
||||
Section /o "he" he
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\he"
|
||||
SectionEnd
|
||||
Section /o "hr" hr
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\hr"
|
||||
SectionEnd
|
||||
Section /o "hu" hu
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\hu"
|
||||
SectionEnd
|
||||
Section /o "is" is
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\is"
|
||||
SectionEnd
|
||||
Section /o "it" it
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\it"
|
||||
SectionEnd
|
||||
Section /o "ja" ja
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\ja"
|
||||
SectionEnd
|
||||
Section /o "lt" lt
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\lt"
|
||||
SectionEnd
|
||||
Section /o "nb" nb
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\nb"
|
||||
SectionEnd
|
||||
Section /o "nl" nl
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\nl"
|
||||
SectionEnd
|
||||
Section /o "nn" nn
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\nn"
|
||||
SectionEnd
|
||||
Section /o "pl" pl
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\pl"
|
||||
SectionEnd
|
||||
Section /o "pt_BR" pt_BR
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\pt_BR"
|
||||
SectionEnd
|
||||
Section /o "pt_PT" pt_PT
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\pt_PT"
|
||||
SectionEnd
|
||||
Section /o "ru" ru
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\ru"
|
||||
SectionEnd
|
||||
Section /o "sk" sk
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\sk"
|
||||
SectionEnd
|
||||
Section /o "sl" sl
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\sl"
|
||||
SectionEnd
|
||||
Section /o "sq" sq
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\sq"
|
||||
SectionEnd
|
||||
Section /o "sr" sr
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\sr"
|
||||
SectionEnd
|
||||
Section /o "sv" sv
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\sv"
|
||||
SectionEnd
|
||||
Section /o "tr" tr
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\tr"
|
||||
SectionEnd
|
||||
Section /o "uk" uk
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\uk"
|
||||
SectionEnd
|
||||
Section /o "vi" vi
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\vi"
|
||||
SectionEnd
|
||||
Section /o "zh_CN" zh_CN
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\zh_CN"
|
||||
SectionEnd
|
||||
Section /o "zh_HK" zh_HK
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\zh_HK"
|
||||
SectionEnd
|
||||
Section /o "zh_TW" zh_TW
|
||||
SetOutPath "$INSTDIR\share\locale\"
|
||||
File /r "..\share\locale\zh_TW"
|
||||
SectionEnd
|
||||
SectionGroupEnd
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "Gramps application with all dependencies"
|
||||
|
||||
;; Description of dictionaries
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sec_d} "Dictionaries for various languages"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_ca} "Catalan"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_cs} "Czech"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_da} "Danish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_de} "German"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_enau} "English (Australia)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_engb} "English (United Kingdom)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_enus} "English (USA)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_es} "Spanish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_fr} "French"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_hr} "Croatian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_it} "Italian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_nb} "Norwegian Bokmal"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_nl} "Dutch"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_nn} "Norwegian Nynorsk"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_pl} "Polish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_ru} "Russian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_sk} "Slovak"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_sl} "Slovenian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${d_sv} "Swedish"
|
||||
|
||||
;; Description of translations
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sec_t} "Translation of Gramps in various languages"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${ar} "Arabic"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${bg} "Bulgarian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${ca} "Catalan"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${cs} "Czech"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${da} "Danish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${de} "German"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${el} "Greek"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${en_GB} "English (United Kingdom)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${eo} "Esperanto"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${es} "Spanish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${fi} "Finnish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${fr} "French"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${he} "Hebrew"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${hr} "Croatian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${hu} "Hungarian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${is} "Icelandic"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${it} "Italian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${ja} "Japanese"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${lt} "Lithuanian"
|
||||
;!insertmacro MUI_DESCRIPTION_TEXT ${mk} "Macedonian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${nb} "Norwegian Bokmal"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${nl} "Dutch"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${nn} "Norwegian Nynorsk"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${pl} "Polish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${pt_BR} "Portuguese (Brazil)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${pt_PT} "Portuguese (Portugal)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${ru} "Russian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sk} "Slovak"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sl} "Slovenian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sq} "Albanian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sr} "Serbian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${sv} "Swedish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${tr} "Turkish"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${uk} "Ukrainian"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${vi} "Vietnamese"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${zh_CN} "Chinese (Simplified)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${zh_HK} "Chinese (Hong Kong)"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${zh_TW} "Chinese (Traditional)"
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
Function sel_langs
|
||||
StrCmp $LANGUAGE ${LANG_ARABIC} 0 +2
|
||||
SectionSetFlags ${ar} 1
|
||||
StrCmp $LANGUAGE ${LANG_BULGARIAN} 0 +2
|
||||
SectionSetFlags ${bg} 1
|
||||
StrCmp $LANGUAGE ${LANG_CATALAN} 0 +3
|
||||
SectionSetFlags ${ca} 1
|
||||
SectionSetFlags ${d_ca} 1
|
||||
StrCmp $LANGUAGE ${LANG_CZECH} 0 +3
|
||||
SectionSetFlags ${cs} 1
|
||||
SectionSetFlags ${d_cs} 1
|
||||
StrCmp $LANGUAGE ${LANG_DANISH} 0 +3
|
||||
SectionSetFlags ${da} 1
|
||||
SectionSetFlags ${d_da} 1
|
||||
StrCmp $LANGUAGE ${LANG_GERMAN} 0 +3
|
||||
SectionSetFlags ${de} 1
|
||||
SectionSetFlags ${d_de} 1
|
||||
StrCmp $LANGUAGE ${LANG_GREEK} 0 +2
|
||||
SectionSetFlags ${el} 1
|
||||
StrCmp $LANGUAGE ${LANG_ESPERANTO} 0 +2
|
||||
SectionSetFlags ${eo} 1
|
||||
StrCmp $LANGUAGE ${LANG_SPANISH} 0 +3
|
||||
SectionSetFlags ${es} 1
|
||||
SectionSetFlags ${d_es} 1
|
||||
StrCmp $LANGUAGE ${LANG_FINNISH} 0 +2
|
||||
SectionSetFlags ${fi} 1
|
||||
StrCmp $LANGUAGE ${LANG_FRENCH} 0 +3
|
||||
SectionSetFlags ${fr} 1
|
||||
SectionSetFlags ${d_fr} 1
|
||||
StrCmp $LANGUAGE ${LANG_HEBREW} 0 +2
|
||||
SectionSetFlags ${he} 1
|
||||
StrCmp $LANGUAGE ${LANG_CROATIAN} 0 +3
|
||||
SectionSetFlags ${hr} 1
|
||||
SectionSetFlags ${d_hr} 1
|
||||
StrCmp $LANGUAGE ${LANG_HUNGARIAN} 0 +2
|
||||
SectionSetFlags ${hu} 1
|
||||
StrCmp $LANGUAGE ${LANG_ICELANDIC} 0 +2
|
||||
SectionSetFlags ${is} 1
|
||||
StrCmp $LANGUAGE ${LANG_ITALIAN} 0 +3
|
||||
SectionSetFlags ${it} 1
|
||||
SectionSetFlags ${d_it} 1
|
||||
StrCmp $LANGUAGE ${LANG_JAPANESE} 0 +2
|
||||
SectionSetFlags ${ja} 1
|
||||
StrCmp $LANGUAGE ${LANG_LITHUANIAN} 0 +2
|
||||
SectionSetFlags ${lt} 1
|
||||
StrCmp $LANGUAGE ${LANG_NORWEGIAN} 0 +5
|
||||
SectionSetFlags ${nb} 1
|
||||
SectionSetFlags ${d_nb} 1
|
||||
SectionSetFlags ${nn} 1
|
||||
SectionSetFlags ${d_nn} 1
|
||||
StrCmp $LANGUAGE ${LANG_DUTCH} 0 +3
|
||||
SectionSetFlags ${nl} 1
|
||||
SectionSetFlags ${d_nl} 1
|
||||
StrCmp $LANGUAGE ${LANG_POLISH} 0 +3
|
||||
SectionSetFlags ${pl} 1
|
||||
SectionSetFlags ${d_pl} 1
|
||||
StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} 0 +2
|
||||
SectionSetFlags ${pt_BR} 1
|
||||
StrCmp $LANGUAGE ${LANG_PORTUGUESE} 0 +2
|
||||
SectionSetFlags ${pt_PT} 1
|
||||
StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +3
|
||||
SectionSetFlags ${ru} 1
|
||||
SectionSetFlags ${d_ru} 1
|
||||
StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +3
|
||||
SectionSetFlags ${sk} 1
|
||||
SectionSetFlags ${d_sk} 1
|
||||
StrCmp $LANGUAGE ${LANG_SLOVENIAN} 0 +3
|
||||
SectionSetFlags ${sl} 1
|
||||
SectionSetFlags ${d_sl} 1
|
||||
StrCmp $LANGUAGE ${LANG_ALBANIAN} 0 +2
|
||||
SectionSetFlags ${sq} 1
|
||||
StrCmp $LANGUAGE ${LANG_SERBIAN} 0 +2
|
||||
SectionSetFlags ${sr} 1
|
||||
StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +3
|
||||
SectionSetFlags ${sv} 1
|
||||
SectionSetFlags ${d_sv} 1
|
||||
StrCmp $LANGUAGE ${LANG_TURKISH} 0 +2
|
||||
SectionSetFlags ${tr} 1
|
||||
StrCmp $LANGUAGE ${LANG_UKRAINIAN} 0 +2
|
||||
SectionSetFlags ${uk} 1
|
||||
StrCmp $LANGUAGE ${LANG_VIETNAMESE} 0 +2
|
||||
SectionSetFlags ${vi} 1
|
||||
StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +3
|
||||
SectionSetFlags ${zh_CN} 1
|
||||
SectionSetFlags ${zh_HK} 1
|
||||
StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +3
|
||||
SectionSetFlags ${zh_TW} 1
|
||||
SectionSetFlags ${zh_HK} 1
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Section -FinishSection
|
||||
DetailPrint "Configuring GraphViz Dot..."
|
||||
ReadEnvStr $R0 "PATH"
|
||||
StrCpy $R0 "$R0;$INSTDIR\lib"
|
||||
System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("PATH", R0).r0'
|
||||
SetOutPath $INSTDIR
|
||||
nsExec::ExecToLog '"$INSTDIR\lib\dot.exe" -c'
|
||||
System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("FC_DEBUG", "128").r0'
|
||||
DetailPrint "Creating fontconfig cache (might take a while)..."
|
||||
nsExec::ExecToLog '"$INSTDIR\lib\fc-cache.exe" -fv'
|
||||
System::Call 'Kernel32::SetEnvironmentVariable(t, n)i ("FC_DEBUG", "").r0'
|
||||
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "DisplayName" "${APPNAME}"
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "DisplayVersion" "${APPVERSION}"
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "Publisher" "${APP_PUBLISHER}"
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "URLInfoAbout" "${APP_WEB_SITE}"
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "UninstallString" \
|
||||
"$\"$INSTDIR\uninstall.exe$\" /$MultiUser.InstallMode"
|
||||
WriteRegStr SHCTX "${UNINST_KEY}" "QuietUninstallString" \
|
||||
"$\"$INSTDIR\uninstall.exe$\" /$MultiUser.InstallMode /S"
|
||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||
SectionEnd
|
||||
|
||||
Section Uninstall
|
||||
DeleteRegKey SHCTX "${UNINST_KEY}"
|
||||
Delete "$DESKTOP\${APPNAMEANDVERSION}.lnk"
|
||||
Delete "$SMPROGRAMS\${APPNAMEANDVERSION}\${APPNAMEANDVERSION}.lnk"
|
||||
Delete "$SMPROGRAMS\${APPNAMEANDVERSION}\${APPNAMEANDVERSION}-console.lnk"
|
||||
RMDir "$SMPROGRAMS\${APPNAMEANDVERSION}\"
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
RMDir /r "$INSTDIR\etc"
|
||||
RMDir /r "$INSTDIR\lib"
|
||||
RMDir /r "$INSTDIR\share"
|
||||
RMDir /r "$INSTDIR\src"
|
||||
RMDir /r "$INSTDIR\ssl"
|
||||
RMDir /r "$INSTDIR\gramps"
|
||||
RMDir /r "$INSTDIR\var"
|
||||
RMDir /r "$INSTDIR"
|
||||
SectionEnd
|
||||
|
||||
Function .onInit
|
||||
!insertmacro MULTIUSER_INIT
|
||||
|
||||
;; Prevent multiple instances.
|
||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "GrampsInstaller") i .r1 ?e'
|
||||
Pop $R0
|
||||
StrCmp $R0 0 +3
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "The GrampsAIO installer is already running."
|
||||
Abort
|
||||
|
||||
${IfNot} ${RunningX64}
|
||||
MessageBox MB_OK "64bit Windows version required"
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
${If} ${AtMostWinXP}
|
||||
MessageBox MB_OK "Windows Vista and above required"
|
||||
Quit
|
||||
${EndIf}
|
||||
;StrCpy $LANGUAGE ${LANG_FRENCH}
|
||||
Call sel_langs
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MULTIUSER_UNINIT
|
||||
;; MessageBox MB_OK|MB_ICONEXCLAMATION "Gramps will uninstall now"
|
||||
;; Prevent uninstallation if Gramps is running.
|
||||
System::Call 'kernel32::CreateMutex(i 0, b 0, t "org.gramps-project.gramps") i .R0 ?e'
|
||||
Pop $0
|
||||
;; MessageBox MB_OK|MB_ICONEXCLAMATION "Gramps Mutex Error $0, return $R0"
|
||||
IntCmpU $0 183 0 notRunning notRunning
|
||||
System::Call 'kernel32::CloseHandle(i $R0)'
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Gramps is running. Please close it first"
|
||||
Abort
|
||||
notRunning:
|
||||
FunctionEnd
|
@ -1,44 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
from os import environ
|
||||
from os.path import join
|
||||
import sys
|
||||
import site
|
||||
|
||||
if getattr(sys, "frozen", False):
|
||||
aio = os.path.dirname(sys.executable)
|
||||
sys.path.insert(1, aio)
|
||||
sys.path.insert(1, os.path.join(aio, "lib"))
|
||||
sys.path.insert(1, site.getusersitepackages())
|
||||
environ["PANGOCAIRO_BACKEND"] = "fontconfig"
|
||||
environ["SSL_CERT_FILE"] = join(aio, "ssl/certs/ca-bundle.trust.crt")
|
||||
environ["GI_TYPELIB_PATH"] = join(aio, "lib/girepository-1.0")
|
||||
environ["G_ENABLE_DIAGNOSTIC"] = "0"
|
||||
environ["G_PARAM_DEPRECATED"] = "0"
|
||||
environ["GRAMPS_RESOURCES"] = join(aio, "share")
|
||||
environ["PATH"] = aio + ";" + aio + "\lib;" + environ["PATH"]
|
||||
|
||||
|
||||
def close():
|
||||
sys.exit()
|
||||
|
||||
|
||||
import atexit
|
||||
import ctypes
|
||||
|
||||
HANDLE = ctypes.windll.kernel32.CreateMutexW(None, 1, "org.gramps-project.gramps")
|
||||
ERROR = ctypes.GetLastError()
|
||||
if ERROR == 183: # ERROR_ALREADY_EXISTS:
|
||||
print("Gramps is already running!", file=sys.stderr)
|
||||
close()
|
||||
|
||||
atexit.register(ctypes.windll.kernel32.CloseHandle, HANDLE)
|
||||
atexit.register(ctypes.windll.kernel32.ReleaseMutex, HANDLE)
|
||||
|
||||
import warnings
|
||||
|
||||
warnings.simplefilter("ignore")
|
||||
|
||||
import gramps.grampsapp as app
|
||||
|
||||
app.run()
|
@ -1,24 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
from os import environ
|
||||
from os.path import join
|
||||
import sys
|
||||
import site
|
||||
|
||||
if getattr(sys, "frozen", False):
|
||||
aio = os.path.dirname(sys.executable)
|
||||
sys.path.insert(1, aio)
|
||||
sys.path.insert(1, os.path.join(aio, "lib"))
|
||||
sys.path.insert(1, site.getusersitepackages())
|
||||
environ["LANG"] = "en"
|
||||
environ["PANGOCAIRO_BACKEND"] = "fontconfig"
|
||||
environ["SSL_CERT_FILE"] = join(aio, "ssl/certs/ca-bundle.trust.crt")
|
||||
environ["GI_TYPELIB_PATH"] = join(aio, "lib/girepository-1.0")
|
||||
environ["G_ENABLE_DIAGNOSTIC"] = "0"
|
||||
environ["G_PARAM_DEPRECATED"] = "0"
|
||||
environ["GRAMPS_RESOURCES"] = join(aio, "share")
|
||||
environ["PATH"] = aio + ";" + aio + "\lib;" + environ["PATH"]
|
||||
|
||||
import gramps.grampsapp as app
|
||||
|
||||
app.run()
|
@ -1,42 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
grampsw.exe
|
||||
"""
|
||||
import os
|
||||
from os import environ
|
||||
from os.path import join
|
||||
import sys
|
||||
import site
|
||||
|
||||
if getattr(sys, "frozen", False):
|
||||
aio = os.path.dirname(sys.executable)
|
||||
sys.path.insert(1, aio)
|
||||
sys.path.insert(1, os.path.join(aio, "lib"))
|
||||
sys.path.insert(1, site.getusersitepackages())
|
||||
environ["SSL_CERT_FILE"] = join(aio, "ssl/certs/ca-bundle.trust.crt")
|
||||
environ["GI_TYPELIB_PATH"] = join(aio, "lib/girepository-1.0")
|
||||
environ["G_ENABLE_DIAGNOSTIC"] = "0"
|
||||
environ["G_PARAM_DEPRECATED"] = "0"
|
||||
environ["GRAMPS_RESOURCES"] = join(aio, "share")
|
||||
environ["PATH"] = aio + ";" + aio + "\lib;" + environ["PATH"]
|
||||
|
||||
import atexit
|
||||
import ctypes
|
||||
|
||||
|
||||
def close():
|
||||
"""Show warning dialog if Gramps is already running"""
|
||||
sys.exit("Gramps is already running!")
|
||||
|
||||
|
||||
HANDLE = ctypes.windll.kernel32.CreateMutexW(None, 1, "org.gramps-project.gramps")
|
||||
ERROR = ctypes.GetLastError()
|
||||
if ERROR == 183: # ERROR_ALREADY_EXISTS:
|
||||
close()
|
||||
|
||||
atexit.register(ctypes.windll.kernel32.CloseHandle, HANDLE)
|
||||
atexit.register(ctypes.windll.kernel32.ReleaseMutex, HANDLE)
|
||||
|
||||
import gramps.grampsapp as app
|
||||
|
||||
app.main()
|
BIN
aio/grampsc.ico
Before Width: | Height: | Size: 120 KiB |
BIN
aio/grampsd.ico
Before Width: | Height: | Size: 124 KiB |
283
aio/setup.py
@ -1,283 +0,0 @@
|
||||
"""
|
||||
Use with:
|
||||
python3 setup.py build_exe --no-compress -O1
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
import site
|
||||
import subprocess
|
||||
import tempfile
|
||||
import atexit
|
||||
import shutil
|
||||
import zipfile
|
||||
import cx_Freeze
|
||||
|
||||
sys.path.insert(0, "dist")
|
||||
import gramps
|
||||
from gramps.version import VERSION_TUPLE
|
||||
|
||||
try:
|
||||
from gramps.version import VERSION_QUALIFIER
|
||||
except:
|
||||
VERSION_QUALIFIER = ""
|
||||
UPX_ALT_PATH = r"UPX"
|
||||
|
||||
# import logging
|
||||
# logging.basicConfig(level=logging.DEBUG)
|
||||
VQ = {
|
||||
"-alpha1": 10,
|
||||
"-alpha2": 11,
|
||||
"-alpha3": 12,
|
||||
"-beta1": 21,
|
||||
"-beta2": 22,
|
||||
"-beta3": 23,
|
||||
"-rc1": 22,
|
||||
"": 0,
|
||||
}
|
||||
|
||||
VERSION = ".".join(map(str, VERSION_TUPLE)) + "." + str(VQ.get(VERSION_QUALIFIER, 99))
|
||||
COPYRIGHT = "Copyright 2020, Gramps developers. GNU General Public License"
|
||||
# Prepare a temporay directory
|
||||
TEMP_DIR = tempfile.TemporaryDirectory()
|
||||
atexit.register(TEMP_DIR.cleanup)
|
||||
BASE_DIR = os.path.split(sys.prefix)[1]
|
||||
SETUP_DIR = os.path.dirname(os.path.realpath(__file__))
|
||||
SETUP_FILES = [
|
||||
"setup.py",
|
||||
"gramps.ico",
|
||||
"grampsc.ico",
|
||||
"grampsd.ico",
|
||||
"grampsaioc.py",
|
||||
"grampsaiocd.py",
|
||||
"grampsaiow.py",
|
||||
]
|
||||
if "32" in BASE_DIR:
|
||||
SETUP_FILES.append("".join(("grampsaio", "32", ".nsi")))
|
||||
else:
|
||||
SETUP_FILES.append("".join(("grampsaio", "64", ".nsi")))
|
||||
|
||||
INCLUDE_DLL_PATH = os.path.join(sys.exec_prefix, "bin")
|
||||
INCLUDE_FILES = []
|
||||
INCLUDES = ["gi", "cgi", "colorsys", "site"]
|
||||
PACKAGES = [
|
||||
"gi",
|
||||
"cairo",
|
||||
"xml",
|
||||
"bsddb3",
|
||||
"lxml",
|
||||
"PIL",
|
||||
"json",
|
||||
"csv",
|
||||
"sqlite3",
|
||||
"cProfile",
|
||||
"networkx",
|
||||
"psycopg2",
|
||||
"requests",
|
||||
"logging",
|
||||
"html",
|
||||
"compileall",
|
||||
"graphviz",
|
||||
"pydotplus",
|
||||
"pygraphviz",
|
||||
"pydot",
|
||||
]
|
||||
EXCLUDES = [
|
||||
"tkinter",
|
||||
"PyQt5",
|
||||
"PyQt5.QtCore",
|
||||
"PyQt5.QtGui",
|
||||
"pyside" "PyQt5.QtWidgets",
|
||||
"sip",
|
||||
"lib2to3",
|
||||
"PIL.ImageQt",
|
||||
"pip",
|
||||
"distlib",
|
||||
]
|
||||
|
||||
REPLACE_PATHS = [
|
||||
("*", "AIO/"),
|
||||
(
|
||||
site.getsitepackages()[0] + "cx_freeze-5.0-py3.6-mingw.egg/cx_Freeze",
|
||||
"cx_Freeze/",
|
||||
),
|
||||
]
|
||||
MISSING_DLL = [
|
||||
"libgtk-3-0.dll",
|
||||
"libgtkspell3-3-0.dll",
|
||||
"libgexiv2-2.dll",
|
||||
"libgoocanvas-3.0-9.dll",
|
||||
"libosmgpsmap-1.0-1.dll",
|
||||
"gswin32c.exe",
|
||||
"dot.exe",
|
||||
"libgvplugin_core-6.dll",
|
||||
"libgvplugin_dot_layout-6.dll",
|
||||
"libgvplugin_gd-6.dll",
|
||||
"libgvplugin_pango-6.dll",
|
||||
"libgvplugin_rsvg-6.dll",
|
||||
"glib-compile-schemas.exe",
|
||||
"gdk-pixbuf-query-loaders.exe",
|
||||
"gtk-update-icon-cache-3.0.exe",
|
||||
"fc-cache.exe",
|
||||
"fc-match.exe",
|
||||
"gspawn-win64-helper-console.exe",
|
||||
"gspawn-win64-helper.exe",
|
||||
"libgeocode-glib-0.dll",
|
||||
]
|
||||
BIN_EXCLUDES = ["Qt5Core.dll", "gdiplus.dll", "gdiplus"]
|
||||
|
||||
from os.path import dirname, basename
|
||||
import lib2to3
|
||||
|
||||
lib23_path = dirname(lib2to3.__file__)
|
||||
INCLUDE_FILES.append((lib23_path, "lib/lib2to3"))
|
||||
import pip
|
||||
|
||||
libpip_path = dirname(pip.__file__)
|
||||
INCLUDE_FILES.append((libpip_path, "lib/pip"))
|
||||
import distlib
|
||||
|
||||
libdistlib_path = dirname(distlib.__file__)
|
||||
INCLUDE_FILES.append((libdistlib_path, "lib/distlib"))
|
||||
|
||||
os.makedirs(os.path.join(BASE_DIR, "var/cache/fontconfig"), exist_ok=True)
|
||||
for file in SETUP_FILES:
|
||||
INCLUDE_FILES.append((os.path.join(SETUP_DIR, file), os.path.join("src", file)))
|
||||
for dll in MISSING_DLL:
|
||||
INCLUDE_FILES.append(
|
||||
(os.path.join(INCLUDE_DLL_PATH, dll), os.path.join("lib", dll))
|
||||
)
|
||||
MISSING_LIBS = [
|
||||
"lib/enchant-2",
|
||||
"lib/gdk-pixbuf-2.0",
|
||||
"lib/girepository-1.0",
|
||||
"share/enchant",
|
||||
"share/glib-2.0/schemas",
|
||||
"share/xml/iso-codes",
|
||||
"etc/gtk-3.0",
|
||||
"etc/ssl/certs",
|
||||
"etc/ssl/cert.pem",
|
||||
"etc/fonts",
|
||||
"lib/gio",
|
||||
"share/icons/gnome",
|
||||
"share/icons/hicolor",
|
||||
"share/icons/gramps.png",
|
||||
"share/icons/Adwaita/icon-theme.cache",
|
||||
"share/icons/Adwaita/index.theme",
|
||||
"share/hunspell",
|
||||
]
|
||||
ADWAITA = [
|
||||
"8x8",
|
||||
"16x16",
|
||||
"22x22",
|
||||
"24x24",
|
||||
"32x32",
|
||||
"48x48",
|
||||
"64x64",
|
||||
"96x96",
|
||||
"cursors",
|
||||
]
|
||||
for adw in ADWAITA:
|
||||
INCLUDE_FILES.append(
|
||||
(
|
||||
os.path.join(sys.prefix, "share/icons/Adwaita", adw),
|
||||
os.path.join("share/icons/Adwaita", adw),
|
||||
)
|
||||
)
|
||||
for lib in MISSING_LIBS:
|
||||
INCLUDE_FILES.append((os.path.join(sys.prefix, lib), lib))
|
||||
|
||||
INCLUDE_FILES.append("dist/gramps")
|
||||
INCLUDE_FILES.append(
|
||||
("dist/gramps-" + ".".join(map(str, VERSION_TUPLE)) + ".data/data/share", "share")
|
||||
)
|
||||
EXECUTABLES = [
|
||||
cx_Freeze.Executable(
|
||||
"grampsaioc.py",
|
||||
base="Console",
|
||||
target_name="gramps.exe",
|
||||
icon="gramps.ico",
|
||||
copyright=COPYRIGHT,
|
||||
),
|
||||
cx_Freeze.Executable(
|
||||
"grampsaiow.py",
|
||||
base="Win32GUI",
|
||||
target_name="grampsw.exe",
|
||||
icon="gramps.ico",
|
||||
copyright=COPYRIGHT,
|
||||
),
|
||||
cx_Freeze.Executable(
|
||||
"grampsaiocd.py",
|
||||
base="Console",
|
||||
target_name="grampsd.exe",
|
||||
icon="grampsd.ico",
|
||||
copyright=COPYRIGHT,
|
||||
),
|
||||
]
|
||||
BUILD_EXE_OPTIONS = {
|
||||
"packages": PACKAGES,
|
||||
"includes": INCLUDES,
|
||||
"excludes": EXCLUDES,
|
||||
"include_files": INCLUDE_FILES,
|
||||
"bin_includes": MISSING_DLL,
|
||||
"zip_include_packages": "*", # ZIP_INCLUDE_PACKAGES,
|
||||
"zip_exclude_packages": EXCLUDES,
|
||||
"bin_excludes": BIN_EXCLUDES,
|
||||
"replace_paths": REPLACE_PATHS,
|
||||
"build_exe": BASE_DIR,
|
||||
}
|
||||
BDIST_MSI_OPTIONS = { # uuid.uuid5(uuid.NAMESPACE_DNS, 'GrampsAIO64-5-trunk')
|
||||
"upgrade_code": "{fbccc04b-7b2e-56d3-8bb7-94d5f68de822}",
|
||||
# uuid.uuid5(uuid.NAMESPACE_DNS, 'v5.0.0-alpha1-476-g473d3aa')
|
||||
"product_code": "{48304362-2945-5a10-ad60-241f233be4d2}",
|
||||
"add_to_path": False,
|
||||
#'initial_target_dir': r'[ProgramFilesFolder]\%s\%s' %
|
||||
# (company_name, product_name),
|
||||
}
|
||||
cx_Freeze.setup(
|
||||
name="GrampsAIO32" if "32" in BASE_DIR else "GrampsAIO64",
|
||||
options={"build_exe": BUILD_EXE_OPTIONS, "bdist_msi": BDIST_MSI_OPTIONS},
|
||||
version=VERSION,
|
||||
description="Gramps Genealogy software",
|
||||
long_description=VERSION_QUALIFIER,
|
||||
executables=EXECUTABLES,
|
||||
)
|
||||
|
||||
ZIN = zipfile.ZipFile(os.path.join(BASE_DIR, "lib/library.zip"), "r")
|
||||
ZOUT = zipfile.ZipFile(os.path.join(BASE_DIR, "lib/pythonx.zip"), "w")
|
||||
for item in ZIN.infolist():
|
||||
if not os.path.dirname(item.filename).startswith("gramps"):
|
||||
# if '/test' in item.filename or 'test/' in item.filename:
|
||||
# print("Zip Excluded:", item.filename)
|
||||
# else:
|
||||
print("Zip Included:", item.filename)
|
||||
buffer = ZIN.read(item.filename)
|
||||
ZOUT.writestr(item, buffer)
|
||||
ZOUT.close()
|
||||
ZIN.close()
|
||||
shutil.move(
|
||||
os.path.join(BASE_DIR, "lib/pythonx.zip"), os.path.join(BASE_DIR, "lib/library.zip")
|
||||
)
|
||||
|
||||
if os.path.isfile(UPX_ALT_PATH):
|
||||
UPX = UPX_ALT_PATH
|
||||
else:
|
||||
WHICH = "where" if os.name == "nt" else "which"
|
||||
try:
|
||||
subprocess.check_call([WHICH, "UPX"])
|
||||
except subprocess.CalledProcessError:
|
||||
UPX = None
|
||||
else:
|
||||
UPX = "upx"
|
||||
if UPX is not None:
|
||||
ARGS = [UPX, "-7", "--no-progress"]
|
||||
ARGS.extend(
|
||||
os.path.join(BASE_DIR, filename)
|
||||
for filename in os.listdir(BASE_DIR)
|
||||
if filename == "name"
|
||||
or os.path.splitext(filename)[1].lower() in (".exe", ".dll", ".pyd", ".so")
|
||||
and os.path.splitext(filename)[0].lower()
|
||||
not in ("libgcc_s_dw2-1", "gramps", "grampsw", "grampsd", "libwinpthread-1")
|
||||
)
|
||||
subprocess.call(ARGS)
|
||||
else:
|
||||
print("\nUPX not found")
|
BIN
aio/share.tgz
102
autogen.sh
Executable file
@ -0,0 +1,102 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
# $Id$
|
||||
|
||||
PKG_NAME="gramps"
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
srcfile=$srcdir/src/gramps_main.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='--enable-maintainer-mode'
|
||||
|
||||
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
|
||||
|
@ -1,23 +0,0 @@
|
||||
_gramps()
|
||||
{
|
||||
local cur prev opts
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
opts="--action --config --create --databases --debug --export --format --help --import --open --options --quiet --remove --show --usage --version --yes -? -C -L -O -a -b -c -d -e -f -i -l -p -q -r -s -t -u -v -y"
|
||||
if [[ ${cur} == -* ]] ; then
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
elif [[ ${cur} == --open ]] ; then
|
||||
local IFS=$'\n'
|
||||
local names=($( gramps -l | grep \" | cut -d\ -f4- ))
|
||||
COMPREPLY=( $(compgen --W "${names[*]}" -- ${cur}) )
|
||||
return 0
|
||||
else
|
||||
local IFS=$'\n'
|
||||
local names=($( gramps -l | grep \" | cut -d\ -f4- ))
|
||||
COMPREPLY=( $(compgen -W "${names[*]}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
complete -F _gramps gramps
|
571
config.rpath
Executable file
@ -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
|
188
configure.in
Normal file
@ -0,0 +1,188 @@
|
||||
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.1.3, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_CONFIG_SRCDIR(configure.in)
|
||||
AM_INIT_AUTOMAKE([1.6.3 foreign])
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
RELEASE=0.SVN$(svnversion -n .)
|
||||
dnl RELEASE=0beta
|
||||
dnl RELEASE=0rc1
|
||||
dnl 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 ro ru sv eo fi lt sk tr bg hr sl ca mk sq he"
|
||||
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.5
|
||||
|
||||
AM_PATH_PYTHON(2.5)
|
||||
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_MSG_CHECKING(Python bindings for glade)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
# Do not import gtk.glade, this can raise a RuntimeError if the
|
||||
# display cannot be opened. Just search it.
|
||||
import imp
|
||||
imp.find_module('glade',[[imp.find_module('gtk')[1]]])
|
||||
out("gtk.glade")
|
||||
except ImportError:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_pyglade=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test NO = "$has_pyglade"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
|
||||
**** The python bindings for glade (pygtk2-libglade) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_pyglade)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
po/Makefile.in
|
||||
m4/Makefile
|
||||
Makefile
|
||||
gramps.sh
|
||||
src/const.py
|
||||
src/Makefile
|
||||
src/Config/Makefile
|
||||
src/FilterEditor/Makefile
|
||||
src/Mime/Makefile
|
||||
src/DisplayTabs/Makefile
|
||||
src/DisplayModels/Makefile
|
||||
src/Selectors/Makefile
|
||||
src/GrampsLogger/Makefile
|
||||
src/Merge/Makefile
|
||||
src/docgen/Makefile
|
||||
src/Editors/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/SideBar/Makefile
|
||||
src/DataViews/Makefile
|
||||
src/BasicUtils/Makefile
|
||||
src/Simple/Makefile
|
||||
src/GrampsDbUtils/Makefile
|
||||
src/GrampsLocale/Makefile
|
||||
src/PluginUtils/Makefile
|
||||
src/ReportBase/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/mapservices/Makefile
|
||||
src/plugins/quickview/Makefile
|
||||
src/plugins/rel/Makefile
|
||||
src/plugins/textreport/Makefile
|
||||
src/plugins/tool/Makefile
|
||||
src/plugins/webreport/Makefile
|
||||
src/DateHandler/Makefile
|
||||
src/widgets/Makefile
|
||||
src/gen/Makefile
|
||||
src/gen/proxy/Makefile
|
||||
src/gen/db/Makefile
|
||||
src/gen/lib/Makefile
|
||||
src/gen/utils/Makefile
|
||||
src/gen/plug/Makefile
|
||||
src/gen/plug/menu/Makefile
|
||||
src/data/Makefile
|
||||
src/data/templates/Makefile
|
||||
src/glade/Makefile
|
||||
src/images/Makefile
|
||||
src/images/scalable/Makefile
|
||||
src/images/16x16/Makefile
|
||||
src/images/22x22/Makefile
|
||||
src/images/48x48/Makefile
|
||||
src/mapstraction/Makefile
|
||||
data/Makefile
|
||||
data/man/Makefile
|
||||
data/man/fr/Makefile
|
||||
data/man/nl/Makefile
|
||||
data/man/pl/Makefile
|
||||
data/man/sv/Makefile
|
||||
example/Makefile
|
||||
example/gramps/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
83
data/Makefile.am
Normal file
@ -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)
|
144
data/authors.xml
@ -1,144 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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,45 +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
|
||||
******************************************************
|
||||
|
||||
|
||||
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,226 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 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: Fade-Menus Style Sheet
|
||||
*************************************************
|
||||
|
||||
Body Element
|
||||
------------------------------------------------------ */
|
||||
body {
|
||||
background-color: #FFF;
|
||||
color: #00029D;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Header
|
||||
------------------------------------------------------ */
|
||||
div#header {
|
||||
border-bottom: solid 8px #13A926;
|
||||
}
|
||||
|
||||
/* Drop Down Navigation Menu
|
||||
------------------------------------------------------ */
|
||||
ul#dropmenu {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 10px 0 0 0;
|
||||
list-style-type: none;
|
||||
background: #00029D;
|
||||
background: -moz-linear-gradient(#444, #00029D);
|
||||
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-border-radius: 50px;
|
||||
border-radius: 50px;
|
||||
-moz-box-shadow: 0 2px 1px #9c9c9c;
|
||||
-webkit-box-shadow: 0 2px 1px #9c9c9c;
|
||||
box-shadow: 0 2px 1px #9c9c9c;
|
||||
}
|
||||
ul#dropmenu li {
|
||||
float: left;
|
||||
padding: 0 0 10px 0;
|
||||
position: relative;
|
||||
}
|
||||
ul#dropmenu a {
|
||||
float: left;
|
||||
height: 25px;
|
||||
padding: 0 25px;
|
||||
color: #999;
|
||||
text-transform: uppercase;
|
||||
font: bold 12px/25px Arial, Helvetica;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 #000;
|
||||
}
|
||||
ul#dropmenu li:hover > a {
|
||||
color: #fafafa
|
||||
}
|
||||
|
||||
*html ul#dropmenu li a:hover /* IE6 */ {
|
||||
color: #fafafa
|
||||
}
|
||||
ul#dropmenu li:hover > ul {
|
||||
display: block
|
||||
}
|
||||
|
||||
/* Sub-menu
|
||||
------------------------------------------------------ */
|
||||
ul#dropmenu ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 35px;
|
||||
left: 0;
|
||||
z-index: 99999;
|
||||
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-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
ul#dropmenu ul li {
|
||||
float: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
-moz-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
|
||||
-webkit-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
|
||||
box-shadow: 0 1px 0 #111111, 0 2px 0 #777777;
|
||||
}
|
||||
ul#dropmenu ul li:last-child {
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
ul#dropmenu ul a {
|
||||
padding: 10px;
|
||||
height: auto;
|
||||
line-height: 1;
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
float: none;
|
||||
text-transform: none;
|
||||
}
|
||||
*html ul#dropmenu ul a /* IE6 */ {
|
||||
height: 10px;
|
||||
width: 150px;
|
||||
}
|
||||
*:first-child+html ul#dropmenu ul a /* IE7 */ {
|
||||
height: 10px;
|
||||
width: 150px;
|
||||
}
|
||||
ul#dropmenu ul a:hover {
|
||||
background: #0186ba;
|
||||
background: -moz-linear-gradient(#04acec, #0186ba);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
|
||||
background: -webkit-linear-gradient(#04acec, #0186ba);
|
||||
background: -o-linear-gradient(#04acec, #0186ba);
|
||||
background: -ms-linear-gradient(#04acec, #0186ba);
|
||||
background: linear-gradient(#04acec, #0186ba);
|
||||
}
|
||||
ul#dropmenu ul li:first-child a {
|
||||
-moz-border-radius: 5px 5px 0 0;
|
||||
border-radius: 5px 5px 0 0;
|
||||
}
|
||||
ul#dropmenu ul li:first-child a:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 30px;
|
||||
top: -8px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-bottom: 8px solid #444;
|
||||
}
|
||||
ul#dropmenu ul li:first-child a:hover:after {
|
||||
border-bottom-color: #04acec
|
||||
}
|
||||
ul#dropmenu ul li:last-child a {
|
||||
-moz-border-radius: 0 0 5px 5px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
/* Clear floated elements
|
||||
------------------------------------------------------ */
|
||||
ul#dropmenu:after {
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
content: " ";
|
||||
clear: both;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
* html ul#dropmenu { zoom: 1; } /* IE6 */
|
||||
*:first-child+html ul#dropmenu { zoom: 1; } /* IE7 */
|
||||
|
||||
/* Alphabet Navigation and Year Menu
|
||||
------------------------------------------------------ */
|
||||
div#alphanav, div#subnavigation {
|
||||
clear: both;
|
||||
padding-top: 1px;
|
||||
font: bold 1.2em/1.4 "sans, sans-serif";
|
||||
}
|
||||
div#alphanav ul, div#subnavigation ul {
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
background: #00029D;
|
||||
border-top: 2px solid #13A926;
|
||||
border-bottom: 2px solid #13A926;
|
||||
}
|
||||
div#alphanav ul li, div#subnavigation ul li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#alphanav ul li a, div#subnavigation ul li a {
|
||||
display: block;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
border-right: 1px solid #13A926;
|
||||
border-left: 1px solid #13A926;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#alphanav ul li a:hover, div#alphanav ul li a:focus,
|
||||
div#subnavigation ul li a:hover, div#subnavigation ul li a:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
div#subnavigation ul li.CurrentSection a {
|
||||
border-left: solid 1px #13A926;
|
||||
border-right: solid 1px #13A926;
|
||||
background-color: #FFF;
|
||||
color: #00029D;
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 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: Fade-Menus Style Sheet
|
||||
*************************************************
|
||||
|
||||
Body Element
|
||||
------------------------------------------------------ */
|
||||
body {
|
||||
background-color: #00029D;
|
||||
color: #00029D;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Header
|
||||
------------------------------------------------------ */
|
||||
div#header {
|
||||
border-bottom: solid 8px #13A926;
|
||||
}
|
||||
|
||||
/* Fade Horizontal Navigation Menu
|
||||
------------------------------------------------------ */
|
||||
div.wrapper {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background : #464646;
|
||||
background : -webkit-gradient(linear, left top, left bottombottom, from(rgb(168,168,168)), to(rgb(69,69,69)));
|
||||
background : -moz-linear-gradient(top, rgb(168,168,168), rgb(69,69,69));
|
||||
border-top: 2px solid #939393;
|
||||
position: relative;
|
||||
}
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
ul.menu {
|
||||
height: 80px;
|
||||
border-left: 1px solid rgba(0,0,0,0.3);
|
||||
border-right: 1px solid rgba(255,255,255,0.3);
|
||||
float: left;
|
||||
}
|
||||
ul.menu li {
|
||||
list-style-type: none;
|
||||
float: left;
|
||||
height: 45px;
|
||||
text-align: center;
|
||||
background: -webkit-gradient(radial, 50% 100%, 10, 50% 50%, 90, from(rgba(31,169,244,1)), to(rgba(0,28,78, 1)) );
|
||||
background: -moz-radial-gradient(center 80px 45deg, circle cover, rgba(31,169,244,1) 0%, rgba(0,28,78, 1) 100%);
|
||||
}
|
||||
ul li a {
|
||||
font: bold .9em "Helvetica, Courier, Arial, sans-serif, sans";
|
||||
display: block;
|
||||
padding: 0 6px;
|
||||
border-left: 1px solid rgba(255,255,255,0.1);
|
||||
border-right: 1px solid rgba(0,0,0,0.1);
|
||||
text-align: center;
|
||||
line-height: 45px;
|
||||
background : -webkit-gradient(linear, left top, left bottombottom, from(rgb(168,168,168)), to(rgb(69,69,69)));
|
||||
background : -moz-linear-gradient(top, rgb(168,168,168), rgb(69,69,69));
|
||||
-webkit-transition-property: background;
|
||||
-webkit-transition-duration: 700ms;
|
||||
-moz-transition-property: background;
|
||||
-moz-transition-duration: 700ms;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul li a:hover {
|
||||
background: transparent none;
|
||||
color: #FFF;
|
||||
}
|
||||
ul li.CurrentSection a {
|
||||
background: -webkit-gradient(radial, 50% 100%, 10, 50% 50%, 90, from(rgba(31,169,244,1)), to(rgba(0,28,78, 1)) );
|
||||
background: -moz-radial-gradient(center 80px 45deg, circle cover, rgba(31,169,244,1) 0%, rgba(0,28,78, 1) 100%);
|
||||
Color: #FFF;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation Menu
|
||||
------------------------------------------------------ */
|
||||
div#alphanav {
|
||||
clear: both;
|
||||
padding-top: 1px;
|
||||
font: bold 1.2em/1.4 "sans, sans-serif";
|
||||
}
|
||||
div#alphanav ul {
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
background: #00029D;
|
||||
border-top: 2px solid #13A926;
|
||||
border-bottom: 2px solid #13A926;
|
||||
}
|
||||
div#alphanav li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#alphanav a {
|
||||
display: block;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
border-right: 1px solid #13A926;
|
||||
border-left: 1px solid #13A926;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#alphanav a:hover, div#alphanav a:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
@ -1,123 +0,0 @@
|
||||
/*
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2008-2010 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_Navigation-Horizontal.css
|
||||
******************************************************
|
||||
|
||||
|
||||
Body Element
|
||||
------------------------------------------------------ */
|
||||
body {
|
||||
background-color: #00029D;
|
||||
color: #00029D;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Navigation Menus
|
||||
----------------------------------------------------- */
|
||||
div#nav {
|
||||
clear: both;
|
||||
padding-top: 1px;
|
||||
font: 1.2em/1.4 "sans-serif, Helvetica, Arial";
|
||||
}
|
||||
div#nav ul {
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
background: #00029D;
|
||||
border-bottom: 2px solid #13A926;
|
||||
}
|
||||
div#nav li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#nav a {
|
||||
display: block;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
border-right: 1px solid #13A926;
|
||||
border-left: 1px solid #13A926;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#nav a:hover, div#nav a:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
div#nav .CurrentSection a {
|
||||
font-weight: bold;
|
||||
background: #BCEAF6;
|
||||
color: #000;
|
||||
border-bottom: none;
|
||||
}
|
||||
div#nav .CurrentSection a:hover, div#nav .CurrentSection a:focus {
|
||||
background: #903;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation and Year Menu
|
||||
------------------------------------------------------ */
|
||||
div#alphanav, div#subnavigation {
|
||||
clear: both;
|
||||
padding-top: 1px;
|
||||
font: bold 1.2em/1.4 "sans, sans-serif";
|
||||
}
|
||||
div#alphanav ul, div#subnavigation ul {
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
background: #00029D;
|
||||
border-top: 2px solid #13A926;
|
||||
border-bottom: 2px solid #13A926;
|
||||
}
|
||||
div#alphanav ul li, div#subnavigation ul li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div#alphanav ul li a, div#subnavigation ul li a {
|
||||
display: block;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
border-right: 1px solid #13A926;
|
||||
border-left: 1px solid #13A926;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
div#alphanav ul li a:hover, div#alphanav ul li a:focus,
|
||||
div#subnavigation ul li a:hover, div#subnavigation ul li a:focus {
|
||||
background: #FFF;
|
||||
color: #000;
|
||||
}
|
||||
div#subnavigation ul li.CurrentSection a {
|
||||
border-left: solid 1px #13A926;
|
||||
border-right: solid 1px #13A926;
|
||||
background-color: #FFF;
|
||||
color: #00029D;
|
||||
}
|
@ -1,158 +0,0 @@
|
||||
/*
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2008-2010 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_Navigation-Vertical.css Stylesheet
|
||||
*******************************************************************************
|
||||
|
||||
# $Id: Web_Navigation-Vertical.css 15241 2010-04-19 11:07:00Z robhealey1 $
|
||||
|
||||
Body Element
|
||||
----------------------------------------------------- */
|
||||
body {
|
||||
background: -webkit-gradient (linear, left top, left bottom,
|
||||
from(#ccc), to(#fff));
|
||||
color: #000;
|
||||
padding: 60px 0px 0px 146px;
|
||||
}
|
||||
|
||||
/* Header
|
||||
----------------------------------------------------- */
|
||||
#header {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
height: 65px;
|
||||
}
|
||||
|
||||
/* Navigation
|
||||
----------------------------------------------------- */
|
||||
div#nav {
|
||||
padding: 0px;
|
||||
margin: 0 auto;
|
||||
overflow: auto;
|
||||
}
|
||||
div#nav ul {
|
||||
list-style-type: none;
|
||||
display: block;
|
||||
width: 330px;
|
||||
position: fixed;
|
||||
top: 53px;
|
||||
left: 0px;
|
||||
padding: 0px;
|
||||
background: url(shad2.png) no-repeat;
|
||||
-webkit-background-size: 50% 100%;
|
||||
}
|
||||
div#nav ul li a {
|
||||
-webkit-transition: all 0.3s ease-out;
|
||||
background: #cbcbcb url(border.png) no-repeat;
|
||||
color: #174867;
|
||||
padding: 7px 15px 7px 15px;
|
||||
-webkit-border-top-right-radius: 10px;
|
||||
-webkit-border-bottom-right-radius: 10px;
|
||||
width: 120px;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
-webkit-box-shadow: 2px 2px 4px #888;
|
||||
}
|
||||
div#nav ul li a:hover {
|
||||
background: #ebebeb url(border.png) no-repeat;
|
||||
color: #67a5cd;
|
||||
padding: 7px 0px 7px 30px;
|
||||
}
|
||||
div#nav ul li.CurrentSection a {
|
||||
background-color: #000;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* SubNavigation
|
||||
----------------------------------------------------- */
|
||||
div#subnavigation {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: solid 2px #000;
|
||||
}
|
||||
div#subnavigation ul {
|
||||
list-style:none;
|
||||
min-width: 900px;
|
||||
height: 40px;
|
||||
margin:0;
|
||||
padding: 0px 0px 0px 16px;
|
||||
border-bottom: solid 2px #5D835F;
|
||||
}
|
||||
div#subnavigation ul li {
|
||||
float:left;
|
||||
}
|
||||
div#subnavigation ul li:after {
|
||||
content: "| ";
|
||||
}
|
||||
div#subnavigation ul li a {
|
||||
display: block;
|
||||
padding: 12px 16px 14px 1px;
|
||||
float:left;
|
||||
font: .8em bold italic small-caps verdana, serif;
|
||||
color: #000;
|
||||
text-decoration:none;
|
||||
margin:0;
|
||||
}
|
||||
div#subnavigation ul li a:hover {
|
||||
background-color: #C1B398;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation
|
||||
----------------------------------------------------- */
|
||||
div#alphanav {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: solid 2px #000;
|
||||
}
|
||||
div#alphanav ul {
|
||||
list-style:none;
|
||||
min-width: 900px;
|
||||
height: 24px;
|
||||
margin:0;
|
||||
padding: 0px 0px 0px 9px;
|
||||
border-bottom: solid 2px #000;
|
||||
}
|
||||
div#alphanav ul li {
|
||||
float: left;
|
||||
}
|
||||
div#alphanav ul li:first-child {
|
||||
margin-left: 10px;
|
||||
}
|
||||
div#alphanav ul li:after {
|
||||
content: "| ";
|
||||
}
|
||||
div#alphanav ul li a {
|
||||
display: block;
|
||||
padding: 4px 8px 4px 8px;
|
||||
float: left;
|
||||
font: .8em bold italic small-caps verdana, serif;
|
||||
color: #000;
|
||||
text-decoration:none;
|
||||
margin:0;
|
||||
}
|
@ -1,213 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2010 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.
|
||||
#
|
||||
# $Id: $
|
||||
#
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Combined Ancestor Tree Style Sheet
|
||||
*******************************************************************************
|
||||
#
|
||||
===== Ancestor Graph Color Scheme =====
|
||||
Males #BCEAF6
|
||||
Females #FFC0CB
|
||||
Unknown #000
|
||||
#
|
||||
===== Web Graphics =====
|
||||
Males Web_Gender_Male.png
|
||||
Females Web_Gender_Female.png
|
||||
# -------------------------------------------------------------------------- */
|
||||
/* Subsections : Ancestors Tree -------------------------------------------- */
|
||||
#tree {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
overflow-x:auto;
|
||||
}
|
||||
#toggle_anc {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
overflow-x:auto;
|
||||
}
|
||||
#treeContainer {
|
||||
position:relative;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
z-index:1;
|
||||
}
|
||||
#treeContainer div.boxbg {
|
||||
position:absolute;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background:none;
|
||||
}
|
||||
#treeContainer div.boxbg a,
|
||||
#treeContainer div.boxbg span.unlinked {
|
||||
position:relative;
|
||||
z-index:10;
|
||||
display:block;
|
||||
font:normal 1.1em/1.4em sans-serif;
|
||||
text-align:center;
|
||||
word-break:break-word;
|
||||
word-wrap:break-word;
|
||||
text-decoration:none;
|
||||
color: #00029D;
|
||||
width:280px;
|
||||
min-height: 70px;
|
||||
margin-left:16px;
|
||||
border: solid 2px #000;
|
||||
border-radius: 10px;
|
||||
}
|
||||
#treeContainer div.boxbg a.noThumb,
|
||||
#treeContainer div.AncCol4 a,
|
||||
#treeContainer div.AncCol4 span.unlinked {
|
||||
margin-top:10px;
|
||||
float: right;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover {
|
||||
position:relative;
|
||||
z-index:999;
|
||||
font-size:1.3em;
|
||||
word-break:break-word;
|
||||
word-wrap:break-word;
|
||||
text-decoration:none;
|
||||
color: #00029D;
|
||||
width:400px;
|
||||
margin-left:-20px;
|
||||
padding: 0px 0px 0px 40px;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover,
|
||||
#treeContainer div.AncCol4 a:hover {
|
||||
margin-top:-44px;
|
||||
}
|
||||
#treeContainer div.boxbg a.noThumb:hover {
|
||||
margin-top:0;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#treeContainer div.AncCol0 a:hover {
|
||||
margin-left:12px;
|
||||
}
|
||||
#treeContainer div.AncCol4 a:hover {
|
||||
margin-left:-60px;
|
||||
}
|
||||
#treeContainer div.boxbg span.thumbnail {
|
||||
display:block;
|
||||
position: absolute;
|
||||
max-width:85px;
|
||||
max-height:75px;
|
||||
left: 3px;
|
||||
top: 3px;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail table td.img {
|
||||
padding-right: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail:hover table td.img {
|
||||
padding-right: 9px;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail table td.name {
|
||||
padding-top:3px;
|
||||
padding-left: 2px;
|
||||
padding-right: 23px;
|
||||
width: 90%;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail img {
|
||||
margin-left:0px;
|
||||
padding-left: 0px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg a.thumbnail:hover img {
|
||||
max-height:90%;
|
||||
margin-left:5px;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 4px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#treeContainer div.boxbg table td:first-child, table th:first-child {
|
||||
padding-left: 5px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
#IndividualDetail div.subsection table tr td:first-child {
|
||||
padding-left: 5px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
#treeContainer #treeContainer div.AncCol4 span.thumbnail {
|
||||
display:none;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover span.thumbnail {
|
||||
display:block;
|
||||
}
|
||||
#treeContainer div.boxbg span.fullname {
|
||||
display: none;
|
||||
}
|
||||
#treeContainer div.boxbg span.shortname {
|
||||
display: inline;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover span.fullname {
|
||||
display: inline;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover span.shortname {
|
||||
display: none;
|
||||
}
|
||||
#treeContainer div.boxbg a:hover {
|
||||
float: right;
|
||||
margin-top: 10px;
|
||||
border: solid 4px #000;
|
||||
}
|
||||
#treeContainer div.male a,
|
||||
#treeContainer div.male span.unlinked {
|
||||
background:url(../images/Web_Gender_Male.png) #BCEAF6 no-repeat top right;
|
||||
}
|
||||
#treeContainer div.female a,
|
||||
#treeContainer div.female span.unlinked {
|
||||
background:url(../images/Web_Gender_Female.png) #FFC0CB no-repeat top right;
|
||||
}
|
||||
#treeContainer div.other a,
|
||||
#treeContainer div.other span.unlinked {
|
||||
background:url(../images/Web_Gender_Other.png) #94EF9E no-repeat top right;
|
||||
}
|
||||
#treeContainer div.unknown a,
|
||||
#treeContainer div.unknown span.unlinked {
|
||||
background-color: #000;
|
||||
color: #FFF;
|
||||
}
|
||||
.shadow {
|
||||
display:none;
|
||||
}
|
||||
#tree div div.bvline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
height:1px;
|
||||
margin:0 0 0 16px;
|
||||
padding:0;
|
||||
background-color: #00029D;
|
||||
}
|
||||
#tree div div.bhline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
width:1px;
|
||||
margin:0 0 0 16px;
|
||||
padding:0;
|
||||
background-color: #00029D;
|
||||
}
|
||||
.ghline, .gvline {
|
||||
display:none;
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2009 Stephane Charette and Jason Simanek
|
||||
#
|
||||
# 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 for common behaviour independant of styles
|
||||
Style Name: n/a (used by many different styles)
|
||||
Style Author: Stephane Charette and Jason Simanek
|
||||
**************************************************************************************************
|
||||
|
||||
-------------
|
||||
Image Gallery
|
||||
-------------
|
||||
|
||||
|
||||
ensure RegionBox <ol> is hidden and has no margins/padding that would shift the image */
|
||||
ol.RegionBox {
|
||||
display:none;
|
||||
list-style:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* show the RegionBox <ol> When the mouse hovers over the gallery */
|
||||
div#GalleryDisplay:hover ol.RegionBox {
|
||||
display:block;
|
||||
}
|
||||
|
||||
/* define how <li> tags should normally look within RegionBox */
|
||||
ol.RegionBox li {
|
||||
margin:0;
|
||||
padding:0;
|
||||
display:block;
|
||||
position:absolute;
|
||||
text-align:center;
|
||||
text-decoration:none;
|
||||
border:dashed 1px #999;
|
||||
background:url(../images/blank.gif) repeat;
|
||||
/* IE doesn't work correctly with "hover" if the <li> tag is empty,
|
||||
* so fill the <li> with a blank image; this way the mouse will be
|
||||
* considered in the <li> tag anywhere over the background image
|
||||
*/
|
||||
}
|
||||
|
||||
/* use a solid border when the mouse hovers over the <li> tags */
|
||||
ol.RegionBox li:hover {
|
||||
z-index:100;
|
||||
border:solid 1px #FFF;
|
||||
}
|
||||
|
||||
/* links are kept hidden... */
|
||||
ol.RegionBox li a {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* ...until we hover over them */
|
||||
ol.RegionBox li:hover a {
|
||||
display:block;
|
||||
text-decoration:none;
|
||||
border-bottom:solid 1px #FFF;
|
||||
background-color:#888;
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
/* underline is hidden until we hover over the links */
|
||||
ol.RegionBox li:hover a:hover {
|
||||
text-decoration:underline;
|
||||
}
|
@ -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,158 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2023- Serge Noiraud
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# 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 for common lightbox
|
||||
Style Name: n/a (used by many different styles)
|
||||
Style Author: Serge Noiraud based on W3C: https://www.w3schools.com/howto/howto_js_lightbox.asp
|
||||
**************************************************************************************************/
|
||||
|
||||
.MediaRow {
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.MediaRow > .MediaColumn {
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.MediaRow:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.MediaColumn {
|
||||
float: left;
|
||||
width: 15%;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
/* The Modal (background) */
|
||||
.ModalClass {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 900;
|
||||
padding-top: 5px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* Modal Content */
|
||||
.ModalContent {
|
||||
position: relative;
|
||||
background-color: #fefefe;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
/* The Close Button */
|
||||
.MediaClose {
|
||||
color: black;
|
||||
position: absolute;
|
||||
z-index: 960;
|
||||
top: 10px;
|
||||
right: 1%;
|
||||
font-size: 48px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.MediaClose:hover,
|
||||
.MediaClose:focus {
|
||||
color: #999;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.MediaSlide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.MediaCursor {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Next & previous buttons */
|
||||
.MediaPrev,
|
||||
.MediaNext {
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
width: auto;
|
||||
top: 300px;
|
||||
padding: 16px;
|
||||
margin-top: -50px;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
font-size: 48px;
|
||||
transition: 0.6s ease;
|
||||
border-radius: 0 3px 3px 0;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
background-color: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
/* Position the "next button" to the right */
|
||||
.MediaNext {
|
||||
right: 2%;
|
||||
border-radius: 3px 0 0 3px;
|
||||
}
|
||||
|
||||
/* On hover, add a black background color with a little bit see-through */
|
||||
.MediaPrev:hover,
|
||||
.MediaNext:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* Number text (1/3 etc) */
|
||||
.MediaNumber {
|
||||
font-size: 36px;
|
||||
font-weight: bold;
|
||||
padding: 8px 12px;
|
||||
position: absolute;
|
||||
color: black;
|
||||
background-color: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
/* Less whitespace on smaller real estate. */
|
||||
@media only screen and (max-width: 1080px) {
|
||||
.MediaNumber {
|
||||
font-size: 12px;
|
||||
}
|
||||
.MediaPrev,
|
||||
.MediaNext {
|
||||
top: 100px;
|
||||
font-size: 24px;
|
||||
}
|
||||
.MediaClose {
|
||||
font-size: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
img.hover-shadow {
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.hover-shadow:hover {
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2023- Serge Noiraud
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# 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 javascript for lightbox feature
|
||||
Style Name: n/a (used by many different styles)
|
||||
Javascript Author: Serge Noiraud based on W3C: https://www.w3schools.com/howto/howto_js_lightbox.asp
|
||||
**************************************************************************************************/
|
||||
|
||||
// Open the Modal
|
||||
function openModal() {
|
||||
document.getElementById("MediaModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Close the Modal
|
||||
function closeModal() {
|
||||
document.getElementById("MediaModal").style.display = "none";
|
||||
}
|
||||
|
||||
var slideIndex = 1;
|
||||
showSlides(slideIndex);
|
||||
|
||||
// Next/previous controls
|
||||
function plusSlides(n) {
|
||||
showSlides(slideIndex += n);
|
||||
}
|
||||
|
||||
// Thumbnail image controls
|
||||
function currentSlide(n) {
|
||||
showSlides(slideIndex = n);
|
||||
}
|
||||
|
||||
function showSlides(n) {
|
||||
var i;
|
||||
var slides = document.getElementsByClassName("MediaSlide");
|
||||
if (n > slides.length) {slideIndex = 1}
|
||||
if (n < 1) {slideIndex = slides.length}
|
||||
for (i = 0; i < slides.length; i++) {
|
||||
slides[i].style.display = "none";
|
||||
}
|
||||
slides[slideIndex-1].style.display = "block";
|
||||
}
|
@ -1,177 +0,0 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2011 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.
|
||||
#
|
||||
#
|
||||
###################################################### */
|
||||
body#FamilyMap {
|
||||
background-color: #000;
|
||||
padding: 0 14px;
|
||||
}
|
||||
|
||||
/* Family Maps
|
||||
------------------------------------------------------ */
|
||||
#map_canvas {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
border: solid 4px #000;
|
||||
margin: 20px auto;
|
||||
width: 800px;
|
||||
height: 400px;
|
||||
max-width: 90%;
|
||||
max-height: 90%;
|
||||
}
|
||||
|
||||
/* Place Maps
|
||||
------------------------------------------------------ */
|
||||
div#place_canvas {
|
||||
margin-left: 210px;
|
||||
border: solid 4px #000;
|
||||
width: 500px;
|
||||
height: 400px;
|
||||
max-width: 90%;
|
||||
max-height: 90%;
|
||||
}
|
||||
button#drop {
|
||||
background-color: purple;
|
||||
color: #FFF;
|
||||
font: bold .8em sans-serif;
|
||||
padding: 10px;
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
border: solid 4px #00029D;
|
||||
}
|
||||
|
||||
/* Subsection: References
|
||||
------------------------------------------------------ */
|
||||
div#FamilyMapDetail div#references table.infolist {
|
||||
width: 100%;
|
||||
}
|
||||
div#FamilyMapDetail div#references table.infolist tbody tr td.ColumnPlace {
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
|
||||
/* Subsection: popup
|
||||
------------------------------------------------------ */
|
||||
#map_canvas .ol-popup {
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
-webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
|
||||
filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
|
||||
padding: 5px;
|
||||
border-radius: 8px;
|
||||
border: 2px solid #111111;
|
||||
bottom: 8px;
|
||||
left: -10px;
|
||||
min-width: 500px;
|
||||
}
|
||||
#map_canvas .ol-popup:after, #map_canvas .ol-popup:before {
|
||||
top: 100%;
|
||||
border: solid transparent;
|
||||
height: 0;
|
||||
width: 0;
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
}
|
||||
#map_canvas .ol-popup:after {
|
||||
border-top-color: white;
|
||||
border-width: 10px;
|
||||
left: 48px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
#map_canvas .ol-popup:before {
|
||||
border-top-color: #cccccc;
|
||||
border-width: 11px;
|
||||
left: 48px;
|
||||
margin-left: -11px;
|
||||
}
|
||||
#map_canvas .ol-popup-closer {
|
||||
text-decoration: none;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 8px;
|
||||
}
|
||||
#map_canvas .ol-popup-title {
|
||||
background-color: #ededed;
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
#map_canvas .ol-popup-content {
|
||||
color: #111;
|
||||
font: bold 0.9em sans-serif;
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
padding: 5px 0.5em 5px 0.5em;
|
||||
}
|
||||
#map_canvas .thumbnail {
|
||||
padding: 5px 5px;
|
||||
text-align: center;
|
||||
}
|
||||
#map_canvas img {
|
||||
max-height: 300px;
|
||||
max-width: 400px;
|
||||
}
|
||||
#map_canvas .ol-popup-content a {
|
||||
color: #111;
|
||||
}
|
||||
#map_canvas .ol-popup-content a:visited {
|
||||
color: green;
|
||||
}
|
||||
#map_canvas .ol-popup-content a:hover {
|
||||
color: red;
|
||||
}
|
||||
#map_canvas .ol-popup-closer:after {
|
||||
content: "✖";
|
||||
}
|
||||
#map_canvas .ol-control {
|
||||
position: absolute;
|
||||
background-color: rgba(255,255,255,0.1);
|
||||
bottom: .1em;
|
||||
left: .1em;
|
||||
height: 4%;
|
||||
width: 100%;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 1px;
|
||||
}
|
||||
#map_canvas .ol-rotate {
|
||||
display: none;
|
||||
}
|
||||
#map_canvas .ol-zoom, #map_canvas .ol-zoom-in, #map_canvas .ol-zoom-out {
|
||||
top: .5em;
|
||||
left: .5em;
|
||||
border-left-width: 1px;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
}
|
||||
#map_canvas .ol-attribution ul {
|
||||
list-style-type: none;
|
||||
font-size:0.8em;
|
||||
float: left;
|
||||
margin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#map_canvas .ol-attribution li {
|
||||
float: left;
|
||||
padding-left: 5px;
|
||||
}
|
||||
#map_canvas .ol-attribution button {
|
||||
display: none;
|
||||
}
|
Before Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 144 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: 5.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB |
406
data/css/swanky-purse/jquery-ui-1.7.2.custom.css
vendored
@ -1,406 +0,0 @@
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Georgia,%20Verdana,Arial,sans-serif&fwDefault=bold&fsDefault=1.2em&cornerRadius=5px&bgColorHeader=261803&bgTextureHeader=13_diamond.png&bgImgOpacityHeader=8&borderColorHeader=baaa5a&fcHeader=eacd86&iconColorHeader=e9cd86&bgColorContent=443113&bgTextureContent=13_diamond.png&bgImgOpacityContent=8&borderColorContent=efec9f&fcContent=efec9f&iconColorContent=efec9f&bgColorDefault=4f4221&bgTextureDefault=13_diamond.png&bgImgOpacityDefault=10&borderColorDefault=362917&fcDefault=f8eec9&iconColorDefault=e8e2b5&bgColorHover=675423&bgTextureHover=13_diamond.png&bgImgOpacityHover=25&borderColorHover=362917&fcHover=f8eec9&iconColorHover=f2ec64&bgColorActive=443113&bgTextureActive=13_diamond.png&bgImgOpacityActive=8&borderColorActive=efec9f&fcActive=f9f2bd&iconColorActive=f9f2bd&bgColorHighlight=d5ac5d&bgTextureHighlight=13_diamond.png&bgImgOpacityHighlight=25&borderColorHighlight=362917&fcHighlight=060200&iconColorHighlight=070603&bgColorError=fee4bd&bgTextureError=04_highlight_hard.png&bgImgOpacityError=65&borderColorError=c26629&fcError=803f1e&iconColorError=ff7519&bgColorOverlay=372806&bgTextureOverlay=13_diamond.png&bgImgOpacityOverlay=20&opacityOverlay=80&bgColorShadow=ddd4b0&bgTextureShadow=01_flat.png&bgImgOpacityShadow=75&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=12px
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family:Georgia, serif; color:#7D5925; font-size: 0.7em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { }
|
||||
.ui-widget-content { border: 1px solid #efec9f; background: #443113 url(images/ui-bg_diamond_8_443113_10x8.png) 50% 50% repeat; color: #efec9f; }
|
||||
.ui-widget-content a { color: #efec9f; background: none;}
|
||||
.ui-widget-header { border: 1px solid #baaa5a; background: #261803 url(images/ui-bg_diamond_8_261803_10x8.png) 50% 50% repeat; color: #eacd86; font-weight: bold; }
|
||||
.ui-widget-header a { color: #eacd86; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #362917; background: #4f4221 url(images/ui-bg_diamond_10_4f4221_10x8.png) 50% 50% repeat; font-weight: bold; color: #f8eec9; outline: none; }
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #f8eec9; text-decoration: none; outline: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #362917; background: #675423 url(images/ui-bg_diamond_25_675423_10x8.png) 50% 50% repeat; font-weight: bold; color: #f8eec9; outline: none; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #f8eec9; text-decoration: none; outline: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #efec9f; background: #443113 url(images/ui-bg_diamond_8_443113_10x8.png) 50% 50% repeat; font-weight: bold; color: #f9f2bd; outline: none; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #f9f2bd; outline: none; text-decoration: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #362917; background: #d5ac5d url(images/ui-bg_diamond_25_d5ac5d_10x8.png) 50% 50% repeat; color: #060200; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #060200; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #c26629; background: #fee4bd url(images/ui-bg_highlight-hard_65_fee4bd_1x100.png) 50% top repeat-x; color: #803f1e; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #803f1e; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #803f1e; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_efec9f_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_efec9f_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_e9cd86_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_e8e2b5_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_f2ec64_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9f2bd_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_070603_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ff7519_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; }
|
||||
.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
|
||||
.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
|
||||
.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
|
||||
.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
|
||||
.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
|
||||
.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
|
||||
.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
|
||||
.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #372806 url(images/ui-bg_diamond_20_372806_10x8.png) 50% 50% repeat; opacity: .80;filter:Alpha(Opacity=80); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #ddd4b0 url(images/ui-bg_flat_75_ddd4b0_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 12px; -webkit-border-radius: 12px; }/* Accordion
|
||||
----------------------------------*/
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
|
||||
----------------------------------*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
display: none; /*sorry for IE5*/
|
||||
display/**/: block; /*sorry for IE5*/
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}/* Dialog
|
||||
----------------------------------*/
|
||||
.ui-dialog { position: relative; padding: .2em; width: 300px; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
/* Progressbar
|
||||
----------------------------------*/
|
||||
.ui-progressbar { height:2em; text-align: left; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
|
||||
----------------------------------*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
|
||||
----------------------------------*/
|
||||
.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
|
||||
----------------------------------*/
|
||||
.ui-tabs { padding: .2em; zoom: 1; }
|
||||
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .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; }
|
406
data/css/swanky-purse/jquery-ui-1.7.3.custom.css
vendored
@ -1,406 +0,0 @@
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
*/
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
||||
.ui-helper-clearfix { display: inline-block; }
|
||||
/* required comment for clearfix to work in Opera \*/
|
||||
* html .ui-helper-clearfix { height:1%; }
|
||||
.ui-helper-clearfix { display:block; }
|
||||
/* end clearfix */
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* jQuery UI CSS Framework
|
||||
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Georgia,serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=7D5925&bgTextureHeader=02_glass.png&bgImgOpacityHeader=25&borderColorHeader=7D5925&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=FFF2C6&bgTextureContent=05_inset_soft.png&bgImgOpacityContent=100&borderColorContent=7D5925&fcContent=7D5925&iconColorContent=c47a23&bgColorDefault=FFF2C6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=7D5925&fcDefault=7D5925&iconColorDefault=f08000&bgColorHover=f5f0e5&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=f5ad66&fcHover=a46313&iconColorHover=f08000&bgColorActive=f4f0ec&bgTextureActive=04_highlight_hard.png&bgImgOpacityActive=100&borderColorActive=7D5925&fcActive=b85700&iconColorActive=f35f07&bgColorHighlight=f5f5b5&bgTextureHighlight=04_highlight_hard.png&bgImgOpacityHighlight=100&borderColorHighlight=d9bb73&fcHighlight=060200&iconColorHighlight=cb672b&bgColorError=fee4bd&bgTextureError=04_highlight_hard.png&bgImgOpacityError=65&borderColorError=f8893f&fcError=dd4e2c&iconColorError=ff7519&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=75&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=100&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
||||
*/
|
||||
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-family: Georgia,serif; font-size: 1.1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Georgia,serif; font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #7D5925; background: #FFF2C6 url(images/Web_Mainz_Mid.png) 50% bottom repeat-x; color: #7D5925; } /* ui-bg_inset-soft_100_FFF2C6_1x100.png */
|
||||
.ui-widget-content a { color: #7D5925; background: #FFF2C6 url(images/Web_Mainz_Mid.png) 50% bottom repeat-x; }
|
||||
.ui-widget-header { border: 1px solid #7D5925; background: #7D5925 url(images/Web_Mainz_MidLight.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }/* ui-bg_glass_25_7D5925_1x400.png */
|
||||
.ui-widget-header a { color: #7D5925; background: #7D5925 url(images/Web_Mainz_MidLight.png) 50% bottom repeat-x; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #7D5925; background: #FFF2C6 url(images/Web_Mainz_MidLight.png) 50% 50% repeat-x; 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-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #f5ad66; background: #f5f0e5 url(images/ui-bg_glass_100_f5f0e5_1x400.png) 50% 50% repeat-x; 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, .ui-widget-content .ui-state-active { border: 1px solid #7D5925; background: #f4f0ec url(images/Web_Mainz_MidLight.png) 50% 50% repeat-x; 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, .ui-widget-content .ui-state-highlight {border: 1px solid #d9bb73; background: #f5f5b5 url(images/ui-bg_highlight-hard_100_f5f5b5_1x100.png) 50% top repeat-x; color: #060200; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #060200; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #f8893f; background: #fee4bd url(images/ui-bg_highlight-hard_65_fee4bd_1x100.png) 50% top repeat-x; color: #dd4e2c; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #dd4e2c; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #dd4e2c; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_c47a23_256x240.png); }
|
||||
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_c47a23_256x240.png); }
|
||||
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
||||
.ui-state-default .ui-icon { background-image: url(images/ui-icons_f08000_256x240.png); }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_f08000_256x240.png); }
|
||||
.ui-state-active .ui-icon {background-image: url(images/ui-icons_f35f07_256x240.png); }
|
||||
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_cb672b_256x240.png); }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ff7519_256x240.png); }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; }
|
||||
.ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; }
|
||||
.ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; }
|
||||
.ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; }
|
||||
.ui-corner-top { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; }
|
||||
.ui-corner-bottom { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; }
|
||||
.ui-corner-right { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; }
|
||||
.ui-corner-left { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; }
|
||||
.ui-corner-all { -moz-border-radius: 6px; -webkit-border-radius: 6px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_75_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
||||
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_100_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
|
||||
----------------------------------*/
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
|
||||
----------------------------------*/
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
display: none; /*sorry for IE5*/
|
||||
display/**/: block; /*sorry for IE5*/
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}/* Dialog
|
||||
----------------------------------*/
|
||||
.ui-dialog { position: relative; padding: .2em; width: 300px; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
/* Progressbar
|
||||
----------------------------------*/
|
||||
.ui-progressbar { height:2em; text-align: left; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
|
||||
----------------------------------*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
|
||||
----------------------------------*/
|
||||
.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
|
||||
----------------------------------*/
|
||||
.ui-tabs { padding: .2em; zoom: 1; }
|
||||
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .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; }
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
7
data/gramps.applications
Normal file
@ -0,0 +1,7 @@
|
||||
gramps
|
||||
command=gramps
|
||||
name=GRAMPS
|
||||
can_open_multiple_files=false
|
||||
expects_uris=false
|
||||
requires_terminal=false
|
||||
mime_types=application/x-gramps,application/x-gedcom,application/x-gramps-package,application/x-gramps-xml,application/x-geneweb
|
@ -1,21 +0,0 @@
|
||||
.lozenge {
|
||||
font-size: small;
|
||||
color: #ffffff;
|
||||
background-color: #0d6efd;
|
||||
padding: 3px;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0px 0px 6px black;
|
||||
}
|
||||
|
||||
.addon-row {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: alpha(currentColor, .2);
|
||||
border-radius: 10px;
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
paned>separator {
|
||||
margin: 0px;
|
||||
padding: 1px;
|
||||
}
|
11
data/gramps.desktop.in
Normal file
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
_Name=GRAMPS Genealogy System
|
||||
_Comment=Manage genealogical information, perform genealogical research and analysis
|
||||
Icon=gramps
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=GTK;Office;
|
||||
X-GNOME-DocPath=gramps/gramps-manual.xml
|
||||
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
|
||||
Exec=gramps %F
|
54
data/gramps.keys.in
Normal file
@ -0,0 +1,54 @@
|
||||
application/x-gramps:
|
||||
_description=GRAMPS database
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gramps-package:
|
||||
_description=GRAMPS package
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gramps-xml:
|
||||
_description=GRAMPS XML database
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-gedcom:
|
||||
_description=GEDCOM
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
||||
|
||||
application/x-geneweb:
|
||||
_description=GeneWeb
|
||||
default_action_type=application
|
||||
short_list_application_ids=gramps
|
||||
short_list_application_ids_for_novice_user_level=gramps
|
||||
short_list_application_ids_for_intermediate_user_level=gramps
|
||||
short_list_application_ids_for_advanced_user_level=gramps
|
||||
category=Documents/Genealogy
|
||||
icon-filename=/usr/share/gramps/gramps.png
|
||||
open=gramps %f
|
14
data/gramps.mime
Normal file
@ -0,0 +1,14 @@
|
||||
application/x-gramps
|
||||
ext: grdb
|
||||
|
||||
application/x-gramps-xml
|
||||
ext: gramps
|
||||
|
||||
application/x-gramps-package
|
||||
ext: gpkg
|
||||
|
||||
application/x-gedcom
|
||||
ext: ged gedcom GED GEDCOM
|
||||
|
||||
application/x-geneweb
|
||||
ext: gw GW
|
40
data/gramps.xml.in
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/x-gramps">
|
||||
<_comment>GRAMPS database</_comment>
|
||||
<glob pattern="*.grdb"/>
|
||||
</mime-type>
|
||||
<mime-type type="application/x-gedcom">
|
||||
<_comment>GEDCOM</_comment>
|
||||
<glob pattern="*.ged"/>
|
||||
<glob pattern="*.gedcom"/>
|
||||
<glob pattern="*.GED"/>
|
||||
<glob pattern="*.GEDCOM"/>
|
||||
<magic priority="80">
|
||||
<match type="string" value="0 HEAD" offset="0:1"/>
|
||||
</magic>
|
||||
</mime-type>
|
||||
<mime-type type="application/x-gramps-package">
|
||||
<_comment>GRAMPS package</_comment>
|
||||
<glob pattern="*.gpkg"/>
|
||||
</mime-type>
|
||||
<mime-type type="application/x-gramps-xml">
|
||||
<_comment>GRAMPS XML database</_comment>
|
||||
<glob pattern="*.gramps"/>
|
||||
<magic priority="80">
|
||||
<match type="string" value="<!DOCTYPE database" offset="0:256"/>
|
||||
<match type="string" value="<database" offset="0:64"/>
|
||||
</magic>
|
||||
</mime-type>
|
||||
<mime-type type="application/x-geneweb">
|
||||
<_comment>GeneWeb source file</_comment>
|
||||
<glob pattern="*.gw"/>
|
||||
<glob pattern="*.GW"/>
|
||||
<magic priority="80">
|
||||
<match type="string" value="fam " offset="0:64"/>
|
||||
</magic>
|
||||
</mime-type>
|
||||
</mime-info>
|
@ -1,90 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Gramps - a GTK+/GNOME based genealogy program
|
||||
|
||||
Copyright (C) 2011 Michiel D. Nauta
|
||||
|
||||
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.
|
||||
|
||||
|
||||
-->
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:g="http://gramps-project.org/xml/1.4.0/">
|
||||
|
||||
<!--
|
||||
Transform a Gramps XML file into "canonical form", that is strip the
|
||||
timestamps in the change attributes, and order all elements for which
|
||||
the id attribute is used. The idea is that "canonical Gramps XML" files
|
||||
can be compared with eachother with the help of ordinary diff tools.
|
||||
-->
|
||||
|
||||
<xsl:output method="xml"/>
|
||||
|
||||
<xsl:param name="replace_handles"/>
|
||||
<xsl:key name="primary_obj" match="g:person|g:family|g:event|g:placeobj|g:source|g:repository|g:object|g:note|g:tag" use="@handle"/>
|
||||
|
||||
<xsl:template match="*|@*|text()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="*|@*|text()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@change">
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="g:researcher">
|
||||
<xsl:copy/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="g:people|g:families|g:events|g:places|g:sources|g:repositories|g:objects|g:notes|g:tags">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="*">
|
||||
<xsl:sort select="@id"/>
|
||||
</xsl:apply-templates>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@handle">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$replace_handles='ID'">
|
||||
<xsl:attribute name="handle">
|
||||
<xsl:value-of select="../@id"/>
|
||||
</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="$replace_handles='strip'">
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:copy/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@hlink">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$replace_handles='ID'">
|
||||
<xsl:attribute name="hlink">
|
||||
<xsl:value-of select="key('primary_obj',.)/@id"/>
|
||||
</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="$replace_handles='strip'">
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:copy/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2001 Graham J. Williams
|
||||
# Copyright (C) 2001 Graham J. Williams
|
||||
# Copyright (C) 2000-2007 Donald N. Allingham
|
||||
# Copyright (C) 2010-2014 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,57 +18,51 @@
|
||||
#
|
||||
# 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.2
|
||||
This is the Document Type Definition file for v1.3.0
|
||||
of the GRAMPS XML genealogy data format.
|
||||
Please use the following formal public identifier to identify it:
|
||||
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.7.2//EN"
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
|
||||
|
||||
For example:
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.7.2//EN"
|
||||
"http://gramps-project.org/xml/1.7.2/grampsxml.dtd"
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
|
||||
"http://gramps-project.org/xml/1.3.0/grampsxml.dtd"
|
||||
[...]>
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
DATABASE
|
||||
Defines an XML document which is a <database> consisting of a
|
||||
Defines an XML document which is a <database> consisting of a
|
||||
|
||||
header Information about the "owner" of the database
|
||||
name-formats
|
||||
people
|
||||
families
|
||||
events
|
||||
places
|
||||
citations
|
||||
sources
|
||||
objects
|
||||
repositories
|
||||
notes
|
||||
tags
|
||||
bookmarks
|
||||
namemaps
|
||||
tags
|
||||
header Information about the "owner" of the database
|
||||
people
|
||||
families
|
||||
sources
|
||||
places
|
||||
objects
|
||||
repositories
|
||||
notes
|
||||
bookmarks
|
||||
-->
|
||||
|
||||
<!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.2/">
|
||||
<!ELEMENT database (header, name-formats?, events?, people?, families?,
|
||||
sources?, places?, objects?, repositories?, notes?,
|
||||
bookmarks?,namemaps?)>
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.3.0/">
|
||||
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
HEADER
|
||||
|
||||
A <header> consists of <created> (information about this
|
||||
genealogical database) and <researcher> (information about the
|
||||
person who created this genealogical database)
|
||||
A <header> consists of <created> (information about this
|
||||
genealogical database) and <researcher> (information about the
|
||||
person who created this genealogical database)
|
||||
-->
|
||||
|
||||
<!ELEMENT header (created, researcher?, mediapath?)>
|
||||
@ -80,37 +73,37 @@ HEADER
|
||||
version CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT researcher (resname?, resaddr?, reslocality?, rescity?, resstate?,
|
||||
<!ELEMENT researcher (resname, resaddr?, rescity?, resstate?,
|
||||
rescountry?, respostal?, resphone?, resemail?)>
|
||||
<!ELEMENT resname (#PCDATA)>
|
||||
<!ELEMENT resaddr (#PCDATA)>
|
||||
<!ELEMENT reslocality (#PCDATA)>
|
||||
<!ELEMENT rescity (#PCDATA)>
|
||||
<!ELEMENT resstate (#PCDATA)>
|
||||
<!ELEMENT rescountry (#PCDATA)>
|
||||
<!ELEMENT respostal (#PCDATA)>
|
||||
<!ELEMENT resphone (#PCDATA)>
|
||||
<!ELEMENT resemail (#PCDATA)>
|
||||
<!ELEMENT resname (#PCDATA)>
|
||||
<!ELEMENT resaddr (#PCDATA)>
|
||||
<!ELEMENT rescity (#PCDATA)>
|
||||
<!ELEMENT resstate (#PCDATA)>
|
||||
<!ELEMENT rescountry (#PCDATA)>
|
||||
<!ELEMENT respostal (#PCDATA)>
|
||||
<!ELEMENT resphone (#PCDATA)>
|
||||
<!ELEMENT resemail (#PCDATA)>
|
||||
|
||||
<!ELEMENT mediapath (#PCDATA)>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
PEOPLE
|
||||
-->
|
||||
|
||||
<!ELEMENT people (person)*>
|
||||
<!ATTLIST people
|
||||
<!ATTLIST people
|
||||
default CDATA #IMPLIED
|
||||
home IDREF #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT person (gender, name*, eventref*, lds_ord*,
|
||||
<!ELEMENT person (gender, name*, nick?, eventref*, lds_ord*,
|
||||
objref*, address*, attribute*, url*, childof*,
|
||||
parentin*, personref*, noteref*, citationref*, tagref*)>
|
||||
parentin*, personref*, noteref*, sourceref*)>
|
||||
<!ATTLIST person
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@ -119,10 +112,9 @@ GENDER has values of M, F, or U.
|
||||
-->
|
||||
<!ELEMENT gender (#PCDATA)>
|
||||
|
||||
<!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
|
||||
<!ELEMENT name (first?,call?,last?,suffix?,patronymic?,title?,
|
||||
(daterange|datespan|dateval|datestr)?,noteref*,sourceref*)>
|
||||
<!ATTLIST name
|
||||
alt (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
priv (0|1) #IMPLIED
|
||||
@ -132,20 +124,16 @@ GENDER has values of M, F, or U.
|
||||
|
||||
<!ELEMENT first (#PCDATA)>
|
||||
<!ELEMENT call (#PCDATA)>
|
||||
<!ELEMENT suffix (#PCDATA)>
|
||||
<!ELEMENT title (#PCDATA)>
|
||||
<!ELEMENT nick (#PCDATA)>
|
||||
<!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
|
||||
derivation CDATA #IMPLIED
|
||||
connector CDATA #IMPLIED
|
||||
<!ELEMENT last (#PCDATA)>
|
||||
<!ATTLIST last
|
||||
prefix CDATA #IMPLIED
|
||||
group CDATA #IMPLIED
|
||||
>
|
||||
<!ELEMENT suffix (#PCDATA)>
|
||||
<!ELEMENT patronymic (#PCDATA)>
|
||||
<!ELEMENT title (#PCDATA)>
|
||||
|
||||
<!ELEMENT nick (#PCDATA)>
|
||||
|
||||
<!ELEMENT childof EMPTY>
|
||||
<!ATTLIST childof hlink IDREF #REQUIRED
|
||||
@ -154,41 +142,40 @@ Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
|
||||
<!ELEMENT parentin EMPTY>
|
||||
<!ATTLIST parentin hlink IDREF #REQUIRED>
|
||||
|
||||
<!ELEMENT personref (citationref*, noteref*)>
|
||||
<!ATTLIST personref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
rel CDATA #REQUIRED
|
||||
<!ELEMENT personref (sourceref*,noteref*)>
|
||||
<!ATTLIST personref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
rel CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT address ((daterange|datespan|dateval|datestr)?, street?,
|
||||
locality?, city?, county?, state?, country?, postal?,
|
||||
phone?, noteref*, citationref*)>
|
||||
<!ELEMENT address ((daterange|datespan|dateval|datestr)?,street?,city?,
|
||||
county?,state?,country?,postal?,phone?,noteref*,sourceref*)>
|
||||
<!ATTLIST address priv (0|1) #IMPLIED>
|
||||
|
||||
<!ELEMENT street (#PCDATA)>
|
||||
<!ELEMENT locality (#PCDATA)>
|
||||
<!ELEMENT city (#PCDATA)>
|
||||
<!ELEMENT county (#PCDATA)>
|
||||
<!ELEMENT state (#PCDATA)>
|
||||
<!ELEMENT country (#PCDATA)>
|
||||
<!ELEMENT postal (#PCDATA)>
|
||||
<!ELEMENT phone (#PCDATA)>
|
||||
<!ELEMENT street (#PCDATA)>
|
||||
<!ELEMENT city (#PCDATA)>
|
||||
<!ELEMENT county (#PCDATA)>
|
||||
<!ELEMENT country (#PCDATA)>
|
||||
<!ELEMENT postal (#PCDATA)>
|
||||
<!ELEMENT state (#PCDATA)>
|
||||
<!ELEMENT phone (#PCDATA)>
|
||||
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
FAMILY
|
||||
An element to record information about a family.
|
||||
An element to record information about a family.
|
||||
-->
|
||||
|
||||
<!ELEMENT families (family)*>
|
||||
|
||||
<!ELEMENT family (rel?, father?, mother?, eventref*, lds_ord*, objref*,
|
||||
childref*, attribute*, noteref*, citationref*, tagref*)>
|
||||
<!ELEMENT family (rel?,father?,mother?,eventref*,lds_ord*,
|
||||
objref*,childref*,attribute*,noteref*,sourceref*)>
|
||||
<!ATTLIST family
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@ -198,13 +185,12 @@ FAMILY
|
||||
<!ELEMENT mother EMPTY>
|
||||
<!ATTLIST mother hlink IDREF #REQUIRED>
|
||||
|
||||
<!-- (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) -->
|
||||
<!ELEMENT childref (citationref*,noteref*)>
|
||||
<!ELEMENT childref (sourceref*,noteref*)>
|
||||
<!ATTLIST childref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
mrel CDATA #IMPLIED
|
||||
frel CDATA #IMPLIED
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
|
||||
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
@ -212,32 +198,33 @@ FAMILY
|
||||
<!ELEMENT rel EMPTY>
|
||||
<!ATTLIST rel type CDATA #REQUIRED>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
EVENT
|
||||
-->
|
||||
<!ELEMENT events (event)*>
|
||||
|
||||
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
|
||||
description?, attribute*, noteref*, citationref*, objref*,
|
||||
tagref*)>
|
||||
<!ATTLIST event
|
||||
id CDATA #IMPLIED
|
||||
<!ELEMENT event (type?,(daterange|datespan|dateval|datestr)?,place?,cause?,
|
||||
description?,attribute*,noteref*,sourceref*,objref*)>
|
||||
<!ATTLIST event
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
SOURCES
|
||||
-->
|
||||
|
||||
<!ELEMENT sources (source)*>
|
||||
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
|
||||
noteref*, objref*, srcattribute*, reporef*, tagref*)>
|
||||
<!ELEMENT source (stitle?,sauthor?,spubinfo?,sabbrev?,
|
||||
noteref*,objref*,data_item*,reporef*)>
|
||||
<!ATTLIST source
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT stitle (#PCDATA)>
|
||||
@ -245,31 +232,22 @@ SOURCES
|
||||
<!ELEMENT spubinfo (#PCDATA)>
|
||||
<!ELEMENT sabbrev (#PCDATA)>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
PLACES
|
||||
-->
|
||||
|
||||
<!ELEMENT places (placeobj)*>
|
||||
|
||||
<!ELEMENT placeobj (ptitle?, code?, pname+, coord?, placeref*, location*,
|
||||
objref*, url*, noteref*, citationref*, tagref*)>
|
||||
<!ELEMENT placeobj (ptitle?,coord?,location*,objref*,url*,noteref*,sourceref*)>
|
||||
<!ATTLIST placeobj
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #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 ptitle (#PCDATA)>
|
||||
|
||||
<!ELEMENT coord EMPTY>
|
||||
<!ATTLIST coord
|
||||
@ -279,29 +257,29 @@ PLACES
|
||||
|
||||
<!ELEMENT location EMPTY>
|
||||
<!ATTLIST location
|
||||
street CDATA #IMPLIED
|
||||
locality CDATA #IMPLIED
|
||||
city CDATA #IMPLIED
|
||||
parish CDATA #IMPLIED
|
||||
county CDATA #IMPLIED
|
||||
state CDATA #IMPLIED
|
||||
country CDATA #IMPLIED
|
||||
postal CDATA #IMPLIED
|
||||
phone CDATA #IMPLIED
|
||||
street CDATA #IMPLIED
|
||||
city CDATA #IMPLIED
|
||||
parish CDATA #IMPLIED
|
||||
county CDATA #IMPLIED
|
||||
state CDATA #IMPLIED
|
||||
country CDATA #IMPLIED
|
||||
postal CDATA #IMPLIED
|
||||
phone CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
OBJECTS
|
||||
-->
|
||||
|
||||
<!ELEMENT objects (object)*>
|
||||
|
||||
<!ELEMENT object (file, attribute*, noteref*,
|
||||
(daterange|datespan|dateval|datestr)?, citationref*, tagref*)>
|
||||
<!ELEMENT object (file,attribute*,noteref*,
|
||||
(daterange|datespan|dateval|datestr)?,sourceref*)>
|
||||
<!ATTLIST object
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@ -309,111 +287,81 @@ OBJECTS
|
||||
<!ATTLIST file
|
||||
src CDATA #REQUIRED
|
||||
mime CDATA #REQUIRED
|
||||
checksum CDATA #IMPLIED
|
||||
description CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
REPOSITORIES
|
||||
-->
|
||||
|
||||
<!ELEMENT repositories (repository)*>
|
||||
|
||||
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
|
||||
<!ELEMENT repository (rname,type,address*,url*,noteref*)>
|
||||
<!ATTLIST repository
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT rname (#PCDATA)>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
NOTES
|
||||
-->
|
||||
|
||||
<!ELEMENT notes (note)*>
|
||||
|
||||
<!ELEMENT note (text, style*, tagref*)>
|
||||
<!ELEMENT note (text,tag*)>
|
||||
<!ATTLIST note
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
format (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
format (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT text (#PCDATA)>
|
||||
|
||||
<!ELEMENT style (range+)>
|
||||
<!ATTLIST style
|
||||
name (bold|italic|underline|fontface|fontsize|
|
||||
fontcolor|highlight|superscript|link) #REQUIRED
|
||||
value CDATA #IMPLIED
|
||||
<!ELEMENT tag (range+)>
|
||||
<!ATTLIST tag
|
||||
name (bold|italic|underline|fontface|fontsize|
|
||||
fontcolor|highlight|superscript) #REQUIRED
|
||||
value CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT range EMPTY>
|
||||
<!ATTLIST range
|
||||
start CDATA #REQUIRED
|
||||
end CDATA #REQUIRED
|
||||
start CDATA #REQUIRED
|
||||
end CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
TAGS
|
||||
-->
|
||||
|
||||
<!ELEMENT tags (tag)*>
|
||||
|
||||
<!ELEMENT tag EMPTY>
|
||||
<!ATTLIST tag
|
||||
handle ID #REQUIRED
|
||||
name CDATA #REQUIRED
|
||||
color CDATA #REQUIRED
|
||||
priority CDATA #REQUIRED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
CITATIONS
|
||||
-->
|
||||
|
||||
<!ELEMENT citations (citation)*>
|
||||
|
||||
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence,
|
||||
noteref*, objref*, srcattribute*, sourceref, tagref*)>
|
||||
<!ATTLIST citation
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
BOOKMARKS
|
||||
-->
|
||||
|
||||
<!ELEMENT bookmarks (bookmark)*>
|
||||
<!ELEMENT bookmark EMPTY>
|
||||
<!ATTLIST bookmark
|
||||
target (person|family|event|source|citation|place|media|repository|
|
||||
note) #REQUIRED
|
||||
<!ATTLIST bookmark
|
||||
target (person|family|event|source|place|media|repository) #REQUIRED
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
NAME MAPS
|
||||
-->
|
||||
<!ELEMENT namemaps (map)*>
|
||||
<!ELEMENT map EMPTY>
|
||||
<!ATTLIST map
|
||||
<!ATTLIST map
|
||||
type CDATA #REQUIRED
|
||||
key CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
NAME FORMATS
|
||||
-->
|
||||
|
||||
@ -426,53 +374,50 @@ NAME FORMATS
|
||||
active (0|1) #IMPLIED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
SHARED ELEMENTS
|
||||
-->
|
||||
<!ELEMENT daterange EMPTY>
|
||||
<!ELEMENT daterange EMPTY>
|
||||
<!ATTLIST daterange
|
||||
start CDATA #REQUIRED
|
||||
stop CDATA #REQUIRED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
dualdated (0|1) #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT datespan EMPTY>
|
||||
<!ELEMENT datespan EMPTY>
|
||||
<!ATTLIST datespan
|
||||
start CDATA #REQUIRED
|
||||
stop CDATA #REQUIRED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
start CDATA #REQUIRED
|
||||
stop CDATA #REQUIRED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
dualdated (0|1) #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT dateval EMPTY>
|
||||
<!ELEMENT dateval EMPTY>
|
||||
<!ATTLIST dateval
|
||||
val CDATA #REQUIRED
|
||||
type (before|after|about) #IMPLIED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
dualdated (0|1) #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
newyear CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT datestr EMPTY>
|
||||
<!ELEMENT datestr EMPTY>
|
||||
<!ATTLIST datestr val CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT citationref EMPTY>
|
||||
<!ATTLIST citationref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT sourceref EMPTY>
|
||||
<!ELEMENT sourceref (spage?,noteref*,(daterange|datespan|dateval|datestr)?)>
|
||||
<!ATTLIST sourceref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
conf CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT eventref (attribute*, noteref*, citationref*)>
|
||||
<!ELEMENT eventref (attribute*,noteref*)>
|
||||
<!ATTLIST eventref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
@ -492,26 +437,13 @@ SHARED ELEMENTS
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT tagref EMPTY>
|
||||
<!ATTLIST tagref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
<!ELEMENT spage (#PCDATA)>
|
||||
|
||||
<!ELEMENT page (#PCDATA)>
|
||||
<!ELEMENT confidence (#PCDATA)>
|
||||
|
||||
<!ELEMENT attribute (citationref*, noteref*)>
|
||||
<!ELEMENT attribute (sourceref*,noteref*)>
|
||||
<!ATTLIST attribute
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT srcattribute EMPTY>
|
||||
<!ATTLIST srcattribute
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT place EMPTY>
|
||||
@ -522,23 +454,18 @@ SHARED ELEMENTS
|
||||
|
||||
<!ELEMENT url EMPTY>
|
||||
<!ATTLIST url
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
href CDATA #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
href CDATA #REQUIRED
|
||||
description CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT objref (region?, attribute*, citationref*, noteref*)>
|
||||
<!ATTLIST objref
|
||||
<!ELEMENT objref (region?,attribute*,sourceref*,noteref*)>
|
||||
<!ATTLIST objref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT placeref ((daterange|datespan|dateval|datestr)?)>
|
||||
<!ATTLIST placeref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT region EMPTY>
|
||||
<!ATTLIST region
|
||||
corner1_x CDATA #REQUIRED
|
||||
@ -553,10 +480,10 @@ SHARED ELEMENTS
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?, temple?, place?,
|
||||
status?, sealed_to?, noteref*, citationref*)>
|
||||
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?,temple?,place?,
|
||||
status?,sealed_to?,noteref*,sourceref*)>
|
||||
<!ATTLIST lds_ord
|
||||
priv (0|1) #IMPLIED
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
>
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2005-2007 Donald N. Allingham
|
||||
# Copyright (C) 2010-2014 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 +17,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$
|
||||
-->
|
||||
|
||||
<!--
|
||||
@ -30,26 +30,21 @@
|
||||
|
||||
|
||||
<grammar
|
||||
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
|
||||
ns="http://gramps-project.org/xml/1.7.2/"
|
||||
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
|
||||
ns="http://gramps-project.org/xml/1.3.0/"
|
||||
xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
|
||||
<start><element name="database">
|
||||
|
||||
|
||||
<element name="header">
|
||||
<element name="created">
|
||||
<attribute name="date"><data type="date"/></attribute>
|
||||
<attribute name="version"><text/></attribute>
|
||||
</element>
|
||||
<element name="researcher">
|
||||
<optional>
|
||||
<optional><element name="researcher">
|
||||
<ref name="researcher-content"/>
|
||||
</optional>
|
||||
</element>
|
||||
<optional>
|
||||
<element name="mediapath"><text/>
|
||||
</element>
|
||||
</optional>
|
||||
</element></optional>
|
||||
<optional><element name="mediapath"><text/></element></optional>
|
||||
</element>
|
||||
|
||||
<optional><element name="name-formats">
|
||||
@ -58,12 +53,6 @@
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="tags">
|
||||
<zeroOrMore><element name="tag">
|
||||
<ref name="tag-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="events">
|
||||
<zeroOrMore><element name="event">
|
||||
<ref name="event-content"/>
|
||||
@ -86,12 +75,6 @@
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="citations">
|
||||
<zeroOrMore><element name="citation">
|
||||
<ref name="citation-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="sources">
|
||||
<zeroOrMore><element name="source">
|
||||
<ref name="source-content"/>
|
||||
@ -138,7 +121,6 @@
|
||||
<define name="researcher-content">
|
||||
<element name="resname"><text/></element>
|
||||
<optional><element name="resaddr"><text/></element></optional>
|
||||
<optional><element name="reslocality"><text/></element></optional>
|
||||
<optional><element name="rescity"><text/></element></optional>
|
||||
<optional><element name="resstate"><text/></element></optional>
|
||||
<optional><element name="rescountry"><text/></element></optional>
|
||||
@ -147,18 +129,15 @@
|
||||
<optional><element name="resemail"><text/></element></optional>
|
||||
</define>
|
||||
|
||||
<define name="table-object">
|
||||
<attribute name="handle"><data type="ID"/></attribute>
|
||||
<attribute name="change"><text/></attribute>
|
||||
</define>
|
||||
|
||||
<define name="primary-object">
|
||||
<ref name="table-object"/>
|
||||
<optional><attribute name="id"><text/></attribute></optional>
|
||||
<attribute name="id"><text/></attribute>
|
||||
<attribute name="handle"><data type="ID"/></attribute>
|
||||
<optional><attribute name="priv"><choice>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="marker"><text/></attribute></optional>
|
||||
<attribute name="change"><text/></attribute>
|
||||
</define>
|
||||
|
||||
<define name="person-content">
|
||||
@ -171,6 +150,7 @@
|
||||
<zeroOrMore><element name="name">
|
||||
<ref name="name-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="nick"><text/></element></optional>
|
||||
<zeroOrMore><element name="eventref">
|
||||
<ref name="eventref-content"/>
|
||||
</element></zeroOrMore>
|
||||
@ -196,21 +176,31 @@
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="personref">
|
||||
<ref name="personref-content"/>
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<attribute name="rel"><text/></attribute>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</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,46 +211,39 @@
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="type"><text/></attribute></optional>
|
||||
<optional><attribute name="type"><choice>
|
||||
<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>
|
||||
<optional><element name="call"><text/></element></optional>
|
||||
<zeroOrMore><element name="surname">
|
||||
<ref name="surname-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="last">
|
||||
<text/>
|
||||
<optional><attribute name="prefix"><text/></attribute></optional>
|
||||
<optional><attribute name="group"><text/></attribute></optional>
|
||||
</element></optional>
|
||||
<optional><element name="suffix"><text/></element></optional>
|
||||
<optional><element name="patronymic"><text/></element></optional>
|
||||
<optional><element name="title"><text/></element></optional>
|
||||
<optional><element name="nick"><text/></element></optional>
|
||||
<optional><element name="familynick"><text/></element></optional>
|
||||
<optional><element name="group"><text/></element></optional>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="surname-content">
|
||||
<text/>
|
||||
<optional><attribute name="prefix"><text/></attribute></optional>
|
||||
<optional><attribute name="prim"><choice>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="derivation"><text/></attribute></optional>
|
||||
<optional><attribute name="connector"><text/></attribute></optional>
|
||||
</define>
|
||||
|
||||
<define name="address-content">
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<optional><element name="street"><text/></element></optional>
|
||||
<optional><element name="locality"><text/></element></optional>
|
||||
<optional><element name="city"><text/></element></optional>
|
||||
<optional><element name="county"><text/></element></optional>
|
||||
<optional><element name="state"><text/></element></optional>
|
||||
@ -270,8 +253,8 @@
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -285,10 +268,10 @@
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="cformat"><text/></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="datespan">
|
||||
<attribute name="start"><text/></attribute>
|
||||
@ -298,10 +281,10 @@
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="cformat"><text/></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="dateval">
|
||||
<attribute name="val"><text/></attribute>
|
||||
@ -315,10 +298,10 @@
|
||||
<value>estimated</value>
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="datestr">
|
||||
<attribute name="val"><text/></attribute>
|
||||
@ -357,12 +340,6 @@
|
||||
<optional><attribute name="frel">
|
||||
<ref name="child-rel"/>
|
||||
</attribute></optional>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
@ -371,11 +348,8 @@
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -393,36 +367,11 @@
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<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">
|
||||
<ref name="primary-object"/>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<optional><element name="page"><text/></element></optional>
|
||||
<element name="confidence"><text/></element>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="objref">
|
||||
<ref name="objref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="srcattribute">
|
||||
<ref name="srcattribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<element name="sourceref">
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="objref">
|
||||
<ref name="objref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -438,35 +387,24 @@
|
||||
<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>
|
||||
<optional><element name="code"><text/></element></optional>
|
||||
<oneOrMore><element name="pname">
|
||||
<ref name="placename-content"/>
|
||||
</element></oneOrMore>
|
||||
<optional><element name="coord">
|
||||
<attribute name="long"><text/></attribute>
|
||||
<attribute name="lat"><text/></attribute>
|
||||
<attribute name="long"><data type="float"/></attribute>
|
||||
<attribute name="lat"><data type="float"/></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>
|
||||
<optional><attribute name="city"><text/></attribute></optional>
|
||||
<optional><attribute name="parish"><text/></attribute></optional>
|
||||
<optional><attribute name="county"><text/></attribute></optional>
|
||||
@ -484,11 +422,8 @@
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -497,8 +432,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"/>
|
||||
@ -507,11 +441,8 @@
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -528,9 +459,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">
|
||||
@ -539,15 +467,13 @@
|
||||
<value>family</value>
|
||||
<value>event</value>
|
||||
<value>source</value>
|
||||
<value>citation</value>
|
||||
<value>place</value>
|
||||
<value>media</value>
|
||||
<value>repository</value>
|
||||
<value>note</value>
|
||||
</choice></attribute>
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</define>
|
||||
|
||||
|
||||
<define name="map-content">
|
||||
<attribute name="type"><choice>
|
||||
<value>group_as</value>
|
||||
@ -574,14 +500,11 @@
|
||||
</choice></attribute></optional>
|
||||
<attribute name="type"><text/></attribute>
|
||||
<ref name="styledtext"/>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="styledtext">
|
||||
<element name="text"><text/></element>
|
||||
<zeroOrMore><element name="style">
|
||||
<zeroOrMore><element name="tag">
|
||||
<attribute name="name"><choice>
|
||||
<value>bold</value>
|
||||
<value>italic</value>
|
||||
@ -591,7 +514,6 @@
|
||||
<value>fontcolor</value>
|
||||
<value>highlight</value>
|
||||
<value>superscript</value>
|
||||
<value>link</value>
|
||||
</choice></attribute>
|
||||
<optional><attribute name="value"><text/></attribute></optional>
|
||||
<oneOrMore><element name="range">
|
||||
@ -601,26 +523,17 @@
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="citationref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</define>
|
||||
|
||||
<define name="personref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<attribute name="rel"><text/></attribute>
|
||||
<optional><zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore></optional>
|
||||
<optional><zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore></optional>
|
||||
</define>
|
||||
|
||||
<define name="sourceref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="conf"><text/></attribute></optional>
|
||||
<optional><element name="spage"><text/></element></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
</define>
|
||||
|
||||
<define name="eventref-content">
|
||||
@ -635,9 +548,6 @@
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore></optional>
|
||||
</define>
|
||||
|
||||
<define name="reporef-content">
|
||||
@ -662,29 +572,21 @@
|
||||
<value>1</value>
|
||||
</choice>
|
||||
</define>
|
||||
|
||||
|
||||
<define name="attribute-content">
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<attribute name="type"><text/></attribute>
|
||||
<attribute name="value"><text/></attribute>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<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">
|
||||
<ref name="priv-content"/>
|
||||
@ -701,12 +603,12 @@
|
||||
</attribute></optional>
|
||||
<optional><element name="region">
|
||||
<ref name="region-content"/>
|
||||
</element></optional>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
@ -735,8 +637,8 @@
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -748,26 +650,4 @@
|
||||
<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>
|
||||
|
||||
<define name="tag-content">
|
||||
<ref name="table-object"/>
|
||||
<attribute name="name"><text/></attribute>
|
||||
<attribute name="color"><text/></attribute>
|
||||
<attribute name="priority"><data type="integer"/></attribute>
|
||||
</define>
|
||||
|
||||
</grammar>
|
||||
|
@ -1,613 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<calendar>
|
||||
<country name="Bulgaria">
|
||||
<date name="Нова Година" value="*/1/1" type="national" />
|
||||
<date name="Освобождение на България от Османско иго" value="*/3/3" type="national" />
|
||||
<date name="Ден на труда" value="*/5/1" type="national" />
|
||||
<date name="Ден на храбростта и Българската армия" value="*/5/6" type="national" />
|
||||
<date name="Гергьовден" value="*/5/6" type="religious" />
|
||||
<date name="Ден на българската просвета и култура и на славянската писменост" value="*/5/24" type="national" />
|
||||
<date name="Ден на Съединението на България" value="*/9/6" type="national" />
|
||||
<date name="Ден на Независимостта на България" value="*/9/22" type="national" />
|
||||
<date name="Ден на народните будители" value="*/10/1" type="national" />
|
||||
<date name="Бъдни вечер" value="*/12/24" type="national" />
|
||||
<date name="Рождество Христово, Коледа" value="*/12/25" type="national" />
|
||||
<date name="Рождество Христово, Коледа" value="*/12/26" type="national" />
|
||||
<date name="Васильовден" value="*/1/1" type="religious" />
|
||||
<date name="Св. Йоан Кръстител (Ивановден)" value="*/1/6" type="religious" />
|
||||
<date name="Богоявление (Йордановден)" value="*/1/7" type="religious" />
|
||||
<date name="Антоновден" value="*/1/17" type="religious" />
|
||||
<date name="Атанасовден" value="*/1/18" type="religious" />
|
||||
<date name="Трифон Зарезан (стар ст.)" value="*/2/1" type="religious" />
|
||||
<date name="Сретение Господне" value="*/2/2" type="religious" />
|
||||
<date name="Св. Симеон" value="*/2/3" type="religious" />
|
||||
<date name="Св. Валентин" value="*/2/14" type="religious" />
|
||||
<date name="Трифон Зарезан" value="*/2/14" type="religious" />
|
||||
<date name="Благовещение" value="*/3/25" type="religious" />
|
||||
<date name="Св. цар Борис" value="*/5/2" type="religious" />
|
||||
<date name="Св. Св.Кирил и Методий" value="*/5/11" type="religious" />
|
||||
<date name="Св.Богородица" value="*/6/11" type="religious" />
|
||||
<date name="Еньовден" value="*/6/24" type="religious" />
|
||||
<date name="Петровден" value="*/6/29" type="religious" />
|
||||
<date name="Св. Седмочисленици" value="*/7/27" type="religious" />
|
||||
<date name="Илинден" value="*/7/20" type="religious" />
|
||||
<date name="Рождество Богородично (Малка Богородица)" value="*/9/8" type="religious" />
|
||||
<date name="Кръстовден" value="*/9/14" type="religious" />
|
||||
<date name="Петковден" value="*/10/14" type="religious" />
|
||||
<date name="Димитровден" value="*/10/26" type="religious" />
|
||||
<date name="Архангеловден" value="*/11/8" type="religious" />
|
||||
<date name="Въведение Богородично" value="*/11/21" type="religious" />
|
||||
<date name="Андреевден" value="*/11/30" type="religious" />
|
||||
<date name="Св. Варвара" value="*/12/4" type="religious" />
|
||||
<date name="Св. Сава" value="*/12/5" type="religious" />
|
||||
<date name="Никулден" value="*/12/6" type="religious" />
|
||||
<date name="Игнажден" value="*/12/20" type="religious" />
|
||||
<date name="Стефановден" value="*/12/27" type="religious" />
|
||||
<date name="Великден" value="> julian_easter(y)" type="religious" />
|
||||
<date name="Цветница" value="> julian_easter(y)" offset="-7" type="religious" />
|
||||
<date name="Възнесение господне" value="2010/5/13" type="religious" />
|
||||
<date name="Възнесение господне" value="2011/6/2" type="religious" />
|
||||
<date name="Възнесение господне" value="2012/5/24" type="religious" />
|
||||
</country>
|
||||
<country name="Canada">
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="Groundhog Day" value="*/2/2" type="secular" />
|
||||
<date name="Valentine's Day" value="*/2/14" type="secular" />
|
||||
<date name="Flag Day" value="*/2/15" type="secular" />
|
||||
<date name="St. Patrick's Day" value="*/3/17" type="secular" />
|
||||
<date name="April Fool's Day" value="*/4/1" type="secular" />
|
||||
<date name="Daylight Savings begins" value="*/1/sun/apr" type="informational" />
|
||||
<date name="Ash Wednesday" value="> easter(y)" type="religious" offset="-46" />
|
||||
<date name="Easter" type="religious" value="> easter(y)" />
|
||||
<date name="Passover" type="religious" value="> passover(y)" />
|
||||
<date name="Earth Day" value="*/4/22" type="secular" />
|
||||
<date name="Mother's Day" value="*/2/sun/may" type="secular" />
|
||||
<date name="Victoria Day" value="*/5/24" offset="-mon" type="national" />
|
||||
<date name="Father's Day" value="*/3/sun/jun" type="secular" />
|
||||
<date name="St-Jean Baptiste (QC)" value="*/6/24" type="national" />
|
||||
<date name="Canada Day" value="*/7/1" type="national" />
|
||||
<date name="Civic Holiday" value="*/1/mon/aug" type="national" />
|
||||
<date name="Labour Day" value="*/1/mon/sep" type="national" />
|
||||
<date name="Grandparent's Day" value="*/2/sun/sep" offset="6" type="secular" />
|
||||
<date name="Thanksgiving" value="*/2/mon/oct" type="national" />
|
||||
<date name="Daylight Savings ends" value="*/-1/sun/oct" type="informational" />
|
||||
<date name="Yom Kippur" type="religious" value="> passover(y)" offset="172" />
|
||||
<date name="Ramadan begins" value="2006/9/24" type="religious" />
|
||||
<date name="Ramadan begins" value="2007/9/13" type="religious" />
|
||||
<date name="Ramadan begins" value="2008/9/2" type="religious" />
|
||||
<date name="Halloween" value="*/10/31" type="secular" />
|
||||
<date name="Rememberance Day" value="*/11/11" type="national" />
|
||||
<date name="Hanukkah begins" type="religious" value="> hanuka(y)" />
|
||||
<date name="Christmas" value="*/12/25" type="national" />
|
||||
<date name="Boxing Day" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country name="Catalonia">
|
||||
<date name="Any Nou (estatal)" value="*/1/1" type="religious" />
|
||||
<date name="Reis (estatal)" value="*/1/6" type="religious" />
|
||||
<date name="Festa del Treball (estatal)" value="*/5/1" type="secular" />
|
||||
<date name="Sant Joan (a Catalunya)" value="*/6/24" type="religious" />
|
||||
<date name="Mare de Déu d'Agost (estatal)" value="*/8/15" type="religious" />
|
||||
<date name="Diada Nacional de Catalunya" value="*/9/11" type="national" />
|
||||
<date name="Festa Nacional d'Espanya (estatal)" value="*/10/12" type="religious" />
|
||||
<date name="Tots Sants" value="*/11/1" type="religious" />
|
||||
<date name="Dia de la Constitució (estatal)" value="*/12/6" type="secular" />
|
||||
<date name="La Immaculada (estatal)" value="*/12/8" type="religious" />
|
||||
<date name="Nadal (estatal)" value="*/12/25" type="religious" />
|
||||
<date name="Sant Esteve" value="*/12/26" type="religious" />
|
||||
<date name="Easter" value="> easter(y)" type="religious" />
|
||||
<date name="Divendres Sant (estatal)" value="> easter(y)" offset="-2" type="religious" />
|
||||
<date name="Dilluns de Pasqua Florida" value="> easter(y)" offset="1" type="religious" />
|
||||
</country>
|
||||
<country name="Chile">
|
||||
<date name="Año nuevo" value="*/1/1" type="national" />
|
||||
<date name="Viernes Santo" value="2007/4/6" type="religious" />
|
||||
<date name="Viernes Santo" value="2008/3/21" type="religious" />
|
||||
<date name="Viernes Santo" value="2009/4/10" type="religious" />
|
||||
<date name="Viernes Santo" value="2010/4/2" type="religious" />
|
||||
<date name="Viernes Santo" value="2011/4/22" type="religious" />
|
||||
<date name="Viernes Santo" value="2012/4/6" type="religious" />
|
||||
<date name="Viernes Santo" value="2013/3/29" type="religious" />
|
||||
<date name="Viernes Santo" value="2014/4/18" type="religious" />
|
||||
<date name="Viernes Santo" value="2015/4/3" type="religious" />
|
||||
<date name="Día del Trabajador" value="*/5/1" type="national" />
|
||||
<date name="Día de las Glorias Navales" value="*/5/21" type="national" />
|
||||
<date name="San Pedro y San Pablo" value="*/6/29" type="religious" />
|
||||
<date name="Día de la Virgen del Carmen" value="*/7/16" type="religious" />
|
||||
<date name="Asunción de la Virgen" value="*/8/15" type="religious" />
|
||||
<date name="Fiestas Patrias" value="*/9/18" type="national" />
|
||||
<date name="Glorias del Ejército" value="*/9/19" type="national" />
|
||||
<date name="Día de la Raza" value="*/10/12" type="national" />
|
||||
<date name="Todos los Santos" value="*/11/1" type="religious" />
|
||||
<date name="Inmaculada Concepción" value="*/12/8" type="religious" />
|
||||
<date name="Navidad" value="*/12/25" type="national" />
|
||||
</country>
|
||||
<country name="China">
|
||||
<date name="Chinese New Year" value="2006/1/29" type="national" />
|
||||
</country>
|
||||
<country name="Croatia">
|
||||
<date name="Nova godina" value="*/1/1" type="national" />
|
||||
<date name="Sveta tri kralja" value="*/1/6" type="national" />
|
||||
<date name="Uskrs" value="> easter(y)" type="national" />
|
||||
<date name="Uskršnji ponedjeljak" value="> easter(y)" offset="1" type="national" />
|
||||
<date name="Dan rada" value="*/5/1" type="national" />
|
||||
<date name="Tijelovo" value="> easter(y)" offset="60" type="national" />
|
||||
<date name="Dan antifašističke borbe" value="*/6/22" type="national" />
|
||||
<date name="Dan državnosti" value="*/6/25" type="national" />
|
||||
<date name="Dan domovinske zahvalnosti" value="*/8/5" type="national" />
|
||||
<date name="Velika Gospa" value="*/8/15" type="national" />
|
||||
<date name="Dan neovisnosti" value="*/10/8" type="national" />
|
||||
<date name="Svi sveti" value="*/11/1" type="national" />
|
||||
<date name="Božić" value="*/12/25" type="national" />
|
||||
<date name="Sveti Stjepan" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country name="Czech Republic">
|
||||
<date name="Nový rok" value="*/1/1" type="national" />
|
||||
<date name="Den obnovy samostatného českého státu" value="*/1/1" type="national" />
|
||||
<date name="Velikonoce" type="religious" value="> easter(y)" />
|
||||
<date name="Svátek práce" value="*/5/1" type="national" />
|
||||
<date name="Den osvobození od fašismu" value="*/5/8" type="national" />
|
||||
<date name="Den slovanských věrozvěstů Cyrila a Metoděje" value="*/7/5" type="national" />
|
||||
<date name="Den upálení mistra Jana Husa" value="*/7/6" type="national" />
|
||||
<date name="Den české státnosti" value="*/9/28" type="national" />
|
||||
<date name="Den vzniku samostatného československého státu" value="*/10/28" type="national" />
|
||||
<date name="Den boje za svobodu a demokracii" value="*/11/17" type="national" />
|
||||
<date name="Štědrý den" value="*/12/24" type="religious" />
|
||||
<date name="1. svátek vánoční" value="*/12/25" type="national" />
|
||||
<date name="2. svátek vánoční" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country name="England">
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="Bank Holiday" value="*/1/1" offset="+1" if="dow(y, m, d) == 7" type="national" />
|
||||
<date name="Bank Holiday" value="*/1/1" offset="+2" if="dow(y, m, d) == 6" type="national" />
|
||||
<date name="Good Friday" value="> easter(y)" offset="-2" type="national" />
|
||||
<date name="Easter Monday" value="> easter(y)" offset="+1" type="national" />
|
||||
<date name="May Bank Holiday" value="*/1/mon/may" type="national" />
|
||||
<date name="Spring Bank Holiday" value="*/-1/mon/may" if="y != 2012" type="national" />
|
||||
<date name="Spring Bank Holiday" value="2012/6/4" type="national" />
|
||||
<date name="Diamond Jubilee" value="2012/6/5" type="national" />
|
||||
<date name="Summer Bank Holiday" value="*/-1/mon/aug" type="national" />
|
||||
<date name="Christmas Day" value="*/dec/25" type="national" />
|
||||
<date name="Boxing Day" value="*/dec/26" type="national" />
|
||||
<date name="Bank Holiday" value="*/dec/25" offset="+2" if="dow(y, m, d) > 5" type="national" />
|
||||
<date name="Bank Holiday" value="*/dec/26" offset="+2" if="dow(y, m, d) > 5" type="national" />
|
||||
<date name="BST starts" value="*/-1/sun/mar" type="informational" />
|
||||
<date name="BST ends" value="*/-1/sun/oct" type="informational" />
|
||||
<date name="Valentine's Day" value="*/2/14" type="secular" />
|
||||
<date name="Shrove Tuesday" value="> easter(y)" offset="-47" type="religious" />
|
||||
<date name="Ash Wednesday" value="> easter(y)" offset="-46" type="religious" />
|
||||
<date name="Easter Sunday" value="> easter(y)" type="religious" />
|
||||
<date name="April Fool's Day" value="*/4/1" type="secular" />
|
||||
<date name="St. George's Day" value="*/4/23" type="secular" />
|
||||
<date name="Mothering Sunday" value="> easter(y)" offset="-21" type="secular" />
|
||||
<date name="Fathers' Day" value="*/3/sun/jun" type="secular" />
|
||||
<date name="Halloween" value="*/10/31" type="secular" />
|
||||
<date name="Guy Fawkes Night" value="*/11/5" type="secular" />
|
||||
<date name="Armistice Day" value="*/11/11" type="secular" />
|
||||
<date name="Remembrance Sunday" value="*/2/sun/nov" type="secular" />
|
||||
</country>
|
||||
<country name="Finland">
|
||||
<date name="Loppiainen" value="*/1/6" type="religious" if="not(y>=1973)" />
|
||||
<date name="Loppiainen" value="*/1/6" offset="sat" type="religious" if="(y>=1973) and not(y>=1992)" />
|
||||
<date name="Loppiainen" value="*/1/6" type="religious" if="(y>=1992)" />
|
||||
<date name="Knud" value="*/1/7" type="religious" if="not(y>=1708)" />
|
||||
<date name="Knud" value="*/1/13" type="religious" if="(y>=1708) and not(y>=1885)" />
|
||||
<date name="Nuutti" value="*/1/13" type="religious" if="(y>=1885)" />
|
||||
<date name="Pyhän Henrikin muistopäivä" value="*/1/20" type="religious" if="not(y>=1699)" />
|
||||
<date name="Pyhän Henrikin muistopäivä" value="*/1/19" type="religious" if="(y>=1699)" />
|
||||
<date name="Laskiaissunnuntai" type="religious" value="> easter(y)" offset="-49"/>
|
||||
<date name="Laskiaistiistai" type="religious" value="> easter(y)" offset="-47"/>
|
||||
<date name="Tuhkakeskiviikko" type="religious" value="> easter(y)" offset="-46" />
|
||||
<!--
|
||||
# Candlemas Day was February 2, before the year 1774.
|
||||
# From 1774 Candlemas Day was February 2, if it is Sunday, otherwise the next Sunday.
|
||||
# If this day is Shrove Sunday, Candlemas Day is the week before.
|
||||
-->
|
||||
<date name="Kynttilänpäivä" value="*/2/2" type="religious" if="not(y>=1774)" />
|
||||
<!--
|
||||
# Before the year 1955, Annunciation day was 25 March.
|
||||
# If the day is a week before Passover, the holy day was Palm Sunday preceding Saturday.
|
||||
# If it occurred on Easter Sunday, Annunciation day was Easter the following Tuesday.
|
||||
#
|
||||
# From 1955 has been the Annunciation on Sunday, no earlier than March 22 and no later than March 28,
|
||||
# if this Sunday is Palm Sunday or Easter, Annunciation day is the Sunday before Palm Sunday.
|
||||
-->
|
||||
<date name="Palmusunnuntai" type="religious" value="> easter(y)" offset="-7" />
|
||||
<date name="Kiirastorstai" type="religious" value="> easter(y)" offset="-3" />
|
||||
<date name="Pitkäperjantai" type="religious" value="> easter(y)" offset="-2" />
|
||||
<date name="Lankalauantai" type="religious" value="> easter(y)" offset="-1" />
|
||||
<date name="Pääsiäispäivä" type="religious" value="> easter(y)" />
|
||||
<date name="2. Pääsiäispäivä" type="religious" value="> easter(y)" offset="1" />
|
||||
<date name="Helatorstai" type="religious" value="> easter(y)" offset="39" if="not(y>=1973)" />
|
||||
<date name="Kristuksen taivaaseenastumisen päivä" type="religious" value="> easter(y)" offset="34" if="(y>=1973) and not(y>=1992)" />
|
||||
<date name="Helatorstai" type="religious" value="> easter(y)" offset="39" if="(y>=1992)" />
|
||||
<date name="Helluntaipäivä" value="easter(y)" offset="49" type="religious" />
|
||||
<date name="Pyhän Kolminaisuuden päivä" value="easter(y)" offset="56" type="religious" />
|
||||
<date name="Apostolienpäivä" value="easter(y)" offset="91" type="religious" />
|
||||
<date name="Kirkastussunnuntai" value="easter(y)" offset="105" type="religious" />
|
||||
<date name="Juhannusaatto" value="*/jun/19" offset="fri" type="religious" if="(y>=1955)" />
|
||||
<date name="Juhannusaatto" value="*/jun/23" type="religious" if="not(y>=1955)" />
|
||||
<date name="Juhannuspäivä" value="*/jun/20" offset="sat" type="religious" if="(y>=1955)" />
|
||||
<date name="Juhannuspäivä" value="*/jun/24" type="religious" if="not(y>=1955)" />
|
||||
<date name="Pyhäinmiestenpäivä" value="*/nov/1" type="religious" if="not(y>=1774)" />
|
||||
<date name="Pyhäinmiestenpäivä" value="*/nov/1" offset="sun" type="religious" if="(y>=1774) and not(y>=1955)" />
|
||||
<date name="Pyhäinpäivä" value="*/oct/31" offset="sat" type="religious" if="(y>=1955)" />
|
||||
<date name="1. Adventti" value="*/nov/27" offset="sun" type="religious" />
|
||||
<date name="2. Adventti" value="*/dec/4" offset="sun" type="religious" />
|
||||
<date name="3. Adventti" value="*/dec/11" offset="sun" type="religious" />
|
||||
<date name="4. Adventti" value="*/dec/18" offset="sun" type="religious" />
|
||||
<date name="Lucian päivä" value="*/12/13" type="religious" />
|
||||
<date name="Tuomaan päivä" value="*/12/21" type="religious" />
|
||||
<date name="Jouluaatto" value="*/12/24" type="religious" />
|
||||
<date name="Joulupäivä" value="*/12/25" type="religious" />
|
||||
<date name="Tapaninpäivä" value="*/12/26" type="religious" />
|
||||
<date name="Johannes Evankelistan päivä" value="*/dec/27" type="religious" if="not(y>=1774)" />
|
||||
<date name="Apostoli Johanneksen päivä" value="*/dec/27" type="religious" if="dow(y, m, d) == 7 and (y>=2000)" />
|
||||
<date name="Viattomien lasten päivä" value="*/12/28" type="religious" />
|
||||
<date name="Uudenvuodenpäivä" value="*/1/1" type="national" />
|
||||
<date name="Vainojen uhrien muistopäivä" value="*/1/27" type="national" if="(y>=2002)" />
|
||||
<date name="J.L. Runebergin päivä" value="*/2/5" type="national" if="(y>=1854)" />
|
||||
<date name="Saamelaisten kansallispäivä" value="*/2/6" type="religious" if="(y>=2004)" />
|
||||
<date name="Ystävänpäivä" value="*/2/14" type="national" if="(y>=1987)" />
|
||||
<date name="Kalevalan päivä" value="*/2/28" type="national" if="(y>=1978)" />
|
||||
<date name="Naistenpäivä" value="*/3/8" type="national" if="(y>=1975)" />
|
||||
<date name="Minna Canthin päivä" value="*/3/19" type="national" if="(y>=2003)" />
|
||||
<date name="Kesäaika alkaa" value="*/-1/sun/mar" type="informational" if="(y>=1981)" />
|
||||
<date name="Romanien kansallispäivä" value="*/4/8" type="national" if="(y>=2014)" />
|
||||
<date name="Mikael Agricolan päivä" value="*/4/9" type="national" if="(y>=1960)" />
|
||||
<date name="Veteraanipäivä" value="*/4/27" type="national" if="(y>=1987)" />
|
||||
<date name="Vappuaatto" value="*/4/30" type="national" />
|
||||
<date name="Vappu" value="*/5/1" type="national" />
|
||||
<date name="Eurooppa-päivä" value="*/5/9" type="national" if="(y>=1950)" />
|
||||
<date name="J.V. Snelmannin päivä" value="*/5/12" type="national" if="(y>=1952)" />
|
||||
<date name="Äitienpäivä" value="*/2/sun/may" type="national" if="(y>=1927)" />
|
||||
<date name="Kaatuneiden muistopäivä" value="*/3/sun/may" type="national" if="(y>=1947)" />
|
||||
<date name="Puolustusvoimien lippujuhla" value="*/6/4" type="national" if="(y>=1951)" />
|
||||
<date name="Eino Leinon päivä" value="*/7/6" type="national" if="(y>=1998)" />
|
||||
<date name="Unikeonpäivä" value="*/6/27" type="national" if="not(y>=1720)" />
|
||||
<date name="Unikeonpäivä" value="*/7/27" type="national" if="(y>=1720)" />
|
||||
<date name="Yrittäjänpäivä" value="*/9/5" type="national" if="(y>=2010)" />
|
||||
<date name="Mikkelinpäivä" value="*/9/29" type="national" if="not(y>=1774)" />
|
||||
<date name="Mikkelinpäivä" value="*/9/29" offset="sun" type="national" if="(y>=1774)" />
|
||||
<date name="Aleksis Kiven päivä" value="*/10/10" type="national" if="(y>=1950)" />
|
||||
<date name="YK:n päivä" value="*/10/24" type="national" if="(y>=1968)" />
|
||||
<date name="Halloween" value="*/10/31" type="secular" if="(y>=1950)" />
|
||||
<date name="Talviaika alkaa" value="*/-1/sun/oct" type="informational" if="(y>=1981)" />
|
||||
<date name="Ruotsalaisuuden päivä" value="*/11/6" type="national" if="(y>=1979)" />
|
||||
<date name="Isänpäivä" value="*/2/sun/nov" type="national" if="(y>=1987)" />
|
||||
<date name="Lapsen oikeukeuksien päivä" value="*/11/20" type="national" if="(y>=2002)" />
|
||||
<date name="Itsenäisyyspäivä" value="*/12/6" type="national" if="(y>=1917)" />
|
||||
<date name="Jean Sibeliuksen päivä" value="*/12/8" type="national" if="(y>=2011)" />
|
||||
<date name="Uudenvuodenaatto" value="*/12/31" type="national" if="(y>=1846)" />
|
||||
</country>
|
||||
<country name="France">
|
||||
<date name="Jour de l'an" value="*/1/1" type="national" />
|
||||
<date name="Fête du travail" value="*/5/1" type="national" />
|
||||
<date name="Victoire 1945" value="*/5/8" type="national" />
|
||||
<date name="Fête nationale" value="*/7/14" type="national" />
|
||||
<date name="Armistice 1918" value="*/11/11" type="national" />
|
||||
<date name="Abolition de l’esclavage (Martinique)" value="*/05/22" type="local" />
|
||||
<date name="Abolition de l’esclavage (Guadeloupe)" value="*/05/27" type="local" />
|
||||
<date name="Abolition de l’esclavage (Guyane)" value="*/06/10" type="local" />
|
||||
<date name="Abolition de l’esclavage (Réunion)" value="*/10/20" type="local" />
|
||||
<date name="Vendredi Saint (Alsace/Moselle)" type="religious" value="> easter(y)" offset="-2" />
|
||||
<date name="Pâques" type="religious" value="> easter(y)" />
|
||||
<date name="Lundi de pâques" type="religious" value="> easter(y)" offset="1" />
|
||||
<date name="Ascension" type="religious" value="> easter(y)" offset="39" />
|
||||
<date name="Pentecôte" type="religious" value="> easter(y)" offset="49" />
|
||||
<date name="Lundi de pentecôte" type="religious" value="> easter(y)" offset="50" />
|
||||
<date name="Assomption" value="*/8/15" type="religious" />
|
||||
<date name="Toussaint" value="*/11/1" type="religious" />
|
||||
<date name="Jour des morts (Antilles)" value="*/11/2" type="religious" />
|
||||
<date name="Noël" value="*/12/25" type="religious" />
|
||||
<date name="Pâque juive" type="religious" value="> passover(y)" />
|
||||
<date name="Yom Kippour" type="religious" value="> passover(y)" offset="172" />
|
||||
<date name="Hanoucca" type="religious" value="> hanuka(y)" />
|
||||
<date name="début Ramadan" value="2006/09/24" type="religious" />
|
||||
<date name="début Ramadan" value="2007/09/13" type="religious" />
|
||||
<date name="début Ramadan" value="2008/09/02" type="religious" />
|
||||
<date name="début Ramadan" value="2009/08/22" type="religious" />
|
||||
<date name="début Ramadan" value="2010/08/12" type="religious" />
|
||||
<date name="début Ramadan" value="2011/08/02" type="religious" />
|
||||
<date name="début Ramadan" value="2012/07/21" type="religious" />
|
||||
<date name="début Ramadan" value="2013/07/09" type="religious" />
|
||||
<date name="début Ramadan" value="2014/06/29" type="religious" />
|
||||
<date name="début Ramadan" value="2015/06/19" type="religious" />
|
||||
<date name="début Ramadan" value="2016/06/08" type="religious" />
|
||||
<date name="Saint Étienne (Alsace/Moselle)" value="*/12/26" type="religious" />
|
||||
</country>
|
||||
<country name="Germany">
|
||||
<date name="Neujahr" type="national" value="*/1/1" />
|
||||
<date name="Hl. Drei Könige BW,BY,ST" type="religious" value="*/1/6" />
|
||||
<date name="Karfreitag" type="religious" value="> easter(y)" offset="-2" />
|
||||
<date name="Ostermontag" type="religious" value="> easter(y)" offset="+1" />
|
||||
<date name="Maifeiertag" type="national" value="*/5/1" />
|
||||
<date name="Christi Himmelfahrt" type="religious" value="> easter(y)" offset="+39" />
|
||||
<date name="Pfingstmontag" type="religious" value="> easter(y)" offset="+50" />
|
||||
<date name="Fronleichnam BW, BY, HE, NW, RP, SL" type="religious" value="> easter(y)" offset="+60" />
|
||||
<date name="Mariä Himmelfahrt SL" type="religious" value="*/8/15" />
|
||||
<date name="Tag der Deutschen Einheit" type="national" value="*/10/3" />
|
||||
<date name="Reformationstag BB, MV, SN, ST, TH" type="religious" value="*/10/31" />
|
||||
<date name="Allerheiligen BW, BY, NW, RP, SL" type="religious" value="*/11/1" />
|
||||
<date name="Buß- u. Bettag SN" type="religious" value="*/11/23" offset="-wed"/>
|
||||
<date name="1. Weihnachtsfeiertag" type="religious" value="*/12/25" />
|
||||
<date name="2. Weihnachtsfeiertag" type="religious" value="*/12/26" />
|
||||
</country>
|
||||
<country name="Japan">
|
||||
<date name="元日" value="*/1/1" />
|
||||
<date name="成人の日" value="*/2/mon/jan" />
|
||||
<date name="建国記念の日" value="*/2/11" />
|
||||
<date name="春分の日" value="*/3/20" />
|
||||
<date name="春分の日" value="*/3/21" />
|
||||
<date name="昭和の日" value="*/4/29" />
|
||||
<date name="憲法記念日" value="*/5/3" />
|
||||
<date name="みどりの日" value="*/5/4" />
|
||||
<date name="こどもの日" value="*/5/5" />
|
||||
<date name="海の日" value="*/3/mon/jul" />
|
||||
<date name="敬老の日" value="*/3/mon/sep" />
|
||||
<date name="秋分の日" value="*/9/22" />
|
||||
<date name="秋分の日" value="*/9/23" />
|
||||
<date name="体育の日" value="*/2/mon/oct" />
|
||||
<date name="文化の日" value="*/11/3" />
|
||||
<date name="勤労感謝の日" value="*/11/23" />
|
||||
<date name="天皇誕生日" value="*/12/23" />
|
||||
<date name="皇太子明仁親王の結婚" value="1959/4/10" />
|
||||
<date name="昭和天皇の大喪の礼" value="1989/2/24" />
|
||||
<date name="天皇(明仁)即位記念" value="1990/11/12" />
|
||||
<date name="皇太子徳仁親王の結婚" value="1993/6/9" />
|
||||
</country>
|
||||
<country name="Jewish Holidays">
|
||||
<date name="Purim" value="> passover(y)" offset="-30"/>
|
||||
<date name="Passover" value="> passover(y)" offset="0"/>
|
||||
<date name="2 of Passover" value="> passover(y)" offset="1"/>
|
||||
<date name="3 of Passover" value="> passover(y)" offset="2"/>
|
||||
<date name="4 of Passover" value="> passover(y)" offset="3"/>
|
||||
<date name="5 of Passover" value="> passover(y)" offset="4"/>
|
||||
<date name="6 of Passover" value="> passover(y)" offset="5"/>
|
||||
<date name="7 of Passover" value="> passover(y)" offset="6"/>
|
||||
<date name="Shavuot" value="> passover(y)" offset="50"/>
|
||||
<date name="Rosh Ha'Shana" value="> passover(y)" offset="163"/>
|
||||
<date name="Rosh Ha'Shana 2" value="> passover(y)" offset="164"/>
|
||||
<date name="Yom Kippur" value="> passover(y)" offset="172"/>
|
||||
<date name="Sukot" value="> passover(y)" offset="177"/>
|
||||
<date name="2 of Sukot" value="> passover(y)" offset="178"/>
|
||||
<date name="3 of Sukot" value="> passover(y)" offset="179"/>
|
||||
<date name="4 of Sukot" value="> passover(y)" offset="180"/>
|
||||
<date name="5 of Sukot" value="> passover(y)" offset="181"/>
|
||||
<date name="6 of Sukot" value="> passover(y)" offset="182"/>
|
||||
<date name="7 of Sukot" value="> passover(y)" offset="183"/>
|
||||
<date name="Simhat Tora" value="> passover(y)" offset="184"/>
|
||||
<date name="Hanuka" value="> hanuka(y)" offset="0"/>
|
||||
<date name="2 of Hanuka" value="> hanuka(y)" offset="1"/>
|
||||
<date name="3 of Hanuka" value="> hanuka(y)" offset="2"/>
|
||||
<date name="4 of Hanuka" value="> hanuka(y)" offset="3"/>
|
||||
<date name="5 of Hanuka" value="> hanuka(y)" offset="4"/>
|
||||
<date name="6 of Hanuka" value="> hanuka(y)" offset="5"/>
|
||||
<date name="7 of Hanuka" value="> hanuka(y)" offset="6"/>
|
||||
<date name="8 of Hanuka" value="> hanuka(y)" offset="7"/>
|
||||
</country>
|
||||
<country name="Italy">
|
||||
<date name="Capodanno" value="*/1/1" type="national" />
|
||||
<date name="Epifania" value="*/1/6" type="religious" />
|
||||
<date name="Pasqua" type="religious" value="> easter(y)" />
|
||||
<date name="Pasquetta" type="religious" value="> easter(y)" offset="1" />
|
||||
<date name="Festa della Liberazione" value="*/4/25" type="national" />
|
||||
<date name="Festa dei lavoratori" value="*/5/1" type="national" />
|
||||
<date name="Festa della Repubblica" value="*/6/2" type="national" />
|
||||
<date name="Ferragosto" value="*/8/15" type="national" />
|
||||
<date name="Tutti i santi" value="*/11/1" type="religious" />
|
||||
<date name="Immacolata Concezione" value="*/12/8" type="religious" />
|
||||
<date name="Natale" value="*/12/25" type="religious" />
|
||||
<date name="Santo Stefano" value="*/12/26" type="religious" />
|
||||
</country>
|
||||
<country name="New Zealand">
|
||||
<date value="*/1/1" type="national" name="New Year's Day"/>
|
||||
<date value="*/1/2" type="national" name="Day After New Year's Day"/>
|
||||
<date value="*/1/1" type="national" offset="+1" name="New Years Day Holiday" if="dow(y, m, d) == 7"/>
|
||||
<date value="*/1/1" type="national" offset="+2" name="Day After New Years Day Holiday" if="dow(y, m, d) == 6"/>
|
||||
<date value="*/feb/6" type="national" name="Waitangi Day"/>
|
||||
<date value="> easter(y)" type="national" offset="-2" name="Good Friday"/>
|
||||
<date value="> easter(y)" type="national" offset="+1" name="Easter Monday"/>
|
||||
<date value="*/apr/25" type="national" name="ANZAC Day"/>
|
||||
<date value="*/-1/mon/jun" type="national" name="Queen's Birthday Holiday"/>
|
||||
<date value="*/-4/mon/oct" type="national" name="Labour Day"/>
|
||||
<date value="*/dec/25" type="national" name="Christmas Day"/>
|
||||
<date value="*/dec/26" type="national" name="Boxing Day"/>
|
||||
<date value="*/dec/25" type="national" offset="+2" name="Christmas Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
<date value="*/dec/26" type="national" offset="+2" name="Boxing Day Holiday" if="dow(y, m, d) > 5"/>
|
||||
</country>
|
||||
<country name="Russia">
|
||||
<date value="*/1/7" type="religious" name="Рождество Христово" />
|
||||
<date value="*/1/19" type="religious" name="Крещение Господне" />
|
||||
<date value="*/2/23" type="national" name="День Защитника Отечества" />
|
||||
<date value="*/3/8" type="national" name="Международный женский день" />
|
||||
<date value="*/4/12" type="national" name="День Космонавтики" />
|
||||
<date value="*/5/1" type="national" name="Праздник Весны и Труда" />
|
||||
<date value="*/5/9" type="national" name="День Победы" />
|
||||
<date value="*/6/1" type="national" name="День защиты детей" />
|
||||
<date value="*/6/12" type="national" name="День России" />
|
||||
<date value="*/6/22" type="national" name="День памяти и скорби" />
|
||||
<date value="*/-4/sun/jul" type="national" name="День ВМФ" />
|
||||
<date value="*/9/1" type="national" name="День знаний" />
|
||||
<date value="*/11/4" type="national" name="День народного единства" />
|
||||
<date value="*/12/31" offset="+2" type="national" name="Новый год" />
|
||||
</country>
|
||||
<country name="Serbia">
|
||||
<date value="*/1/1" type="national" name="Нова Година" />
|
||||
<date value="*/1/7" type="religious" name="Божић" />
|
||||
<date value="*/2/15" type="national" name="Дан државности Србије" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Велики петак" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Васкрс" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Васкрсни понедељак" />
|
||||
<date value="*/5/1" type="national" name="Празник рада" />
|
||||
<date value="*/11/11" type="national" name="Дан примирја" />
|
||||
<date value="*/1/27" type="religious" name="Свети Сава" />
|
||||
<date value="*/4/22" type="national" name="Дан сећања на жртве холокауста" />
|
||||
<date value="*/5/9" type="national" name="Дан победе" />
|
||||
<date value="*/6/28" type="religious" name="Видовдан" />
|
||||
<date value="*/10/21" type="national" name="Дан сећања на српске жртве у Другом светском рату" />
|
||||
</country>
|
||||
<country name="Serbia (Latin)">
|
||||
<date value="*/1/1" type="national" name="Nova godina" />
|
||||
<date value="*/1/7" type="religious" name="Božić" />
|
||||
<date value="*/2/15" type="national" name="Dan državnosti Srbije" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="-2" name="Veliki petak" />
|
||||
<date value="> julian_easter(y)" type="religious" name="Vaskrs" />
|
||||
<date value="> julian_easter(y)" type="religious" offset="1" name="Vaskrsni ponedeljak" />
|
||||
<date value="*/5/1" type="national" name="Praznik rada" />
|
||||
<date value="*/11/11" type="national" name="Dan primirja" />
|
||||
<date value="*/1/27" type="religious" name="Sveti Sava" />
|
||||
<date value="*/4/22" type="national" name="Dan sećanja na žrtve holokausta" />
|
||||
<date value="*/5/9" type="national" name="Dan pobede" />
|
||||
<date value="*/6/28" type="religious" name="Vidovdan" />
|
||||
<date value="*/10/21" type="national" name="Dan sećanja na srpske žrtve u Drugom svetskom ratu" />
|
||||
</country>
|
||||
<country name="Slovakia">
|
||||
<date name="Deň vzniku Slovenskej republiky" value="*/1/1" type="national" />
|
||||
<date name="Zjavenie Pána (Traja králi)" value="*/1/6" type="religious" />
|
||||
<date name="Veľký piatok" value="> easter(y)" offset="-2" type="religious" />
|
||||
<date name="Veľkonočný pondelok" value="> easter(y)" offset="+1" type="religious" />
|
||||
<date name="Sviatok práce" value="*/5/1" type="national" />
|
||||
<date name="Deň víťazstva nad fašizmom" value="*/5/8" type="national" />
|
||||
<date name="Sviatok svätého Cyrila a Metoda" value="*/7/5" type="national" />
|
||||
<date name="Výročie SNP" value="*/8/29" type="national" />
|
||||
<date name="Deň Ústavy Slovenskej republiky" value="*/9/1" type="national" />
|
||||
<date name="Sedembolestná Panna Mária" value="*/9/15" type="religious" />
|
||||
<date name="Sviatok všetkých svätých" value="*/11/1" type="religious" />
|
||||
<date name="Deň boja za slobodu a demokraciu" value="*/11/17" type="national" />
|
||||
<date name="Štedrý deň" value="*/12/24" type="religious" />
|
||||
<date name="Prvý sviatok vianočný" value="*/12/25" type="national" />
|
||||
<date name="Druhý sviatok vianočný" value="*/12/26" type="national" />
|
||||
</country>
|
||||
<country name="Sweden">
|
||||
<date name="Nyårsafton" value="*/12/31" type="national" />
|
||||
<date name="Trettondedag jul" value="*/1/6" type="religious" />
|
||||
<date name="Alla helgons dag" value="*/oct/31" offset="sat" type="religious" if="(y>=1953)" />
|
||||
<date name="Lucia" value="*/12/13" type="religious" />
|
||||
<date name="Julafton" value="*/12/24" type="religious" />
|
||||
<date name="Juldagen" value="*/12/25" type="religious" />
|
||||
<date name="Annandag Jul" value="*/12/26" type="religious" />
|
||||
<date name="Skärtorsdagen" type="religious" value="> easter(y)" offset="-3" />
|
||||
<date name="Långfredagen" type="religious" value="> easter(y)" offset="-2" />
|
||||
<date name="Påsk" type="religious" value="> easter(y)" />
|
||||
<date name="Annandag Påsk" type="religious" value="> easter(y)" offset="1" />
|
||||
<date name="Kristi Himmelsfärdsdag" type="religious" value="> easter(y)" offset="39" />
|
||||
<date name="Pingstdagen" value="easter(y)" offset="49" type="secular" />
|
||||
<date name="Annandag pingst" value="easter(y)" offset="50" type="secular" />
|
||||
<date name="Nyårsdagen" value="*/1/1" type="national" />
|
||||
<date name="Alla hjärtans dag" value="*/2/14" type="national" />
|
||||
<date name="1. april" value="*/4/1" type="national" />
|
||||
<date name="Första Maj" value="*/5/1" type="national" />
|
||||
<date name="Nationaldagen" value="*/6/6" type="national" />
|
||||
<date name="Mors dag" value="*/may/25" offset="sun" type="religious" />
|
||||
<date name="Midsommarafton" value="*/jun/19" offset="fri" type="religious" if="(y>=1953)" />
|
||||
<date name="Midsommarafton" value="*/jun/23" type="religious" if="not(y>=1953)" />
|
||||
<date name="Midsommardagen" value="*/jun/20" offset="sat" type="religious" if="(y>=1953)" />
|
||||
<date name="Midsommardagen" value="*/jun/24" type="religious" if="not(y>=1953)" />
|
||||
<date name="Fars dag" value="*/2/sun/nov" type="national" />
|
||||
</country>
|
||||
<country name="Turkey">
|
||||
<date value="*/1/1" type="national" name="Yılbaşı" />
|
||||
<date value="*/3/8" type="secular" name="Dünya Kadınlar Günü" />
|
||||
<date value="*/3/21" type="secular" name="Nevruz" />
|
||||
<date value="*/4/22" type="secular" name="Dünya Günü" />
|
||||
<date value="*/4/23" type="national" name="Ulusal Egemenlik ve Çocuk Bayramı" />
|
||||
<date value="*/5/1" type="national" name="Emek ve Dayanışma Günü" />
|
||||
<date value="*/5/5" type="secular" name="Hıdrellez" />
|
||||
<date value="*/5/13" type="secular" name="Türk Dil Bayramı" />
|
||||
<date value="*/5/19" type="national" name="Atatürk'ü Anma, Gençlik ve Spor Bayramı" />
|
||||
<date value="*/5/28" type="secular" name="Tarihî Türk Evlerini Koruma Haftası" />
|
||||
<date value="*/7/15" type="national" name="Demokrasi ve Millî Birlik Günü" />
|
||||
<date value="*/8/30" type="national" name="Zafer Bayramı" />
|
||||
<date value="*/10/29" type="national" name="Cumhuriyet Bayramı" />
|
||||
<date value="*/11/10" type="secular" name="Atatürk’ü Anma Günü" />
|
||||
<date value="*/11/24" type="secular" name="Öğretmenler Günü" />
|
||||
<date value="*/12/5" type="secular" name="Kadın Hakları Günü" />
|
||||
<date value="2021/05/13" type="religious" name="Ramazan Bayramı" />
|
||||
<date value="2021/07/20" type="religious" name="Kurban Bayramı" />
|
||||
<date value="2022/05/02" type="religious" name="Ramazan Bayramı" />
|
||||
<date value="2022/07/09" type="religious" name="Kurban Bayramı" />
|
||||
<date value="2023/04/21" type="religious" name="Ramazan Bayramı" />
|
||||
<date value="2023/06/28" type="religious" name="Kurban Bayramı" />
|
||||
<date value="2024/04/10" type="religious" name="Ramazan Bayramı" />
|
||||
<date value="2024/06/16" type="religious" name="Kurban Bayramı" />
|
||||
<date value="2025/03/30" type="religious" name="Ramazan Bayramı" />
|
||||
<date value="2025/06/06" type="religious" name="Kurban Bayramı" />
|
||||
</country>
|
||||
<country name="Ukraine">
|
||||
<date value="*/1/1" type="national" name="Новий Рік"/>
|
||||
<date value="*/1/6" type="religious" name="Святий Вечір"/>
|
||||
<date value="*/1/7" type="religious" name="Різдво"/>
|
||||
<date value="*/1/13" type="religious" name="Маланка"/>
|
||||
<date value="*/1/14" type="religious" name="Старий Новий рік, Щедрий вечір"/>
|
||||
<date value="*/1/19" type="religious" name="Водохреща"/>
|
||||
<date value="*/1/22" type="national" name="День Соборності України"/>
|
||||
<date value="*/2/14" type="secular" name="День закоханих"/>
|
||||
<date value="*/2/15" type="religious" name="Стрітення"/>
|
||||
<date value="*/3/8" type="secular" name="Міжнародний жіночий день"/>
|
||||
<date value="*/3/20" type="secular" name="Весняне Рівнодення"/>
|
||||
<date value="*/4/1" type="secular" name="День сміху"/>
|
||||
<date value="*/4/7" type="religious" name="Благовіщення"/>
|
||||
<date value="> julian_easter(y)" type="religious" name="Великдень"/>
|
||||
<date value="*/5/1" type="national" name="День Праці"/>
|
||||
<date value="*/6/21" type="secular" name="Весняне Сонцестояння"/>
|
||||
<date value="*/6/28" type="national" name="День Конституції України"/>
|
||||
<date value="*/7/7" type="religious" name="Івана Купала"/>
|
||||
<date value="*/8/19" type="religious" name="Спаса"/>
|
||||
<date value="*/8/24" type="national" name="День Незалежності України"/>
|
||||
<date value="*/9/22" type="secular" name="Осіннє Рівнодення"/>
|
||||
<date value="*/10/14" type="religious" name="Покрова, День Українського козацтва"/>
|
||||
<date value="*/12/13" type="religious" name="Андрія"/>
|
||||
<date value="*/12/19" type="religious" name="Миколая"/>
|
||||
<date value="*/12/21" type="secular" name="Осіннє Сонцестояння"/>
|
||||
</country>
|
||||
<country name="United States of America">
|
||||
<date name="New Year's Eve" value="*/12/31" type="national" />
|
||||
<date name="New Year's Day" value="*/1/1" type="national" />
|
||||
<date name="ML Kings's Birthday" value="*/3/mon/jan" type="secular" />
|
||||
<date name="Groundhog Day" value="*/2/2" type="secular" />
|
||||
<date name="Lincoln's Birthday" value="*/2/12" type="secular" />
|
||||
<date name="Super Bowl" value="*/1/sun/feb" type="secular" />
|
||||
<date name="Valentine's Day" value="*/2/14" type="secular" />
|
||||
<date name="Presidents' Day" value="*/3/mon/feb" type="secular" />
|
||||
<date name="Washington's Birthday" value="*/3/mon/feb" type="secular" />
|
||||
<date name="St. Patrick's Day" value="*/3/17" type="secular" />
|
||||
<date name="April Fool's Day" value="*/4/1" type="secular" />
|
||||
<date name="Arbor Day" value="*/-1/fri/apr" type="secular" />
|
||||
<date name="Earth Day" value="*/4/22" type="secular" />
|
||||
<date name="Easter" value="> easter(y)" type="religious" />
|
||||
<date name="Ash Wednesday" value="> easter(y)" type="religious" offset="-46" />
|
||||
<date name="Mardi Gras" value="> easter(y)" type="religious" offset="-47" />
|
||||
<date name="Daylight Saving begins" value="> dst(y)[0]" type="informational" />
|
||||
<date name="Income Taxes due" value="*/4/15" type="national" if="cmp(date.weekday(),4)-1"/>
|
||||
<date name="Income Taxes due" value="*/4/16" type="national" if="date.weekday() == 0" />
|
||||
<date name="Income Taxes due" value="*/4/17" type="national" if="date.weekday() == 0" />
|
||||
<date name="Daylight Saving ends" value="> dst(y)[1]" type="informational" />
|
||||
<date name="Inauguration Day" value="*/1/20" type="national" if="(y - 1980) % 4 == 1" />
|
||||
<date name="Passover" value="> passover(y)" type="religious" />
|
||||
<date name="Assistants' Day" value="*/-1/sat/apr" offset="-3" type="secular" />
|
||||
<date name="Cinco de Mayo" value="*/5/5" type="secular" />
|
||||
<date name="Armed Forces Day" value="*/3/sat/may" type="secular" />
|
||||
<date name="Mothers' Day" value="*/2/sun/may" type="secular" />
|
||||
<date name="Memorial Day" value="*/-1/mon/may" type="secular" />
|
||||
<date name="Flag Day" value="*/6/14" type="secular" />
|
||||
<date name="Fathers' Day" value="*/3/sun/jun" type="secular" />
|
||||
<date name="Independence Day" value="*/7/4" type="national" />
|
||||
<date name="Parents' Day" value="*/4/sun/jul" type="secular" />
|
||||
<date name="Labor Day" value="*/1/mon/sep" type="national" />
|
||||
<date name="Grandparents' Day" value="*/1/mon/sep" type="secular" offset="6" />
|
||||
<date name="Columbus Day" value="*/2/mon/oct" type="secular" />
|
||||
<date name="Ramadan begins" value="2006/09/24" type="religious" />
|
||||
<date name="Ramadan begins" value="2007/09/13" type="religious" />
|
||||
<date name="Ramadan begins" value="2008/09/2" type="religious" />
|
||||
<date name="Ramadan begins" value="2009/08/22" type="religious" />
|
||||
<date name="Yom Kippur" value="> passover(y)" type="religious" offset="172" />
|
||||
<date name="United Nations Day" value="*/10/24" type="secular" />
|
||||
<date name="Halloween" value="*/10/31" type="secular" />
|
||||
<date name="Election Day" value="*/11/2" type="secular" offset="tue" />
|
||||
<date name="Veterans Day" value="*/11/11" type="national" />
|
||||
<date name="Thanksgiving" value="*/4/thu/nov" type="national" />
|
||||
<date name="Hanukkah begins" value="> hanuka(y)" type="religious" />
|
||||
<date name="Christmas" value="*/12/25" type="religious" />
|
||||
<date name="Kwanzaa begins" value="*/12/26" type="religious" />
|
||||
</country>
|
||||
</calendar>
|
Before Width: | Height: | Size: 338 KiB |
Before Width: | Height: | Size: 193 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 969 B |