Compare commits
121 Commits
v5.2.0-bet
...
v2.2.7
Author | SHA1 | Date | |
---|---|---|---|
6b16e40db3 | |||
fa1b3d706c | |||
df18340c21 | |||
7cbe7f797b | |||
6cc84e39cf | |||
2c1aa909e5 | |||
9eff5e9327 | |||
5767ac5bbd | |||
9d4d7ca873 | |||
c324efb9e4 | |||
60a072824f | |||
eb7b977237 | |||
71162563ed | |||
2a3ef69c9e | |||
1305e3b037 | |||
e9fa8f1cfc | |||
c397c43701 | |||
260f5f2422 | |||
6b35940eac | |||
12a002b945 | |||
a6a8cdff0f | |||
2174fcbd99 | |||
43e3bf68cd | |||
6468dc2a23 | |||
670eef2da8 | |||
061a9e2761 | |||
4cb1aaacd1 | |||
28dc889abb | |||
0408153557 | |||
fc39402cc4 | |||
c62bef3f21 | |||
c531d2fad7 | |||
18908e7716 | |||
0aa4eb258e | |||
7f54da4cf3 | |||
044e38b129 | |||
8ed86bc145 | |||
a6a0a69456 | |||
d6c8710d2c | |||
767d1d8191 | |||
da6e56990e | |||
26218253d7 | |||
fe84bcbdec | |||
4002837282 | |||
b68e2d727f | |||
660e22bdfa | |||
77817a5098 | |||
a4ebbb4c15 | |||
60c7367f77 | |||
aa08262352 | |||
86c6b1b7e7 | |||
dabcd47805 | |||
5bfdf4c45f | |||
655626fd7d | |||
03e54d00ed | |||
4d009e4706 | |||
772e4b15b0 | |||
7f1a54dbd1 | |||
f64ae7ac77 | |||
2cf46c56ce | |||
b8bc3f2cc3 | |||
62dde7b4d1 | |||
25ba79e7be | |||
a1efb824cb | |||
2ace2ee5b4 | |||
496bf99860 | |||
23d434d8ea | |||
62b2091e95 | |||
3cba256408 | |||
26a587fce1 | |||
c2dc72ffd3 | |||
9ec79f98e1 | |||
c8f66c8d24 | |||
8e511eed6c | |||
7eba303735 | |||
ed7a5e8f56 | |||
6b220b733b | |||
af9a79adb3 | |||
794441dc37 | |||
a0991f5a4c | |||
c55ce06c34 | |||
c040885812 | |||
02f4fe701d | |||
59e9c95f2b | |||
8d372b9e11 | |||
9810a46876 | |||
47051cf0dc | |||
1528dd7946 | |||
c6ee0d4d9b | |||
bf15d1749f | |||
ea5b19dfb9 | |||
9d31b54646 | |||
ef3273a6ac | |||
11b13e1c94 | |||
32460cd87d | |||
fe2879c6bf | |||
6fd5e23d7a | |||
6b38b47690 | |||
39f946aa7f | |||
71149e03a8 | |||
13f29cc03b | |||
e7962896ed | |||
20cade8132 | |||
71ea4ef0f3 | |||
fb40f0995c | |||
e9744e54e7 | |||
c7f7068244 | |||
76e09f5f6e | |||
1fb8b84264 | |||
9d760ccad0 | |||
02e3da53dd | |||
8a35e82907 | |||
02e9064fc1 | |||
a318567198 | |||
73f1ade7ac | |||
49c6ee9cc0 | |||
ded62534f6 | |||
8da06a6840 | |||
0021d00c68 | |||
6182ebdcfb | |||
60812d4e09 |
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.
|
||||
|
||||
|
13
COPYING-DOCS
Normal file
@ -0,0 +1,13 @@
|
||||
The User Manual for Gramps is distributed under the terms of
|
||||
GNU General Public License (GPL). Yes, it is under GNU GPL and
|
||||
*NOT* under GNU FDL.
|
||||
|
||||
As such, this manual meets citeria of Debian Free Software Guidelines
|
||||
(DFSG) and can be distributed through Debian main (as opposed to non-free).
|
||||
|
||||
Please see file named COPYING for exact terms of the license.
|
||||
|
||||
Alex Roitman
|
||||
February 15, 2005
|
||||
|
||||
$Id$
|
8349
ChangeLog.old
Normal file
407
FAQ
@ -1,351 +1,282 @@
|
||||
**** 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
|
||||
|
||||
|
||||
**** Index ****
|
||||
|
||||
==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 it work with Windows (tm)?
|
||||
|
||||
4. How do I keep backups?
|
||||
4. Does it work with the Mac?
|
||||
|
||||
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
|
||||
5. Does it work with KDE?
|
||||
|
||||
6. What is needed to install Gramps under Linux, Solaris, or FreeBSD?
|
||||
6. Do I really have to have GNOME installed?
|
||||
|
||||
7. Does it work with Windows (tm)?
|
||||
7. What version of GNOME do I need?
|
||||
|
||||
8. Does it work with the Mac?
|
||||
8. Is GRAMPS compatible with other genealogical software (GenApps)?
|
||||
|
||||
9. What are the Minimum Specs to run Gramps?
|
||||
9. Can GRAMPS read files created by GenApp X?
|
||||
|
||||
==Preferences==
|
||||
10. Can GRAMPS write files readable by GenApp X?
|
||||
|
||||
10. Can I change the dates in reports to 'day month year'
|
||||
11. Can GRAMPS print a genealogical tree for my family?
|
||||
|
||||
==Collaboration-Portability==
|
||||
12. In what formats can GRAMPS output its reports?
|
||||
|
||||
11. Is Gramps compatible with other genealogical software?
|
||||
13. Is GRAMPS compatible with the Internet?
|
||||
|
||||
12. Can Gramps read files created by GenApp X?
|
||||
14. Can I create custom reports/filters/whatever?
|
||||
|
||||
13. Can Gramps write files readable by GenApp X?
|
||||
15. What standards does GRAMPS support?
|
||||
|
||||
14. What standards does Gramps support?
|
||||
16. What is the maximum database size GRAMPS can handle?
|
||||
|
||||
15. How do I import data from another genealogy program into Gramps?
|
||||
17. Why are non-latin characters displayed as garbage in PDF/PS reports?
|
||||
|
||||
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.
|
||||
18. Why can I not add/remove/edit columns to the lists in People View
|
||||
and Family View?
|
||||
|
||||
==Reports==
|
||||
19. I would like to contribute to GRAMPS by writing my favorite report.
|
||||
How do I do that?
|
||||
|
||||
17. Can Gramps print a genealogical tree for my family?
|
||||
20. I found a bug and I want it fixed right now! What do I do?
|
||||
|
||||
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?
|
||||
|
||||
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.
|
||||
|
||||
==Database - Gramps file formats==
|
||||
|
||||
24. What is the maximum database size (bytes) Gramps can 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?
|
||||
|
||||
28. Is the database format 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
|
||||
|
||||
==Gramps Webhosting ==
|
||||
|
||||
31. How can I publish web sites generated by Gramps?
|
||||
21. It is obvious that GRAMPS absolutely needs to become a (client-server/
|
||||
web-based/PHP/weblog/Javascript/C++/distributed/KDE/Motif/Tcl/Win32/C#/
|
||||
You-name-it) application.
|
||||
When is this going to happen?
|
||||
|
||||
|
||||
**** 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 it work with Windows (tm)?
|
||||
|
||||
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.
|
||||
|
||||
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!
|
||||
Yes, but it is not offically supported by the GRAMPS project.
|
||||
|
||||
|
||||
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
|
||||
4. Does it work with the Mac?
|
||||
|
||||
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.
|
||||
Several people have managed to get GRAMPS to work under OSX using the darwin ports.
|
||||
|
||||
==Installation==
|
||||
5. Does it work with KDE?
|
||||
|
||||
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.
|
||||
Yes, as long as the required GNOME libraries are installed.
|
||||
|
||||
|
||||
7. Does it work with Windows (tm)?
|
||||
6. Do I really have to have GNOME installed?
|
||||
|
||||
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.
|
||||
Yes, but you do not have to be running the GNOME desktop.
|
||||
n
|
||||
|
||||
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.
|
||||
7. What version of GNOME do I need?
|
||||
|
||||
The latest versions of gramps require GNOME 2.8 or higher.
|
||||
|
||||
|
||||
8. Does it work with the Mac?
|
||||
8. Is GRAMPS compatible with other genealogical software (GenApps)?
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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.
|
||||
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!
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
==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.
|
||||
|
||||
|
||||
==Collaboration-Portability==
|
||||
|
||||
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.
|
||||
|
||||
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?
|
||||
9. Can GRAMPS read files created by GenApp X?
|
||||
|
||||
See above.
|
||||
|
||||
|
||||
13. Can Gramps write files readable by GenApp X?
|
||||
10. Can GRAMPS write files readable by GenApp X?
|
||||
|
||||
See above.
|
||||
|
||||
|
||||
14. What standards does Gramps support?
|
||||
11. Can GRAMPS print a genealogical tree for my family?
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
15. How do I import data from another genealogy program into Gramps?
|
||||
12. In what formats can GRAMPS output its reports?
|
||||
|
||||
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.
|
||||
Text reports are available in HTML, PDF, AbiWord, KWord, LaTeX, RTF, and
|
||||
OpenOffice formats. Graphical reports (charts and diagrams) are available in
|
||||
PostScript, PDF, SVG, OpenOffice and GraphViz formats.
|
||||
|
||||
|
||||
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.
|
||||
13. Is GRAMPS compatible with the Internet?
|
||||
|
||||
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?
|
||||
A better approach may be to provide a web form interface that allows others to enter data that is then held for your examination. You can then decide if the information should be entered into your database.
|
||||
|
||||
You may also want to consider the effects of possible downtime of your site if you cannot afford yourself a premium webhosting service.
|
||||
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 :-)
|
||||
|
||||
|
||||
==Reports==
|
||||
14. Can I create custom reports/filters/whatever?
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
18. In what formats can Gramps output its reports?
|
||||
15. What standards does GRAMPS support?
|
||||
|
||||
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.
|
||||
The nice thing about the 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, Familty Tree Maker, Ftree,
|
||||
GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and
|
||||
Visual Genealogie.
|
||||
|
||||
|
||||
19. How can I change the default language in reports?
|
||||
16. What is the maximum database size GRAMPS can handle?
|
||||
|
||||
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.
|
||||
GRAMPS has no hard limits on the size of a database that it can handle.
|
||||
In reality, however, there are practical limits based of memory and
|
||||
disk size. With 2.2.6, GRAMPS can easily handle databases of over 100K
|
||||
people.
|
||||
|
||||
|
||||
20. Is Gramps compatible with the Internet?
|
||||
17. Why are non-latin characters displayed as garbage in PDF/PS reports?
|
||||
|
||||
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 :-)
|
||||
This is a known problem -- PS (and PDF) have builtin fonts which pretty much
|
||||
reflect the latin-1 charset. Any font in principle could be used with PS/PDF
|
||||
but then it would have to be embedded in the file. This is problematic since
|
||||
every system has different idea about fonts and their setup.
|
||||
|
||||
This should be resolved as we move to gnome-print. In the meantime, a useable
|
||||
workaround is to generate reports in OpenOffice.org format and then export
|
||||
to PDF from the OpenOffice.org application.
|
||||
|
||||
|
||||
21. Can I create custom reports/filters/whatever?
|
||||
18. Why can I not add/remove/edit columns to the lists in People View
|
||||
and Family View?
|
||||
|
||||
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.
|
||||
This will be addressed after the TreeModelSort bug is fixed in pygtk,
|
||||
see http://bugzilla.gnome.org/show_bug.cgi?id=125172 for the details.
|
||||
Once the patch is committed and incorporated into pygtk, we will add the
|
||||
ability to add/remove/edit sortable columns.
|
||||
|
||||
|
||||
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).
|
||||
|
||||
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.
|
||||
19. 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, the following page may provide some help in
|
||||
writing your own plugin from scratch:
|
||||
http://gramps.sourceforge.net/phpwiki/index.php/GrampsDevelopersPage
|
||||
If you need more help or would like to discuss your idea with us, please
|
||||
do not hesitate to contact us at gramps-devel@lists.sf.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.sf.net
|
||||
|
||||
|
||||
==Database - Gramps file formats==
|
||||
20. I found a bug and I want it fixed right now! What do I do?
|
||||
|
||||
24. What is the maximum database size (bytes) Gramps can handle?
|
||||
The best thing you can do is to fix the bug and send the patch to
|
||||
gramps-devel@lists.sf.net :-)
|
||||
|
||||
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.
|
||||
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).
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
27. Can I run Gramps from a database on a NFS share?
|
||||
|
||||
Yes you can.
|
||||
|
||||
|
||||
28. Is the database format portable?
|
||||
|
||||
Prior to 5.0, Gramps used BSDDB as its database backend. The BSDDB database
|
||||
format is not portable.
|
||||
|
||||
Starting with 5.0, Gramps allowed the user to choose from other datbase
|
||||
backends, including SqLite. The SqLite database format is portable.
|
||||
|
||||
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 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).
|
||||
|
||||
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
|
||||
21. It is obvious that GRAMPS absolutely needs to become a (client-server/
|
||||
web-based/PHP/weblog/Javascript/C++/distributed/KDE/Motif/Tcl/Win32/
|
||||
C#/You-name-it) application.
|
||||
|
||||
When is this going to happen?
|
||||
|
||||
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
|
||||
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 compatability
|
||||
or import/export options to your new format of a project.
|
||||
|
||||
If, however, you would like the GRAMPS project to 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 :-)
|
||||
|
||||
**** End of GRAMPS Frequently Asked Questions ****
|
||||
|
||||
==Gramps Webhosting ==
|
||||
|
||||
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.
|
||||
|
||||
|
||||
**** 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()
|
166
INSTALL
@ -1,108 +1,98 @@
|
||||
$Id$
|
||||
|
||||
This file contains some useful details on the installation from source code
|
||||
for Gramps. It does not cover installation of a pre-built binary package.
|
||||
for GRAMPS. It does not cover installation of a pre-built binary package.
|
||||
For that use your package manager, the rest is already done by the packager.
|
||||
|
||||
Uninstall old version
|
||||
---------------------
|
||||
If you do a source install in the same place as an existing install,
|
||||
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
|
||||
|
||||
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.
|
||||
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".
|
||||
|
||||
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
|
||||
Running ./autogen.sh on this branch of gramps requires the following
|
||||
packages to be installed:
|
||||
* automake-1.9
|
||||
* gnome-common
|
||||
* intltool
|
||||
* 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.
|
||||
|
||||
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!
|
||||
|
||||
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.
|
||||
Regular vs local installation
|
||||
-----------------------------
|
||||
This version of gramps requires, among others, the two things to be done:
|
||||
gconf schemas and mime types for gramps MUST be properly installed.
|
||||
The usual ./configure, make, and make install as a root should do the trick.
|
||||
But be careful if you're using the non-default options or would like
|
||||
to install without being root.
|
||||
|
||||
To install all needed dependencies you can use (in Ubuntu):
|
||||
sudo apt-get build-dep gramps
|
||||
The latter is possible, but you should supply additional arguments to
|
||||
autogen or configure:
|
||||
--with-gconf-source=xml::$HOME/.gconf
|
||||
--with-gconf-schema-file-dir=$HOME
|
||||
--with-mime-dir=$HOME/.local/share/mime
|
||||
--disable-scrollkeeper
|
||||
Most likely, such local install will also need some prefix with write
|
||||
permissions for you:
|
||||
--prefix=$HOME/my_gramps_path
|
||||
|
||||
To build and install, whether from a tarball or git repo:
|
||||
python3 setup.py build
|
||||
sudo python3 setup.py install
|
||||
Whether you're doing local install or regular install,
|
||||
YOU MUST INSTALL GCONF SCHEMAS AND MIME TYPES.
|
||||
YOU HAVE BEEN WARNED!
|
||||
|
||||
You can avoid using sudo for the install step by specifying a prefix to which you have write priviledge. The default is /usr/local, which is usually owned by root. You can learn of more options with
|
||||
python3 setup.py --help
|
||||
|
||||
One can use Gramps from the command line without installing it by
|
||||
setting the following environment variables, but that won't provide
|
||||
things like MIME type and desktop entries.
|
||||
Installing under non-default prefix
|
||||
-----------------------------------
|
||||
As hinted above, the gconf schemas and mime types for gramps
|
||||
MUST be properly installed. The "proper install" means installing
|
||||
them where gconfd and shared mime system, respectively, will
|
||||
find them.
|
||||
|
||||
export PYTHONPATH="/top/grampsdir/gramps:$PYTHONPATH"
|
||||
export GRAMPS_RESOURCES="/top/grampsdir"
|
||||
By default, gconfd will look in these places:
|
||||
1. Whatever is returned by running:
|
||||
$ gconftool-2 --get-default-source
|
||||
2. The xml::$HOME/.gconf : this is a per-user setup, not system-wide
|
||||
or xml:merged:$HOME/.gconf : this is a per-user setup, not system-wide
|
||||
There is a number of ways to let gconfd know where else
|
||||
to look, but this is outside the scope of installing gramps.
|
||||
|
||||
See below for ways to invoke 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
|
||||
Likewise, there's a number of ways to instruct the shared mime system
|
||||
to look in other places, but this is the whole other story.
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
Running Gramps
|
||||
--------------
|
||||
Gramps is Python only, so no compilation is needed, you can even run Gramps
|
||||
from the source directory.
|
||||
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.
|
||||
|
||||
a) You installed Gramps, then you can run it with the command
|
||||
|
||||
gramps
|
||||
|
||||
b) You installed Gramps, and want to start it from the PYTHONPATH. In this
|
||||
case use the command:
|
||||
|
||||
python3 -c 'from gramps.grampsapp import main; main()'
|
||||
|
||||
The executable 'gramps' in /usr/local/bin or /usr/bin from a) does
|
||||
this for you.
|
||||
|
||||
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 mentioned gconf schemas and mime types must be installed.
|
||||
However, the update-mime-database and the gconftool-2 calls to process
|
||||
the newly installed types and schemas must be done in POST-INSTALLATION.
|
||||
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.
|
||||
|
||||
python3 setup.py sdist
|
||||
|
||||
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
|
||||
the gconf schema and 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 src/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
|
38
Makefile.am
Normal file
@ -0,0 +1,38 @@
|
||||
# This is the top level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = m4 po src data example help
|
||||
|
||||
EXTRA_DIST = \
|
||||
config.rpath autogen.sh gramps.spec.in gramps.spec \
|
||||
COPYING-DOCS FAQ COPYING \
|
||||
intltool-extract.in intltool-merge.in intltool-update.in \
|
||||
config.sub config.guess gnome-doc-utils.make
|
||||
|
||||
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
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
|
||||
|
||||
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
|
40
README
Normal file
@ -0,0 +1,40 @@
|
||||
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.3 or greater
|
||||
Gnome 2.8 or greater
|
||||
PyGTK2 2.4 or greater
|
||||
Gnome-python 2.6 or greater
|
||||
|
||||
The following packages are *STRONGLY RECOMMENDED* to be installed:
|
||||
Reportlab Enable creation of PDF documents
|
||||
http://www.reportlab.com
|
||||
|
||||
GraphViz Enable creation of graphs using GraphViz engine
|
||||
http://www.graphviz.org
|
||||
|
||||
|
||||
Documentation
|
||||
---------------------------------
|
||||
The User Manual is now maintained, built and installed using gnome-doc-utils.
|
||||
Please see the documentation for the gnome-doc-utils package to learn
|
||||
how this works.
|
||||
|
||||
Current HTML documentation can also be found on the gramps website,
|
||||
http://gramps-project.org/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=7
|
||||
|
||||
|
||||
|
||||
Building on non-Linux systems: i18n support and GNU make
|
||||
--------------------------------------------------------
|
||||
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
|
||||
|
||||
|
||||
|
||||
--------------------------------
|
||||
Donald Allingham
|
||||
dallingham@users.sourceforge.net
|
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!
|
38
TODO
@ -1 +1,37 @@
|
||||
http://gramps-project.org/wiki/index.php?title=Category:GEPS
|
||||
* 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.
|
||||
|
||||
* Add support for formatted notes. We have a start by ripping off code
|
||||
from GPL code from grecipe-manager.
|
||||
|
||||
* 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.
|
||||
|
||||
* 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
|
||||
|
||||
* 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....
|
||||
|
97
acinclude.m4
Normal file
@ -0,0 +1,97 @@
|
||||
dnl AM_GCONF2_REPLACEMENT
|
||||
dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
|
||||
dnl (i.e. pass to $GCONFTOOL
|
||||
dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
|
||||
dnl you should install foo.schemas files
|
||||
dnl
|
||||
dnl This macro was copied from AM_GCONF_SOURCE_2 from the gconf2-dev package.
|
||||
dnl By copying it here we remove the requirement for having it on the system.
|
||||
|
||||
AC_DEFUN([AM_GCONF2_REPLACEMENT],
|
||||
[
|
||||
if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
|
||||
GCONF_SCHEMA_CONFIG_SOURCE=`$GCONFTOOL --get-default-source`
|
||||
else
|
||||
GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(gconf-source,
|
||||
[ --with-gconf-source=sourceaddress Config database for installing schema files.],GCONF_SCHEMA_CONFIG_SOURCE="$withval",)
|
||||
|
||||
AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
|
||||
AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
|
||||
|
||||
if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
|
||||
GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(gconf-schema-file-dir,
|
||||
[ --with-gconf-schema-file-dir=dir Directory for installing schema files.],GCONF_SCHEMA_FILE_DIR="$withval",)
|
||||
|
||||
AC_SUBST(GCONF_SCHEMA_FILE_DIR)
|
||||
AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
|
||||
|
||||
AC_ARG_ENABLE(schemas-install,
|
||||
[ --disable-schemas-install Disable the schemas installation],
|
||||
[case "${enableval}" in
|
||||
yes) schemas_install=true ;;
|
||||
no) schemas_install=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-schemas-install) ;;
|
||||
esac],[schemas_install=true])
|
||||
AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test x$schemas_install = xtrue)
|
||||
])
|
||||
|
||||
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.
|
||||
GConf schemas and shared mime types WILL NOT BE INSTALLED.
|
||||
You will need to place the contents of the
|
||||
GCONF_SCHEMAS_INSTALLATION and SHARED_MIME_INSTALLATION
|
||||
commands MANUALLY into the postinstall script of your package,
|
||||
see src/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
21
autogen.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
# shamelessly borrowed from the Galeon source distribution
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="gramps"
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
&& test -f $srcdir/src/gramps_main.py) || {
|
||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||
echo " top-level $PKG_NAME directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
which gnome-autogen.sh || {
|
||||
echo "You need to install gnome-common package."
|
||||
exit 1
|
||||
}
|
||||
REQUIRED_AUTOMAKE_VERSION=1.9 USE_GNOME2_MACROS=1 . gnome-autogen.sh
|
@ -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
|
1500
config.guess
vendored
Normal file
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
|
1616
config.sub
vendored
Normal file
247
configure.in
Normal file
@ -0,0 +1,247 @@
|
||||
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)
|
||||
AC_INIT(gramps, 2.2.7, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_CONFIG_SRCDIR(configure.in)
|
||||
AM_INIT_AUTOMAKE(1.6.3)
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
GNOME_DOC_INIT
|
||||
|
||||
dnl RELEASE=0.SVN$(svnversion -n .)
|
||||
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
|
||||
|
||||
dnl Checking for gconftool-2
|
||||
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
|
||||
if test "x$GCONFTOOL" = xno; then
|
||||
AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
|
||||
fi
|
||||
|
||||
AM_GCONF2_REPLACEMENT
|
||||
AM_SHARED_MIME
|
||||
AM_PACKAGER
|
||||
dnl This is a hack to disable scrollkeeper update when in the packager mode.
|
||||
dnl It may not seem good to purists, since we're defining
|
||||
dnl ENABLE_SK_{TRUE,FALSE} twice, but I cannot see any other way
|
||||
dnl without tweaking the gnome-doc-utils macros manually.
|
||||
dnl So, scrollkeeper update is enabled when it would normally be,
|
||||
dnl *provided* this is not the packager mode. Packager mode cancels it.
|
||||
AM_CONDITIONAL(ENABLE_SK, test "x$packager_mode" = "xfalse" -a "x$enable_scrollkeeper" = "xyes")
|
||||
AC_SUBST(RELEASE)
|
||||
AC_SUBST(VERSIONSTRING)
|
||||
|
||||
dnl These are needed for the full paths for the manual output
|
||||
HELPPATH=$(pwd)/help/output
|
||||
FONTPATH=/usr/share/fonts/truetype/freefont
|
||||
AC_SUBST(HELPPATH)
|
||||
AC_SUBST(FONTPATH)
|
||||
|
||||
dnl Add the languages which your application supports here.
|
||||
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl no pl pt_BR ro ru sv eo fi lt sk tr"
|
||||
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.3
|
||||
|
||||
AM_PATH_PYTHON(2.3)
|
||||
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 gtk2.4 (pygtk2>=2.3.4))
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
import gobject
|
||||
version = gobject.pygtk_version
|
||||
if version >= (2,3,4):
|
||||
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.4 (pygtk2>=2.3.4) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_pygtk)
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gnome)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
import gnome
|
||||
# Do not import gnome.ui, this can kill python if the
|
||||
# display cannot be opened. Just search it.
|
||||
import imp
|
||||
imp.find_module('gnome/ui')
|
||||
out("gnome.ui")
|
||||
except ImportError:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_pygnome=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test NO = "$has_pygnome"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
**** The python bindings for gnome 2.0 (gnome2-python) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_pygnome)
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gconf)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
import gconf
|
||||
out("gconf")
|
||||
except ImportError:
|
||||
import gnome.gconf
|
||||
out("gnome.gconf")
|
||||
except ImportError:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_gconf=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test NO = "$has_gconf"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
**** The python bindings for gconf (gnome2-python-gconf) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_gconf)
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gnome vfs)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
# Do not import gnome.vfs, this can raise a RuntimeError if the
|
||||
# display cannot be opened. Just search it.
|
||||
import imp
|
||||
imp.find_module('gnome/vfs')
|
||||
out("gnome.vfs")
|
||||
except ImportError:
|
||||
imp.find_module('gnomevfs')
|
||||
out("gnomevfs")
|
||||
except:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_vfs=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test NO = "$has_vfs"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
**** The python bindings for GNOME VFS (gnome2-python-vfs) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT($has_vfs)
|
||||
|
||||
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('gtk/glade')
|
||||
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
|
||||
help/Makefile
|
||||
help/output/Makefile
|
||||
help/output/grampsfop.xconf
|
||||
Makefile
|
||||
gramps.spec
|
||||
gramps.sh
|
||||
src/const.py
|
||||
src/Makefile
|
||||
src/RelLib/Makefile
|
||||
src/Config/Makefile
|
||||
src/FilterEditor/Makefile
|
||||
src/Mime/Makefile
|
||||
src/DisplayTabs/Makefile
|
||||
src/DisplayModels/Makefile
|
||||
src/Selectors/Makefile
|
||||
src/GrampsLogger/Makefile
|
||||
src/GrampsDb/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/SideBar/Makefile
|
||||
src/DataViews/Makefile
|
||||
src/PluginUtils/Makefile
|
||||
src/ReportBase/Makefile
|
||||
src/plugins/Makefile
|
||||
src/DateHandler/Makefile
|
||||
src/data/Makefile
|
||||
src/glade/Makefile
|
||||
src/images/Makefile
|
||||
data/Makefile
|
||||
data/man/Makefile
|
||||
data/man/fr/Makefile
|
||||
example/Makefile
|
||||
example/gramps/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
107
data/Makefile.am
Normal file
@ -0,0 +1,107 @@
|
||||
# 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@
|
||||
|
||||
schemasdir = $(GCONF_SCHEMA_FILE_DIR)
|
||||
schemas_in_files = gramps.schemas.in
|
||||
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
|
||||
@INTLTOOL_SCHEMAS_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) \
|
||||
$(schemas_in_files) \
|
||||
$(mime_DATA) \
|
||||
$(xml_DATA) \
|
||||
$(desktop_DATA) \
|
||||
$(schemas_DATA) \
|
||||
$(xml_in_files)
|
||||
|
||||
CLEANFILES = \
|
||||
$(desktop_DATA) \
|
||||
$(keys_files) \
|
||||
$(xml_files) \
|
||||
$(schemas_DATA)
|
||||
|
||||
# Conditionally enable/disable gconf schemas or mime types,
|
||||
# or disable both in a packager mode
|
||||
GCONF_SCHEMAS_INSTALLATION =
|
||||
GCONF_SCHEMAS_UNINSTALLATION =
|
||||
SHARED_MIME_INSTALLATION =
|
||||
SHARED_MIME_UNINSTALLATION =
|
||||
|
||||
if !PACKAGER_MODE
|
||||
if GCONF_SCHEMAS_INSTALL
|
||||
GCONF_SCHEMAS_INSTALLATION += \
|
||||
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
|
||||
$(GCONFTOOL) --makefile-install-rule $(DESTDIR)$(GCONF_SCHEMA_FILE_DIR)/gramps.schemas ;\
|
||||
pkill gconfd ; echo Restarting gconfd
|
||||
|
||||
GCONF_SCHEMAS_UNINSTALLATION += \
|
||||
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
|
||||
$(GCONFTOOL) --makefile-uninstall-rule $(DESTDIR)$(GCONF_SCHEMA_FILE_DIR)/gramps.schemas
|
||||
endif
|
||||
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)
|
||||
$(GCONF_SCHEMAS_INSTALLATION)
|
||||
|
||||
uninstall-local:
|
||||
$(GCONF_SCHEMAS_UNINSTALLATION)
|
||||
|
||||
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,823 +0,0 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
Copyright Holder and License
|
||||
*******************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Print Style Sheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Modified by Rob G. Healey, July 2008
|
||||
|
||||
*******************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
-------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
developed and governed by genealogists.
|
||||
|
||||
'Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
GRAMPS 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, version 2 of the License.
|
||||
|
||||
GRAMPS 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
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
-------------------------------------------------------------------------------
|
||||
gray #A7A7A7
|
||||
red #520
|
||||
black #000
|
||||
white #FFF
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
NarrativeWeb Styles
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
color:#000;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
}
|
||||
div {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
img {
|
||||
border:none;
|
||||
margin:0;
|
||||
}
|
||||
.content { }
|
||||
.content div.snapshot {
|
||||
float:right;
|
||||
margin:1.6em;
|
||||
padding-top: .5cm;
|
||||
background:none;
|
||||
}
|
||||
.content div.snapshot div.thumbnail {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
.content .thumbnail a:link:after, .content .thumbnail a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
.fullclear {
|
||||
width:100%;
|
||||
height:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
h1 {
|
||||
font:normal 16pt/18pt serif;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
h2 {
|
||||
font:normal 18pt/23pt serif;
|
||||
display:inline;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
h3 {
|
||||
font:normal 18pt/23pt serif;
|
||||
text-align:left;
|
||||
display:inline;
|
||||
margin:0 0 0 8pt;
|
||||
padding:0;
|
||||
}
|
||||
h4 {
|
||||
display:block;
|
||||
clear:both;
|
||||
font:normal 14pt/16pt serif;
|
||||
margin:8pt 0 0 0;
|
||||
padding:8pt 0 1pt 0;
|
||||
border-top:solid .5pt #A7A7A7
|
||||
}
|
||||
h5, h6 {
|
||||
font:normal 14pt/16pt serif;
|
||||
font-style:italic;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
p {
|
||||
font:normal 11pt/14pt serif;
|
||||
}
|
||||
p#description {
|
||||
margin:0 0 14pt 0;
|
||||
}
|
||||
a:link, a:visited {
|
||||
color:#520;
|
||||
text-decoration:underline;
|
||||
}
|
||||
.content a:link:after, content a:visited:after {
|
||||
font-size:70%;
|
||||
font-family:sans-serif;
|
||||
content:" (" attr(href) ") ";
|
||||
}
|
||||
.content ol li a:link {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content ol li a:link:after, .content ol li a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
sup {
|
||||
line-height:0;
|
||||
}
|
||||
ol {
|
||||
font:normal .9em/1.6em sans-serif;
|
||||
margin-top:0;
|
||||
margin-bottom:0;
|
||||
padding-top:.5em;
|
||||
padding-bottom:0;
|
||||
}
|
||||
|
||||
/* Header
|
||||
----------------------------------------------------- */
|
||||
#Header {
|
||||
padding:0 0 8pt 0;
|
||||
margin:0 0 8pt 0;
|
||||
border-bottom:solid .5pt #000;
|
||||
}
|
||||
#SiteTitle {
|
||||
text-align: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#user_header {
|
||||
font-style:italic;
|
||||
text-align:center;
|
||||
margin:0;
|
||||
padding:0
|
||||
}
|
||||
.grampsid {
|
||||
font-size:60%;
|
||||
font-family:monospace;
|
||||
color:#A7A7A7
|
||||
}
|
||||
|
||||
/* Navigation
|
||||
----------------------------------------------------- */
|
||||
#alphabet, #navigation, #subnavigation { display:none; }
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
width:100%;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
border-collapse:collapse;
|
||||
border-bottom:solid .5pt #FFF;
|
||||
}
|
||||
table thead tr th {
|
||||
text-align:left;
|
||||
font:normal 11pt/13pt serif;
|
||||
color:#000;
|
||||
margin:0;
|
||||
padding:0;
|
||||
padding-bottom:1pt;
|
||||
border-bottom:solid .5pt #000;
|
||||
}
|
||||
.content table thead tr th a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content table thead tr th a:link:after, .content table thead tr th a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
table tbody tr td {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
vertical-align:middle;
|
||||
padding:2pt 6pt 1pt 0;
|
||||
border-bottom:dashed .5pt #A7A7A7;
|
||||
}
|
||||
.content table tbody tr td a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content table tbody tr td a:link:after, .content table tbody tr td a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
table tr.BeginLetter td, table.infolist tr.BeginSurname td {
|
||||
border-top:solid .5pt #A7A7A7;
|
||||
}
|
||||
table tbody tr td.ColumnRowLabel {
|
||||
width:2%;
|
||||
color:#A7A7A7;
|
||||
text-align:center;
|
||||
}
|
||||
table tr td.ColumnLetter {
|
||||
width:3%;
|
||||
text-align:center;
|
||||
}
|
||||
table tr td.ColumnAttribute {
|
||||
width:10%;
|
||||
}
|
||||
.content table tbody tr td.ColumnName a {
|
||||
text-decoration:none;
|
||||
}
|
||||
table tbody tr td.ColumnBirth {
|
||||
width:10%;
|
||||
}
|
||||
table tbody tr td.ColumnDeath {
|
||||
width:10%;
|
||||
text-decoration:underline;
|
||||
}
|
||||
table tbody tr td.ColumnParents {
|
||||
font-size:70%;
|
||||
}
|
||||
table tbody tr td.ColumnParents span.mother:before {
|
||||
content:"+ ";
|
||||
}
|
||||
|
||||
/* Home/ Welcome
|
||||
----------------------------------------------------- */
|
||||
#Home p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Home img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
#Home a {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Introduction
|
||||
----------------------------------------------------- */
|
||||
#Introduction p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Introduction img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
#Introcution a {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Surnames
|
||||
----------------------------------------------------- */
|
||||
#Surnames { }
|
||||
table.surnamelist tr thead th.ColumnSurname, #Surnames table.surnamelist tbody tr td.ColumnSurname {
|
||||
width:50%;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname a:after, table#SortByCount thead tr th.ColumnQuantity a:after {
|
||||
content:" ↓";
|
||||
}
|
||||
table.surname thead tr th.ColumnParents, table.surname tbody tr td.ColumnParents {
|
||||
width:35%;
|
||||
}
|
||||
div#SourceDetail {
|
||||
margin: 0 auto;
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
|
||||
/* Relationships
|
||||
================================================= */
|
||||
div#Relationships {
|
||||
font: normal 1em sans-serif;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
}
|
||||
table.relationships {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.relationships thead tr th.ColumnMarriage,
|
||||
table.relationships thead tr th.ColumnDivorce {
|
||||
width: 10%;
|
||||
}
|
||||
table.relationships thead tr th.ColumnHyper {
|
||||
width: 15%;
|
||||
}
|
||||
table.relationships thead tr th.ColumnMedia {
|
||||
width: 15%;
|
||||
}
|
||||
table.relationships tbody tr#FirstLetter {
|
||||
border-bottom: solid 1px #000;
|
||||
}
|
||||
table.relationships tbody tr td {
|
||||
border-bottom: dashed 1px #000;
|
||||
}
|
||||
table.relationships tbody tr td.ColumnRowLabel a {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* Events
|
||||
----------------------------------------------------- */
|
||||
#EventList table.infolist tr td span.person:after,
|
||||
#EventList table.infolist tr td span.father:after,
|
||||
#EventList table.infolist tr td span.mother:after,
|
||||
#EventDetail table.infolist tr td span.person:after,
|
||||
#EventDetail table.infolist tr td span.father:after,
|
||||
#EventDetail table.infolist tr td span.mother:after {
|
||||
content: ", ";
|
||||
}
|
||||
#EventList table.infolist tr td span.person:last-child:after,
|
||||
#EventList table.infolist tr td span.father:last-child:after,
|
||||
#EventList table.infolist tr td span.mother:last-child:after,
|
||||
#EventDetail table.infolist tr td span.person:last-child:after,
|
||||
#EventDetail table.infolist tr td span.father:last-child:after,
|
||||
#EventDetail table.infolist tr td span.mother:last-child:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
#GalleryDetail h2 {
|
||||
display:none;
|
||||
}
|
||||
#GalleryNav {
|
||||
display:none;
|
||||
}
|
||||
#GalleryDisplay {
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
text-align:center;
|
||||
}
|
||||
#GalleryDisplay img {
|
||||
margin:0 auto;
|
||||
border:solid 1pt #542;
|
||||
}
|
||||
#GalleryDetail h3 {
|
||||
display:block;
|
||||
text-align:center;
|
||||
margin:2pt 0 8pt 0;
|
||||
}
|
||||
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
#Download p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Download img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
|
||||
/* Thumbnail Preview Reference Section
|
||||
------------------------------------------------- */
|
||||
body#ThumbnailPreview div#references {
|
||||
background-color: #FFF;
|
||||
color: #00029D;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
body#ThumbnailPreview div#references table.infolist tbody tr {
|
||||
border-bottom: dashed 1px #000;
|
||||
}
|
||||
body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnRowLabel a {
|
||||
background: none;
|
||||
width: 2%;
|
||||
}
|
||||
body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
#researcher {
|
||||
margin:16pt 0 0 0;
|
||||
}
|
||||
#Contact img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
#Contact a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
#researcher h3 {
|
||||
margin:0;
|
||||
}
|
||||
#researcher span {
|
||||
font:normal .9em/1.4em serif;
|
||||
display:block;
|
||||
float:left;
|
||||
margin-right:.4em;
|
||||
}
|
||||
#city {
|
||||
clear:left;
|
||||
}
|
||||
#locality, .locality {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
#city:after {
|
||||
content:",";
|
||||
}
|
||||
#email {
|
||||
clear:left;
|
||||
}
|
||||
|
||||
/* Subsections
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction, #Download, #Contact {
|
||||
padding:3em 20px;
|
||||
}
|
||||
|
||||
/* Subsections : Events
|
||||
----------------------------------------------------- */
|
||||
#IndividualDetail .ColumnValue {
|
||||
padding:4pt 0;
|
||||
}
|
||||
.ColumnValue p {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
margin:1pt 0 0 18pt;
|
||||
}
|
||||
|
||||
/* Subsections : Gallery
|
||||
----------------------------------------------------- */
|
||||
#indivgallery h4 {
|
||||
margin-bottom:1em;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
margin:0;
|
||||
float:left;
|
||||
width:130px;
|
||||
height:150px;
|
||||
text-align:center;
|
||||
}
|
||||
#indivgallery .thumbnail a {
|
||||
display:block;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
#indivgallery .thumbnail a img {
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:solid .5pt #000;
|
||||
}
|
||||
#indivgallery div.thumbnail span {
|
||||
font:normal 7pt/9pt sans-serif;
|
||||
text-align:center;
|
||||
width:80%;
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* Subsections : Attributes
|
||||
----------------------------------------------------- */
|
||||
div#attributes {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.attrlist {
|
||||
width: 100%;
|
||||
}
|
||||
table.attrlist thead tr th {
|
||||
background-color: #70B1ED;
|
||||
color: #000;
|
||||
}
|
||||
table.attrlist tbody tr td {
|
||||
border-bottom: dashed 1px #000;
|
||||
}
|
||||
table.attrlist tbody tr td.ColumnType {
|
||||
width: 15%;
|
||||
}
|
||||
table.attrlist tbody tr td.ColumnValue {
|
||||
width: 15%;
|
||||
}
|
||||
table.attrlist tbody tr td.ColumnNotes {
|
||||
width: 40%;
|
||||
}
|
||||
table.attrlist tbody tr td.ColumnSources {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
/* Subsections : Pedigree
|
||||
----------------------------------------------------- */
|
||||
#pedigree a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content #pedigree a:link:after, .content #pedigree a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
.pedigreegen {
|
||||
font:normal 10pt/12pt sans-serif;
|
||||
list-style:none;
|
||||
margin:8pt 0 0 0;
|
||||
padding:0 0 0 20px;
|
||||
}
|
||||
.pedigreegen li ol {
|
||||
list-style:none;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.pedigreegen li ol li ol {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
list-style:decimal;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.pedigreegen li ol li ol li ol.spouselist {
|
||||
list-style:none;
|
||||
margin-left:0;
|
||||
}
|
||||
.spouselist li.spouse ol {
|
||||
list-style:decimal;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.spouse a {
|
||||
font-weight:normal;
|
||||
font-style:normal;
|
||||
}
|
||||
.spouse:before {
|
||||
content: "+ ";
|
||||
}
|
||||
.thisperson {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Subsections : Ancestors Tree
|
||||
----------------------------------------------------- */
|
||||
#tree {
|
||||
page-break-before:always;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#treeContainer {
|
||||
position:relative;
|
||||
z-index:1;
|
||||
}
|
||||
#treeContainer div.boxbg a:link:after, #treeContainer div.boxbg a:visited:after {
|
||||
font-size:70%;
|
||||
font-family:sans-serif;
|
||||
content:"";
|
||||
}
|
||||
.boxbg {
|
||||
position:absolute;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
#treeContainer div.boxbg span.thumbnail {
|
||||
display:block;
|
||||
margin:0 auto;
|
||||
}
|
||||
.boxbg a {
|
||||
position:relative;
|
||||
z-index:10;
|
||||
display:block;
|
||||
font:normal .7em/1.4em sans-serif;
|
||||
text-align:center;
|
||||
text-decoration:none;
|
||||
width:50pt;
|
||||
padding:5pt 8pt;
|
||||
margin:5pt 0 0 0;
|
||||
background-color:#FFF;
|
||||
border:solid 1pt #000;
|
||||
}
|
||||
#treeContainer div.AncCol3 span.thumbnail, #treeContainer div.AncCol4 span.thumbnail {
|
||||
display:none;
|
||||
}
|
||||
.shadow {
|
||||
display:none;
|
||||
}
|
||||
#tree div div.bvline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
height:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
border-bottom:solid .5pt #A7A7A7
|
||||
}
|
||||
#tree div div.bhline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
width:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
border-right:solid .5pt #A7A7A7
|
||||
}
|
||||
.ghline, .gvline {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* Footer
|
||||
----------------------------------------------------- */
|
||||
#footer {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: .1in 0 0 0;
|
||||
clear: both;
|
||||
border-top: solid .5pt #000;
|
||||
}
|
||||
#user_footer {
|
||||
float: left;
|
||||
width: 70%;
|
||||
}
|
||||
#user_footer p {
|
||||
font-style: italic;
|
||||
}
|
||||
p#createdate {
|
||||
float: left;
|
||||
width: 45%;
|
||||
font: normal 9pt/10pt sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
#copyright {
|
||||
float: right;
|
||||
width: 4in;
|
||||
margin: 0;
|
||||
font: normal 9pt/10pt sans-serif;
|
||||
text-align: right;
|
||||
}
|
||||
#copyright img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
/* Calendar : General */
|
||||
body#WebCal h1#SiteTitle {
|
||||
float:left;
|
||||
font-size:14pt;
|
||||
line-height:16pt;
|
||||
padding-bottom:.1in;
|
||||
}
|
||||
.calendar {
|
||||
clear:both;
|
||||
empty-cells:show;
|
||||
width:100%;
|
||||
font-size:14pt;
|
||||
font-weight:normal;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
border-collapse:collapse;
|
||||
}
|
||||
.calendar thead, .calendar tbody {
|
||||
border-style:solid;
|
||||
border-width:2pt 2pt 2pt 2pt;
|
||||
border-color:#000;
|
||||
}
|
||||
.calendar tbody {
|
||||
border-top:none;
|
||||
}
|
||||
.calendar thead tr th {
|
||||
width:12%;
|
||||
font-family:sans-serif;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
text-align:center;
|
||||
text-transform:uppercase;
|
||||
padding:.2em 0 .1em 0;
|
||||
}
|
||||
.calendar thead tr th.monthName {
|
||||
width:100%;
|
||||
font-size:20pt;
|
||||
line-height:100%;
|
||||
text-transform:none;
|
||||
padding:5pt;
|
||||
border-width:0;
|
||||
}
|
||||
body#WebCal a {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
.calendar tfoot {
|
||||
border:none;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
font-size:12pt;
|
||||
font-style:italic;
|
||||
padding:.7em 5% 1em 5%;
|
||||
}
|
||||
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar td div.date {
|
||||
float:right;
|
||||
display:block;
|
||||
font-size:16pt;
|
||||
line-height:100%;
|
||||
font-weight:bold;
|
||||
text-align:center;
|
||||
color:#000;
|
||||
margin:0 0 0 .5em;
|
||||
padding:7pt;
|
||||
}
|
||||
.calendar td.highlight div.date {
|
||||
color:#F00;
|
||||
}
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar tbody tr td {
|
||||
vertical-align:top;
|
||||
height:4em;
|
||||
padding:0;
|
||||
border-width:1px 0 0 1px;
|
||||
border-style:solid;
|
||||
border-color:#999;
|
||||
}
|
||||
.calendar tbody tr td:first-child {
|
||||
border-left:none;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top:none;
|
||||
}
|
||||
|
||||
/* Calendar : Date Detail */
|
||||
.calendar tbody tr td ul {
|
||||
list-style:none;
|
||||
font-family:sans-serif;
|
||||
font-size:8pt;
|
||||
margin:30pt 0 5pt 0;
|
||||
padding:0;
|
||||
}
|
||||
.calendar tbody tr td ul li {
|
||||
display:block;
|
||||
width:92%;
|
||||
margin:0 4%;
|
||||
padding:.2em 0 .3em 0;
|
||||
border-top:dashed .5pt #999;
|
||||
}
|
||||
.calendar tbody tr td ul li:first-child {
|
||||
border:none;
|
||||
}
|
||||
.calendar tbody tr td ul li em {
|
||||
font-style:normal;
|
||||
color:#000;
|
||||
}
|
||||
.calendar tbody tr td ul li span.yearsmarried em {
|
||||
color:#000;
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
font-weight:normal;
|
||||
font-size:12pt;
|
||||
color:#999;
|
||||
}
|
||||
/* Calendar : Full Year */
|
||||
body#fullyearlinked div.content {
|
||||
width:963px;
|
||||
margin:0 auto;
|
||||
padding:15px 0 2px 2px;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float:left;
|
||||
width:320px;
|
||||
height:18em;
|
||||
border:solid 1px #000;
|
||||
}
|
||||
body#fullyearlinked table.calendar thead tr th {
|
||||
height:2em;
|
||||
}
|
||||
body#fullyearlinked table.calendar thead tr th.monthName {
|
||||
font-size:1.2em;
|
||||
padding:2px 0;
|
||||
}
|
||||
body#fullyearlinked table.calendar tbody tr td {
|
||||
height:3em;
|
||||
}
|
@ -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;
|
||||
}
|
12
data/gramps.desktop.in
Normal file
@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
_Name=GRAMPS Genealogy System
|
||||
_Comment=Manage genealogical information, perform genealogical research and analysis
|
||||
Icon=gramps.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=Application;Genealogy;Office;
|
||||
X-GNOME-DocPath=gramps/gramps-manual.xml
|
||||
MimeType=application/x-gramps
|
||||
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
|
1157
data/gramps.schemas.in
Normal file
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) 2000-2007 Donald N. Allingham
|
||||
# Copyright (C) 2010-2014 Nick Hall
|
||||
# Copyright (C) 2001 Graham J. Williams
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
#
|
||||
# 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,60 +18,52 @@
|
||||
#
|
||||
# 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.1.3
|
||||
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.1.3//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.1.3//EN"
|
||||
"http://gramps-project.org/xml/1.1.3/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
|
||||
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?, bookmark?)>
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.1.3/">
|
||||
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
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?)>
|
||||
<!ELEMENT header (created, researcher?)>
|
||||
|
||||
<!ELEMENT created EMPTY>
|
||||
<!ATTLIST created
|
||||
@ -80,37 +71,35 @@ 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*,
|
||||
objref*, address*, attribute*, url*, childof*,
|
||||
parentin*, personref*, noteref*, citationref*, tagref*)>
|
||||
<!ELEMENT person (gender, name*, nick?, eventref*, lds_ord*,
|
||||
objref*, address*, attribute*, url*,
|
||||
childof*, parentin*, personref*, note?, sourceref*)>
|
||||
<!ATTLIST person
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@ -119,10 +108,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?,last?,suffix?,patronymic?,title?,
|
||||
(daterange|dateval|datestr)?,note?,sourceref*)>
|
||||
<!ATTLIST name
|
||||
alt (0|1) #IMPLIED
|
||||
type CDATA #IMPLIED
|
||||
priv (0|1) #IMPLIED
|
||||
@ -131,21 +119,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 +137,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*,note?)>
|
||||
<!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|dateval|datestr)?,street?,city?,county?,state?,
|
||||
country?,postal?,phone?,note?,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*,note?,sourceref*)>
|
||||
<!ATTLIST family
|
||||
id CDATA #IMPLIED
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
marker CDATA #IMPLIED
|
||||
change CDATA #REQUIRED
|
||||
>
|
||||
|
||||
@ -198,13 +180,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*,note?)>
|
||||
<!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 +193,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|dateval|datestr)?,place?,cause?,
|
||||
description?,attribute*,note?,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?,
|
||||
note?,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 +227,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*,note?,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 +252,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*,note?,(daterange|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 +282,39 @@ 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*,note?)>
|
||||
<!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*)>
|
||||
<!ATTLIST note
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
priv (0|1) #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 range EMPTY>
|
||||
<!ATTLIST range
|
||||
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
|
||||
type CDATA #REQUIRED
|
||||
key CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- ************************************************************
|
||||
<!-- ************************************************************
|
||||
NAME FORMATS
|
||||
-->
|
||||
|
||||
@ -426,93 +327,69 @@ 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
|
||||
start CDATA #REQUIRED
|
||||
stop CDATA #REQUIRED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT datespan EMPTY>
|
||||
<!ATTLIST datespan
|
||||
start CDATA #REQUIRED
|
||||
stop CDATA #REQUIRED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
dualdated (0|1) #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
|
||||
val CDATA #REQUIRED
|
||||
type (before|after|about) #IMPLIED
|
||||
quality (estimated|calculated) #IMPLIED
|
||||
cformat CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT datestr EMPTY>
|
||||
<!ELEMENT datestr EMPTY>
|
||||
<!ATTLIST datestr val CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT citationref EMPTY>
|
||||
<!ATTLIST citationref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
<!ELEMENT note (#PCDATA)>
|
||||
<!ATTLIST note format (0|1) #IMPLIED>
|
||||
|
||||
<!ELEMENT sourceref EMPTY>
|
||||
<!ELEMENT sourceref (spage?,scomments?,stext?,(daterange|dateval|datestr)?)>
|
||||
<!ATTLIST sourceref
|
||||
hlink IDREF #REQUIRED
|
||||
conf CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT eventref (attribute*, noteref*, citationref*)>
|
||||
<!ELEMENT eventref (attribute*,note?)>
|
||||
<!ATTLIST eventref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
role CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT reporef (noteref*)>
|
||||
<!ELEMENT reporef (note?)>
|
||||
<!ATTLIST reporef
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
callno CDATA #IMPLIED
|
||||
medium CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT noteref EMPTY>
|
||||
<!ATTLIST noteref
|
||||
hlink IDREF #REQUIRED
|
||||
<!ELEMENT marker EMPTY>
|
||||
<!ATTLIST marker
|
||||
type CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT tagref EMPTY>
|
||||
<!ATTLIST tagref
|
||||
hlink IDREF #REQUIRED
|
||||
>
|
||||
<!ELEMENT spage (#PCDATA)>
|
||||
<!ELEMENT scomments (#PCDATA)>
|
||||
<!ELEMENT sdate (#PCDATA)>
|
||||
<!ELEMENT stext (#PCDATA)>
|
||||
|
||||
<!ELEMENT page (#PCDATA)>
|
||||
<!ELEMENT confidence (#PCDATA)>
|
||||
|
||||
<!ELEMENT attribute (citationref*, noteref*)>
|
||||
<!ELEMENT attribute (sourceref*,note?)>
|
||||
<!ATTLIST attribute
|
||||
priv (0|1) #IMPLIED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
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
|
||||
>
|
||||
<!ELEMENT comment (#PCDATA)>
|
||||
|
||||
<!ELEMENT place EMPTY>
|
||||
<!ATTLIST place hlink IDREF #REQUIRED>
|
||||
@ -522,41 +399,27 @@ 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 (attribute*,sourceref*,note?)>
|
||||
<!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
|
||||
corner1_y CDATA #REQUIRED
|
||||
corner2_x CDATA #REQUIRED
|
||||
corner2_y CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT data_item EMPTY>
|
||||
<!ATTLIST data_item
|
||||
key CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?, temple?, place?,
|
||||
status?, sealed_to?, noteref*, citationref*)>
|
||||
<!ELEMENT lds_ord ((daterange|dateval|datestr)?,temple?,place?,status?,
|
||||
sealed_to?,note?,sourceref*)>
|
||||
<!ATTLIST lds_ord
|
||||
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
|
||||
# Copyright (C) 2005-2006 Donald N. Allingham
|
||||
#
|
||||
# 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,20 @@
|
||||
|
||||
|
||||
<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.1.3/"
|
||||
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>
|
||||
</element>
|
||||
|
||||
<optional><element name="name-formats">
|
||||
@ -58,12 +52,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 +74,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"/>
|
||||
@ -116,29 +98,17 @@
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="notes">
|
||||
<zeroOrMore><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="bookmarks">
|
||||
<zeroOrMore><element name="bookmark">
|
||||
<ref name="bookmark-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
|
||||
<optional><element name="namemaps">
|
||||
<zeroOrMore><element name="map">
|
||||
<ref name="map-content"/>
|
||||
</element></zeroOrMore>
|
||||
</element></optional>
|
||||
</element></start>
|
||||
|
||||
<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 +117,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 +138,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 +164,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"/>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<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,37 +199,30 @@
|
||||
<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"/>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-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">
|
||||
@ -260,18 +231,17 @@
|
||||
</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>
|
||||
<optional><element name="country"><text/></element></optional>
|
||||
<optional><element name="postal"><text/></element></optional>
|
||||
<optional><element name="phone"><text/></element></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
@ -285,23 +255,6 @@
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="cformat"><text/></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="datespan">
|
||||
<attribute name="start"><text/></attribute>
|
||||
<attribute name="stop"><text/></attribute>
|
||||
<optional><attribute name="quality"><choice>
|
||||
<value>estimated</value>
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="cformat"><text/></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="dateval">
|
||||
<attribute name="val"><text/></attribute>
|
||||
@ -315,10 +268,6 @@
|
||||
<value>estimated</value>
|
||||
<value>calculated</value>
|
||||
</choice></attribute></optional>
|
||||
<optional><attribute name="dualdated">
|
||||
<choice><value>0</value><value>1</value></choice>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="newyear"><text/></attribute></optional>
|
||||
</element>
|
||||
<element name="datestr">
|
||||
<attribute name="val"><text/></attribute>
|
||||
@ -357,25 +306,16 @@
|
||||
<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"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<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>
|
||||
|
||||
@ -390,39 +330,14 @@
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</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="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">
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<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>
|
||||
|
||||
@ -432,41 +347,30 @@
|
||||
<optional><element name="sauthor"><text/></element></optional>
|
||||
<optional><element name="spubinfo"><text/></element></optional>
|
||||
<optional><element name="sabbrev"><text/></element></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<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>
|
||||
@ -481,15 +385,13 @@
|
||||
<zeroOrMore><element name="url">
|
||||
<ref name="url-content"/>
|
||||
</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"/>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
|
||||
</define>
|
||||
|
||||
<define name="object-content">
|
||||
@ -497,21 +399,17 @@
|
||||
<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"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<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>
|
||||
|
||||
@ -525,12 +423,9 @@
|
||||
<zeroOrMore><element name="url">
|
||||
<ref name="url-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
</define>
|
||||
|
||||
<define name="bookmark-content">
|
||||
@ -539,23 +434,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>
|
||||
</choice></attribute>
|
||||
<attribute name="key"><text/></attribute>
|
||||
<attribute name="value"><text/></attribute>
|
||||
</define>
|
||||
|
||||
|
||||
<define name="format-content">
|
||||
<attribute name="number"><text/></attribute>
|
||||
<attribute name="name"><text/></attribute>
|
||||
@ -567,60 +452,20 @@
|
||||
</define>
|
||||
|
||||
<define name="note-content">
|
||||
<ref name="primary-object"/>
|
||||
<optional><attribute name="format"><choice>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</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">
|
||||
<attribute name="name"><choice>
|
||||
<value>bold</value>
|
||||
<value>italic</value>
|
||||
<value>underline</value>
|
||||
<value>fontface</value>
|
||||
<value>fontsize</value>
|
||||
<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">
|
||||
<attribute name="start"><data type="int"/></attribute>
|
||||
<attribute name="end"><data type="int"/></attribute>
|
||||
</element></oneOrMore>
|
||||
</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>
|
||||
<text/>
|
||||
</define>
|
||||
|
||||
<define name="sourceref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><attribute name="conf"><text/></attribute></optional>
|
||||
<optional><element name="spage"><text/></element></optional>
|
||||
<optional><element name="scomments"><text/></element></optional>
|
||||
<optional><element name="stext"><text/></element></optional>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
</define>
|
||||
|
||||
<define name="eventref-content">
|
||||
@ -632,28 +477,18 @@
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore></optional>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
</define>
|
||||
|
||||
<define name="reporef-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="callno"><text/></attribute></optional>
|
||||
<optional><attribute name="medium"><text/></attribute></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="noteref-content">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
</define>
|
||||
|
||||
<define name="priv-content">
|
||||
@ -662,27 +497,19 @@
|
||||
<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>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
</define>
|
||||
|
||||
<define name="url-content">
|
||||
@ -699,24 +526,18 @@
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><element name="region">
|
||||
<ref name="region-content"/>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
</define>
|
||||
|
||||
<define name="lds-content">
|
||||
<optional><attribute name="priv">
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<attribute name="type"><text/></attribute>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<optional><element name="temple">
|
||||
@ -731,43 +552,13 @@
|
||||
<optional><element name="sealed_to">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</element></optional>
|
||||
<zeroOrMore><element name="noteref">
|
||||
<ref name="noteref-content"/>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="sourceref">
|
||||
<ref name="sourceref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><ref name="date-content"/></optional>
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="region-content">
|
||||
<attribute name="corner1_x"><data type="integer"/></attribute>
|
||||
<attribute name="corner1_y"><data type="integer"/></attribute>
|
||||
<attribute name="corner2_x"><data type="integer"/></attribute>
|
||||
<attribute name="corner2_y"><data type="integer"/></attribute>
|
||||
<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>
|
||||
|