Compare commits

..

121 Commits

Author SHA1 Message Date
6b16e40db3 2007-04-22 Don Allingham <don@gramps-project.org>
* configure.in: bump to full release of 2.2.7
	* src/const.py.in: fix 2007 in copyright
	* NEWS: update news file



svn: r8419
2007-04-22 20:58:07 +00:00
fa1b3d706c Escape still wasn't right in ODFDoc.py. Ancestor and descendant charts were displaying wrong.
svn: r8417
2007-04-22 13:19:05 +00:00
df18340c21 0000970: _IsBookmarked.py causes crash
svn: r8415
2007-04-21 18:48:04 +00:00
7cbe7f797b 2007-04-20 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: fix calendar parsing
	* src/GrampsDb/_WriteGedcom.py: fix calendar generation



svn: r8412
2007-04-21 04:30:13 +00:00
6cc84e39cf 2007-04-20 Alex Roitman <shura@gramps-project.org>
* src/plugins/Checkpoint.py (Checkpoint.rcs): Remove debugging
	output; Work out retrieval.



svn: r8411
2007-04-21 02:50:11 +00:00
2c1aa909e5 2007-04-20 Don Allingham <don@gramps-project.org>
* src/DisplayModels/_BaseModel.py (BaseModel.add_row_by_handle): 
	if search not defined, do an insert



svn: r8410
2007-04-20 15:09:22 +00:00
9eff5e9327 add German translation for manual
svn: r8409
2007-04-20 06:59:19 +00:00
5767ac5bbd add German translation for manual
svn: r8408
2007-04-20 06:56:22 +00:00
9d4d7ca873 add German translation for manual
svn: r8407
2007-04-20 06:53:04 +00:00
c324efb9e4 PROPERLY escape ampersands in ODFDoc.py
svn: r8405
2007-04-20 03:48:21 +00:00
60a072824f 2007-04-18 Don Allingham <don@gramps-project.org>
* src/plugins/BookReport.py: escape xml constructs (bug 877)
	* src/PluginUtils/_Options.py: escape xml constructs (bug 877)



svn: r8403
2007-04-19 02:03:29 +00:00
eb7b977237 update French translation for 2.2.7
svn: r8401
2007-04-18 16:11:20 +00:00
71162563ed 2007-04-17 Don Allingham <don@gramps-project.org>
* src/Editors/_EditRepository.py: fix double click save bug
	* src/Editors/_EditSource.py: fix double click save bug
	* src/Editors/_EditEvent.py: fix double click save bug
	* src/Editors/_EditPlace.py: fix double click save bug
	* src/Editors/_EditFamily.py (EditFamily.save): fix potential double click of Family 
	Editor dialog



svn: r8399
2007-04-18 03:59:34 +00:00
2a3ef69c9e 2007-04-17 Lubo Vasko <pgval@inMail.sk>
* sk.po: Translation update.

2007-04-17  Piotr Czubaszek  <pioterus@gmail.com>
	* pl.po: Translation update.



svn: r8397
2007-04-18 00:36:25 +00:00
1305e3b037 * po/nl.po Some corrections by Erik
svn: r8396
2007-04-17 19:13:10 +00:00
e9fa8f1cfc Just a msgmerge with the nl.po and new gramps.pot so that Erik
can do the changes.


svn: r8395
2007-04-17 17:48:52 +00:00
c397c43701 Updated Lithuanian translation
svn: r8394
2007-04-17 17:21:40 +00:00
260f5f2422 * de.po: translation update
svn: r8392
2007-04-16 16:12:34 +00:00
6b35940eac * src/ViewManager.py (create_pages): fix off-by-one error when preselecting last view
svn: r8390
2007-04-16 13:53:55 +00:00
12a002b945 update French translation for 2.2.7
svn: r8389
2007-04-16 09:19:42 +00:00
a6a8cdff0f improve French translation for manual
svn: r8388
2007-04-16 09:19:11 +00:00
2174fcbd99 * po/gramps.pot: update for 2.2.7 preparation
2007-04-15  Don Allingham  <don@gramps-project.org>


svn: r8387
2007-04-16 01:23:06 +00:00
43e3bf68cd 2007-04-15 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_WriteGedcom.py: use CONT to continue page info
	* src/GrampsDb/_GrampsBSDDB.py: additional error checking
	* src/QuestionDialog.py: enable markup
	* src/DbLoader.py: additional error checking

	* src/plugins/NarrativeWeb.py
	* src/ReportBase/_ReportUtils.py
	0001012: Private source and private child references shown in narrative 
	website.
	0001017: Insufficient space in pedigree view of narrative website


svn: r8386
2007-04-16 01:19:46 +00:00
6468dc2a23 0001012: Private source and private child references shown in narrative website.
svn: r8384
2007-04-15 19:09:55 +00:00
670eef2da8 0001017: Insufficient space in pedigree view of narrative website
svn: r8382
2007-04-15 02:17:44 +00:00
061a9e2761 0000908: GtkPrint doesn't parse if you don't have pygtk version 2.10
svn: r8381
2007-04-13 18:11:05 +00:00
4cb1aaacd1 0001011: XML import loses media objects when media object has no title.
svn: r8379
2007-04-12 11:46:36 +00:00
28dc889abb 2007-04-11 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_WriteGedcom.py (GedcomWriter.write_source_ref): replace
	newlines with semicolons on output.



svn: r8378
2007-04-12 02:29:52 +00:00
0408153557 2007-04-10 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: add hack to force illegal "BET ABT" to be read
	as "EST BET"
	* src/ReportBase/_BareReportDialog.py: escape ampersands
	* src/docgen/ODFDoc.py: escape ampersands
	* src/ManagedWindow.py: escape ampersands



svn: r8377
2007-04-11 04:54:38 +00:00
fc39402cc4 * po/nl.po: a few corrections of the translation
* src/DateHandler/_Date_nl.py: Numerisch => Numeriek


svn: r8376
2007-04-10 19:32:49 +00:00
c62bef3f21 * src/plugins/ImportGeneWeb.py: Some parsing enhancements
svn: r8375
2007-04-10 19:22:44 +00:00
c531d2fad7 * src/plugins/Check.py (CheckIntegrity.check_events): don't require same gender for
civil unions


svn: r8374
2007-04-10 03:35:04 +00:00
18908e7716 2007-04-09 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_WriteGedcom.py (GedcomWriter.gnu_fdl): don't duplicate
	the copyright notice (bug #790)



svn: r8373
2007-04-10 02:36:00 +00:00
0aa4eb258e Remove file check from _GrampsIniKeys.py. It is not needed.
svn: r8371
2007-04-09 15:29:13 +00:00
7f54da4cf3 Missing comma in Checkpoint.py.
svn: r8369
2007-04-09 11:40:45 +00:00
044e38b129 0000995: Don't have write access on import/open in paths containing non-ASCII characters.
svn: r8367
2007-04-09 04:24:06 +00:00
8ed86bc145 0001006: Narrative Web: Media objects missing title (description), mime_type, or path, are displayed poorly.
svn: r8365
2007-04-09 03:35:58 +00:00
a6a0a69456 0000896: Crash running Narrative Web report - system memory exhausted.
svn: r8362
2007-04-08 20:16:05 +00:00
d6c8710d2c 2007-04-06 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_GrampsDbBase.py (GrampsDbBase.close_undodb): don't complain
	if the undo file isn't here.



svn: r8360
2007-04-07 04:12:15 +00:00
767d1d8191 2007-04-05 Don Allingham <don@gramps-project.org>
* src/plugins/Checkpoint.py: fix some more Popen issues



svn: r8359
2007-04-06 04:34:48 +00:00
da6e56990e 0000998: Source Ref link refers to nothing in Narrative web report.
svn: r8357
2007-04-06 02:39:07 +00:00
26218253d7 0000996: Individual attributes do no include source reference citations in Narrative Web report.
svn: r8355
2007-04-05 12:07:05 +00:00
fe84bcbdec * src/DateHandler/_DateParser.py: Fix a typo
* src/DateEdit.py: Fix a typo

svn: r8354
2007-04-05 11:51:24 +00:00
4002837282 0000993: Checkpoint tool crashes in Windows
svn: r8352
2007-04-05 02:54:03 +00:00
b68e2d727f 2007-04-04 Don Allingham <don@gramps-project.org>
* src/DateHandler/_DateParser.py: fix text string that contians a valid
	modifier.
	* src/Editors/_EditPerson.py: disable OK button on save to prevent
	double clicks
	* src/Editors/_EditPrimary.py: disable OK button on save to prevent
	double clicks
	* src/docgen/ODFDoc.py: XML escape strings



svn: r8351
2007-04-05 02:46:56 +00:00
660e22bdfa * po/nl.po Change archief in archiveer.
svn: r8348
2007-04-02 18:43:50 +00:00
77817a5098 correct keyword error
svn: r8343
2007-04-01 16:12:08 +00:00
a4ebbb4c15 0000975: remove extra (/b) HTML tags in NarrativeWeb
svn: r8298
2007-03-14 03:24:17 +00:00
60c7367f77 0000976: NarrativeWeb: gramps ID always output regardless of setting
svn: r8296
2007-03-14 03:09:38 +00:00
aa08262352 * src/plugins/NarrativeWeb.py: 0000969: NarrativeWeb plugin: include the date in the media object pages
svn: r8294
2007-03-13 22:56:28 +00:00
86c6b1b7e7 src/ReportBase/_ReportDialog.py: don't catch all exceptions - we won't get a traceback.
svn: r8290
2007-03-11 22:19:08 +00:00
dabcd47805 * src/plugins/NarrativeWeb.py: 0000950: include the date in the reference sections of the narrative web site
svn: r8289
2007-03-11 19:42:48 +00:00
5bfdf4c45f Translation update
svn: r8285
2007-03-08 16:49:23 +00:00
655626fd7d Translation update
svn: r8284
2007-03-08 08:48:15 +00:00
03e54d00ed 2007-03-07 Stefan Björk <skalman@acc.umu.se>
* src/Filters/Rules/_HasMarkerBase.py (HasMarkerBase): fix typo
	* src/GrampsWidgets.py: better wording



svn: r8283
2007-03-07 15:45:32 +00:00
4d009e4706 Translation update
svn: r8282
2007-03-07 09:09:29 +00:00
772e4b15b0 * src/plugins/NarrativeWeb.py:
* src/ReportBase/_ReportUtils.py:
Fix 0000956: Event order within GRAMPS not replicated in web report

svn: r8277
2007-03-07 03:11:41 +00:00
7f1a54dbd1 src/plugins/NarrativeWeb.py: Fix 0000954: e-mail address causes Narrative Web plugin to generate bad links
svn: r8273
2007-03-06 04:21:59 +00:00
f64ae7ac77 * src/plugins/GraphViz.py: Fix 0000942: Relationship graph doesn't show preferred name format
svn: r8268
2007-03-06 02:23:28 +00:00
2cf46c56ce * src/plugins/TimeLine.py: Fix 0000943: Timeline doesn't show preferred name format
svn: r8266
2007-03-06 02:08:22 +00:00
b8bc3f2cc3 updated dutch help translation
svn: r8258
2007-02-28 21:21:09 +00:00
62dde7b4d1 * src/plugins/WritePkg.py: Fix crash on gpkg export in Windows
svn: r8252
2007-02-27 02:36:25 +00:00
25ba79e7be * src/plugins/AncestorChart2.py: Fix index error
svn: r8238
2007-02-25 22:54:25 +00:00
a1efb824cb * src/docgen/SvgDrawDoc.py.py: Fix XML error in draw_text.
svn: r8227
2007-02-24 20:42:31 +00:00
2ace2ee5b4 * output/Makefile.am (HELP_LINGUAS): Disable nb for now;
(fo): Generate fo output.



svn: r8224
2007-02-24 01:47:15 +00:00
496bf99860 Update
svn: r8223
2007-02-24 01:21:12 +00:00
23d434d8ea 2007-02-23 Alex Roitman <shura@gramps-project.org>
* src/Editors/_EditFamily.py (edit_child_button_clicked): Catch
	open window situation.



svn: r8222
2007-02-24 01:18:34 +00:00
62b2091e95 2007-02-23 Alex Roitman <shura@gramps-project.org>
* C/gramps.xml: List Don just once, as a maintainer.
	* output/Makefile.am (HELP_LINGUAS): Disable nb for now.
	* output/gramps-help-screen.css: Modify css to see revision
	history by the main text.



svn: r8220
2007-02-23 23:54:56 +00:00
3cba256408 Update
svn: r8217
2007-02-23 06:10:16 +00:00
26a587fce1 2007-02-22 Alex Roitman <shura@gramps-project.org>
* output/Makefile.am: Write rule for manual website creation.



svn: r8215
2007-02-23 05:59:50 +00:00
c2dc72ffd3 * src/docgen/PdfDoc.py (write_text): Close <br/> tag.
svn: r8214
2007-02-23 01:57:28 +00:00
9ec79f98e1 2007-02-22 Alex Roitman <shura@gramps-project.org>
* src/GrampsDb/_GrampsBSDDB.py (reindex_reference_map): Typo.



svn: r8213
2007-02-23 01:51:08 +00:00
c8f66c8d24 update French translation for manual
svn: r8208
2007-02-21 16:23:10 +00:00
8e511eed6c update French translation for manual
svn: r8206
2007-02-21 16:02:30 +00:00
7eba303735 /help/gramps.pot: update template
svn: r8205
2007-02-21 14:33:23 +00:00
ed7a5e8f56 fix bugs on manual: #809 #810 #932 #539
svn: r8204
2007-02-21 14:31:16 +00:00
6b220b733b Updated Norwegian translations
svn: r8189
2007-02-20 19:03:01 +00:00
af9a79adb3 * src/plugins/AncestorChart2.py: Fix dimension error
svn: r8185
2007-02-20 03:55:46 +00:00
794441dc37 * src/plugins/AncestorChart2.py: Use a dict instead of an array to use less memory.
svn: r8164
2007-02-19 02:45:41 +00:00
a0991f5a4c Norwegian translation up to date
svn: r8149
2007-02-17 23:28:17 +00:00
c55ce06c34 2007-02-17 Anthon Pang <apang@softwaredevelopment.ca>
* src/GrampsDb/_WriteGedcom.py: Fix encoding on output



svn: r8145
2007-02-17 22:46:51 +00:00
c040885812 svn: r8138 2007-02-16 21:24:55 +00:00
02f4fe701d svn: r8136 2007-02-16 21:18:01 +00:00
59e9c95f2b svn: r8135 2007-02-16 21:16:14 +00:00
8d372b9e11 Update
svn: r8134
2007-02-16 21:13:05 +00:00
9810a46876 Update
svn: r8133
2007-02-16 20:46:42 +00:00
47051cf0dc In .:
2007-02-16  Alex Roitman  <shura@gramps-project.org>
	* configure.in: Add HELPPATH and FONTPATH substitutions, generate
	new files in help/output.

In help:
	* Makefile.am (SUBDIRS): Add subdirs.


svn: r8132
2007-02-16 20:45:28 +00:00
1528dd7946 svn: r8130 2007-02-16 20:00:30 +00:00
c6ee0d4d9b svn: r8129 2007-02-16 19:42:07 +00:00
bf15d1749f 2007-02-16 Alex Roitman <shura@gramps-project.org>
* help/nl: Add svn:ignore property.
	* various: Add stuff for generating html and pdf output.



svn: r8128
2007-02-16 19:35:44 +00:00
ea5b19dfb9 2007-02-15 Piotr Czubaszek <pioterus@gmail.com>
* pl.po: Translation update.



svn: r8124
2007-02-16 03:13:50 +00:00
9d31b54646 * src/docgen/HtmlDoc.py: fix html template loading.
* src/ReportBase/_ReportDialog.py: fix html template loading.

svn: r8120
2007-02-15 03:18:03 +00:00
ef3273a6ac Updated Norwegian translation
svn: r8116
2007-02-14 22:12:27 +00:00
11b13e1c94 * src/ViewManager.py: fix crash during backup on windows
svn: r8111
2007-02-14 03:55:40 +00:00
32460cd87d 2007-02-13 Lubo Vasko <pgval@inMail.sk>
* sk/figures/*.png : Update.
	* sk/sk.po: Translation update.



svn: r8108
2007-02-13 16:53:44 +00:00
fe2879c6bf 2007-02-13 Zsolt Foldvari <zfoldvar@users.sourceforge.net>
* src/GrampsWidgets.py: Fall back to gtk.STOCK_DIALOG_INFO in case
	gtk.STOCK_INFO is missing.



svn: r8105
2007-02-13 13:31:30 +00:00
6fd5e23d7a * src/docgen/PSDrawDoc.py: Fix center_text and draw_bar
svn: r8103
2007-02-13 04:52:07 +00:00
6b38b47690 * src/plugins/AncestorChart2.py: Fix title color
* src/plugins/DescendChart.py: Fix title color
* src/plugins/TimeLine.py: Fix title color

svn: r8102
2007-02-13 04:49:56 +00:00
39f946aa7f Remove the write_at function. Use draw_text instead. Add center_text to SVGDoc
svn: r8101
2007-02-13 04:46:29 +00:00
71149e03a8 Remove unused functions from BaseDoc
svn: r8100
2007-02-13 04:42:34 +00:00
13f29cc03b In help:
2007-02-12  Lubo Vasko  <pgval@inMail.sk>
	* sk/sk.po: Translation update.

In po:
2007-02-12  Lubo Vasko  <pgval@inMail.sk>
	* sk.po: Translation update.



svn: r8097
2007-02-13 01:50:41 +00:00
e7962896ed Updated Norwegian translation
svn: r8094
2007-02-12 23:14:08 +00:00
20cade8132 2007-02-12 Don Allingham <don@gramps-project.org>
* src/plugins/FindDupes.py: catch window already open message



svn: r8091
2007-02-12 17:24:43 +00:00
71ea4ef0f3 2007-02-11 Don Allingham <don@gramps-project.org>
* src/Merge/_MergePlace.py (MergePlaces.merge): fix typo on 
	add_source_reference



svn: r8086
2007-02-11 18:21:58 +00:00
fb40f0995c Spelling corrections and new translations in help/nl.
Correction of figures in help/nl.


svn: r8080
2007-02-10 09:07:46 +00:00
e9744e54e7 svn: r8077 2007-02-08 06:10:11 +00:00
c7f7068244 2007-02-07 Zsolt Foldvari <zfoldvar@users.sourceforge.net>
* src/DisplayTabs/_NoteTab.py: move "rich text" notes to 2.3 branch.



svn: r8074
2007-02-07 13:24:10 +00:00
76e09f5f6e * src/docgen/PdfDoc.py: provide a more useful error when reportlab crashes
svn: r8070
2007-02-07 04:37:32 +00:00
1fb8b84264 * src/plugins/holidays.xml: 0000906: Canada holidays patch
svn: r8068
2007-02-07 04:03:06 +00:00
9d760ccad0 * src/ReportBase/_ReportDialog.py: 0000905: Typo in catching exceptions in buggy reports
svn: r8067
2007-02-07 04:00:49 +00:00
02e3da53dd 2007-02-06 Don Allingham <don@gramps-project.org>
* src/GrampsDb/_ReadGedcom.py: fix cal/est parsing
	* src/DisplayTabs/_ButtonTab.py: catch window already being open
	* example/gedcom/sample.ged: Add est/cal samples



svn: r8063
2007-02-07 02:27:51 +00:00
8a35e82907 add forgotten place rules
svn: r8058
2007-02-05 22:30:18 +00:00
02e9064fc1 2007-02-04 Don Allingham <don@gramps-project.org>
* src/DataViews/_RelationView.py: default Relationship buttons to insenstive.
	Setting an active person will reenable them.



svn: r8053
2007-02-04 21:30:45 +00:00
a318567198 small improvements in French translation
svn: r8049
2007-02-04 11:14:55 +00:00
73f1ade7ac ignore eclipse files
svn: r8045
2007-02-04 02:31:58 +00:00
49c6ee9cc0 * src/plugins/NarrativeWeb.py: fix 0000894: syntax error on Narrative web plugin
svn: r8042
2007-02-04 02:10:07 +00:00
ded62534f6 Minor translation updates.
svn: r8039
2007-02-03 22:34:22 +00:00
8da06a6840 * src/DateHandler/_DateParser.py (DateParser.init_strings): fix date parsing to allow
for spaces in numerical format. #892


svn: r8037
2007-02-03 18:30:43 +00:00
0021d00c68 2007-02-03 Don Allingham <don@gramps-project.org>
* src/Editors/_EditFamily.py (EditFamily.check_for_family_change): fix
	warning message.



svn: r8035
2007-02-03 18:14:53 +00:00
6182ebdcfb 2007-02-02 Don Allingham <don@gramps-project.org>
* src/Editors/_EditFamily.py (EditFamily.check_for_family_change): update on data change
	from family-update signal



svn: r8031
2007-02-03 06:38:44 +00:00
60812d4e09 2007-01-30 Don Allingham <don@gramps-project.org>
* src/Editors/_EditFamily.py: catch family-delete signal



svn: r8030
2007-02-03 04:51:52 +00:00
3138 changed files with 612560 additions and 2652201 deletions

18
.gitattributes vendored
View File

@ -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

View File

@ -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
View File

@ -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*/

View File

@ -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
View File

@ -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
View File

@ -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$

View File

@ -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

View File

@ -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
View 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$

19821
ChangeLog

File diff suppressed because it is too large Load Diff

8349
ChangeLog.old Normal file

File diff suppressed because it is too large Load Diff

407
FAQ
View File

@ -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$

View File

@ -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
View File

@ -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.

View File

@ -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
View 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

2316
NEWS

File diff suppressed because it is too large Load Diff

40
README Normal file
View 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
View File

@ -1,196 +0,0 @@
The Gramps Project ( https://gramps-project.org )
===================
[![GitHub CI](https://github.com/gramps-project/gramps/actions/workflows/gramps-ci.yml/badge.svg?event=push&branch=master)](https://github.com/gramps-project/gramps/actions/workflows/gramps-ci.yml?query=branch%3Amaster)
[![codecov.io](https://codecov.io/github/gramps-project/gramps/coverage.svg?branch=master)](https://app.codecov.io/gh/gramps-project/gramps/branch/master)
[![Translation status](https://hosted.weblate.org/widgets/gramps-project/-/gramps/svg-badge.svg)](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

View File

@ -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
View File

@ -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
View 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
])

View File

@ -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

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

View File

@ -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

View File

@ -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()

View File

@ -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()

View File

@ -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()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

View File

@ -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")

Binary file not shown.

21
autogen.sh Executable file
View 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

View File

@ -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

File diff suppressed because it is too large Load Diff

571
config.rpath Executable file
View 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

File diff suppressed because it is too large Load Diff

247
configure.in Normal file
View 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
View 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)

View File

@ -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 &lt;<html:a href="mailto:shura@gramps-project.org">shura@gramps-project.org</html:a>&gt;
</author>
<author title="contributor">
Arturas Sleinius &lt;<html:a href="mailto:asleinius@users.sourceforge.net">asleinius@users.sourceforge.net</html:a>&gt;
</author>
<author title="author">
Benny Malengier &lt;<html:a href="mailto:benny.malengier@gramps-project.org">benny.malengier@gramps-project.org</html:a>&gt;
</author>
<author title="contributor">
Boril Gourinov &lt;<html:a href="mailto:boril.gourinov@gmail.com">boril.gourinov@gmail.com</html:a>&gt;
</author>
<author title="author">
Brian Matherly &lt;<html:a href="mailto:brian@gramps-project.org">brian@gramps-project.org</html:a>&gt;
</author>
<author title="author">
Don Allingham &lt;<html:a href="mailto:don@gramps-project.org">don@gramps-project.org</html:a>&gt;
</author>
<author title="author">
Donald A. Peterson &lt;<html:a href="mailto:"></html:a>&gt;
</author>
<author title="author">
Doug Blank &lt;<html:a href="mailto:doug.blank@gmail.com">doug.blank@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Eero Tamminen &lt;<html:a href="mailto:eerot@users.sourceforge.net">eerot@users.sourceforge.net</html:a>&gt;
</author>
<author title="contributor">
Erik De Richter &lt;<html:a href="mailto:erikdrgm@users.sourceforge.net">erikdrgm@users.sourceforge.net</html:a>&gt;
</author>
<author title="contributor">
Espen Berg &lt;<html:a href="mailto:espenbe@gmail.com">espenbe@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Gary Burton &lt;<html:a href="mailto:gary.burton@zen.co.uk">gary.burton@zen.co.uk</html:a>&gt;
</author>
<author uid="gbritton" title="contributor">
Gerald Britton &lt;<html:a href="mailto:gerald.britton@gmail.com">gerald.britton@gmail.com</html:a>&gt;
</author>
<author title="contributor">
James G Sack &lt;<html:a href="mailto:jgsack@san.rr.com">jgsack@san.rr.com</html:a>&gt;
</author>
<author title="contributor">
Janne Kovesjärvi &lt;<html:a href="mailto:janne.kovesjarvi@gmail.com">janne.kovesjarvi@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Jason Simanek &lt;<html:a href="mailto:jsimanek@gmail.com">jsimanek@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Jérôme Rapinat &lt;<html:a href="mailto:romjerome@yahoo.fr">romjerome@yahoo.fr</html:a>&gt;
</author>
<author title="contributor">
Joan Creus &lt;<html:a href="mailto:joan.creus@gmail.com">joan.creus@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Josip Pisoj &lt;<html:a href="mailto:josip@pisoj.com">josip@pisoj.com</html:a>&gt;
</author>
<author title="contributor">
Julio Sánchez &lt;<html:a href="mailto:julio.sanchez@gmail.com">julio.sanchez@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Kees Bakker &lt;<html:a href="mailto:kees.bakker@xs4all.nl">kees.bakker@xs4all.nl</html:a>&gt;
</author>
<author title="contributor">
Konstantin Dorichev &lt;<html:a href="mailto:kdorichev@gmail.com">kdorichev@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Lubo Vasko &lt;<html:a href="mailto:pgval@inMail.sk">pgval@inMail.sk</html:a>&gt;
</author>
<author title="contributor">
Luigi Toscano &lt;<html:a href="mailto:luigi.toscano@tiscali.it">luigi.toscano@tiscali.it</html:a>&gt;
</author>
<author title="contributor">
Luiz Gonzaga dos Santos Filho &lt;<html:a href="mailto:lfilho@gmail.com">lfilho@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Łukasz Rymarczyk &lt;<html:a href="mailto:yenidai@poczta.onet.pl">yenidai@poczta.onet.pl</html:a>&gt;
</author>
<author title="contributor">
Michiel Nauta &lt;<html:a href="mailto:m.d.nauta@hetnet.nl">m.d.nauta@hetnet.nl</html:a>&gt;
</author>
<author title="contributor">
Mirko Leonhäuser &lt;<html:a href="mailto:mirko@leonhaeuser.de">mirko@leonhaeuser.de</html:a>&gt;
</author>
<author title="contributor">
Morten Bo Johansen &lt;<html:a href="mailto:mbj@spamcop.net">mbj@spamcop.net</html:a>&gt;
</author>
<author title="author">
Martin Hawlisch &lt;<html:a href="mailto:martin.hawlisch@gmx.de">martin.hawlisch@gmx.de</html:a>&gt;
</author>
<author title="contributor">
Nick Hall &lt;<html:a href="mailto:nick__hall@hotmail.com">nick__hall@hotmail.com</html:a>&gt;
</author>
<author title="contributor">
Paul Culley &lt;<html:a href="mailto:paulr2787@gmail.com">paulr2787@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Peter Landgren &lt;<html:a href="mailto:peter.talken@telia.com">peter.talken@telia.com</html:a>&gt;
</author>
<author title="contributor">
Raphael Ackermann &lt;<html:a href="mailto:raphael.ackermann@gmail.com">raphael.ackermann@gmail.com</html:a>&gt;
</author>
<author title="author">
Richard Taylor &lt;<html:a href="mailto:rjt-gramps@thegrindstone.me.uk">rjt-gramps@thegrindstone.me.uk</html:a>&gt;
</author>
<author title="contributor">
Serge Noiraud &lt;<html:a href="mailto:Serge.Noiraud@free.fr">Serge.Noiraud@free.fr</html:a>&gt;
</author>
<author title="contributor">
Sigmund Lorentsen &lt;<html:a href="mailto:sigmund.lorentsen@tele2.no">sigmund.lorentsen@tele2.no</html:a>&gt;
</author>
<author title="contributor">
Stefan Bjork &lt;<html:a href="mailto:betula@users.sourceforge.net">betula@users.sourceforge.net</html:a>&gt;
</author>
<author title="contributor">
Stéphane Charette &lt;<html:a href="mailto:stephanecharette@gmail.com">stephanecharette@gmail.com</html:a>&gt;
</author>
<author title="author">
Tim Waugh &lt;<html:a href="mailto:twaugh@redhat.com">twaugh@redhat.com</html:a>&gt;
</author>
<author title="contributor">
Vassilii Khachaturov &lt;<html:a href="mailto:vassilii@tarunz.org">vassilii@tarunz.org</html:a>&gt;
</author>
<author title="contributor">
Zdeněk Hataš &lt;<html:a href="mailto:zdenek.hatas@gmail.com">zdenek.hatas@gmail.com</html:a>&gt;
</author>
<author title="author">
Rob G. Healey &lt;<html:a href="mailto:robhealey1@gmail.com">robhealey1@gmail.com</html:a>&gt;
</author>
<author title="contributor">
Zsolt Foldvari &lt;<html:a href="mailto:zfoldvar@users.sourceforge.net">zfoldvar@users.sourceforge.net</html:a>&gt;
</author>
<author title="contributor">
Craig J. Anderson &lt;<html:a href="mailto:ander882@hotmail.com">ander882@hotmail.com</html:a>&gt;
</author>
<author title="author">
Tim G L Lyons &lt;<html:a href="mailto:tim.g.lyons@gmail.com">tim.g.lyons@gmail.com</html:a>&gt;
</author>
<author title="author">
John Ralls &lt;<html:a href="mailto:jralls@ceridwen.us">jralls@ceridwen.us</html:a>&gt;
</author>
</authors>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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%;
}

View File

@ -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);
}

View File

@ -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";
}

View File

@ -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;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -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; }

View File

@ -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; }

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

7
data/gramps.applications Normal file
View 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

View File

@ -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
View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

40
data/gramps.xml.in Normal file
View 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="&lt;!DOCTYPE database" offset="0:256"/>
<match type="string" value="&lt;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>

View File

@ -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>

View File

@ -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
>

View File

@ -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>

Some files were not shown because too many files have changed in this diff Show More