Compare commits

..

184 Commits

Author SHA1 Message Date
Stéphane Charette 1af6e6cf63 updated debian package files
svn: r14731
2010-03-10 09:19:50 +00:00
Stéphane Charette c54a3cc0d4 update version string and copyright year in "about" dialog window
svn: r14728
2010-03-10 07:42:56 +00:00
Erik De Richter dff7c4a8b5 update nl translation
svn: r14727
2010-03-10 07:13:01 +00:00
Nick Hall d4d71670e8 3687: Prevent multiple re-build of views when name format changed
svn: r14724
2010-03-09 22:39:22 +00:00
Benny Malengier 1b4f86ad2d make notrelated ok in glade designer
svn: r14722
2010-03-09 20:59:46 +00:00
Boril Gourinov 47f4566a9c Update of Bulgarian translation, 99.46% ready
svn: r14721
2010-03-09 20:57:04 +00:00
Benny Malengier 1c58e1c7b2 add help button to changenames as it is assumed in the code
svn: r14719
2010-03-09 20:53:09 +00:00
Espen Berg 12714fd6f1 Updated Norwegian bokmål translation
svn: r14718
2010-03-09 19:09:03 +00:00
Nick Hall 57e2ee81d4 Add navigation menu items to place tree view
svn: r14716
2010-03-09 17:40:50 +00:00
Jérôme Rapinat 6ca4f6b84f 2 new strings, update chinese and french translations
svn: r14715
2010-03-09 17:11:56 +00:00
Mirko Leonhäuser 9150d59c1b Updated german translation
svn: r14713
2010-03-09 13:53:53 +00:00
Peter Landgren 3696ea6dd4 Last? update for 3.2.
svn: r14712
2010-03-09 12:54:20 +00:00
Peter Landgren a8da4bf460 Add message if addon has wrong version.
svn: r14711
2010-03-09 12:51:18 +00:00
Joan Creus 4c28226a3f Translation update
svn: r14706
2010-03-09 01:40:29 +00:00
Doug Blank d6d386520c Used module desc rather than plugin desc
svn: r14705
2010-03-09 01:23:08 +00:00
Boril Gourinov d162eca43d Update of Bulgarian translation, 99% ready
svn: r14703
2010-03-08 21:46:51 +00:00
Arturas Sleinius f9e3d068d3 Updated Lithuanian translation
svn: r14702
2010-03-08 20:12:09 +00:00
Josip Pisoj 397809cd7b bug #3662: SoundEx works only for ascii characters
svn: r14701
2010-03-08 18:13:43 +00:00
Mirko Leonhäuser 728c6f3c3b Updated german translation
svn: r14699
2010-03-08 17:53:30 +00:00
Mirko Leonhäuser 99160920f1 Updated german translation
svn: r14698
2010-03-08 13:09:02 +00:00
Peter Landgren 4bd50c6749 Swedish update after fixed typo in gramplet.gpr.py.
svn: r14695
2010-03-08 12:07:02 +00:00
Peter Landgren c7ec7125f7 Fixed a typo.
svn: r14694
2010-03-08 12:05:10 +00:00
Peter Landgren e5c53f3734 Swedish update
svn: r14693
2010-03-08 11:51:28 +00:00
Rob G. Healey 6e64cd02bc Alphabetized the authors file. If you see an error, then I apologize and will fix it if you don't.
svn: r14692
2010-03-08 07:24:17 +00:00
Espen Berg 4dad6d00db Updated Norwegian bokmål translation
svn: r14691
2010-03-08 07:22:09 +00:00
Doug Blank 438793abf5 3673: People with less than 1 year seems to be ignored on 'Age on Date' gramplet and 'Records' report
svn: r14688
2010-03-08 02:58:52 +00:00
Luigi Toscano a8506d868a Translation updates.
svn: r14687
2010-03-07 21:49:04 +00:00
Doug Blank ed7f937da2 Removed Django import/export and CalcEstimateDates (moved to addons)
svn: r14686
2010-03-07 21:48:29 +00:00
Arturas Sleinius 3f8586fed9 Updated Lithuanian translation
svn: r14683
2010-03-07 21:20:06 +00:00
Mirko Leonhäuser c6c6307318 updated german translation
svn: r14682
2010-03-07 21:04:37 +00:00
Doug Blank 0d7398c09b Speed-up for right-click menu
svn: r14680
2010-03-07 20:56:56 +00:00
Nick Hall 949c1494e0 Bug fix for multiple sort keys
svn: r14678
2010-03-07 19:48:30 +00:00
Benny Malengier cb7227f692 3175: Crash when undoing a family edit- part of undo being slow
svn: r14676
2010-03-07 19:38:48 +00:00
Erik De Richter 9da1431b6c update nl translation
svn: r14675
2010-03-07 19:36:36 +00:00
Nick Hall bf0a1cc434 Allow multiple sort keys on tree views
svn: r14674
2010-03-07 17:49:30 +00:00
Nick Hall 137bc788c5 Fix sort order in flat person view
svn: r14671
2010-03-07 17:26:27 +00:00
Jérôme Rapinat c88c876e38 new template, strings were added, not modified
svn: r14670
2010-03-07 17:19:24 +00:00
Joan Creus 41c786cc18 Translation update
svn: r14668
2010-03-07 16:49:39 +00:00
Benny Malengier 6aeba201a4 3657: Calculation od step siblings is incorrect in narrated Web report
svn: r14666
2010-03-07 16:08:53 +00:00
Doug Blank 56c898064d Added FAQs with links from user list and wiki
svn: r14665
2010-03-07 16:08:12 +00:00
Benny Malengier e0b0b14c2d 3667: Addings a new person and changing the name grouping results in frozen window
svn: r14663
2010-03-07 15:34:32 +00:00
Doug Blank 129d6e6fbd Added comments for gramplets
svn: r14660
2010-03-07 14:54:55 +00:00
Benny Malengier f658139fb4 3672: Crosshair image missing from GeoView
svn: r14657
2010-03-07 09:10:00 +00:00
Joan Creus bf00316be0 Updating translation
svn: r14655
2010-03-06 23:30:00 +00:00
Nick Hall 8bb52bb0d9 Add my name to authors file
svn: r14651
2010-03-06 16:09:15 +00:00
Doug Blank 6a7594b95f 3665: Crash with Webcal report when linking with WebReport
svn: r14649
2010-03-06 13:31:09 +00:00
Peter Landgren 2f52deae58 One file was listed twice.
svn: r14647
2010-03-06 10:54:37 +00:00
Benny Malengier 677ad44e44 make fanchart a stable plugin
svn: r14644
2010-03-06 10:10:45 +00:00
Luigi Toscano ae58e5a8d4 Translation updates.
svn: r14643
2010-03-05 23:30:16 +00:00
Benny Malengier 23d80230a9 3441: Need to connect on_result_delete_event on glade dialogs - part 2
svn: r14642
2010-03-05 22:52:24 +00:00
Benny Malengier 3511390a52 3441: Need to connect on_result_delete_event on glade dialogs
svn: r14639
2010-03-05 22:34:50 +00:00
Espen Berg 842432b71d Norwegian bokmål is fully translated. I could not wait to complete when I had so few phrases left from last commit
svn: r14638
2010-03-05 22:16:28 +00:00
Espen Berg 25ac9a4f20 Enough translation for tonight. 12 fuzzy and 7 untranslated strings remaining
svn: r14636
2010-03-05 20:13:25 +00:00
Jérôme Rapinat 011ff47007 geoview icon for zoom missing
svn: r14634
2010-03-05 18:57:53 +00:00
Jérôme Rapinat 10028218eb typo, only copy geo-place-add.svg
svn: r14632
2010-03-05 17:49:35 +00:00
Jérôme Rapinat 235180132c PNG images for Gnome UI (SVG missing)
svn: r14630
2010-03-05 17:42:31 +00:00
Benny Malengier 4ff82a7581 3271: Verify tool glade file needs to have elements renamed
svn: r14628
2010-03-05 15:43:47 +00:00
Benny Malengier 01f264fa8b 2043: Error on cosole output when Esc press in configure window of custom text in the book report
svn: r14627
2010-03-05 15:24:47 +00:00
Espen Berg 571c6305ea Some more done on Norwegian translation
svn: r14625
2010-03-05 12:01:56 +00:00
Peter Landgren 9ad6dbef8f Found extra dot after abbreviation for birth and death.
svn: r14624
2010-03-05 11:01:34 +00:00
Stéphane Charette 17b0fa4fc9 update version string now that 3.2.0-0beta1 has been released
svn: r14623
2010-03-05 09:06:44 +00:00
Benny Malengier 8b4b8da242 remove pedigreeviewext completely
svn: r14621
2010-03-05 07:59:22 +00:00
Espen Berg 046d0fc897 Some more revision on Norwegian translation
svn: r14620
2010-03-04 22:05:55 +00:00
Jérôme Rapinat 1c58f0f0ba minors improvements
svn: r14618
2010-03-04 14:32:08 +00:00
Peter Landgren 7b40ee1aea Fixed another three errors in string formatting using {}.
svn: r14617
2010-03-04 14:11:59 +00:00
Peter Landgren b1c33334d2 Fixed another two errors in string formatting using {}.
svn: r14615
2010-03-04 13:58:08 +00:00
Peter Landgren b84716e1e9 Fixed another error in string formatting using {}.
svn: r14613
2010-03-04 13:49:57 +00:00
Peter Landgren c134937e9d Fixed another error in string formatting using {}.
svn: r14610
2010-03-04 13:38:30 +00:00
Jérôme Rapinat 5647b44801 3659: unable to load MediaManager
svn: r14608
2010-03-04 13:25:30 +00:00
Jérôme Rapinat 7e01ef0f6b 3659: unable to load MediaManager
svn: r14606
2010-03-04 11:26:28 +00:00
Jérôme Rapinat 11437b7c27 3661: Typo on all_events.py quickview
svn: r14604
2010-03-04 11:15:28 +00:00
Espen Berg 23bad21b29 Some more revision on Norwegian translation
svn: r14603
2010-03-04 08:20:08 +00:00
Doug Blank 8546dc91e5 Added some protection on loading bad views
svn: r14602
2010-03-04 01:11:48 +00:00
Josip Pisoj cd0d479ec1 hr translations update
svn: r14600
2010-03-04 00:45:30 +00:00
Nick Hall 6fe4cff9e2 Remove extended pedigree view
svn: r14599
2010-03-03 23:21:12 +00:00
Jérôme Rapinat 5a76e262c6 typo
svn: r14595
2010-03-03 08:51:55 +00:00
Jérôme Rapinat acb3371b72 3654: Cannot print title on all_relations quick view
svn: r14593
2010-03-03 08:43:17 +00:00
Boril Gourinov adfc952c02 Update of Bulgarian translation, fixed some bugs
svn: r14590
2010-03-02 23:10:38 +00:00
Gary Burton 82b1c17360 Do not explicitly set an item width as it causes excessive whitespace around thumbnails when the image description becomes longer.
svn: r14588
2010-03-02 21:56:35 +00:00
Espen Berg 16d631bbb3 Some more revision on Norwegian translation
svn: r14587
2010-03-02 21:31:29 +00:00
Mirko Leonhäuser 3e4b3f69a9 Updated _Date_de.py
svn: r14584
2010-03-02 20:26:46 +00:00
Mirko Leonhäuser f9415e8fd1 updated german translation
svn: r14583
2010-03-02 20:26:10 +00:00
Erik De Richter f6d9997204 update nl translation
svn: r14582
2010-03-02 17:11:30 +00:00
Nick Hall f21fb8d6d8 Update history and MRU lists when objects are deleted
svn: r14580
2010-03-02 15:48:05 +00:00
Peter Landgren 9efe53787d Swedish update
svn: r14579
2010-03-02 12:40:54 +00:00
Serge Noiraud 5c11bc6f09 GeoView : bug 3517 : filter in menu
svn: r14578
2010-03-02 11:56:38 +00:00
Benny Malengier 027b333860 03650: Cannot execute changes proposed by Calculate Estimated Date
svn: r14576
2010-03-02 11:19:59 +00:00
Benny Malengier 0a2d52a5a0 03651: Deleting more than one person causes crash
Actually these are fixes trying to fix this bug


svn: r14574
2010-03-02 11:13:19 +00:00
Jérôme Rapinat 3dcc74a173 merge and check some translations
svn: r14573
2010-03-02 11:07:18 +00:00
Jérôme Rapinat fe337c21cd check some translations
svn: r14572
2010-03-02 10:53:19 +00:00
Erik De Richter b2d58a27e4 update nl translation
svn: r14571
2010-03-02 10:33:01 +00:00
Jérôme Rapinat c9cef9e4da check some translations, wrong permission
svn: r14570
2010-03-02 10:31:20 +00:00
Jérôme Rapinat 7fdf47ac3c new template, merge and check some translations
svn: r14569
2010-03-02 10:13:21 +00:00
Espen Berg 1e70d474f6 Some more Norwegian translation
svn: r14568
2010-03-02 09:48:49 +00:00
Peter Landgren 2169c8ab4f Fix of issue 3653 (Windows only issue).
svn: r14566
2010-03-02 09:13:34 +00:00
Benny Malengier 17f7e5f6fd include fanchart in distribution
svn: r14564
2010-03-02 08:12:31 +00:00
Espen Berg afd9b2f40f Some revision on Norwegian translation. Got rid of all nasty mismatches. Now only normal fuzzys and untranslated strings remaining
svn: r14563
2010-03-02 07:48:50 +00:00
Rob G. Healey 33b209eed7 Fixed two typos in stylesheet.
svn: r14560
2010-03-02 01:33:53 +00:00
Serge Noiraud 90dc718dd0 GeoView : bad word not translatable.
svn: r14558
2010-03-01 22:02:26 +00:00
Mirko Leonhäuser c79c29ec9a Updated _Date_de.py translated months
svn: r14556
2010-03-01 21:37:49 +00:00
Mirko Leonhäuser 605f9d0f24 updated german translation
svn: r14555
2010-03-01 21:34:33 +00:00
Nick Hall 01c80b19db 3603: Make family option in reports default to the active family
svn: r14553
2010-03-01 19:17:59 +00:00
Peter Landgren 049698426e Fix of isue 3645.
svn: r14552
2010-03-01 18:13:48 +00:00
Nick Hall cba3502131 3646: Remove redundant code
svn: r14549
2010-03-01 17:45:07 +00:00
Jérôme Rapinat dfa9118384 3596: Web reports dialogs use too large length value (Download section)
svn: r14548
2010-03-01 17:20:49 +00:00
Jérôme Rapinat 2e84a2457b 3596: Web reports dialogs use too large length value
svn: r14547
2010-03-01 15:55:30 +00:00
Benny Malengier ee8559dd69 3542: Scratchpad does not remove objects when changing database
svn: r14545
2010-03-01 12:52:33 +00:00
Peter Landgren e984e15c9d Minor update of Swedish translation.
svn: r14544
2010-03-01 10:48:28 +00:00
Erik De Richter 393a2d9748 update nl translation
svn: r14543
2010-03-01 10:29:00 +00:00
Benny Malengier 96fbb98733 Fix bug: allow drop from Nautilius/Dolphin
svn: r14541
2010-03-01 08:57:37 +00:00
Benny Malengier 9b30450f33 Fix bug: allow drop from Nautilius/Dolphin
svn: r14539
2010-03-01 08:51:17 +00:00
Boril Gourinov 92b0b99e25 Update of Bulgarian translation
svn: r14537
2010-02-28 21:59:37 +00:00
Josip Pisoj 755807436a Updated Croatian translations
svn: r14536
2010-02-28 21:39:45 +00:00
Peter Landgren 155aea5d72 Further improvments to drag and drop mult files in Windows.
svn: r14534
2010-02-28 21:24:34 +00:00
Gary Burton 3c80aaa2b0 Fix for 0003629: Cannot set entry on marker field into NotRelated tool
svn: r14532
2010-02-28 21:12:47 +00:00
Mirko Leonhäuser e91cdcbd8b updated german translation
svn: r14531
2010-02-28 21:12:23 +00:00
Arturas Sleinius 38a90e201f Updated Lithuanian translation
svn: r14530
2010-02-28 20:12:32 +00:00
Gary Burton 61bff1a65c Align vertical position of person label and edit button
svn: r14528
2010-02-28 19:58:43 +00:00
Nick Hall 91281166c1 Only update display counts for nodes with handles
svn: r14526
2010-02-28 17:24:10 +00:00
Nick Hall 17e9750bb5 3448: Prevent removal of hidden root node
svn: r14524
2010-02-28 17:01:11 +00:00
Gary Burton 33414b0c78 Improve GEDCOM round trip by parsing SOUR and NOTE tokens for FACT attributes. Gramps was previously exporting this data but ignoring it on import.
svn: r14522
2010-02-28 16:17:54 +00:00
Jérôme Rapinat ec43a7122c generate template with last POTFILES.in
svn: r14521
2010-02-28 15:38:55 +00:00
Jérôme Rapinat 76c1044a64 new messages, typo and update translation template
svn: r14519
2010-02-28 15:24:50 +00:00
Benny Malengier d91cbd91bf 3631: Cannot start Gramps without any view loaded (OK, it is stupid...)
svn: r14517
2010-02-28 14:27:17 +00:00
Benny Malengier 644d0ac540 Fix drag/drop bug: allow multiple drop on gallery
svn: r14516
2010-02-28 14:03:52 +00:00
Gary Burton 99c8ae9181 Fix GEDCOM import of CHAN for SOUR, REPO, OBJE. Bug 3373.
svn: r14514
2010-02-28 13:11:52 +00:00
Arturas Sleinius 57f66d842f Updated Lithuanian translation
svn: r14512
2010-02-27 23:07:38 +00:00
Arturas Sleinius 83c19420b4 Updated Lithuanian translation
svn: r14511
2010-02-27 18:21:39 +00:00
Peter Landgren d1c4c853bb Fixed a typo 'juct' -> 'just'.
svn: r14510
2010-02-27 14:24:12 +00:00
Peter Landgren 6f90f1cb46 Some finetuning of translation.
svn: r14507
2010-02-27 13:44:16 +00:00
Peter Landgren b69ee2b401 Fix of issue 3642.
svn: r14505
2010-02-27 13:27:33 +00:00
Doug Blank ab0021c02b 3639: Check and Repair tool fails with unsupported operand
svn: r14504
2010-02-27 12:14:25 +00:00
Jérôme Rapinat f4fb59aefe typo
svn: r14501
2010-02-27 09:29:03 +00:00
Josip Pisoj f660795ce1 Updated Croatian translations
svn: r14500
2010-02-26 23:04:02 +00:00
Peter Landgren fe1d2530b1 Had missed to add constfunct.py.
svn: r14499
2010-02-26 10:33:25 +00:00
Peter Landgren 81ad0c8602 Swedish update.
svn: r14498
2010-02-26 10:27:11 +00:00
Erik De Richter fbc6543ea7 update nl translation
svn: r14497
2010-02-26 10:23:45 +00:00
Peter Landgren c639654f9b Fixed a typo.
svn: r14496
2010-02-26 07:14:36 +00:00
Doug Blank ac8bc209e1 3639: Check and Repair tool fails with unsupported operand
svn: r14494
2010-02-26 01:56:09 +00:00
Mirko Leonhäuser 2e9066a6cf Update german translation
svn: r14489
2010-02-25 21:47:56 +00:00
Jérôme Rapinat d99f6eac3f typo
svn: r14487
2010-02-25 17:17:22 +00:00
Rob G. Healey 9dbf20d795 Fixed error on line 691. Thanks Peter.
svn: r14485
2010-02-25 16:51:55 +00:00
Peter Landgren c0cc2ff7ba Swedish update.
svn: r14481
2010-02-25 15:15:09 +00:00
Benny Malengier 66639dd2cb translate category in menu and title
svn: r14480
2010-02-25 13:01:48 +00:00
Doug Blank 38290f7c57 Fixed gettext formulation error
svn: r14478
2010-02-25 11:29:26 +00:00
Jérôme Rapinat 43dc1d299b update french translation
svn: r14477
2010-02-25 09:02:02 +00:00
Rob G. Healey 9710e7adcf Fixed the problem with ngettext on line 1462.
svn: r14476
2010-02-25 04:47:52 +00:00
Rob G. Healey d719751914 Fixed a ngettext issue on line 1462 from earlier today.
svn: r14475
2010-02-25 04:34:14 +00:00
Rob G. Healey 96c80a44e2 Fixed error blocking start of software.
svn: r14474
2010-02-25 04:16:10 +00:00
Doug Blank 9dfa170293 3628: Frames not set on CalcToolManagedWindow class
svn: r14473
2010-02-25 01:21:37 +00:00
Mirko Leonhäuser f3b7e35c69 Update german translation
svn: r14471
2010-02-24 23:59:48 +00:00
Rob G. Healey 4c9197b403 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14470
2010-02-24 23:11:28 +00:00
Rob G. Healey 3ed392bab0 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14469
2010-02-24 23:09:32 +00:00
Rob G. Healey edd6fc6ee7 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14468
2010-02-24 23:08:16 +00:00
Rob G. Healey ae81cbc6ee Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14467
2010-02-24 23:07:23 +00:00
Rob G. Healey c9d41950eb Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14466
2010-02-24 23:06:21 +00:00
Rob G. Healey 8b0b4a3785 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14465
2010-02-24 23:05:16 +00:00
Rob G. Healey 4989c9e5d4 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14464
2010-02-24 23:04:32 +00:00
Rob G. Healey 78c286fce2 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14463
2010-02-24 23:03:43 +00:00
Rob G. Healey ec7001837a Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14462
2010-02-24 23:02:48 +00:00
Rob G. Healey 4bf6ab292d Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14461
2010-02-24 23:01:38 +00:00
Rob G. Healey 6f6c74ae8b Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14460
2010-02-24 23:00:12 +00:00
Rob G. Healey 8440ccbf87 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14459
2010-02-24 22:59:07 +00:00
Rob G. Healey 6cbe9e3c0d Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14458
2010-02-24 22:58:17 +00:00
Rob G. Healey f99b1ac371 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14457
2010-02-24 22:57:18 +00:00
Rob G. Healey 848eb99bb7 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14456
2010-02-24 22:56:31 +00:00
Rob G. Healey d1f26d9f7a Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14455
2010-02-24 22:55:25 +00:00
Rob G. Healey 51ff6e4569 Adding named variables to format strings for errors in 'make distcheck' to work.
svn: r14454
2010-02-24 22:54:03 +00:00
Erik De Richter 69e08ceafb update nl translation
svn: r14453
2010-02-24 17:14:30 +00:00
Peter Landgren fc080a686b Swedish update.
svn: r14452
2010-02-24 13:59:32 +00:00
Jérôme Rapinat bb5428d725 Update Croatian translation (by Josip)
svn: r14450
2010-02-24 10:30:37 +00:00
Peter Landgren 5604a27bf4 Fix of issue 3534.
svn: r14445
2010-02-23 13:44:42 +00:00
Peter Landgren 63430a1ce3 Fix of issue 3534.
svn: r14444
2010-02-23 13:43:21 +00:00
Serge Noiraud 7496974691 GeoView : Don't use a dot at the end of messages in the configuration window.
svn: r14442
2010-02-22 18:08:12 +00:00
Jérôme Rapinat 3a2af65bc0 merge Norwegian Nynorsk (3.1.3 -> 3.2)
svn: r14441
2010-02-22 16:30:06 +00:00
Jérôme Rapinat 26c80611b2 disable translations without active translators and too many untranslated strings
svn: r14440
2010-02-22 15:41:22 +00:00
Erik De Richter 641b7e5e07 update nl translation
svn: r14438
2010-02-22 14:26:28 +00:00
Doug Blank f6af0cb380 Changes to allow distcheck to pass
svn: r14437
2010-02-22 12:41:06 +00:00
Peter Landgren a5e4bf8637 Missed () in some contsfunc.win().
svn: r14435
2010-02-22 08:44:07 +00:00
Stéphane Charette 077d0ded1f preliminary 3.2 release notes, based on Benny's document
svn: r14433
2010-02-22 03:46:31 +00:00
Stéphane Charette 7b1eae9a5b set 3.2.0 version to 'beta1'
svn: r14432
2010-02-22 03:01:00 +00:00
Serge Noiraud 5a46c30439 GeoView : Allow message translation.
svn: r14429
2010-02-21 20:56:36 +00:00
Mirko Leonhäuser 9e742feac4 Update german translation not komplete jet
svn: r14427
2010-02-21 16:06:28 +00:00
Brian Matherly eb4e5ddc1f Create a maintenance branch for the 3.2.x series of releases.
svn: r14425
2010-02-21 14:14:21 +00:00
2745 changed files with 898167 additions and 2005470 deletions
-9
View File
@@ -1,9 +0,0 @@
# Make Github recognise Gramps as a Python project,
# by marking .sql files as text files!
# See: https://github.com/github/linguist/issues/2462
# https://github.com/github/linguist/blob/master/README.md
*.sql linguist-language=txt
# Have Github ignore js vendored files.
# https://github.com/gramps-project/gramps/tree/master/data/javascript
#data/javascript/*.js linguist-vendored
-21
View File
@@ -1,21 +0,0 @@
# Python
*.py[cod]
# Distutils
MANIFEST
build/
dist/
# Gramps
data/tips.xml
gramps/plugins/lib/holidays.xml
po/.intltool-merge-cache
docs/_build/
# Editing
tags
*.swp
# Testing
test/data
gramps/webapp/grampsdb/fixtures/initial_data.json
-32
View File
@@ -1,32 +0,0 @@
# After changing this file, check it on:
# http://lint.travis-ci.org/
language: python
#python:
# - 3.3
# - 3.4
install:
- git clone --depth=50 --branch=maintenance/gramps42 git://github.com/gramps-project/gramps.git gramps-project/gramps
- cd gramps-project/gramps
- time sudo apt-get update
- travis_retry sudo apt-get install gir1.2-pango gir1.2-gtk xdg-utils librsvg2-common libglib2.0-dev intltool
- travis_retry sudo apt-get install python3-gobject python3-gi python3-cairo python3-gi-cairo python3-bsddb3 python3-dev python3-nose
- travis_retry sudo apt-get install python3-mock
# - travis_retry curl https://bootstrap.pypa.io/get-pip.py | sudo python3
# - travis_retry sudo pip3 install Django==1.7
# - travis_retry sudo pip3 install pyicu==1.8
# - travis_retry sudo pip3 install mock
- python3 setup.py build
#before_script:
# - sudo Xvfb :99 -ac &
# - export DISPLAY=:99
script:
- mkdir -p /home/travis/.gramps/grampsdb/
- nosetests3 --exclude=TestcaseGenerator --exclude=vcard --exclude=merge_ref_test --exclude=user_test --exclude=webapp gramps
+9 -86
View File
@@ -1,94 +1,17 @@
<!-- $Id$ -->
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
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$
+1 -1
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.
-310
View File
@@ -1,310 +0,0 @@
2016-12-15 romjerome <romjerome@users.noreply.github.com>
* gramps/gen/const.py: make official 4.2.5 release
2016-12-15 romjerome <romjerome@users.noreply.github.com>
* NEWS: update News file
2016-12-15 romjerome <romjerome@users.noreply.github.com>
* gramps/plugins/importer/importprogen.py: fix a missing import
2016-12-15 romjerome <romjerome@users.noreply.github.com>
* gramps/gui/views/tags.py: Tag editor: Tweak improvement on buttons
order
2016-12-15 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/widgets/grampletbar.py: 9340: The configparser is
assuming the wrong encoding.
2016-12-14 SNoiraud <serge.noiraud@laposte.net>
* gramps/plugins/webreport/narrativeweb.py: 9563: Sorting in family
tab of narrated web report
2016-12-13 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: fix 0009696
2016-12-14 Sam Manzi <manzi.sam@gmail.com>
* gramps/grampsapp.py, gramps/plugins/gramplet/gramplet.gpr.py,
gramps/plugins/lib/libmetadata.py,
gramps/plugins/lib/maps/constants.py,
gramps/plugins/lib/maps/datelayer.py,
gramps/plugins/lib/maps/dummylayer.py,
gramps/plugins/lib/maps/dummynogps.py,
gramps/plugins/lib/maps/geography.py,
gramps/plugins/lib/maps/kmllayer.py,
gramps/plugins/lib/maps/lifewaylayer.py,
gramps/plugins/lib/maps/markerlayer.py,
gramps/plugins/lib/maps/messagelayer.py,
gramps/plugins/lib/maps/osmgps.py,
gramps/plugins/lib/maps/selectionlayer.py,
gramps/plugins/view/geography.gpr.py: 9801 Silence remaining
PyGIWarning
2016-12-13 SNoiraud <serge.noiraud@laposte.net>
* gramps/plugins/webreport/narrativeweb.py: 9563: Sorting of
relationships in family tab of narrated web report
2016-12-10 Josip <bpisoj@gmail.com>
* gramps/grampsapp.py: Support for Windows Python3 pythonw.exe
2016-12-10 romjerome <romjerome@users.noreply.github.com>
* NEWS: start to update NEWS
2016-12-09 Nick Hall <nick-h@gramps-project.org>
* gramps/gen/utils/location.py: 9799: Use latest valid date rather
than today This is useful for historic places when an event date is not
available.
2016-12-09 Nick Hall <nick-h@gramps-project.org>
* gramps/gen/utils/location.py: 9813: Modify endonym handling in
place displayer If no language code is matched, the default name is now the first in
the list, rather than a name with no language code.
2016-12-09 Nick Hall <nick-h@gramps-project.org>
* gramps/gen/display/place.py: 9737: Fix house number concatenation
2016-12-07 Espen Berg <espenbe@gmail.com>
* gramps/plugins/rel/rel_no.py: Corrected another typo in
relationship calculator, Norwegian
2016-12-07 Espen Berg <espenbe@gmail.com>
* gramps/plugins/rel/rel_no.py: Language correction in Norwegian
locale relationship calculator
2016-12-06 prculley <paulr2787@gmail.com>
* gramps/gen/merge/mergefamilyquery.py: bug 9818 allow merging of
families with one or more parents in common
2016-12-06 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2016-12-05 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/views/navigationview.py: 7309: Jump to Gramps ID
functionality doesn't work
2016-12-05 romjerome <romjerome@users.noreply.github.com>
* po/fr.po: update french translation
2016-12-05 romjerome <romjerome@users.noreply.github.com>
* po/gramps.pot: 9276: update translation strings template No new entry, update references and comments
2016-12-05 romjerome <romjerome@users.noreply.github.com>
* gramps/gui/views/treemodels/placemodel.py: 9276: ability to search
alternate place names when selecting place
2016-12-05 romjerome <romjerome@users.noreply.github.com>
* po/fr.po: typo on french translation
2016-12-04 Espen Berg <espenbe@gmail.com>
* po/nb.po: Cleaned out one more line in nb.po
2016-12-04 Espen Berg <espenbe@gmail.com>
* po/nb.po: The unlocking message is on one loooong line. Inserted
line breaks in Norwegian translation for cleanliness
2016-12-03 Espen Berg <espenbe@gmail.com>
* po/nb.po: Revising Norwegian bokmål language file (at last)
2016-12-03 Espen Berg <espenbe@gmail.com>
* po/nb.po: Revising Norwegian bokmål language file (at last)
2016-12-03 romjerome <romjerome@users.noreply.github.com>
* gramps/plugins/tool/check.py: 9812: 'Check and Repair' tool
ignores some objects with tag support
2016-11-30 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2016-11-29 romjerome <romjerome@users.noreply.github.com>
* gramps/plugins/lib/maps/geography.py: 9815: Fix clear map action
on Geography
2016-11-29 Matti Niemelä <matti.u.niemela@gmail.com>
* po/fi.po: Update finnish translation
2016-11-28 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: czech translation update
2016-11-26 romjerome <romjerome@users.noreply.github.com>
* debian/control: 9801: recommend 'gir1.2-goocanvas-2.0' on debian
package
2016-11-26 romjerome <romjerome@users.noreply.github.com>
* gramps/plugins/tool/check.py: 8555: Database repair tool always
modify all source objects
2016-11-24 romjerome <romjerome@users.noreply.github.com>
* po/fr.po: Update french translation
2016-11-24 romjerome <romjerome@users.noreply.github.com>
* po/gramps.pot: Update translation strings template
2016-11-24 romjerome <romjerome@users.noreply.github.com>
* po/fr.po: typo on french translation
2016-11-22 Nick Hall <nick-h@gramps-project.org>
* gramps/plugins/gramplet/locations.py: 9534: Exclude places outside
valid date ranges
2016-11-10 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2016-11-01 Nick Hall <nick-h@gramps-project.org>
* gramps/gui/glade/editldsord.glade: 9767: Fix icon and tooltip in
LDS editor The icon on the family selection button was removed by mistake in
commit 75009f0.
2016-10-30 prculley <paulr2787@gmail.com>
* gramps/plugins/lib/libgedcom.py: bug 9755, fix duplicated Gramps
IDs on Gedcom import
2016-10-29 Sam Manzi <manzi.sam@gmail.com>
* gramps/gui/configure.py: 9685 Fix Unicode error - Markup for
invalid date format
2016-10-25 prculley <paulr2787@gmail.com>
* gramps/plugins/importer/importcsv.py: Fix bug 9733, CSV import
Fails, 9676, failure for certain types of cross references etc.
2016-10-24 prculley <paulr2787@gmail.com>
* gramps/plugins/importer/importvcard.py: bug 9458, fix Import Vcard
can create multiple surnames with all selected as 'Primary'
2016-10-16 prculley <paulr2787@gmail.com>
* gramps/plugins/lib/libgedcom.py: bug 8993; fix Gedcom import in
some alternate languages; improper date parsing
2016-10-23 romjerome <romjerome@users.noreply.github.com>
* po/fr.po: typo on the french translation
2016-10-21 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/plug/export/_exportassistant.py,
gramps/gui/plug/quick/_textbufdoc.py: 8250 and 9736 : remove patchs.
need to found another solution.
2016-10-18 vantu5z <vantu5z@mail.ru>
* po/ru.po: update russian translation
2016-10-16 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/plug/quick/_textbufdoc.py: 9736: Export options
'Preview' buttons create hidden quickreport.
2016-10-12 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/datehandler/_date_cs.py,
gramps/gen/datehandler/_dateparser.py: 9739: Wrong parsing Numeric
date format for cs_CZ locale
2016-10-11 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/plug/quick/_textbufdoc.py: 9736: Export options
'Preview' buttons create hidden quickreport.
2016-10-04 Matti Niemelä <matti.u.niemela@gmail.com>
* po/fi.po: Update finnish translation
2016-10-03 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2016-10-01 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: czech translation update
2016-09-28 romjerome <romjerome@users.noreply.github.com>
* data/man/en.rst: typo, Change FICHIER to File
2016-09-28 Lajos Nemeséri <nemeseril@gmail.com>
* po/hu.po: Update Hungarian translation
2016-09-25 Nick Hall <nick-h@gramps-project.org>
* gramps/gui/glade/styleeditor.glade: 9721: Fix alignment radio
buttons in style editor
2016-09-16 SNoiraud <serge.noiraud@laposte.net>
* gramps/gui/editors/displaytabs/citationembedlist.py,
gramps/gui/selectors/baseselector.py: 9700: Select Place search &
Source/Citation hierarchy should NOT be expanded
2016-09-13 Sveinn í Felli <sv1@fellsnet.is>
* po/is.po: Add 9693: Icelandic translation update(msgfmt error
fixed)
2016-09-12 Sveinn í Felli <sv1@fellsnet.is>
* po/is.po: Add 9693: Icelandic translation update
2016-09-10 John Ralls <jralls@ceridwen.us>
* mac/Info.plist, mac/gramps.bundle, mac/gramps.modules: Add gir
files to bundle. Enables change of library paths in the typelibs to point at
@executable_path by gtk-mac-bundler.
2016-08-18 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: Revert "Remove pango modules from bundle, pango
no longer uses them." This reverts commit e311de19649371d59c2ab535d4564ee725963b4f because
for the moment we have to build with an older Pango.
2016-08-18 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: escape illegal '--' in comment.
2016-09-04 romjerome <romjerome@users.noreply.github.com>
* bump to '4.2.5'
+104 -81
View File
@@ -1,4 +1,4 @@
**** This is Gramps Frequently Asked Questions ****
**** This is GRAMPS Frequently Asked Questions ****
The questions below frequently come up in mailing list discussions and forums.
This list is by no means complete. If you would like to add questions/answers
@@ -9,23 +9,23 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
==General==
1. What is Gramps?
1. What is GRAMPS?
2. Where do I get it and how much does it cost?
3. Does Gramps exist in other languages?
3. Does GRAMPS exist in other languages?
4. How do I keep backups?
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
6. What is needed to install Gramps under Linux, Solaris, or FreeBSD?
6. What is needed to install GRAMPS under Linux, Solaris, or FreeBSD?
7. Does it work with Windows (tm)?
8. Does it work with the Mac?
9. What are the Minimum Specs to run Gramps?
9. What are the Minimum Specs to run GRAMPS?
==Preferences==
@@ -33,43 +33,43 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
==Collaboration-Portability==
11. Is Gramps compatible with other genealogical software?
11. Is GRAMPS compatible with other genealogical software?
12. Can Gramps read files created by GenApp X?
12. Can GRAMPS read files created by GenApp X?
13. Can Gramps write files readable by GenApp X?
13. Can GRAMPS write files readable by GenApp X?
14. What standards does Gramps support?
14. What standards does GRAMPS support?
15. How do I import data from another genealogy program into Gramps?
15. How do I import data from another genealogy program into GRAMPS?
16. Can I install Gramps on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
16. Can I install GRAMPS on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
==Reports==
17. Can Gramps print a genealogical tree for my family?
17. Can GRAMPS print a genealogical tree for my family?
18. In what formats can Gramps output its reports?
18. In what formats can GRAMPS output its reports?
19. How can I change the default language in reports?
20. Is Gramps compatible with the Internet?
20. Is GRAMPS compatible with the Internet?
21. Can I create custom reports/filters/whatever?
22. Why are non-latin characters displayed as garbage in PDF/PS reports?
23. I would like to contribute to Gramps by writing my favorite report.
23. I would like to contribute to GRAMPS by writing my favorite report.
==Database - Gramps file formats==
==Database - GRAMPS file formats==
24. What is the maximum database size (bytes) Gramps can handle?
24. What is the maximum database size (bytes) GRAMPS can handle?
25. How many people can Gramps database handle?
25. How many people can GRAMPS database handle?
26. My database is really big. Is there a way around loading all the data into memory?
27. Can I run Gramps from a database on a NFS share?
27. Can I run GRAMPS from a database on a NFS share?
28. Why is the database format not portable?
@@ -77,116 +77,123 @@ to this list, please email your suggestions to gramps-devel@lists.sf.net
29. I found a bug and I want it fixed right now! What do I do?
30. Gramps should be a .... type of application
30. GRAMPS should be a .... type of application
==Gramps Webhosting ==
==GRAMPS Webhosting ==
31. How can I publish web sites generated by GRAMPS?
32. How do I submit my pages to the GRAMPS library site (http://library.gramps-project.org)?
33. After I upload my Family Web Page to library.gramps-project.org, is the password used for write privileges only or read privileges?
34. Do I view the Family Web Page with a url into my browser? Or through a link on a list of Family Web Pages on the GRAMPS-Project.org site?
31. How can I publish web sites generated by Gramps?
**** Questions and answers ****
==General==
1. What is Gramps?
1. What is GRAMPS?
Gramps is the Genealogical Research and Analysis Management Program System.
GRAMPS is the Genealogical Research and Analysis Management Program System.
In other words, it is a personal genealogy program letting you store, edit,
and research genealogical data using the powers of your computer.
2. Where do I get it and how much does it cost?
Gramps can be downloaded from http://sf.net/projects/gramps at no charge.
Gramps is an Open Source project covered by the GNU General Public License.
GRAMPS can be downloaded from http://sf.net/projects/gramps at no charge.
GRAMPS is an Open Source project covered by the GNU General Public License.
You have full access to the source code and are allowed to distribute the
program and source code freely.
3. Does Gramps exist in other languages?
3. Does GRAMPS exist in other languages?
Yes, at the moment Gramps is translated in 15 languages
Yes, at the moment GRAMPS is translated in 15 languages
4. How do I keep backups?
Use a recent version of Gramps! From 2.2.5 onwards there is an automatic backup utility.
It is extremely important to keep backups of your data, and keep them in a safe place. Gramps has a specific portable file format which is small, and human readable, denoted by .gramps. If you have allowed this in the preferences (In Edit menu->Preferences->General), Gramps will keep a backup of your database on exit. You can copy this backup file from time to time to a save location (eg a usb stick).
Use a recent version of GRAMPS! From 2.2.5 onwards there is an automatic backup utility.
It is extremely important to keep backups of your data, and keep them in a safe place. GRAMPS has a specific portable file format which is small, and human readable, denoted by .gramps. If you have allowed this in the preferences (In Edit menu->Preferences->General), GRAMPS will keep a backup of your database on exit. You can copy this backup file from time to time to a save location (eg a usb stick).
Note: The .gramps files are compressed. Clicking them will open Gramps. To see the XML select them and open them with a decompressing utility (like ark, gunzip), after which you can extract the XML file which is human readable.
Do not keep backups in GEDCOM. Not all information Gramps stores can be written in the GEDCOM. Hence, an export/import operation Gramps --> GEDCOM --> Gramps, will mean you lose data. Use the .gramps file format for backups!
Note: The .gramps files are compressed. Clicking them will open GRAMPS. To see the XML select them and open them with a decompressing utility (like ark, gunzip), after which you can extract the XML file which is human readable.
Do not keep backups in GEDCOM. Not all information GRAMPS stores can be written in the GEDCOM. Hence, an export/import operation GRAMPS --> GEDCOM --> GRAMPS, will mean you lose data. Use the .gramps file format for backups!
Do not keep backups in GRDB format. GRDB is a database, which might be computer dependent (read, not working on a different PC). Small damage to a GRDB file can also not be repaired. Use the .gramps file format for backups!
5. Does Gramps support Unicode fonts? In particular, does it support non-Roman Unicode fonts?
Yes. Gramps works internally with Unicode (UTF-8), so all alphabets can be used on all entry fields. All reports fully support this, although for PDF/PS you need to work with gnome-print or openoffice.
Yes. GRAMPS works internally with Unicode (UTF-8), so all alphabets can be used on all entry fields. All reports fully support this, although for PDF/PS you need to work with gnome-print or openoffice.
==Installation==
6. What is needed to install Gramps under Linux, Solaris, or FreeBSD?
6. What is needed to install GRAMPS under Linux, Solaris, or FreeBSD?
Gramps is a [http://en.wikipedia.org/wiki/Gtk GTK] application. Gramps needs to have the [http://en.wikipedia.org/wiki/Pygtk pygtk] libraries installed on the system. As long as these libraries are installed, Gramps should function. It will operate under the GNOME desktop, KDE desktop, or any other desktop. If the GNOME bindings for Python are installed on the system, Gramps will have additional functionality. The Gramps project recommends version 2.8 or higher of GTK.
GRAMPS is a [http://en.wikipedia.org/wiki/Gtk GTK] application. GRAMPS needs to have the [http://en.wikipedia.org/wiki/Pygtk pygtk] libraries installed on the system. As long as these libraries are installed, GRAMPS should function. It will operate under the GNOME desktop, KDE desktop, or any other desktop. If the GNOME bindings for Python are installed on the system, GRAMPS will have additional functionality. The GRAMPS project recommends version 2.8 or higher of GTK.
7. Does it work with Windows (tm)?
The Linux Genealogy CD can function as a live CD that you boot directly from. You can then run Linux and Gramps off the CD, even if your computer is entirely Windows.
The Linux Genealogy CD can function as a live CD that you boot directly from. You can then run Linux and GRAMPS off the CD, even if your computer is entirely Windows.
An experimental Windows installer is available, however we do not have the manpower to offer support for Windows. A windows mailing list is available however and we do do our best to solve windows related problems.
8. Does it work with the Mac?
The Fink project has ported some older versions of Gramps to OS X (tm). The Mac OS X port is not directly supported by the Gramps project, primarily because none of the Gramps developers have access to Mac OS X and because OS X is not Free Software.
The Fink project has ported some older versions of GRAMPS to OS X (tm). The Mac OS X port is not directly supported by the GRAMPS project, primarily because none of the GRAMPS developers have access to Mac OS X and because OS X is not Free Software.
This present version of Gramps (2.2.x) does not appear to have been ported by the Fink project. Please contact the Fink project for more information. However, some users had success in installing 2.2.x on Mac OSX either running in native mode or running on X11 using some of the fink packages.
This present version of GRAMPS (2.2.x) does not appear to have been ported by the Fink project. Please contact the Fink project for more information. However, some users had success in installing 2.2.x on Mac OSX either running in native mode or running on X11 using some of the fink packages.
9. What are the Minimum Specs to run Gramps?
9. What are the Minimum Specs to run GRAMPS?
We would recommend at least an 800x600 video display. For Gramps 2.0, the memory requirements have been reduced, and Gramps can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
We would recommend at least an 800x600 video display. For GRAMPS 2.0, the memory requirements have been reduced, and GRAMPS can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
==Preferences==
10. Can I change the dates in reports to 'day month year'
Yes, change in the preferences ("Edit->Preferences") the date for Gramps to the required format (eg YYYY-MM-DD or day mont year), and make the report. Your global date preferences will be used.
Yes, change in the preferences ("Edit->Preferences") the date for GRAMPS to the required format (eg YYYY-MM-DD or day mont year), and make the report. Your global date preferences will be used.
==Collaboration-Portability==
11. Is Gramps compatible with other genealogical software?
11. Is GRAMPS compatible with other genealogical software?
Gramps makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable Gramps to read and write GEDCOM files.
GRAMPS makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable GRAMPS to read and write GEDCOM files.
It is important to understand that the GEDCOM standard is poorly implemented -- virtually every genealogical software has its own "flavor" of GEDCOM. As we learn about new flavor, the import/export filters can be created very quickly. However, finding out about the unknown flavors requires user feedback. Please feel free to inform us about any GEDCOM flavor not supported by Gramps, and we will do our best to support it!
It is important to understand that the GEDCOM standard is poorly implemented -- virtually every genealogical software has its own "flavor" of GEDCOM. As we learn about new flavor, the import/export filters can be created very quickly. However, finding out about the unknown flavors requires user feedback. Please feel free to inform us about any GEDCOM flavor not supported by GRAMPS, and we will do our best to support it!
12. Can Gramps read files created by GenApp X?
12. Can GRAMPS read files created by GenApp X?
See above.
13. Can Gramps write files readable by GenApp X?
13. Can GRAMPS write files readable by GenApp X?
See above.
14. What standards does Gramps support?
14. What standards does GRAMPS support?
The nice thing about standards is that there never is a shortage of them. Gramps is tested to support the following flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.
The nice thing about standards is that there never is a shortage of them. GRAMPS is tested to support the following flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.
15. How do I import data from another genealogy program into Gramps?
15. How do I import data from another genealogy program into GRAMPS?
The best way is to create a new gramps database file (.grdb), and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.
16. Can I install Gramps on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
16. Can I install GRAMPS on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
While Gramps can generate web sites, it does not provide a web interface that allows for editing. If this is a requirement, then [http://geneweb.org GeneWeb] or [http://phpgedview.sourceforge.net PhpGedView] are programs more likely to meet your needs. However, you may wish to ask yourself the following questions:
While GRAMPS can generate web sites, it does not provide a web interface that allows for editing. If this is a requirement, then [http://geneweb.org GeneWeb] or [http://phpgedview.sourceforge.net PhpGedView] are programs more likely to meet your needs. However, you may wish to ask yourself the following questions:
* Do I really want relatives or other people to directly edit my genealogy database?
* Do I implicitly trust, without verification, any data that people may enter?
* Do these people have the same understanding of good genealogy practice that I have?
@@ -197,7 +204,7 @@ You may also want to consider the effects of possible downtime of your site if y
==Reports==
17. Can Gramps print a genealogical tree for my family?
17. Can GRAMPS print a genealogical tree for my family?
Yes. Different people have different ideas of what a genealogical tree is.
Some think of it as a chart going from the distant ancestor and listing
@@ -205,14 +212,14 @@ all his/her descendants and their families. Others think it should be a
chart going from the person back in time, listing the ancestors and their
families. Yet other people think of a table, text report, etc.
Gramps can produce any of the above, and many more different charts and
GRAMPS can produce any of the above, and many more different charts and
reports. Moreover, the plugin architechture enables users (you) to create
their own plugins which could be new reports, charts, or research tools.
18. In what formats can Gramps output its reports?
18. In what formats can GRAMPS output its reports?
Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical reports (charts and diagrams) are available in PostScript, PDF, SVG, ODS, and Graphviz formats.
Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical reports (charts and diagrams) are available in PostScript, PDF, SVG, ODS, and GraphViz formats.
19. How can I change the default language in reports?
@@ -220,11 +227,11 @@ Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical
The reports are in the language of your linux installation. You can change it by installing extra language packs, see [Howto: Change the language of reports] on wiki.
20. Is Gramps compatible with the Internet?
20. Is GRAMPS compatible with the Internet?
Gramps can store web addresses and direct your browser to them. It can import
GRAMPS can store web addresses and direct your browser to them. It can import
data that you download from the Internet. It can export data that you could
send over the Internet. Gramps is familiar with the standard file formats
send over the Internet. GRAMPS is familiar with the standard file formats
widely used on the Internet (e.g. JPEG, PNG, and GIF images, MP3, OGG, and
WAV sound files, QuickTime, MPEG, and AVI movie files, etc). Other than that,
there is little that a genealogical program can do with the Internet :-)
@@ -234,7 +241,7 @@ there is little that a genealogical program can do with the Internet :-)
Yes. There are many levels of customization. One is creating or modifying
the templates used for the reports. This gives you some control over
the fonts, colors, and some layout of the reports. You can also use Gramps
the fonts, colors, and some layout of the reports. You can also use GRAMPS
controls in the report dialogs to tell what contents should be used for a
particular report. In addition to this, you have an ability to create your
own filters -- this is useful in selecting people based on criteria set
@@ -246,47 +253,47 @@ knowledge of programming in Python.
22. Why are non-latin characters displayed as garbage in PDF/PS reports?
This is a limitation of the built-in fonts of PS and PDF formats. To print non-Latin text, use the Print... in the format selection menu of the report dialog. This will use the gnome-print backend, which supports PS and PDF creation, as well as direct printing. (Note: you might need to install gnome-print separately as it is not required for Gramps).
This is a limitation of the built-in fonts of PS and PDF formats. To print non-Latin text, use the Print... in the format selection menu of the report dialog. This will use the gnome-print backend, which supports PS and PDF creation, as well as direct printing. (Note: you might need to install gnome-print separately as it is not required for GRAMPS).
If you only have Latin text, the PDF option will produce a smaller PDF compared to that created by gnome-print, simply because no font information will be embedded.
23. I would like to contribute to Gramps by writing my favorite report.
23. I would like to contribute to GRAMPS by writing my favorite report.
How do I do that?
The easiest way to contribute to reports, filters, tools, etc. is to copy an existing Gramps report, filter, or tool. If you can create what you want by modifying existing code -- great! If your idea does not fit into the logic of any existing Gramps tool, you will need to write your own plugin from scratch. Help is available on the [Developers Portal] on wiki, or on the developers mailing list: gramps-devel@lists.sourceforge.net.
The easiest way to contribute to reports, filters, tools, etc. is to copy an existing GRAMPS report, filter, or tool. If you can create what you want by modifying existing code -- great! If your idea does not fit into the logic of any existing GRAMPS tool, you will need to write your own plugin from scratch. Help is available on the [Developers Portal] on wiki, or on the developers mailing list: gramps-devel@lists.sourceforge.net.
To test your work in progress, you may save your plugin under $HOME/.gramps/plugins directory and it should be found and imported on startup. The correctly written plugin will register itself with Gramps, create menu item, and so on.
To test your work in progress, you may save your plugin under $HOME/.gramps/plugins directory and it should be found and imported on startup. The correctly written plugin will register itself with GRAMPS, create menu item, and so on.
If you are happy with your plugin and would like to contribute your code back to the Gramps project, you are very welcome to do so by contacting us at gramps-devel@lists.sourceforge.net
If you are happy with your plugin and would like to contribute your code back to the GRAMPS project, you are very welcome to do so by contacting us at gramps-devel@lists.sourceforge.net
==Database - Gramps file formats==
==Database - GRAMPS file formats==
24. What is the maximum database size (bytes) Gramps can handle?
24. What is the maximum database size (bytes) GRAMPS can handle?
Gramps has no hard limits on the size of a database that it can handle. Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. In reality, however, there are practical limits. The main limiting factors are the available memory on the system and the cache size used for BSDDB database access. With common memory sizes these days, Gramps should have no problem using databases with tens of thousands of people.
GRAMPS has no hard limits on the size of a database that it can handle. Starting with 2.0.0 release, GRAMPS no longer loads all data into memory, which allows it to work with a much larger database than before. In reality, however, there are practical limits. The main limiting factors are the available memory on the system and the cache size used for BSDDB database access. With common memory sizes these days, GRAMPS should have no problem using databases with tens of thousands of people.
25. How many people can Gramps database handle?
25. How many people can GRAMPS database handle?
See above. Again, this is dependent on how much memory you have, see [Gramps Performance] on wiki.
See above. Again, this is dependent on how much memory you have, see [GRAMPS Performance] on wiki.
26. My database is really big. Is there a way around loading all the data into memory?
Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. The fileformat used is .grdb which means gramps database.
Starting with 2.0.0 release, GRAMPS no longer loads all data into memory, which allows it to work with a much larger database than before. The fileformat used is .grdb which means gramps database.
27. Can I run Gramps from a database on a NFS share?
27. Can I run GRAMPS from a database on a NFS share?
Yes you can.
28. Why is the database format not portable?
The biggest issue with Gramps portability lies with 'transactions'. With
Gramps 2.2, we added support for atomic transactions to protect data.
The biggest issue with GRAMPS portability lies with 'transactions'. With
GRAMPS 2.2, we added support for atomic transactions to protect data.
With atomic transactions, multiple changes are committed as a single
unit. Either all the changes make it, or none of the changes make it.
You are never left in a situation with a partial set of changes. A side
@@ -334,25 +341,41 @@ If the above explanations seem vague, please follow this link:
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
30. Gramps should be a .... type of application
30. GRAMPS should be a .... type of application
The surest way to see it happen is to get it done by yourself. Since Gramps is free/open source, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit. In doing so, you may consider giving your new project another name to avoid confusion with the continuing Gramps development. If you would like the Gramps project to provide advice, expertise, filters, etc., we will gladly cooperate with your new project, to ensure compatibility or import/export options to your new format of a project.
The surest way to see it happen is to get it done by yourself. Since GRAMPS is free/open source, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit. In doing so, you may consider giving your new project another name to avoid confusion with the continuing GRAMPS development. If you would like the GRAMPS project to provide advice, expertise, filters, etc., we will gladly cooperate with your new project, to ensure compatibility or import/export options to your new format of a project.
If, however, you would like the Gramps project to adopt your strategy, you would need to convince Gramps developers that your strategy is good for Gramps and superior to the present development strategy.
If, however, you would like the GRAMPS project to adopt your strategy, you would need to convince GRAMPS developers that your strategy is good for GRAMPS and superior to the present development strategy.
HINT: if Gramps developers are still not convinced after about three
HINT: if GRAMPS developers are still not convinced after about three
messages sent to gramps-devel, maybe you are better off on your own
rather than with a company of retards who can't fully realize the
potential of your great idea :-)
==Gramps Webhosting ==
==GRAMPS Webhosting ==
31. How can I publish web sites generated by Gramps?
31. How can I publish web sites generated by GRAMPS?
Since Gramps generates HTML pages, you can upload the pages to your personal web site. If you do not have a personal web site, and still wish to have your pages available on the internet.
Since GRAMPS generates HTML pages, you can upload the pages to your personal web site. If you do not have a personal web site, and still wish to have your pages available on the internet, the GRAMPS project can provide space for you at the http://library.gramps-project.org, see the [webhosting article] on wiki.
**** End of Gramps Frequently Asked Questions ****
32. How do I submit my pages to the GRAMPS library site (http://library.gramps-project.org)?
If you wish to submit pages to the GRAMPS library site, you will need to contact the GRAMPS project, typically by sending a message to the gramps-users mailing list. You will then be given a username and password that will allow you to upload your files to the site. After you upload the files (in a gzip'ed tar file), the GRAMPS project will install the pages for you on the site.
33. After I upload my Family Web Page to library.gramps-project.org, is the password used for write privileges only or read privileges?
In order to prevent abuse of the library.gramsp-project.org site, the password given allows uploads only. If you wish to have a username and password combination to restrict read access to your pages, you will need to contact the GRAMPS project, and we could set this up for you. However, the read and write accounts will be separate accounts.
34. Do I view the Family Web Page with a url into my browser? Or through a link on a list of Family Web Pages on the GRAMPS-Project.org site?
The main page on the library.gramps-project.org site will contain an index of the available family sites. However, there will be a unique URL for each site as well.
**** End of GRAMPS Frequently Asked Questions ****
$Id$
-31
View File
@@ -1,31 +0,0 @@
#! /usr/bin/env python3
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2012 Benny Malengier
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
"""
This is a stub to start Gramps. It is provided for the sole reason of being
able to run gramps from the source directory without setting PYTHONPATH
From this position, import gramps works great
"""
import os
os.environ['GRAMPS_RESOURCES'] = os.path.dirname(os.path.abspath(__file__))
import gramps.grampsapp as app
app.main()
+89 -84
View File
@@ -1,106 +1,111 @@
$Id$
This file contains some useful details on the installation from source code
for Gramps. It does not cover installation of a pre-built binary package.
for GRAMPS. It does not cover installation of a pre-built binary package.
For that use your package manager, the rest is already done by the packager.
Uninstall old version
---------------------
If you do a source install in the same place as an existing install,
If you do a source install in the same place of an existing install,
you need to remove the old version first. You can delete the old
version by deleting the installed directories. For example, if your installation prefix is /usr/local, remove the following:
/usr/local/share/gramps
/usr/local/lib/pythonx.x/site-packages/gramps
If you installed with a package manager you might instead need to remove
/usr/local/lib/pythonx.x/dist-packages/gramps
version by:
replacing pythonx.x with the python version you used, e.g. python3.4.
Also remove any gramps .egg files that are installed along with the gramps
directory and the file /usr/local/bin/gramps.
* deleting the installed directories (for example,
/usr/share/gramps)
* OR by running "make uninstall" from the old directory where you
ran "make install" (not the new GRAMPS directory)
If you don't know the list of all files that Gramps installed, you can
reinstall it with the --record option, and take a look at the list this
produces (so python setup.py install --record grampsfiles.txt
Gramps is a python application, so loading happens on reading the
GRAMPS is a python application, so loading happens on reading the
files, meaning that files of a previous version that are no longer
present in the new version can still be loaded, making the new install
unstable!
unstable.
distutils install
-----------------
We do not check all dependencies of Gramps, see README for a list of
all required and optional dependencies. Missing dependencies will
result in runtime errors.
Configure vs autogen scripts
----------------------------
If you are building from released tarball, you should be able to just
run "./configure && make". However, if you're building from the SVN,
the configure is not present. You should auto-generate it by
running ./autogen.sh and then "make" and, finally, "make install".
To build and install, whether from a tarball or git repo:
python setup.py build
sudo python setup.py install
You can avoid using sudo for the install step by specifying a prefix to which you have write priviledge. The default is /usr/local, which is usually owned by root. You can learn of more options with
python setup.py --help
One can use gramps from the command line without installing it by
setting the following environment variables, but that won't provide
things like MIME type and desktop entries.
export PYTHONPATH="/top/grampsdir/gramps:$PYTHONPATH"
export GRAMPS_RESOURCES="/top/grampsdir"
See below for ways to invoke Gramps.
Typical install directories in linux (ubuntu) are:
* /usr/local/lib/python3.4/dist-packages/gramps/ : the gramps python module
* /usr/local/share/mime-info : mime info so gramps opens files automatically
* /usr/local/share/icons/gnome : our icons
* /usr/local/share/doc/gramps : documentation, also example .gramps and .gedcom
* /usr/local/bin : the gramps executable
* /usr/local/share/locale/xx/LC_MESSAGES : xx language code, translation
* /usr/local/share/man/man1/xx/man1 : xx language code, man file
* /usr/local/share/mime
* /usr/local/share/mime-info
Running Gramps
--------------
Gramps is python only, so no compilation is needed, you can even run gramps
from the source directory.
a) You installed Gramps, then you can run it with the command
gramps
b) You installed Gramps, and want to start it from the PYTHONPATH. In this
case use the command:
python -c 'from gramps.grampsapp import main; main()'
The executable 'gramps' in /usr/local/bin or /usr/bin from a) does
this for you.
b) You downloaded the Gramps source code to a directory, and want to run it.
You can start Gramps from the source code directory with
python Gramps.py
See gramps/gen/const.py how Gramps finds its resource directories in case
you encounter problems.
Running ./autogen.sh on this branch of gramps requires the following
packages to be installed:
* autoconf >=2.53
* automake >=1.9
* intltool >=0.25
* glib-gettext >=2.2.0, included in libglib2.0-dev (may be called
differently on other distros) and maybe something else. If autogen.sh
fails, it should inform you what's missing.
Custom directory installation
-------------------------------------
If you would like to install Gramps without being root, or in an
alternative location on windows, supply the --root argument to setup.py
If you would like to install GRAMPS without being root, or in an
alternative location on windows, supply the --prefix argument to autogen
or configure.
For example:
python setup.py install --root ~/test
./autogen.sh --prefix=$HOME/my_gramps_path
or
./autogen.sh --prefix=/cygdrive/c/Projects/gramps
Regular vs local installation
-----------------------------
This version of gramps REQUIRES, among other things, the mime types for
gramps be properly installed.
The usual ./configure, make, and make install as a root should do the trick.
But be careful if you're using the non-default options or would like
to install without being root.
The latter is possible, but you should supply additional arguments to
autogen or configure:
--with-mime-dir=$HOME/.local/share/mime
Most likely, such local install will also need some prefix with write
permissions for you:
--prefix=$HOME/my_gramps_path
Whether you're doing local install or regular install, YOU MUST INSTALL
MIME TYPES. YOU HAVE BEEN WARNED!
Installing under non-default prefix
-----------------------------------
As hinted above, mime types for gramps MUST be properly installed.
The "proper install" means installing them where the shared mime system
will find them.
By default, the shared mime systems will look in these places:
1. /usr/share/mime
2. /usr/local/share/mime : this may be broken on some systems
3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
There's a number of ways to instruct the shared mime system
to look in other places, but this is the whole other story.
So if you install some place other than /usr/share, you will most
likely need to add this option to autogen.sh/configure scripts:
--with-mime-dir=/usr/share/mime
Using the --prefix=/usr/share and installing as a root will most
likely do everything correctly, so no extra care needs to be
taken. You should take extra care only if you are installing under
something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
Packager's issues
------------------
There is a MANIFEST.in file to indicate the work needed.
To create a source distribution run:
The above mime types must be installed. However, the
update-mime-database call to process the newly installed types and
schemas must be done in POST-INSTALLATION.
python setup.py sdist
In packager's world, the install happens on packager's machine
into something like /tmp/gramps-tmp. However, the postinstall
should happen on the user's machine.
If Gramps is built outside of the source tree in a temporary location (e.g. when
packaging for a distribution), the --resourcepath option can be used to specify
the path to the installed location of the Gramps resources (e.g. /usr/share):
python setup.py install --resourcepath=/usr/share
To assist with that, there's an argument available in configure
(or autogen, which will pass it to configure) which disables
mime type processing:
--enable-packager-mode
This argument should disable postinstall calls made during
make install, and print a nasty warning during configure.
IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
by the configure output and to copy the appropriate code
from the data/Makefile.am into the post-install (and post-uninstall)
of the particular packaging system.
-397
View File
@@ -1,397 +0,0 @@
GNU Free Documentation License
Version 1.2, November 2002
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
-33
View File
@@ -1,33 +0,0 @@
include AUTHORS
include ChangeLog
include COPYING
include FAQ
include Gramps.py
include INSTALL
include LICENSE
include MANIFEST.in
include NEWS
include RELEASE_NOTES
include TODO
include TestPlan.txt
recursive-include data *
recursive-include debian *
recursive-include docs *
recursive-include gramps *
recursive-include help *
recursive-include images *
recursive-include mac *
recursive-include po *
recursive-include test *
recursive-include windows *
# Remove files created in the build
exclude data/tips.xml
exclude gramps/plugins/lib/holidays.xml
exclude po/.intltool-merge-cache
global-exclude *.pyc
global-exclude *.pyo
# Remove directories which should not be included in the distribution
prune gramps/guiQML
#prune gramps/webapp
+35
View File
@@ -0,0 +1,35 @@
# This is the top level Makefile for Gramps
# $Id$
SUBDIRS = m4 po src data example
EXTRA_DIST = \
config.rpath autogen.sh \
FAQ COPYING \
intltool-extract.in intltool-merge.in intltool-update.in
bin_SCRIPTS = gramps
dist_pkgdata_DATA = COPYING
distuninstallcheck_listfiles = find . -type -f -print | grep -E -v '/(globs|magic|XMLnamespaces)'
DISTCLEANFILES = intltool-extract intltool-merge intltool-update \
gnome-doc-utils.make
gramps: gramps.sh
cp gramps.sh gramps
.PHONY: pycheck trans
pycheck:
(cd src; make pycheck)
trans:
(cd src; make trans)
distuninstallcheck:
@:
CLEANFILES = gramps
ACLOCAL_AMFLAGS = -I m4
+3 -861
View File
@@ -1,853 +1,4 @@
2016-12-15
Version 4.2.5
* The configparser is assuming the wrong encoding
* Sorting in family tab of narrated web report
* Silence remaining PyGIWarning
* Sorting of relationships in family tab of narrated web report
* Use latest valid date rather than today
* Modify endonym handling in place displayer
* Fix house number concatenation
* Allow merging of families with one or more parents in common
* Jump to Gramps ID functionality doesn't work
* Ability to search alternate place names when selecting place
* Fix clear map action on Geography
* Database repair tool always edit all source objects
* Database repair tool ignored some objects with tag
* "Enclosing" gramplet includes places outside valid date ranges
* Fix icon and tooltip in LDS editor
* CSV import fails
* Fix duplicated Gramps IDs on Gedcom import
* Unexpected error Preferences > Dates > Markup for invalid date format
* Fix Import Vcard, can create multiple surnames with all selected as 'Primary'
* Fix Gedcom import in some alternate languages; improper date parsing
* Export options 'Preview' buttons create hidden quickreport
* Alignment radio buttons in the style editor do not work
* Select Place search & Source/Citation hierarchy should NOT be expanded
* Tweak improvement on Tag editor
* Support for Windows Python3 pythonw.exe
* Wrong parsing Numeric date format for cs_CZ locale
* Fix Norwegian relationship calculator
* Fix Icelandic and German translations
* Update translations: cs, de, fi, fr, hu, is, nb, ru
2016-09-04
Version 4.2.4
* fixes for the PHON, FAX, EMAIL and WWW Gedcom tags to support Gedcom v5.5.1
* use more relative import
* Support for FTM and others Custom Gedcom Event Tags on import
* fix '_deeprelationshippath' filter rule
* Narrativeweb: some dates are incorrect in tar archive.
* MacOS: Update graphviz to 2.38 and change to a binary launcher in app bundles.
* Gramps crashes when closed while exporting
* Some events are not shown in familymaps page.
* Remove old debug bloc on place selection.
* Add GUI and CLI config option to allow easy setting
* Chinese characters are not rendered properly in pdf reports
* Support v5.5.1 OBJE/FORM/MEDI tag on embedded OBJE
* Sorting of Sources on gedcom
* Change "class xxx(object)" to "class xxx"
* Use "with open" instead of "try: except:"
* Change "raise NotImplemented" to "raise NotImplementedError()"
* Add new argument to IsEnclosedByRule
* Narrativeweb: place title must agree the references.place-auto configuration
* Improvements on CSV file format support
* update Finnish holidays
* Some strings in tools and report dialogs will not translate
* Gedcom import improvements in media area to support v5.5.1 and FTM
* Trailing whitespace
* Gedcom import of FTM .ged file containing _LINK tags not supported
* Change pycairo-python3 to pycairo.
* pycairo for python2 is now py2cairo.
* Remove pango modules from bundle, pango no longer uses them.
* Gedcom import loses spaces in text fields from FTM
* Gedcom import of FTM file containing _PHOTO tags
* Missed self.photo initializer
* Attempting to select an "Available item" for the Book Report gives an error
* Fix for either valid or invalid FTM Gedcom
* Gedcom import of FTM file with OCCU record crashes import
* crash - 'NoneType' object has no attribute 'get_child_ref_list'
* Family Page maps are non-functional in Narrative Web report
* Gedcom import loses spaces in text fields from FTM
* String not translated in geoplaces
* Descendant Report does not recognise auto. place title generation
* Translated text will not be printed in the program
* Geography: Attempting to print crashes (add parent to dialog)
* GEDCOM doesn't accept CR as a line terminator
* Wrong Numeric date format for cs_CZ locale
* Narrativeweb: inconsistent & incomplete display of place hierarchy labels
* Narratedweb: surname listing errors for people with multiple partners
* In "Verify" people w/ death event w/o date are not thought dead
* While starting gramps, it fails to pop up "tips of the day"
* GEDCOM import in CLI mode with .ged file containing ANSEL encoding tries to pop up gui
* fix merge conflict
* Use first matching name when generating place titles
* GEDCOM import with media files that have no path fails
* [Geography] Geoclose and mother handle
* place names empty if Gedcom ADDR record contains no street
* Tidy up place configuration options
* Use CSS to fade background colour in ValidatableMaskedEntry
* crash on GEDCOM import with empty _AKA lines
* Add inclusive option to IsEnclosedBy rule
* Saving/closing new person window with Alt-o does not find gender
* Fix to allow deferred translation of place type
* Include all place types in place report
* Allow place selection both individually and by filter on textual report
* Expand tree in selectors automatically
* Fix Encloses gramplet to display correct place references
* Update for appdata stuff
* UnboundLocalError on ODF doc backend
* Media Preview: wrong frame
* fix signals
* GEDCOM import PLAC:FORM in local mode doesn't work
* fix empty Place Alternate Names on import
* Merge unit test for PlaceCheck not working correctly
* GEDCOM import some Place Names & Titles are blank
* GEDCOM import PLAC or ADDR attached Notes etc. are lost
* Gramps not appearing in Gnome Software
* fix broken GEDCOM import PLAC:FORM handling
* Place Alt Names gets duplicated entries
* Multiple GEDCOM imports creates duplicate event IDs
* The place page in webreport is complete mess
* Gallery tab of Source view does not display .ods files
* Narrated Web report - Individual sort order not correct on the Surnames tab
* Specify required GtkSpell and GExiv2 version
* Narrated web report link to thumbnails is broken on certain pages
* Narrated Web report - Individual page sort order has changed
* Gramps reports that it can't find dictionaries.
* Turns out it was really that enchant couldn't find its backend because an environment variable wasn't set.
* Update translations: cs, da, de, fi, fr, hu, pt_BR, ru, sl
2016-04-10
Version 4.2.3
* Creation of the "graphic calendar report" failed
* Fix "TypeError: 'tuple' object does not support item assignment
* Fix experienced an unexpected error
* Unable to build narrated web site
* [NarrativeWeb report] Places index and Media index are incorrectly sorted
* Error when trying to create narrative report (residence event)
* Fix filter set by default on selector, 'Show all' button
* Detailed Ancestors Report has ? for locations when [private data is excluded]
* Age in the event family view column is wrong.
* Crash when dragging multiple media items to clipboard
* vCal Export File format invalid
* Error occurs for Complete Individual Report -- complete database
* Narrated Web Site Report: places page is no longer sorted alphabetically
* Narrative web: html elements emitted in different order
* Narrative web: "errno: 1, operation is not permitted" when creating archive.
* Narrative Web report further stops in error.
* Fix multiple lines for firstname on gramps XML file via import or export
* fix scrolling in persons view after typing some letters
* Location on geography view could not convert string to float
* setup.py: make typeout more accurate
* Searching in people view when surnames are collapsed
* Fix error when changing database in new locations gramplets
* Error loading Participants add-on in French locale
* Restores setting the stdout encoding to sys.getdefaultencoding() for Python3
* Fix comment about getting the right encoding for stdout.
* Date format does not match system.
* Make US English a special-case locale, where en_GB is the default for english based locales
* Enhance the Locations gramplet
* New "Encloses" gramplet to the display places that the active place encloses
* Individuals with incomplete names, not updated when name completed
* Children gramplet in Family view does not get updated when a birth/death events are added to a child
* Non-image media objects don't appear in the main window gallery.
* Pressing tab stops at element in gui places
* Double-clicking on a source in the citation gramplet causes exception
* "Find text in record" filter crash
* Fix vCard Export
* Notes used in the "To Do" gramplet are found by the Remove Unused Objects tool
* Unable to select Unicode
* Cannot import gedcom generated by RootsMagic custom place details ignoring PlaceName()
* Fix people sorted by surname view
* Complete Report about person (whole database) - PDF - crash
* Update for travis
* Only consider the values of LC_ALL, LANG, and LANGUAGE, in that order, when choosing the default locale.
* New Icelandic date and relationships handlers
* Fix Finnish translation in keywords of desktop entry
* Update translations: cs, de, el, fi, fr, hu, is, it, ru, sl, sv, uk
2016-01-06
Version 4.2.2
* "Show all" checkbox of "Select Family" window not unchecked when the filter is cleared
* Name of user defined filter is not shown
* ErrorDialog and GtkDialog mapped without a transient parent
* 'Find' is broken when used in the Family selector
* Fix default selection in selectors
* Comment currently-unused bogus wiki URL pointers
* Fix counter for filtered entries and indentation on TreeBaseModel
* Faulty headline in start up screen
* Check that gramplet is in notebook before setting tab label
* Fix creation of focus change events
* Interactivesearch gives "TypeError: unorderable types: str() < NoneType()"
* Put tag selection list in alphabetical order
* Remove redundant code
* Fix delete error in undoable entry widget
* Fix deprecation warning
* Re-enable selection in MultiTreeView on a grab_broken event
* Add validation to gender field
* Unhandled AttributeError when db.get_tag_from_handle returns None
* ReferencedBySelectionProxy can forget some referenced tags
* Remove encoding on stdout and stderr
* Handle citation objects in glocale.trans_objclass
* Locality data in address was not imported
* Don't check SSL certs when fetching addons
* Catch urlopen TypeError when context arg isn't supported
* Fix undefined variable error
* Can not download new or updated add-ons
* ValueError: underlying buffer has been detached
* LaTeX backend crashes
* Geography: performance issue due to bad initialization and performance issue when selecting the events or places views.
* Narrated Web Site Report: html elements emitted in different order
* Unused *_init.jpg are created in the narrated website
* Some media files are not exported to the NAVWEB report
* Narrative web report: add author to citations
* TypeError: unorderable types: EventRef() < EventRef(), events list and family list are differents between two reports
* Permission denied: change mtime to origin instead of destination
* Thumbnails html file missing in the narrative web
* Narrativeweb: Place title based on current date not that of the event
* Webcal: make the month name clickable in the year overview page
* 'Narrative' word not translatable
* 'Unknown' spouse uses an harcoded string name on Simple Descendants textual report
* Father/mother's age attributes are not translated on reports
* Improve Russian date handler and unittests
* Mars month instead of Marzec on Polish locale (Date Editor)
* Translations update: cs, de, fr, fi, nl, pl, ru, sv
2015-10-12
Version 4.2.1,
* Support for Retina and HiDPI Display, added 24px icons
* Fix verification tool with "Estimate missing or inexact dates"
* Fix missing link in hourglass graph report
* Sort custom place types in editors
* Allow Easter calculation with python3
* Fix crash on Descendants-detailed report
* FanChartDescendants View should at least have 2 generations
* Allow hyphenated gramps-id in Graphviz reports
* Complete Individual Report fails to run
* Fix broken wiki help links
* Set TextOption widget to expand vertically
* Unused Object Dialog box too small
* Short cut keys does not work in 'Change Event Types' dialog
* Update some Tips of the day
* Error when extracting place names
* Custom filters for note text repaired
* Fix Pedigreeview crash when selecting Compact view
* Set "visable_window" in GtkEventBox to fix transparency
* Faster scrolling
** cache database access for column values
** cache do_get_path lookups
** speed up load access on treeviews with no filters
** new LRU size of 1k (was 250)
** use cache in do_get_path from siblings
* Avoid using person-centric date matching for places
* Use place title as default name in GEDCOM import
* Ensure place names are not empty after upgrade
* Fix proxy to include all referenced place objects
* Fix bug that prevented any addons being loaded onto the Mac version
* Remove copy button from family tree manager
* Consistency for name fields on Person Editor
* [Geography] Place.set_name(name) requires a PlaceName()
* [Geography] Fix and improvements on place selection
* Limit problems with existing selection in media reference editor
* Stability fixes on Mac port
* Mac port localization crash with non-standard locale (e.g. en_IT).
* Fix color on history
* Fix countries selector for holidays
* Fix missing markups into textual reports
* All sidebars with Types now show custom types in combo list
* [New] Added Places to CSV import/export
* Some fixes on installer (setup.py)
* Various improvements on gen.plug.utils
* Fix graph reports [in Greek locale]
* New date handler for Hungarian locale
* Updated translations : cs, de, el, en_GB, fi, fr, hu, is, sv
2015-08-02
Version 4.2.0,
* New date and language fields on place name
* Review on GtkBuilder, fix some Gtk3 warnings and move from deprecated methods
* Change icons and buttons handling methods
* Enhanced Place Editor and new Place Name editor
* New widget: use own interactive-search
* Ability to import kml data into Geography views
* Enhancement for removing multiple selected items from Views (action group)
* Add drag support on more Views, Selectors and Editors
* Add right-click "Copy all" to ListModel and all QuickTables
* Review Alternate Place handling and edition
* New 'Place' configuration keys set by user (settings)
* New filter rule: is enclosed by
* Consistency on Privacy option for reports
* Consistency on "Name-format" options for reports
* Add DeferredFilter class (a subclass of GenericFilter)
* New textual Report: Links on Notes
* Fix alphabetic index and toc bug in books
* Enhancements on Style Editor
* Enhancements on End Notes into textual reports
* Changes on Individuals complete textual report
* Changes on Ancestors Tree draw report: Include Siblings
* Add name-format option, and deferred translation on Records report
* Add deferred translation on Timeline draw report
* Enable attributes gramplet on Source and Citation Views
* New place locations gramplet
* Optimizations around index, Flat and TreeView models
* Enhanced samples files
* All importers return now an ImportInfo object
* Experimental gwplus (geneweb) import file format support
* Remove experimental HTML renderer view
* New test scripts
* New Date handler for Japanese
* Review on Slovenian and Czech Date Handlers
* Implement both "traditional" and "simplfied" Chinese (translations and dates)
* Serbian review
2015-05-01
Version 4.1.3, "Thou shalt not count to five", a maintenance release.
* Fix db upgrade failure
* GtkDialog mapped without a transient parent
* [Gedcom} SUBN and SUBM record handling
* [Gedcom] Import/export round trip causes lost information
* [Gedcom] Entering a witness to an event such as marriage might be ignored
* [Gedcom] Gramps can't import estim. date period exported by itself
* [Gedcom] 1/4 and 1/2 ANSEL characters not supported on importing ANSEL
* [Gedcom] Importing file containing multibyte UTF-8 characters fails
* [Gedcom] Import fails for ANSI file under python 3
* [Gedcom] Failure importing ANSEL encoded gedcom file.
* [Gedcom] Characters ignored on a Gedcom encoded ANSI (cp1252 West Europe, USA)
* [Gedcom] NameError in importer
* [Gedcom] Event address is lost on import, i.e. disconnected from event
* Crash on geneweb export with python3
* GuiColorOption missing avail-changed event handler
* Bad generation of [timeline report] ODT files since 4.0.0
* Fix bad handle in explanation note for unknown event
* Fix spurious generation of empty 'Alternative Name' in place.merge()
* Support creating directories in various scenarios
* Attempting to add a bookmark causes an error
* Long series of "unhandled exception" popup boxes while doing a check & repair
* Crash when trying to link existing place as an enclosing place using P0001 number
* HTML view fails to load
* Relationship Graph crashes
* Python3 needs new_subpixbuf not subpixbuf
* Regression: running gramps from crontab fails
* tag_map is not initialized
* Some labels now fit better on citations sidebar filter
* Event columns in web narrative are too narrow
* Problem by start program (launcher)
* Translation string missing in Not Related tool for help and close button
* Date format month/year is not well reported at editing time [in Italian]
* Fix unknown gender relationships handler for the french locale
* Fix a handle type bug on sidebar filter
* Tidy up About dialog
* Cleanup on some man files
* Convert some remaining unicode literals
* Fix mac menubar setting
* Enable python3 to run po/update_po.py
* Updated translations: cs, de, fr, is, nl
2015-02-28
Version 4.1.2, "That's no ordinary rabbit", a maintenance release.
* Error converting python2 utf-8 strings to python3 str when loading data from database
* Removing a parent place from a place leaves a dangling reference
* Error during checking the database
* Stubborn blank space in database won't be removed, fix removing rows in flat list views
* Database upgrade fails if default media path is not set
* Error converting database after upgrade to Gramps 4.1.1
* Error in a single place within the places section
* Entries from the add-or-choose selector of Place/Source/Media/Note cannot be dragged
* Enclosing places tab should work like other similar tabs, new place reference editor
* Association editor refuses dropped persons
* Error on opening twice an object from clipboard
* Incorrect spacing in export assistant file chooser
* New Event types are saved as a disordered list
* Always display main participants
* Place titles can now be generated on-the-fly by a place displayer, default is still to use the place title field
* GEDCOM import of embedded notes attached to media does not work
* Crash on Ancestry.com .ged import; consistent.
* Errors handling owner/submitter information in GEDCOM files.
Only import researcher from GEDCOM or XML if the family tree was originally empty.
* GEDCOM export does not export media attached to citations.
* The fanchart view crashes if max generation is set to 1 away.
* Sidebar Filters do not match placetypes in new placeview, two new filter rules (HasTitle, HasData)
* Fix bug when family has no parents
* Fix bad handle in explanation note for unknown event
* Some labels now fit better on citations sidebar filter
* Views in Geography should not always use the last option set by the user
* Request for keyboard-controlled zoom on Geography view
* Error geography view - Displaying main menu
* Configure screen needs a file selector to select directory for "offline mode" files
* Filter panel on geography view displays improperly
* Detailed descendant report crashes, bibliography (citations)
* Can't disable box shadow in SVG descendant tree
* Descendant tree graphical report, syntax error in svg output
* Regression: Complete Individual report has partially-untranslated output
* Events Page in Narrative Report not working
* Gramps freeze after defining a report style with German cm values
* Various problems with docgen.TextDoc.add_media_object
* Report event attribute name is not translated
* Records Gramplet uses wrong text
* Closing detached gramplet causes python to crash
* Cannot reduce size of gramplets detached from a gramplet bar
* Gramplets don't fill window when detached from dashboard
* ImageMetadata doesn't show metadata
* typo on GLib call, used by an addon only
* Fix error setting gramplet tab label
* Check for active person in session log gramplet
* Spurious spaces in CLI List Family Trees, tab delimited output.
Print statements changed to assemble the whole line before output.
* Gtk3 warning and custom undoableentry widget, see bugzilla_id 644927
* Warnings: deprecated Gtk properties and errors loading theme icon.
Fix: database manager dialog is inconsistent for older gtk+3 versions.
Warnings: deprecated Gtk properties and errors loading theme icon.
Fix: Error loading theme icon 'gtk-apply'
* gramps fails to start with gtk+-3.13.3
* Places in data.gramps are not in the new Place hierarchy
* Upgrade the version of some dependencies for Mac OS and Windows OS.
* Keywords entry in gramps.desktop does not work
* 'Available Gramps Updates for Addons' window not on top
* Some text not translatable in context menu fancharts
* Fix for Unit test
* date inflections in _datehandler.py, update for Ukrainian, Russian, Croatian
* Better support for Serbian and Turkish locales
* New translation: Icelandic
* Re-enable Turkish support after a major review. Thank you Uğur.
* Updated translations: cs, de, eo, fi, fr, hr, hu, it, nb, nn, ru, sk, sr, sv, uk, zh_CN
2014-10-24
Version 4.1.1, "MachineThatGoes...Ping!", a maintenance release.
* Fix custom place types in the place editor
* Allow place type combobox to receive focus.
* Store custom place types in the metadata table
* Fix place type for places without a main location
* Fix bug adding parent places to a new place
* Prevent user creating a cycle in the place hierarchy
* Avoid infinite loop when place cycle encountered
* Prevent creation of a place cycle when merging
* Fix error when no place is selected
* Check that a place has been selected when saving.
* Use the standard place selection widget to be consistent.
* Add a new Top Level place through the Place Reference Editor
* Fix backlinks code in place report
* Backlinks for places can now also be places as well as events.
* Fix check and repair tool for empty placerefs
* Update location utilities to work with proxies
* Place report does not run
* Update place details gramplet
* Locations are now displayed in a new separate gramplet.
* Add check for empty handle in gramplets
* Check DB lock on the recent opened trees list
* Sidebarfilter gramplet does not fit well into People, Events or Media views
* Fix new event default type considering existing events with *default* role
* Rebuild secondary indexes after database upgrade
* Importing gedcom files containing multibyte UTF-8 characters fails
* Ahnentafel Report did not use Christening Date if no Birth Date
* [Narweb:] Missing webpage for media under some circumstances
* Fix narrated web report with gendex option enabled
* Tweak to "default" CSS choice for the narrated web report
* Invalid link for Merge citation Help button
* Fix 'todo' gramplet
* Fix path when using drag & drop to add media
* Limit the number of generations displayed in the ancestor gramplet
* Export of a subset of the tree failed
* Fix issues in python3, and bytes-string mismatch with ICU
* Fix url/uri handling with non-ascii characters under linux and mac
* Fix name format on graphical reports
* Fix name format on textual reports
* Better GUI support for embeded custom attributes list on media object
* Better keys for search under linux shells (.desktop file)
* 'Unknown' person in detailed ancestor report can not be translated
* Translations don't show in many labels
* Ensure python text domain gets the right encoding.
* Translate some punctuation marks
* Various fixes around Geography and osmgpsmap
* Allow gramplets to be displayed in the dashboard only
* Update FSF address
* Add Arabic-script, Islamic-date, Thai script, Married Name and more dates examples
* Fix on czech date handler for calculated and estimated dates
* Enhance Serbian date handler to handle Cyrillic dates
* Simplify Canadian Ash Wednesday holiday
* Re-enable Esperanto support (for non-Windows OS only) after a large review
* New translation: Serbian
* Various fixes in German and Czech
* Updated translations: ar, cs, de, fi, fr, it, sv
2014-06-15
Version 4.1.0, the "Name go in book", new major release.
* GEP 006: Better Place handling
* New Tags support on Event, Place, Repository, Source, and Citation
* Source/Citation Data becomes Attributes
* Add optional support for checksum on Media object
* New place hierarchies model
* By default, you can choose navigator modes with a drop down.
* New Place editor
* Enhanced MediaReference Editor
* Some debug tools move to new gramplets
* Full Python 3 support
* New functions and widgets related to Place and Media selections
* Enhancements on to_struct()
* New methods on Date handlers
* Better support on translation for inflection rules
2014-05-22
Version 4.0.4, "Not the comfy chair", a maintenance release.
* Upgrade to db version 17 fails in Python 3 due to use of iteritems
* Database corrupted - TypeError: unhashable type: 'list'
* Fix bug in abandon changes and quit
* Consistency on create_id method
* Better handling for non-ASCII characters on database-path
* Better support for ANSEL characters
* 'Display as' field in Name Editor reverts to Preferences default
* Fix vcard date converter
* View does not communicate over proxy server with autorisation
* Enhanced Bookmark support
* Event gramplet filter does not have field for primary role,
* New HasDayOfWeek filter rule
* Error when leaving a Gramps type field blank in an editor
* Fix creation of events with same Gramps-ID
* Crash when opening details of a person
* Fix spacing on dialogs for some recent linux distribution
* date editor and Date class allow e.g. Hebrew dates with newyear (Mar25)
* Fix crash in fan chart view when scrolling
* Poor contrast mouse on mouse over
* Drag and drop only one data into Editors tabs
* Enhancements and consitency on events gramplet, selector and view
* Sometimes says 'no data exists for note' when saving
* Enhanced Citation Editor
* Do not always raise errors when some plugins are hidden
* Remove hover selection from embedded lists
* Fix update of active object after merge
* Cleanup on warnings and messages around locale directory
* Media Editor error if Path value was changed to a non existing file
* Register history objects at startup
* Avoid dumb encoding error when compiling gpr file
* Work around Py2Cairo
* Given Name Cloud Gramplet splits up given names into words
* Users should not be allowed to edit and delete 'default' style into Style Editor
* Filename Decoding Error in Graphical Reports
* Missing closing bracket in Web_Basic-Spruce.css
* Reorder tool: global name 'gen' is not defined
* Fix start in East Asian language, force UTF-8 locale on Mac
* Fix apple_collation
* Spelling messages at random cause hang for a few seconds.
* Media viewer list crashes during start if one try to select an entry where the media isn't available
* 'Available Gramps Updates for Addons' window not on top
* HTML View fails to load
* Paper names and Styles values are now translated
* Sort failure using glocale.sort_key
* Improve support for collation variants
* Translate some punctuation marks
* Fix unit tests and python3 issues
* Fix Relationships handler for Portuguese
* Updated translations: ar, cs, de, fi, fr, he, it, lt, nb, nl, pl, pt_BR, ru, sv, uk
2014-01-27
Version 4.0.3, "It's tomorrow, ask me now", a maintenance release.
* Fix copy via context menu on Views into Charts Category
* Fix Tab sequence in Name Editor
* Fix citations gramplet into media view
* Fix unhandled exception when inspecting media
* Fix Citation sidebar filter for python3
* Fix add link to a "Html code" note
* Fix message on backup dialog
* Fix space for selection lists
* Fix spell with myspell and LANG
* Fix changes root cursor to hand
* Recent file parser now gives the file location
* Fix vertical overflows on check and repair-tool dialog
* Fix custom key/value (data item) on Database difference report
* Fix unhandled exception in media exif information under Windows OS
* Fix person selector in searchfilter under Windows OS
* Starting Gramps without console is now possible under Windows OS
* Specific OS handling
* Common fixes and changes with 3.4.7.
* Updated translations: ca, de, fi, fr, ru
2013-11-08
Version 4.0.2, "Welcome to our humble abode", a maintenance release.
* Citation merge works better for all objects with citations
* Fixed citations attached to family events
* Fixed several crashes, hangs, and data corruption scenarios
* Fixed bugs in determining whether a person is alive, potentially resolving private data leak via export or report
* Fixed bugs on proxies
* VCF export/import now support gender information
* Several bugs with filtering fixed, most filters now support regular expressions
* Fixed bug in Hebrew calendar date calculations
* Fix some regressions on GEDCOM file format export and enhancement on CONT/CONC handling
* Multiple fixes and improvements on gramplets
* Multiple fixes in the narrated website and web calendar reports
* Enhancements on date and calendar
* Some fixes and improvements of the webapp
* Fix on Database Differences module
* Enhancements of the citation tree view (Sources category)
* Improvements on User classes
* Polish and consistency on Gramps XML export
* Bump XML schema to 1.5.1
* Fixed several long-standing problems with report generation
* Better support of RTL locales (Arabic, Hebrew, etc.) in GUI
* Better support for selected lang on some reports
* Better way for displaying missing dependencies
* Better Spell support
* Platform-specific fixes for Mac and Windows
* Add printing functionality for all geography views
* New date handlers for Arabic and Greek
* Translation updates (ar, cs, de, fr, lt, nb, nl, ru, sv) and translation-related fixes
* Repaired and enhanced tests broken since 3.3.x, resulting in overall reliability improvements
* Add a support for AppData
2013-06-24
Version 4.0.1, the "What is washing when we are on the verge of a great scientific breakthrough?", a maintenance release.
* Gtk3: fix menu on person editor and Geography views, convert deprecated code for the indicator in entryfield
* Gedcom: Fix crash on export when there are addresses, fix space on ID
* Disallow bookmarking a source in the Citation Tree View
* Better RTL support on Pedigreeview and position for gramplets
* Fix bad scaling in address editor
* Fix crash on ancestor chart report
* Fix navigation issues with selected line
* Fix size of the 'Tip of the day' dialog
* Fix right-click on tables in Quick Views
* Fix cursor corruption on Pedigree view
* Improvements when exporting via CLI
* Reports: Various fixes on dialogs, output file formats and cleanup on error messages
* MacOS: Fix bad filename on Gramps URL, osm-gps-map revision, image paths, resource-path file, maclocale
* Move the HTML resources from gramps/plugins/webstuff to Data and Images
* Alternate Names in Person Details Gramplet (patch by Heinz Brinker)
* New holidays, date and relationship handlers for Ukrainian
* Enhancements for testing localized Relationship handlers (contribution by Fedir)
* More names and events on data.gramps sample
* Translations updated: cs, de, es, fr, hu, nb, nl, ru, uk, and new support for Arabic
2013-05-21
Version 4.0.0, the "The Miracle of Birth", new major release.
* GEP 8: code reorganization
* GEP 26: Replace make
* GEP 29: Gtk 3 support
* GEP 31: Python 3 support
* Completely reworked localization handling
* The Gramplet view has been renamed Dashboard. This to avoid an overload of the word Gramplet, and to make it more clear to new users what can be expected in this view
* GTK 3 uses new themes, so users not on Gnome must set a nice GTK 3 theme to fully appreciate Gramps 4.0. Install a GTK 3 theme and set it. If Gramps looks ugly, you made an error in this step.
* Different sidebar navigators can be installed
* New Ancestor Fan Chart View and Descendant Fan Chart View, which offer a lot of insight in your family tree on a small space. Direct printing is available from these views.
* All wizards are reworked, so the exporter dialog, help and bug report dialog are different from version 3.4, but offer the same functions
* New To Do Gramplets listing all To Do Notes
* More reports support output in a different language than the interface language
* Narrative Web has been reworked to make it more stable.
2013-05-15
Version 3.4.4 of Gramps! "The Ministry of Silly Names", a maintenance release.
* infinite recursion bug in narrative web generation
* protection on family trees when using version 3.4 and 4.0 on the same PC (road to 4.0)
* merging notes of media with citations now works
* crash during Calculate Preview of a filtered XML export
* fix annoying errors on navigation related to citations gramplet and tag object.
* listing the Family Trees can corrupt them.
* various fix around handling Gedcom file format
* fix citations and sources import on ProGen format
* better date handling and better alternate translation support on some textual reports according to locale under windows
* avoid Errors when setting wrong value as markup for invalid dates (Preferences)
* fix paragraph layout on PDF format or print output
* New: New-Zealand holidays
* Polish and backport code on XML import (road to 4.0)
* Regular expression rules now use search rather than match, fix design issues on regex filter rules
* Disable/Enable indent spouse on descendants tree
* fix regular expressions on Place filter rule
* consistency on cli arguments (road to 4.0)
* fix call of non-existant process on references proxy, enhanced tests on proxy filter
* fix NarWeb creation via cli for some non-english locales
* Various updated translations: ca, de, fr, it, nl, pt_BR, ru, sv, uk
2013-03-19
Version 3.4.3 of Gramps! "Whenever life gets you down, Mrs. Brown", a maintenance release.
* Sorting (both in the main display window, and particularly in Narrative Web output) now uses PyICU (if that module is available). Inclusion of PyICU is 'strongly recommended'. This resolves a number of bugs particularly related to sorting of non-Latin characters, and sorting on MS Windows and Mac OS X. Some changes have been made in Narrative Web to support contractions for alphabetic indices.
* The automatic Addon checking and download now works once again (the location used in Gramps 3.4.2 and before had been changed, so the the automatic process was no longer working).
* Import from Pro-Gen has been updated (at last) to take account of the change to Citations (in 3.4.0)
* Import and Export of address fields in GEDCOM has been improved so that the round-trip works properly.
* GEDCOM Repositories not imported correctly from FTM for Windows and Heredis.
* Fixes to a number of errors in filtering notes.
* Fix some errors in determining whether someone is alive (e.g. for filtering out alive people).
* Make availability of Graphviz settings depend on output format
* Improve the descriptions and tooltip for Graphviz aspect ratio option
* Fixed update problems with citation bottombar gramplet (bug #6336)
* Fixed Open Document Text output in Book report (bug #6457)
* A number of changes to Narrative Web:
** Media objects attached to Marriage events and Sources are not included in Narrative Web Site
** restructure the families index so families are indexed under both spouses, and the family name is normalised
** separate out Families section in individual and families pages so individual page links to the family page and family page links to both people
** normalise links to families so the link is only displayed if the family page is present, and the gid is included when appropriate
** remove highlighting of media subregions except in the media pages (it was confusing and not very well implemented)
** include people whose surname is absent in the individual, surname and families indexes
** html_escape names and surnames
** always display media thumbnails for first image in Gallery list (in some cases they were suppressed if they had been displayed at the top of the page)
** change partner and parent columns in families index to improve the layout of the HTML and put the comma between multiple partners in the right place
** use event description (where present) instead of just event type in back references
** fix bug in the way obj_dict and bkref_dict were initialised
** fix missing document.png for missing media
** fixed problems that bibliography ignores media attached to citations, so if that is the only 'interesting' thing about the citation, the citation media is not output
** Replaced person link routine with one that takes into account whether there is a page for the person.
** Included repository reference media type and call number in the 'Repositories' section of the relevant source instead of the Repository page.
** Implemented a generalised back reference function to display the 'References' section of all pages. This recursively displays references till one is found for which a page exists.
** Removed list of people and families from heading of the event pages as these are now in the 'References' section.
** Fixed bug "0005968: Narrated Web Site not copying Source Citations files such as jpg or pdf docs to web site
** Fixed bug "0005946 GRAMPS failed to insert jpeg image into proper place for an event" by displaying a thumbnail for citation media in the 'Source References' section (with a link to the media page)
** Tidy up media pages - remove unused parameters, use list of media items generated in first pass. Should fix bugs 2365, 5905 and 6009.
** Tidy up sources pages - fix numbering of repositories, remove unused parameters, fix title of individual source pages
** Bug: reset NarrWeb navigation menu layout when style sheet doesn't support it
** Change Source Pages to use the list of sources generated by the first pass that finds objects to be output, and simplify references section on the Source page to use the references passed to it.
** Fix option to suppress Gramps ID (bug #6237)
* a number of technical changes to Narrative Web
** Removed a lot of redundant code and parameters (mainly connected with the old way of determining the objects to be included in the report).
** Movement of some large chunks of code within the source file and some initial work towards GEPS 022: Narrative Website Refactor. Functionality should be unchanged.
** Moved routines for calculating objects to be output so they can be part of default list building classes.
* Various updated translations: da, de, es, fr, it, nb, nl, pt_BR, pt_PT, sv, uk
2012-10-28
Version 3.4.2 -- the "We're all individuals!" bug fix release.
* Some fixes on NarrativeWeb report
* Some fixes on book report
* Improvement on database path interface and user's preferences
* Consistency on Name display and regex support
* Some platform-specific fixes for Windows system environment
* Better support for media links on Gedcom file format
* Fix possible incorrect family relations on Gedcom file format
* Various fixes on citation records
* Fix and improve places handling on Geography views
* Fix on command line arguments
* Consistency on PDF file format
* New language: Greek
* Various updated translations
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=32
2012-08-23
Version 3.4.1 -- The "A tiger? In Africa?!" bug fix release.
Mention in the release that upgrading is advised for two critical issues:
-> error in export to xml of family order in 3.4.0, now fixed
-> crash in windows after some use due to too much terminal output in 3.4.0, now fixed
* Some platform-specific fixes (Windows, OSX)
* Bug fixes
* Translation updates
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=31
2012-05-21
Version 3.4.0 -- The "always look on the bright side of life" feature release.
* Lots of changes and bug fixes to every part of Gramps, including XML
import/export, image handling, gedom handling, Gramplets, date handling,
citations, reports, more!
* Some platform-specific fixes (Windows, OSX, Linux)
* What's new (and what to do before you upgrade): http://goo.gl/K3RDV
* Roadmap: http://goo.gl/GJhjH
* Many translation updates
2012-05-18
Version 3.3.2 -- "The Knights who say 'Ni'" bug fix release.
* Expressive error when trying to load familytree with downgraded Berkeley db
* Fix in the image offset calculation (MediaRef Editor)
* Improved focus and bug fixes on Editors
* Enhancements on ODT file format
* Improved synchronization on gramplets
* Export, filtering and database log improvements
* Call of living proxy is more accurate when using NarrativeWeb report
* Fixes on Check and Repair, Sort Events and Clipboard tools
* Fix automate version
* Fixes on PedigreeView (database state and mouse events)
* Various fixes and improvements on merge code
* Minor fixes on report interface and output
* Various fixes on Narrative and Web Calendar reports
* Minor issues on Gedcom handling
* Cleanup
* Add Japanese holidays (reports)
* Add a Relationship calculator for Catalan
* More than 50 bug fixes and improvements
* Translations update: ca, cs, de, es, fr, hr, hu, it, nb, nl, nn, pl, sv, zh
2011-10-01
Version 3.3.1 -- "The Tenth Anniversary Edition" bug fix release.
* translation updates: ca, cs, de, fr, hr, it, nb, nl, pl, pt_br, sk, sl, sv, uk, zh_cn
* new languages in this release: ja (Japanese), vi (Vietnamese)
* 36 bugs closed since v3.3.0: http://www.gramps-project.org/bugs/roadmap_page.php?version_id=27
* 79 translation commits since v3.3.0
* 189 code commits since v3.3.0
* ten years since v0.1.1 was first released: http://www.gramps-project.org/wiki/index.php?title=Previous_releases
* "Thank you!" to Donald Allingham, The Gramps Developers, translators, and our every day users
2011-06-12
Version 3.3.0 -- the "Prelude to the next version" new feature release.
* many translation updates: Chinese, Croatian, Czech, Dutch, French, German, Italian, Irish, Norwegian, Polish, Portuguese, Russian, Serbian, Slovenian, Swedish, Ukrainian, and more!
* new "person name" dialog and workflow with better (or new!) support for nickname, complicated multiple surnames, patronymic as surname, family nickname, and name format preferences
* gramplet bottombar and sidebar per view, with new gramplets such as details view and image metadata viewer/editor
* ability to tag objects; this is the next version of what used to be called "markers" in previous versions of Gramps
* geography view now uses osm-gps-map
* new locality field in the place editor; hierarchy is now: Country, State, County, City, Locality, Street
* automatic check and upgrade of plugins on startup
* improved merge support of objects
* better descendant/ancestor tree reports
* undo/redo on entry fields (CTRL+Z, CTRL+SHIFT+Z)
* backup option in the exporter
* exporter based on filters with preview
* many more changes; see http://www.gramps-project.org/wiki/index.php?title=Gramps_3.3_Wiki_Manual_-_What%27s_new%3F
2011-04-30
Version 3.2.6 -- the "So far, so good." bug fix release.
* fix memory leaks
* fix corrupted reports
* fix crash in cramplets
* fix gedcom import and export
* import speed improvements
* NarrativeWeb fixes
* prevent corrupting databases
* many translation updates
* other changes; see the changelog and the 3.2.6 roadmap: http://www.gramps-project.org/bugs/roadmap_page.php?version_id=23
2010-11-17
Version 3.2.5 -- the "I intend to live forever" bug fix release.
* fix Gramps so it again runs with Python 2.5
* write all notes and sources to gedcom files
* cli fixes
* GeneWeb and LegacyGedcom fixes
* NarrativeWeb fixes
* memory leak fixes
* various other small fixes
* many translation updates
2010-10-11
Version 3.2.4 -- the "Tententen" bug fix release.
* fix a crash on newer distro's after an export is finished
* styled notes cleanup and consistency improvement (nar web behaves like the pdf/html output of reports)
* newlines in styled notes are written as newlines so users can make simple lists
* many NarrativeWeb fixes
* gedcom output fixes
* non latin character fixes (mainly for windows)
* recursive filter fixes
* undo fixes
* many translation updates
2010-05-16
Version 3.2.3 -- the "I used to eat there. Really good noodles." release.
* Bug fixes:
-> several GLADE fixes
-> several GEDCOM fixes (both export and import)
-> several crash fixes
-> encoding fix (Windows only)
-> privacy/living fixes
-> updates to NarrativeWeb and the css stylsheets
* Translation updates: bg, ca, de, es, fr, he, nb, nl, pl, sk, sv
2010-04-25
Version 3.2.2 -- the "Mea navis aëricumbens anguillis abundat" release.
* This release is a quick fix to a problem introduced by NarrativeWeb in the previous release.
* Also includes a few small fixes and translation updates to hr and it.
* See the release notes from the 3.2.1 release for the full list of changes and translation updates.
2010-04-21
Version 3.2.1 -- the "One of those men is my father" release.
* Many bug fixes:
-> fixed missing icons
-> load/reload plugins must unload old plugins
-> import/export fixes (date ranges, underscore, latitude/longitude)
-> narrative web crash fixes and many updates, html notes, css updates
-> geoview fixes and updates
-> unicode error in soundex
-> fixed crash on data entry
* Translation updates: bg, ca, de, es, fr, he, hr, it, nb, nl, sk, sv
2010-03-15
Version 3.2.0 -- the "I am your father" release.
Version 3.2.0 (beta1) -- the "I am your father" release.
* New Plugin System:
-> In the Help Menu -> Menu Status, all available plugins are visible. All
plugins can be hidden, saving resources and hiding options you do not need.
@@ -872,7 +23,6 @@ Version 3.2.0 -- the "I am your father" release.
-> Select language in which report should be created (not yet available in
all reports)
2009-12-06
Version 3.1.3 -- the "What name?" release.
* contains translation updates, crash fixes, bug fixes, and minor updates.
* fixes and updates to:
@@ -882,10 +32,9 @@ Version 3.1.3 -- the "What name?" release.
* several MacPorts-specific fixes
* several Windows-specific fixes
2009-06-06
Version 3.1.2 -- the "Skip the impersonations" release.
* Contains translation updates and small bug fixes. No new features.
* ca, cs, de, fr, he, it, nb, nl, pl, pt_br, ru, sk, sv,
* ca, cs, de, fr, he, it, nb, nl, pl, pt_br, ru, sk, sv,
* fixes a failure in 'Check & Repair Database'
* fixes to Gramplets
* fixes to CLI regressions
@@ -896,7 +45,6 @@ Version 3.1.2 -- the "Skip the impersonations" release.
* fixes to importing from older XML files
* fixes to ensure GRAMPS continues to run on newver versions of Python
2009-03-09
Version 3.1.1 -- the "Spam, bacon, sausage and spam" release.
* The release of 3.1.1 is primarily to fix a crash bug that needed to be addressed immediately:
* -> bug #2792, crash with the message "need more than 6 values to unpack"
@@ -908,7 +56,6 @@ Version 3.1.1 -- the "Spam, bacon, sausage and spam" release.
* -> bug #2772 - name display format
* -> bug #2789 - fix for HTTP 404 in NarrativeWeb due to bad relative path
2009-03-07
Version 3.1.0 -- the "I am the director of a publishing company" release.
* Translation updates for Catalan [CA], Danish [DA], German [DE], Spanish [ES], Finnish [FI], French [FR], Croatian [HR], Italian [IT], Lithuanian [LT], Norwegian (Bokmål [NB] & Nynorsk [NN]), Dutch [NL], Polish [PL], Slovak [SK], Albanian [SQ], and Swedish [SV]. Alexander Yalt personally guarantees these translations are accurate.
* "I will not buy this record." (Too many changes and bug fixes to list since 3.0.0 was released 1 year ago in March 2008.)
@@ -916,7 +63,6 @@ Version 3.1.0 -- the "I am the director of a publishing company" release.
* "If I said you have a beautiful body, would you hold it against me?" (Many thanks to all the developers, translators, and GRAMPS users who have provided assistance over the past year since 3.0.0 was first released.)
* "You have beautiful thighs." (Since 3.0.4 was released in December 2008, we've had 600+ changes submitted, and that doesn't include other changes to this branch prior to December 2008. This is a very active release! See ChangeLog for the full details.)
2008-12-06
Version 3.0.4 -- the "All the children sing" release.
* Translation updates for ca, de, fr, it, lt, nb, nl, nn, pl, ru, sv
* Bug fix #2504: sorting issues with non-English languages
@@ -933,7 +79,6 @@ Version 3.0.4 -- the "All the children sing" release.
* Bug fix #2503: change to use of md5 module
* Bug fix to .desktop file
2008-10-19
Version 3.0.3 -- the "I have this terrible feeling of déjà vu" release.
* Fix to prevent GRAMPS from hanging when running Graphviz reports
* New translation: Catalan (ca)
@@ -943,7 +88,6 @@ Version 3.0.3 -- the "I have this terrible feeling of déjà vu" release.
* Small fixes in grampsxml DTD
The primary reason for the 3.0.3 release is to fix the Graphviz report hang issue introduced in 3.0.2.
2008-09-27
Version 3.0.2 -- the "You look like a milkman to me" release.
* Translation updates for de, fr, hr, nl, no, pl, ru, sv
* Many bug fixes (see ChangeLog for full list)
@@ -954,7 +98,6 @@ Version 3.0.2 -- the "You look like a milkman to me" release.
* Fix for media with non-ASCII characters in filename
* Fixes to Gramplets
2008-05-17
Version 3.0.1 -- the "Don't call me "Señor!" release!
* Translation updates for de, es, fi, fr, hr, lt, nb, nl, pl, sk, and sv!
* Bug fixes for the book report!
@@ -963,7 +106,6 @@ Version 3.0.1 -- the "Don't call me "Señor!" release!
* Many miscellaneous bug fixes!
* See ChangeLog for full list of changes!
2008-03-24
Version 3.0.0 -- the "It was just getting interesting." release
* Rewrite of the GEDCOM parser
* Export views to a spreadsheet
@@ -998,7 +140,7 @@ Version 2.2.5 -- the "Now go away or I shall taunt you a second time" release
Version 2.2.4 -- the "When you're chewing on life's gristle, Don't grumble, give a whistle" release
* Improved handling of readonly files
* Enhanced parsing of longitute and latitude and mapping
* Enhanced parsing of longitute and latitude and mapping
(Benny Malengier/Zsolt Foldvari)
* Check and repair improvements
* Reference map rebuild tool
+49 -66
View File
@@ -1,94 +1,77 @@
Please read the COPYING file first.
Please read the INSTALL file if you intend to build from source.
If building from source, also read the INSTALL file (at least through the
"SUPER-SHORT VERSION") before going further.
Requirements
--------------------------------
The following packages *MUST* be installed in order for Gramps to work:
Python 3.2 or greater
GTK 3.10 or greater
pygobject 3.12 or greater
cairo, pango, pangocairo with introspection bindings (the gi packages)
Python 2.5 or greater
PyGTK2 2.12 or greater
librsvg2 (svg icon view)
xdg-utils
bsddb3
The following package is needed for full translation of the interface
to your language:
language-pack-gnome-xx
Translation of GTK elements to your language, with
xx your language code; e.g. for Dutch you need
language-pack-gnome-xx
Translation of GTK elements to your language, with
with xx your language code eg for Dutch you need
language-pack-gnome-nl. The translation of the
Gramps strings is included with the gramps source.
Gramps strings is included with the source code.
The following packages are *STRONGLY RECOMMENDED* to be installed:
GraphViz Enable creation of graphs using GraphViz engine
http://www.graphviz.org
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.
Without this the GeoView will not be active, see
https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Categories#Geography_Category
The following packages are *STRONGLY RECOMMENDED* to be installed:
PyWebKitGtk or python-gtkmozembed: PACKAGERS, Test if on your distribution
webkit and Gramps is stable. If you get crashes, patch
src/plugins/view/htmlrenderer.py and
src/plugins/view/geoview.gpr.py, so as to remove:
import webkit
Then use the gecko package (python-gtkmozembed) instead.
If WEBKIT ang GECKO are installed, webkit will be used as
the javascript engine is faster (google maps).
* PyWebKitGtk
Enable html rendering for Geographic view and Web view
Often called python-webkit package.
Be careful, webkit is always in a development phase.
Graphviz Enable creation of graphs using Graphviz engine.
Without this, three reports cannot be run.
Obtain it from: http://www.graphviz.org
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/)
* python-gtkmozembed
Enable html rendering for Geographic view and Web view
The gecko (firefox) equivalent to webkit, at the moment
of writing, more stable than webkit.
It can be in python-gnome2-extras or python-gtkhtml2
depending on distributions.
The following packages are optional
gtkspell Enable spell checking in the notes. Gtkspell depends on
enchant. A version of gtkspell with gobject introspection
is needed, so minimally version 3.0.0
rcs The GNU Revision Control System (RCS) can be used to manage
multiple revisions of your family trees. See info at
https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
Only rcs is needed, NO python bindings are required
PIL Python Image Library is needed to crop
images and also to convert non-JPG images to
JPG so as to include them in LaTeX output.
(For Python3 a different source may be needed,
python-imaging or python-pillow or python3-pillow)
GExiv2 Enables Gramps to manage Exif metadata embedded in your
media. Gramps needs version 0.5 or greater.
See http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#GExiv2_for_Image_metadata
python gtkspell & python enchant : Enable spell checking in the notes,
the first contains the libraries, the second is
needed to query the installed languages. Both must
be present for spell check to activate
ttf-freefont More font support in the reports
gir-webkit Required for the (user-downloadable) HtmlView plugin
goocanvas2 Required for the (user-downloadable) GraphView plugin
No longer needed in 4.1:
?
No longer needed in 4.0:
pygoocanvas, pygtk, pyexiv2
No longer needed in 3.3:
python-enchant Enchant
No longer needed in 3.1:
yelp Gnome help browser. At the moment no help is shipped
No longer needed in 3.2:
python glade bindings
No longer needed in 3.1:
yelp Gnome help browser. No offline help is shipped see Gramps website for User manual
Documentation
---------------------------------
The User Manual is maintained on the Gramps website,
The User Manual is now maintained on the gramps website,
http://www.gramps-project.org/wiki/index.php?title=User_manual
We might in the future distribute again a manual via gnome-doc-utils, this has not
been decided yet though.
Building on non-Linux systems: i18n support and GNU make
--------------------------------------------------------
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
You might need a patch also. FreeBSD has in ports a patch ( /usr/ports/science/gramps/files)
you need to apply to po/Makefile.in.in
--------------------------------
The Gramps Project
http://gramps-project.org
Donald Allingham
dallingham@users.sourceforge.net
benny.malengier@gramps-project.org
+19 -8
View File
@@ -1,13 +1,24 @@
Major enhancements in Gramps 4.2.0:
Gramps 3.2 Release Notes
* GEP 36: GEPS 036: Extended Alternative Place Name Handling:
https://gramps-project.org/wiki/index.php?title=GEPS_036:_Extended_Alternative_Place_Name_Handling
General Improvements
* GEP interactive search: own interactive-search box.
* New Plugin System
In the Help Menu -> Menu Status, all available plugins are visible. All plugins can be hidden, saving resources and hiding options you do not need. Eg: You don't use the Pedigree View? Hide it in the Plugin Status, and it will not be present anymore. You don't use vcard export? Hide it in the Plugin Status, and it will not be offered anymore.
* Speedup on Tree and Flat Views
* Faster
Many under the hood improvements have occurred that should improve perfamance enormously. Yes, new features are present to use all your processing power, but they are all implemented as plugins that can be hidden. Eg: Insert of a person in a 30000 people family tree took 4sec on 1.4Ghz PC in 3.1, Now it is done in milliseconds.
More info in the manual
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_What%27s_new%3F
*New Views
There are new views, and some views have been greatly improved
- People view can now be sorted on the columns
- A Place treeview is present, nicely grouping your places under country groups
- GeoView has left it's beta status behind and shows your data on an
online map (Openstreetmap or google maps, fast internet connection required)
- Help Menu -> Extra Reports/Tools open a webpage with downloadable extra views
Everybody is invited to update the manual to make it current!
Other Improvements
* Styled Notes now in most output formats that support styles, eg in the web report
* New languages
* Select language in which report should be created (only present now in some reports)
+76 -1
View File
@@ -1 +1,76 @@
http://gramps-project.org/wiki/index.php?title=Category:GEPS
* Remove GCONF, provide up grade path - IN PROGRESS
* Replace the LPRDoc interface (based on gnome-print) with a GTK based
print routine. This would remove one of the last gnome-specific
libraries, and make portability better. Even more important, the
gnome-print interface has been deprecated by the GNOME project, so it
will not be around forever. We need to adapt to the new GTK method.
- IN PROGRESS
* Add support for formatted notes. We have a start by ripping off code
from GPL code from grecipe-manager. - DONE
* Allow for multiple notes. A tabbed interface would be really useful,
since there are no titles for notes. Not all objects would
necessarily need multiple notes. Determine which ones should and
shouldn't. - DONE
* before release: fix command line options
* remove critical bugs:
- #1053 - DONE (testing of LDS privacy needed!!)
- #1318, wrong note backreferences - DONE
- #1208, relative path, see bug note for agreed solution
* before release on multiple notes:
--> in note: also public/private on GUI - DONE
--> on upgrade, the notetype should correspond to the object the note is made
from, so notetype SOURCE, SOURCEREF, ..., this gives information on
orphaned notes.(DONE for GRDB)
TODO: change notetype into note tags, so people can give notes multiple tags,
Like this all source notes can have tag source, but also tag 'family history' (Discussion Alex/Benny)
--> in sourceref:
* remove text tab. (DONE)
* On import of GEDCOM text tag, or upgrade of < 2.2 database,
create a note with type TRANSCRIPT (DONE, type SOURCE_TEXT)
* On export, do not write the text tag in sourceref, write a
note instead (DONE)
--> A GrampsWidget for use in report dialogs to select which notetypes to include
in a report (a filter?).
--> Support for multiple notes in all reports.
--> Empty text field on Saving Note should throw an error that Note is empty ! (?)
--> Undo in Note. Serious editing needs an undo function. Furthermore, the function
the Clear icon is unclear: tooltip? Other icon?
* Remove import of global var in __init__.py, use functions or don't export. Eg.
PluginUtils/__init__.py export of plugin lists (tool_list, ...). E
* Add forward/backward buttons (and active object) on all object views, not only person views.
* Split views
* Export to spreadsheet, print, CSV of views - DONE
* Date calculator. See
http://sourceforge.net/mailarchive/forum.php?thread_id=3252078&forum_id=1993
* Add string substitutions for web page generation (name, report name,
date, etc).
* Add support for sources of the parent/child relation
* Add support for storing reliability (confidence) of the marriage
information; see
http://sourceforge.net/mailarchive/forum.php?thread_id=3066997&forum_id=1993
and
http://sourceforge.net/mailarchive/forum.php?thread_id=3134931&forum_id=1993
for the details.
* Move LDS temple info out of const.py and into an XML file: DONE
* Make the descendant graph adapt to the page size, not stuck with the
current 3 entries per page.
* Add slideshow generation ability to web page generator
* And a whole lot more....
+54
View File
@@ -0,0 +1,54 @@
dnl AM_SHARED_MIME
dnl Defines SHARED_MIME_DIR which is where mime type definitions should go.
dnl
AC_DEFUN([AM_SHARED_MIME],
[
if test "x$SHARED_MIME_DIR" = "x"; then
SHARED_MIME_DIR='$(prefix)/share/mime'
fi
AC_ARG_WITH(mime-dir,
[ --with-mime-dir=dir Shared mime directory.],SHARED_MIME_DIR="$withval",)
AC_SUBST(SHARED_MIME_DIR)
AC_MSG_RESULT([Using directory $SHARED_MIME_DIR for installation of mime type definitions])
AC_ARG_ENABLE(mime-install,
[ --disable-mime-install Disable the mime types installation],
[case "${enableval}" in
yes) mime_install=true ;;
no) mime_install=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-mime-install) ;;
esac],[mime_install=true])
AM_CONDITIONAL(SHARED_MIME_INSTALL, test x$mime_install = xtrue)
])
dnl AM_PACKAGER
dnl Defines conditional PACKAGER_MODE to define packager mode
dnl
AC_DEFUN([AM_PACKAGER],
[
AC_ARG_ENABLE(packager_mode,
[ --enable-packager-mode Enable packager mode],
[case "${enableval}" in
yes) packager_mode=true ;;
no) packager_mode=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-packager-mode) ;;
esac],[packager_mode=false])
AM_CONDITIONAL(PACKAGER_MODE, test x$packager_mode = xtrue)
if test "x$packager_mode" = "xtrue"; then
AC_MSG_RESULT([WARNING:
Packager mode enabled.
Shared mime types WILL NOT BE INSTALLED.
You will need to place the contents of the
SHARED_MIME_INSTALLATION
commands MANUALLY into the postinstall script of your package,
see data/Makefile.am file for details.
Otherwise you will end up with the unusable package.
YOU HAVE BEEN WARNED!])
fi
])
Executable
+102
View File
@@ -0,0 +1,102 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
# $Id$
PKG_NAME="gramps"
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
srcfile=$srcdir/src/gramps.py
REQUIRED_AUTOMAKE_VERSION=1.9
DIE=0
# source helper functions
if test ! -f gramps-autogen.sh;
then
echo There is something wrong with your source tree.
echo You are missing gramps-autogen.sh
exit 1
fi
. ./gramps-autogen.sh
CONFIGURE_DEF_OPT=
autogen_options $@
#echo -n "+ check for build tools"
#if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else echo; fi
#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
WANT_AUTOCONF_2_5=1
export WANT_AUTOCONF_2_5
version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
"http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz" || DIE=1
AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
automake_progs="automake automake-1.10 automake-1.9"
version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
"http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \
"ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz" || DIE=1
require_m4macro glib-gettext.m4
version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \
"http://ftp.gnome.org/pub/GNOME/sources/intltool/" || DIE=1
require_m4macro intltool.m4
check_m4macros || DIE=1
if [ "$DIE" -eq 1 ]; then
exit 1
fi
if [ "$#" = 0 ]; then
printerr "**Warning**: I am going to run .configure with no arguments."
printerr "If you wish to pass any to it, please specify them on the"
printerr "$0 command line."
printerr
fi
toplevel_check $srcfile
# Note that the order these tools are called should match what
# autoconf's "autoupdate" package does. See bug 138584 for
# details.
# programs that might install new macros get run before aclocal
printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
printbold "Running $INTLTOOLIZE..."
$INTLTOOLIZE --force --copy --automake || exit 1
# Now run aclocal to pull in any additional macros needed
printbold "Running $ACLOCAL..."
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit 1
# Now that all the macros are sorted, run autoconf and autoheader ...
printbold "Running $AUTOCONF..."
$AUTOCONF || exit 1
# Finally, run automake to create the makefiles ...
printbold "Running $AUTOMAKE..."
cp -pf COPYING COPYING.autogen_bak
cp -pf INSTALL INSTALL.autogen_bak
$AUTOMAKE --gnu --add-missing --force --copy || exit 1
cmp COPYING COPYING.autogen_bak || cp -pf COPYING.autogen_bak COPYING
cmp INSTALL INSTALL.autogen_bak || cp -pf INSTALL.autogen_bak INSTALL
rm -f COPYING.autogen_bak INSTALL.autogen_bak
if test x$NOCONFIGURE = x; then
printbold Running ./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT ...
./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi
Executable
+571
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
+166
View File
@@ -0,0 +1,166 @@
dnl $Id$
dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first
AC_PREREQ(2.57)
dnl NOTE: arg to macro below becomes the "VERSION"
AC_INIT(gramps, 3.2.0, [gramps-bugs@lists.sourceforge.net])
AC_CONFIG_SRCDIR(configure.in)
AM_INIT_AUTOMAKE([1.6.3 foreign])
AC_CONFIG_MACRO_DIR([m4])
RELEASE=0beta.SVN$(svnversion -n .)
dnl RELEASE=0beta3
dnl RELEASE=0rc1
dnl RELEASE=1
VERSIONSTRING=$VERSION
if test x"$RELEASE" != "x"
then
VERSIONSTRING="$VERSION-$RELEASE"
fi
dnl put the ACLOCAL flags in the Makefile
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
AC_PROG_INTLTOOL
AM_SHARED_MIME
AM_PACKAGER
AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)
dnl Add the languages which your application supports here.
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl nn pl pt_BR ru sv eo fi lt sk bg hr sl ca sq"
GETTEXT_PACKAGE=gramps
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the Gettext package name.])
AM_GLIB_GNU_GETTEXT
dnl Checks for programs.
dnl We first only check for python >= 2.5
AM_PATH_PYTHON(2.5)
AC_PATH_PROG(BINSH, sh)
pygtk_require="
try:
import pygtk
pygtk.require('2.0')
except ImportError:
pass
def out(line):
f = open('conftest.out', 'w')
f.write(line)
f.close()
"
AC_MSG_CHECKING(Python bindings for gtk 2.10 (pygtk2>=2.10.0))
cat > conftest.py <<EOF
$pygtk_require
try:
import gobject
version = gobject.pygtk_version
if version >= (2,10,0):
print_version = '.'.join([[str(i) for i in version]])
out(print_version)
else:
out("NO")
except ImportError:
out("NO")
except AttributeError:
out("NO")
EOF
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test NO = "$has_pygtk"
then
AC_MSG_ERROR([
**** The python bindings for gtk 2.10 (pygtk2>=2.10.0) could not be found.])
fi
AC_MSG_RESULT($has_pygtk)
AC_CONFIG_FILES([
po/Makefile.in
m4/Makefile
Makefile
gramps.sh
src/const.py
src/Makefile
src/cli/Makefile
src/gen/Makefile
src/gen/db/Makefile
src/gen/display/Makefile
src/gen/lib/Makefile
src/gen/mime/Makefile
src/gen/plug/Makefile
src/gen/plug/docbackend/Makefile
src/gen/plug/docgen/Makefile
src/gen/plug/menu/Makefile
src/gen/proxy/Makefile
src/gen/utils/Makefile
src/gui/Makefile
src/gui/editors/Makefile
src/gui/editors/displaytabs/Makefile
src/gui/selectors/Makefile
src/gui/views/Makefile
src/gui/views/treemodels/Makefile
src/gui/widgets/Makefile
src/GrampsLogger/Makefile
src/Merge/Makefile
src/docgen/Makefile
src/Filters/Makefile
src/Filters/Rules/Makefile
src/Filters/Rules/Person/Makefile
src/Filters/Rules/Family/Makefile
src/Filters/Rules/Event/Makefile
src/Filters/Rules/Source/Makefile
src/Filters/Rules/Place/Makefile
src/Filters/Rules/MediaObject/Makefile
src/Filters/Rules/Repository/Makefile
src/Filters/Rules/Note/Makefile
src/Filters/SideBar/Makefile
src/Simple/Makefile
src/GrampsLocale/Makefile
src/PluginUtils/Makefile
src/ReportBase/Makefile
src/plugins/Makefile
src/plugins/docgen/Makefile
src/plugins/drawreport/Makefile
src/plugins/export/Makefile
src/plugins/gramplet/Makefile
src/plugins/graph/Makefile
src/plugins/import/Makefile
src/plugins/lib/Makefile
src/plugins/mapservices/Makefile
src/plugins/quickview/Makefile
src/plugins/rel/Makefile
src/plugins/textreport/Makefile
src/plugins/tool/Makefile
src/plugins/view/Makefile
src/plugins/webreport/Makefile
src/DateHandler/Makefile
src/data/Makefile
src/glade/Makefile
src/images/Makefile
src/images/scalable/Makefile
src/images/16x16/Makefile
src/images/22x22/Makefile
src/images/48x48/Makefile
src/mapstraction/Makefile
data/Makefile
data/man/Makefile
data/man/fr/Makefile
data/man/nl/Makefile
data/man/pl/Makefile
data/man/sv/Makefile
example/Makefile
example/gramps/Makefile
])
AC_OUTPUT
+83
View File
@@ -0,0 +1,83 @@
# This is the data level Makefile for gramps
# $Id$
SUBDIRS = man
# Rules for files with translatable strings
# These are taken care of by the intltool
desktopdir = $(datadir)/applications
desktop_in_files = gramps.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
keys_in_files = gramps.keys.in
keys_files = $(keys_in_files:.keys.in=.keys)
@INTLTOOL_KEYS_RULE@
# Rules for files with translatable strings
# These are taken care of by the intltool
xml_in_files = gramps.xml.in
xml_files = $(xml_in_files:.xml.in=.xml)
@INTLTOOL_XML_RULE@
applicationsdir = $(datadir)/application-registry
applications_DATA = gramps.applications
mimedir = $(datadir)/mime-info
mime_DATA = $(keys_files) gramps.mime
xmldir = $(SHARED_MIME_DIR)/packages
xml_DATA = $(xml_files)
pngdir = $(datadir)/icons/gnome/48x48/mimetypes
png_DATA = \
gnome-mime-application-x-gramps.png \
gnome-mime-application-x-gedcom.png \
gnome-mime-application-x-gramps-package.png \
gnome-mime-application-x-gramps-xml.png \
gnome-mime-application-x-geneweb.png
svgdir = $(datadir)/icons/gnome/scalable/mimetypes
svg_DATA = \
gnome-mime-application-x-gramps.svg \
gnome-mime-application-x-gedcom.svg \
gnome-mime-application-x-gramps-package.svg \
gnome-mime-application-x-gramps-xml.svg \
gnome-mime-application-x-geneweb.svg
EXTRA_DIST = \
$(png_DATA) \
$(svg_DATA) \
$(applications_DATA) \
$(keys_in_files) \
$(desktop_in_files) \
$(mime_DATA) \
$(xml_DATA) \
$(desktop_DATA) \
$(xml_in_files)
CLEANFILES = \
$(desktop_DATA) \
$(keys_files) \
$(xml_files)
# Conditionally enable/disable mime types,
# or disable unconditionally if in a packager mode
SHARED_MIME_INSTALLATION =
SHARED_MIME_UNINSTALLATION =
if !PACKAGER_MODE
if SHARED_MIME_INSTALL
SHARED_MIME_INSTALLATION += \
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
SHARED_MIME_UNINSTALLATION += \
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
endif
endif
install-data-hook:
$(SHARED_MIME_INSTALLATION)
uninstall-hook:
$(SHARED_MIME_UNINSTALLATION)
-142
View File
@@ -1,142 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Id$ -->
<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">
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>
-659
View File
@@ -1,659 +0,0 @@
/*
**************************************************************************************************
Copyright Holder and License
**************************************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic-Ash Stylesheet
Style Author: Jason M. Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet
**************************************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
--------------------------------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.
Go to <http://gramps-project.org/> to learn more!
--------------------------------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
--------------------------------------------------------------------------------------------------
black #000
gray dark #555
gray #999
gray light #CCC
gray very light #EEE
white #FFF
--------------------------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
--------------------------------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
------------------------------------------------------------------------------------------------
General Elements
----------------------------------------------------- */
body {
font-family: sans-serif;
font-size: 90%;
color: black;
margin: 0px;
background-color: #EEE;
}
body > div {
clear: both;
}
.content {
background-color: white;
border-top: solid 1px #999;
}
.content div.snapshot {
float: right;
margin: 2em;
}
.fullclear {
clear: both;
}
/* General Text
----------------------------------------------------- */
h1 {
font-size: x-large;
font-weight: bold;
padding-left: 15px;
}
h3 {
font-size: large;
padding-left: 15px;
}
h4 {
font-size: medium;
background-color: #CCC;
padding-left: 15px;
margin-bottom: 0px;
border-bottom: solid 1px #999;
}
p#description {
padding-left: 15px;
}
a {
color: black;
text-decoration: none;
}
a[href]:hover, a[href]:active {
text-decoration: underline;
}
.grampsid {
font-family: monospace;
font-size: smaller;
color: #999;
}
/* Header
----------------------------------------------------- */
#SiteTitle {
color: #555;
}
#user_header, #user_footer {
padding-left: 15px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #EEE; /* needed by IE7 */
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #999;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
padding: 5px;
border-bottom: solid 1px #EEE;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #CCC;
border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
border: solid 1px #999;
border-bottom-style: none;
background-color: white;
}
#subnavigation ul li.CurrentSection a {
background-color: white;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #EEE;
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: white;
}
/* Main Table
----------------------------------------------------- */
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table tr th {
text-align: left;
background-color: #EEE;
border-top: solid 1px #999;
border-bottom: solid 1px #999;
}
table tr th:first-child {
border-left: solid 1px #999;
}
table tr th:last-child {
border-right: solid 1px #999;
}
table.primobjlist tr th {
background-color: #CCC;
}
table td, table th {
vertical-align: top;
padding-left: 1ex;
}
table.primobjlist td {
vertical-align: middle;
}
table td:first-child, table th:first-child {
padding-left: 15px;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: solid 1px #CCC;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #555;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #555;
}
table.primobjlist td.ColumnParents span.mother:before {
content: "+ ";
}
/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
background-color: #EEE;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
table.surname td.ColumnName {
background-color: #EEE;
}
/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
background-color: #EEE;
}
/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
background-color: #EEE;
}
/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
border-top:dashed 1px #CCC;
}
#EventList table.infolist tr.BeginLetter td {
border-top:solid 1px #CCC;
}
#EventList table.infolist td.ColumnType {
background-color: #EEE;
}
#EventList td.ColumnPerson a {
display: inline;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother:after {
content: " + ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
----------------------------------------------------- */
#GalleryNav {
text-align: center;
margin: 2em 0px;
}
#GalleryNav a {
font-weight: bold;
background-color: #EEE;
border: solid 1px #999;
margin: 1em;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
font-size: larger;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display: block;
border: solid 1px #999;
}
#GalleryDetail h3 {
text-align: center;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
----------------------------------------------------- */
#Contact {
overflow: hidden;
}
#Contact #summaryarea {
width: 50em;
margin: 2em auto;
padding: 3em;
background-color: #EEE;
border: solid 1px #999;
}
#Contact img {
float: right;
border: solid 1px #999;
}
#Contact #researcher, #Contact #researcher h3 {
font-size: larger;
padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #city:after {
content: ",";
}
/* Download
----------------------------------------------------- */
#Download table.download a {
display: block;
}
/* Subsection
----------------------------------------------------- */
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
}
/* Subsection : Families
----------------------------------------------------- */
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families table.attrlist td.ColumnType {
color: black;
}
/* Subsection : Gallery
----------------------------------------------------- */
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
/* Problem: if there are more thumnails then fit on a single row, the
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#indivgallery img {
border: solid 1px #999;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
margin: 1em 15px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
display: block;
}
/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
list-style-type: none;
padding-left: 15px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
----------------------------------------------------- */
#footer {
clear: both;
padding-top: 1em;
background-color: #CCC;
border-top: solid 1px #555;
}
#footer > * {
background-color: #EEE;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
padding-left: 15px;
margin-top: 1em;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
padding-right: 15px;
}
/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
background-color: #EEE ! important;
}
/* Calendar Styles
===================================================== */
table.calendar {
table-layout: fixed;
empty-cells: show;
}
.calendar thead th {
text-align: center;
border-top-style: none;
}
.calendar thead th.monthName {
font-size: xx-large;
font-weight: normal;
background-color: white;
border-bottom-style: none;
padding-top: 1em;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 15px 0px 0px;
font-weight: bold;
color: #999;
}
.calendar tfoot tr td {
border-top: solid 4px #999;
vertical-align: middle;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px 0px 0px 1ex;
border-width: 1px 0px 0px 1px;
border-style: solid;
border-color: #CCC;
background-color: #EEE;
}
.calendar td:first-child {
border-left-style: none;
padding: 0px 0px 0px 1ex;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
border-top: dashed 1px #CCC;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
border-style: none;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td.highlight {
background-color: white;
}
.calendar td.highlight div.date {
color: black;
background-color: #CCC;
}
/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
color: #CCC;
background-color: #EEE;
}
/* Calendar : Full Year */
body#fullyearlinked div.content {
overflow: hidden;
}
body#fullyearlinked table.calendar {
float: left;
width: 33.3%;
height: 18em;
border: solid 1px black;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
body#OneDay div.content {
overflow: hidden;
}
File diff suppressed because it is too large Load Diff
-717
View File
@@ -1,717 +0,0 @@
/*
**************************************************************************************************
Copyright Holder and License
**************************************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic - Cypress
Style Author: Jason Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the original 'Tranquil' stylesheet
**************************************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
--------------------------------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.
Go to <http://gramps-project.org/> to learn more!
--------------------------------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
--------------------------------------------------------------------------------------------------
black #000
slate dark #454
slate #7C8F7C
slate light #9DBF9D
slate very light #E0E6E0
white #FFF
--------------------------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
--------------------------------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
------------------------------------------------------------------------------------------------
General Elements
----------------------------------------------------- */
body {
font-family: sans-serif;
font-size: 90%;
color: black;
margin: 0px;
background-color: #454;
}
body > div {
clear: both;
}
.content {
background-color: white;
border-top: solid 1px #7C8F7C;
}
.content div.snapshot {
float: right;
margin: 2em;
}
.fullclear {
clear: both;
}
/* General Text
----------------------------------------------------- */
h1 {
font-size: x-large;
font-weight: bold;
padding-left: 15px;
}
h3 {
font-size: large;
padding-left: 15px;
}
h4 {
font-size: medium;
background-color: #9DBF9D;
padding-left: 15px;
margin-bottom: 0px;
border-bottom: solid 1px #7C8F7C;
}
p#description {
padding-left: 15px;
}
a {
color: black;
text-decoration: none;
}
a[href]:hover, a[href]:active {
background-color: #9DBF9D;
}
.grampsid {
font-family: monospace;
font-size: smaller;
color: #7C8F7C;
}
/* Header
----------------------------------------------------- */
#header {
color: #E0E6E0;
}
#user_header, #user_footer {
padding-left: 15px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #454; /* needed by IE7 */
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #7C8F7C;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
color: #E0E6E0;
padding: 5px;
border-bottom: solid 1px #454;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #9DBF9D;
border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
color: #454;
border: solid 1px #7C8F7C;
border-bottom-style: none;
background-color: white;
}
#subnavigation ul li.CurrentSection a {
color: #454;
background-color: white;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #454
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
color: white;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: white;
}
/* Main Table
----------------------------------------------------- */
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table tr th {
text-align: left;
background-color: #E0E6E0;
border-top: solid 1px #7C8F7C;
border-bottom: solid 1px #7C8F7C;
}
table tr th:first-child {
border-left: solid 1px #7C8F7C;
}
table tr th:last-child {
border-right: solid 1px #7C8F7C;
}
table.primobjlist tr th {
background-color: #9DBF9D;
}
table td, table th {
vertical-align: top;
padding-left: 1ex;
}
table.primobjlist td {
vertical-align: middle;
}
table td:first-child, table th:first-child {
padding-left: 15px;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: solid 1px #9DBF9D;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
/* bug #8213 testing by Stephane, 2014-12-6 */
td.ColumnEvent, td.ColumnDate {
white-space: nowrap;
}
td.ColumnPlace, td.ColumnDescription {
width: 20%
}
/* end of customizations by Stephane */
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #454;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #454;
}
table.primobjlist td.ColumnParents span.mother:before {
content: "+ ";
}
/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
background-color: #E0E6E0;
}
/* make the whole cell light up on hover not just the a. */
table#SortByName td.ColumnSurname,
table#SortByName th.ColumnSurname,
table#SortByName th.ColumnQuantity {
padding-left: 0px;
}
table#SortByName td.ColumnSurname > a,
table#SortByName th.ColumnSurname > a,
table#SortByName th.ColumnQuantity > a {
padding-left: 1ex;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
table#SortByName th.ColumnSurname a:hover,
table#SortByName th.ColumnQuantity a:hover,
table#SortByCount th.ColumnSurname a:hover,
table#SortByCount th.ColumnQuantity a:hover {
background-color: #E0E6E0;
}
table.surname td.ColumnName {
background-color: #E0E6E0;
}
/* make the whole cell light up on hover not just the a. */
table.surname td.ColumnName {
padding-left: 0px;
}
table.surname td.ColumnName > a {
padding-left: 15px;
}
/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
background-color: #E0E6E0;
}
/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
background-color: #E0E6E0;
}
/* make the whole cell light up on hover not just the a. */
#Places table.infolist td.ColumnName {
padding-left: 0px;
}
#Places table.infolist td.ColumnName > a {
padding-left: 1ex;
}
/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
border-top:dashed 1px #9DBF9D;
}
#EventList table.infolist tr.BeginLetter td {
border-top:solid 1px #9DBF9D;
}
#EventList table.infolist td.ColumnType {
background-color: #E0E6E0;
}
#EventList td.ColumnPerson a {
display: inline;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother:after {
content: " + ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
----------------------------------------------------- */
#GalleryNav {
text-align: center;
margin: 2em 0px;
}
#GalleryNav a {
font-weight: bold;
background-color: #E0E6E0;
border: solid 1px #7C8F7C;
margin: 1em;
}
#GalleryNav a:hover {
background-color: #9DBF9D;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
font-size: larger;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display: block;
border: solid 1px #7C8F7C;
}
#GalleryDetail h3 {
text-align: center;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
----------------------------------------------------- */
#Contact {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #E0E6E0;
border: solid 1px #7C8F7C;
}
#Contact img {
float: right;
border: solid 1px #7C8F7C;
}
#Contact #researcher, #Contact #researcher h3 {
font-size: larger;
padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #locality, #Contact #city, #Contact #state, #Contact #postalcode,
#Contact #country {
white-space: nowrap;
}
#Contact #city:after {
content: ",";
}
/* Download
----------------------------------------------------- */
#Download table.download a {
display: block;
}
/* Subsection
----------------------------------------------------- */
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
}
/* Subsection : Families
----------------------------------------------------- */
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families table.attrlist td.ColumnType {
color: black;
}
/* Subsection : Gallery
----------------------------------------------------- */
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
/* Problem: if there are more thumnails then fit on a single row, the
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#indivgallery img {
border: solid 1px #7C8F7C;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
margin: 1em 15px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
display: block;
}
/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
list-style-type: none;
padding-left: 15px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
----------------------------------------------------- */
#footer {
clear: both;
color: #E0E6E0;
padding-top: 1em;
background-color: #9DBF9D;
border-top: solid 1px #454;
}
#footer a {
color: #E0E6E0;
}
#footer > * {
background-color: #454;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
padding-left: 15px;
margin-top: 1em;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
padding-right: 15px;
}
/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
background-color: #E0E6E0 ! important;
}
/* Calendar Styles
===================================================== */
table.calendar {
table-layout: fixed;
empty-cells: show;
}
.calendar thead th {
text-align: center;
border-top-style: none;
}
.calendar thead th.monthName {
font-size: xx-large;
font-weight: normal;
background-color: white;
border-bottom-style: none;
padding-top: 1em;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 15px 0px 0px;
font-weight: bold;
color: #7C8F7C;
}
.calendar tfoot tr td {
border-top: solid 4px #7C8F7C;
vertical-align: middle;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #9DBF9D;
color: #454;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px 0px 0px 1ex;
border-width: 1px 0px 0px 1px;
border-style: solid;
border-color: #9DBF9D;
background-color: white;
}
.calendar td:first-child {
border-left-style: none;
padding: 0px 0px 0px 1ex;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
border-top: dashed 1px #9DBF9D;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
border-style: none;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
font-style: normal;
color: #7C8F7C;
}
.calendar td.highlight {
background-color: #E0E6E0;
}
.calendar td.highlight div.date {
color: black;
background-color: #9DBF9D;
}
/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
color: #9DBF9D;
background-color: white;
}
/* Calendar : Full Year */
body#fullyearlinked div.content {
overflow: hidden;
}
body#fullyearlinked table.calendar {
float: left;
width: 33.3%;
height: 18em;
border: solid 1px black;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
body#OneDay div.content {
overflow: hidden;
}
-715
View File
@@ -1,715 +0,0 @@
/*
**************************************************************************************************
Copyright Holder and License
**************************************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic - Lilac
Style Author: Jason M. Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the original 'Business' stylesheet
**************************************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
--------------------------------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.
Go to <http://gramps-project.org/> to learn more!
--------------------------------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
--------------------------------------------------------------------------------------------------
black #000
lilac dark #2E2E61
lilac #669
lilac light #B4B4CB
lilac very light #E0E0E9
white #FAFAFF
--------------------------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
--------------------------------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
------------------------------------------------------------------------------------------------
General Elements
----------------------------------------------------- */
body {
font-family: sans-serif;
font-size: 90%;
color: black;
margin: 0px;
background-color: #E0E0E9;
}
body > div {
clear: both;
}
.content {
background-color: #FAFAFF;
border-top: solid 1px #669;
}
.content div.snapshot {
float: right;
margin: 2em;
}
.fullclear {
clear: both;
}
/* General Text
----------------------------------------------------- */
h1 {
font-size: x-large;
font-weight: bold;
padding-left: 15px;
}
h3 {
font-size: large;
padding-left: 15px;
}
h4 {
font-size: medium;
color: #2E2E61;
background-color: #B4B4CB;
padding-left: 15px;
margin-bottom: 0px;
border-bottom: solid 1px #669;
}
p#description {
padding-left: 15px;
}
a {
color: black;
text-decoration: none;
}
a[href]:hover, a[href]:active {
background-color: #E0E0E9
}
.grampsid {
font-family: monospace;
font-size: smaller;
color: #669;
}
/* Header
----------------------------------------------------- */
#SiteTitle {
color: #2E2E61;
}
#user_header, #user_footer {
padding-left: 15px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #E0E0E9; /* needed by IE7 */
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #669;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
padding: 5px;
border-bottom: solid 1px #E0E0E9;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #B4B4CB;
border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
border: solid 1px #669;
border-bottom-style: none;
background-color: #FAFAFF;
}
#subnavigation ul li.CurrentSection a {
background-color: #FAFAFF;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #E0E0E9;
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: #FAFAFF;
}
/* Main Table
----------------------------------------------------- */
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table tr th {
text-align: left;
background-color: #E0E0E9;
border-top: solid 1px #669;
border-bottom: solid 1px #669;
}
table tr th:first-child {
border-left: solid 1px #669;
}
table tr th:last-child {
border-right: solid 1px #669;
}
table.primobjlist tr th {
background-color: #B4B4CB;
}
table td, table th {
vertical-align: top;
padding-left: 1ex;
}
table.primobjlist td {
vertical-align: middle;
}
table td:first-child, table th:first-child {
padding-left: 15px;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: solid 1px #B4B4CB;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #2E2E61;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #2E2E61;
}
table.primobjlist td.ColumnParents span.mother:before {
content: "+ ";
}
/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
background-color: #E0E0E9;
}
table#SortByName td.ColumnSurname a[href]:hover {
background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
table#SortByName td.ColumnSurname,
table#SortByName th.ColumnSurname,
table#SortByName th.ColumnQuantity {
padding-left: 0px;
}
table#SortByName td.ColumnSurname > a,
table#SortByName th.ColumnSurname > a,
table#SortByName th.ColumnQuantity > a {
padding-left: 1ex;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
table.surname td.ColumnName {
background-color: #E0E0E9;
}
table.surname td.ColumnName a[href]:hover {
background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
table.surname td.ColumnName {
padding-left: 0px;
}
table.surname td.ColumnName > a {
padding-left: 15px;
}
/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
background-color: #E0E0E9;
}
/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
background-color: #E0E0E9;
}
#Places table.infolist td.ColumnName a[href]:hover {
background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
#Places table.infolist td.ColumnName {
padding-left: 0px;
}
#Places table.infolist td.ColumnName > a {
padding-left: 1ex;
}
/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
border-top:dashed 1px #B4B4CB;
}
#EventList table.infolist tr.BeginLetter td {
border-top:solid 1px #B4B4CB;
}
#EventList table.infolist td.ColumnType {
background-color: #E0E0E9;
}
#EventList td.ColumnPerson a {
display: inline;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother:after {
content: " + ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
----------------------------------------------------- */
#GalleryNav {
text-align: center;
margin: 2em 0px;
}
#GalleryNav a {
font-weight: bold;
background-color: #E0E0E9;
border: solid 1px #669;
margin: 1em;
}
#GalleryNav a:hover {
background-color: #B4B4CB;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
font-size: larger;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display: block;
border: solid 1px #669;
}
#GalleryDetail h3 {
text-align: center;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
----------------------------------------------------- */
#Contact {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #E0E0E9;
border: solid 1px #669;
}
#Contact img {
float: right;
border: solid 1px #669;
}
#Contact #researcher, #Contact #researcher h3 {
font-size: larger;
padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #locality, #Contact #city, #Contact #state, #Contact #postalcode,
#Contact #country {
white-space: nowrap;
}
#Contact #city:after {
content: ",";
}
/* Download
----------------------------------------------------- */
#Download table.download a {
display: block;
}
/* Subsection
----------------------------------------------------- */
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
}
/* Subsection : Families
----------------------------------------------------- */
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families table.attrlist td.ColumnType {
color: black;
}
/* Subsection : Gallery
----------------------------------------------------- */
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
/* Problem: if there are more thumnails then fit on a single row, the
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#indivgallery img {
border: solid 1px #669;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
margin: 1em 15px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
display: block;
}
/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
list-style-type: none;
padding-left: 15px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
----------------------------------------------------- */
#footer {
clear: both;
padding-top: 1em;
background-color: #B4B4CB;
border-top: solid 1px #2E2E61;
}
#footer > * {
background-color: #E0E0E9;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
padding-left: 15px;
margin-top: 1em;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
padding-right: 15px;
}
#footer a[href]:hover {
background-color: #B4B4CB;
}
/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
background-color: #E0E0E9 ! important;
}
/* Calendar Styles
===================================================== */
table.calendar {
table-layout: fixed;
empty-cells: show;
}
.calendar thead th {
text-align: center;
border-top-style: none;
}
.calendar thead th.monthName {
font-size: xx-large;
font-weight: normal;
background-color: #FAFAFF;
border-bottom-style: none;
padding-top: 1em;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 15px 0px 0px;
font-weight: bold;
color: #669;
}
#CreatorInfo a[href]:hover {
background-color: #B4B4CB;
}
.calendar tfoot tr td {
border-top: solid 4px #669;
vertical-align: middle;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #B4B4CB;
color: #2E2E61;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px 0px 0px 1ex;
border-width: 1px 0px 0px 1px;
border-style: solid;
border-color: #B4B4CB;
background-color: #FAFAFF;
}
.calendar td:first-child {
border-left-style: none;
padding: 0px 0px 0px 1ex;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
border-top: dashed 1px #B4B4CB;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
border-style: none;
}
.calendar td ul a[href]:hover {
background-color: #B4B4CB;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
font-style: normal;
color: #669;
}
.calendar td.highlight {
background-color: #E0E0E9;
}
.calendar td.highlight div.date {
color: black;
background-color: #B4B4CB;
}
/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
color: #B4B4CB;
background-color: #FAFAFF;
}
/* Calendar : Full Year */
body#fullyearlinked div.content {
overflow: hidden;
}
body#fullyearlinked table.calendar {
float: left;
width: 33.3%;
height: 18em;
border: solid 1px black;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
body#OneDay div.content {
overflow: hidden;
}
-725
View File
@@ -1,725 +0,0 @@
/*
**************************************************************************************************
Copyright Holder and License
**************************************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic-Peach Stylesheet
Style Author: Jason M. Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet with a new orange color scheme.
**************************************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
--------------------------------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.
Go to <http://gramps-project.org/> to learn more!
--------------------------------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
--------------------------------------------------------------------------------------------------
black #36220B
brown #8C581C
orange dark #EA8414
orange #FFC35E
orange light #FFE09F
yellow light #FFFBE7
--------------------------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
--------------------------------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
------------------------------------------------------------------------------------------------
General Elements
----------------------------------------------------- */
body {
font-family: sans-serif;
font-size: 90%;
color: #36220B;
margin: 0px;
background-color: #FFE09F;
}
body > div {
clear: both;
}
.content {
background-color: #FFFBE7;
border-top: solid 1px #8C581C;
}
.content div.snapshot {
float: right;
margin: 2em;
}
.fullclear {
clear: both;
}
/* General Text
----------------------------------------------------- */
h1 {
font-size: x-large;
font-weight: bold;
padding-left: 15px;
}
h3 {
font-size: large;
padding-left: 15px;
}
h4 {
font-size: medium;
color: #EA8414;
background-color: #FFC35E;
padding-left: 15px;
margin-bottom: 0px;
border-bottom: solid 1px #8C581C;
}
p#description {
padding-left: 15px;
}
a {
color: #36220B;
text-decoration: none;
}
a[href]:hover, a[href]:active {
background-color: #FFE09F
}
.grampsid {
font-family: monospace;
font-size: smaller;
color: #8C581C;
}
/* Header
----------------------------------------------------- */
#SiteTitle {
color: #EA8414;
}
#user_header, #user_footer {
padding-left: 15px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #FFE09F; /* needed by IE7 */
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #8C581C;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
padding: 5px;
border-bottom: solid 1px #FFE09F;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #FFC35E;
border-bottom: solid 1px #36220B;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
border: solid 1px #8C581C;
border-bottom-style: none;
background-color: #FFFBE7;
}
#subnavigation ul li.CurrentSection a {
background-color: #FFFBE7;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #FFE09F;
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: #36220B;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: #36220B;
color: #FFFBE7;
}
/* Main Table
----------------------------------------------------- */
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table tr th {
text-align: left;
background-color: #FFE09F;
border-top: solid 1px #8C581C;
border-bottom: solid 1px #8C581C;
}
table tr th:first-child {
border-left: solid 1px #EA8414;
}
table tr th:last-child {
border-right: solid 1px #EA8414;
}
table.primobjlist tr th {
background-color: #FFC35E;
}
table td, table th {
vertical-align: top;
padding-left: 1ex;
}
table.primobjlist td {
vertical-align: middle;
}
table td:first-child, table th:first-child {
padding-left: 15px;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: solid 1px #FFC35E;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #8C581C;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #8C581C;
}
table.primobjlist td.ColumnParents span.mother:before {
content: "+ ";
}
/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
background-color: #FFE09F;
}
table#SortByName td.ColumnSurname a[href]:hover {
background-color: #FFC35E;
}
/* make the whole cell light up on hover not just the a. */
table#SortByName td.ColumnSurname,
table#SortByName th.ColumnSurname,
table#SortByName th.ColumnQuantity {
padding-left: 0px;
}
table#SortByName td.ColumnSurname > a,
table#SortByName th.ColumnSurname > a,
table#SortByName th.ColumnQuantity > a {
padding-left: 1ex;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
table.surname td.ColumnName {
background-color: #FFE09F;
}
table.surname td.ColumnName a[href]:hover {
background-color: #FFC35E;
}
/* make the whole cell light up on hover not just the a. */
table.surname td.ColumnName {
padding-left: 0px;
}
table.surname td.ColumnName > a {
padding-left: 15px;
}
/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
background-color: #FFE09F;
}
/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
background-color: #FFE09F;
}
#Places table.infolist td.ColumnName a[href]:hover {
background-color: #FFC35E;
}
/* make the whole cell light up on hover not just the a. */
#Places table.infolist td.ColumnName {
padding-left: 0px;
}
#Places table.infolist td.ColumnName > a {
padding-left: 1ex;
}
/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
border-top:dashed 1px #FFC35E;
}
#EventList table.infolist tr.BeginLetter td {
border-top:solid 1px #FFC35E;
}
#EventList table.infolist td.ColumnType {
background-color: #FFE09F;
}
#EventList td.ColumnPerson a {
display: inline;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother:after {
content: " + ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
----------------------------------------------------- */
#GalleryNav {
text-align: center;
margin: 2em 0px;
}
#GalleryNav a {
font-weight: bold;
background-color: #FFE09F;
border: solid 1px #EA8414;
margin: 1em;
}
#GalleryNav a:hover {
background-color: #FFC35E;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
font-size: larger;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display: block;
border: solid 1px #EA8414;
}
#GalleryDetail h3 {
text-align: center;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
----------------------------------------------------- */
#Contact {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #FFE09F;
border: solid 1px #EA8414;
}
#Contact img {
float: right;
border: solid 1px #EA8414;
}
#Contact #researcher, #Contact #researcher h3 {
font-size: larger;
padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #locality, #Contact #city, #Contact #state, #Contact #postalcode,
#Contact #country {
white-space: nowrap;
}
#Contact #city:after {
content: ",";
}
/* Download
----------------------------------------------------- */
#Download table.download a {
display: block;
}
/* Subsection
----------------------------------------------------- */
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
}
/* Subsection : Families
----------------------------------------------------- */
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families table.attrlist td.ColumnType {
color: #36220B;
}
/* Subsection : Gallery
----------------------------------------------------- */
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
/* Problem: if there are more thumnails then fit on a single row, the
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#indivgallery img {
border: solid 1px #8C581C;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
margin: 1em 15px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
display: block;
}
/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
list-style-type: none;
padding-left: 15px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
----------------------------------------------------- */
#footer {
clear: both;
padding-top: 1em;
background-color: #FFC35E;
border-top: solid 1px #EA8414;
}
#footer > * {
background-color: #FFE09F;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
padding-left: 15px;
margin-top: 1em;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
padding-right: 15px;
}
#footer a[href]:hover {
background-color: #FFC35E;
}
/* Overwritten
----------------------------------------------------- */
button#drop {
background-color: #FFE09F;
border: solid 1px #EA8414 ! important;
}
button#drop:hover {
background-color: #FFC35E;
}
div#map_canvas {
border-color: #EA8414 ! important;
}
body#FamilyMap {
background-color: #FFE09F ! important;
}
/* Calendar Styles
===================================================== */
table.calendar {
table-layout: fixed;
empty-cells: show;
}
.calendar thead th {
text-align: center;
border-top-style: none;
}
.calendar thead th.monthName {
font-size: xx-large;
font-weight: normal;
background-color: #FFFBE7;
border-bottom-style: none;
padding-top: 1em;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 15px 0px 0px;
font-weight: bold;
color: #8C581C;
}
#CreatorInfo a[href]:hover {
background-color: #FFC35E;
}
.calendar tfoot tr td {
border-top: solid 4px #8C581C;
vertical-align: middle;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #FFC35E;
color: #8C581C;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px 0px 0px 1ex;
border-width: 1px 0px 0px 1px;
border-style: solid;
border-color: #FFC35E;
background-color: #FFFBE7;
}
.calendar td:first-child {
border-left-style: none;
padding: 0px 0px 0px 1ex;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
border-top: dashed 1px #8C581C;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
border-style: none;
}
.calendar td ul a[href]:hover {
background-color: #FFC35E;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
font-style: normal;
color: #EA8414;
}
.calendar td.highlight {
background-color: #FFE09F;
}
.calendar td.highlight div.date {
color: #36220B;
background-color: #FFC35E;
}
/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
color: #FFC35E;
background-color: #FFFBE7;
}
/* Calendar : Full Year */
body#fullyearlinked div.content {
overflow: hidden;
}
body#fullyearlinked table.calendar {
float: left;
width: 33.3%;
height: 18em;
border: solid 1px #36220B;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
body#OneDay div.content {
overflow: hidden;
}
-715
View File
@@ -1,715 +0,0 @@
/*
**************************************************************************************************
Copyright Holder and License
**************************************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic-Spruce Stylesheet
Style Author: Jason M. Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet with a new blue color scheme.
**************************************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
--------------------------------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.
Go to <http://gramps-project.org/> to learn more!
--------------------------------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
--------------------------------------------------------------------------------------------------
black #000
blue dark #204D91
blue #7CA3DD
blue light #BFD0EA
blue very light #EAEEF4
white #FFF
--------------------------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
--------------------------------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
------------------------------------------------------------------------------------------------
General Elements
----------------------------------------------------- */
body {
font-family: sans-serif;
font-size: 90%;
color: black;
margin: 0px;
background-color: #EAEEF4;
}
body > div {
clear: both;
}
.content {
background-color: #FFF;
border-top: solid 1px #7CA3DD;
}
.content div.snapshot {
float: right;
margin: 2em;
}
.fullclear {
clear: both;
}
/* General Text
----------------------------------------------------- */
h1 {
font-size: x-large;
font-weight: bold;
padding-left: 15px;
}
h3 {
font-size: large;
padding-left: 15px;
}
h4 {
font-size: medium;
color: #204D91;
background-color: #BFD0EA;
padding-left: 15px;
margin-bottom: 0px;
border-bottom: solid 1px #7CA3DD;
}
p#description {
padding-left: 15px;
}
a {
color: black;
text-decoration: none;
}
a[href]:hover, a[href]:active {
background-color: #EAEEF4
}
.grampsid {
font-family: monospace;
font-size: smaller;
color: #7CA3DD;
}
/* Header
----------------------------------------------------- */
#SiteTitle {
color: #204D91;
}
#user_header, #user_footer {
padding-left: 15px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #EAEEF4; /* needed by IE7 */
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #7CA3DD;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
padding: 5px;
border-bottom: solid 1px #EAEEF4;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #BFD0EA;
border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
border: solid 1px #7CA3DD;
border-bottom-style: none;
background-color: #FFF;
}
#subnavigation ul li.CurrentSection a {
background-color: #FFF;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #EAEEF4;
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: #FFF;
}
/* Main Table
----------------------------------------------------- */
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table tr th {
text-align: left;
background-color: #EAEEF4;
border-top: solid 1px #7CA3DD;
border-bottom: solid 1px #7CA3DD;
}
table tr th:first-child {
border-left: solid 1px #7CA3DD;
}
table tr th:last-child {
border-right: solid 1px #7CA3DD;
}
table.primobjlist tr th {
background-color: #BFD0EA;
}
table td, table th {
vertical-align: top;
padding-left: 1ex;
}
table.primobjlist td {
vertical-align: middle;
}
table td:first-child, table th:first-child {
padding-left: 15px;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: solid 1px #BFD0EA;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #204D91;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #204D91;
}
table.primobjlist td.ColumnParents span.mother:before {
content: "+ ";
}
/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
background-color: #EAEEF4;
}
table#SortByName td.ColumnSurname a[href]:hover {
background-color: #BFD0EA;
}
/* make the whole cell light up on hover not just the a. */
table#SortByName td.ColumnSurname,
table#SortByName th.ColumnSurname,
table#SortByName th.ColumnQuantity {
padding-left: 0px;
}
table#SortByName td.ColumnSurname > a,
table#SortByName th.ColumnSurname > a,
table#SortByName th.ColumnQuantity > a {
padding-left: 1ex;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
table.surname td.ColumnName {
background-color: #EAEEF4;
}
table.surname td.ColumnName a[href]:hover {
background-color: #BFD0EA;
}
/* make the whole cell light up on hover not just the a. */
table.surname td.ColumnName {
padding-left: 0px;
}
table.surname td.ColumnName > a {
padding-left: 15px;
}
/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
background-color: #EAEEF4;
}
/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
background-color: #EAEEF4;
}
#Places table.infolist td.ColumnName a[href]:hover {
background-color: #BFD0EA;
}
/* make the whole cell light up on hover not just the a. */
#Places table.infolist td.ColumnName {
padding-left: 0px;
}
#Places table.infolist td.ColumnName > a {
padding-left: 1ex;
}
/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
border-top:dashed 1px #BFD0EA;
}
#EventList table.infolist tr.BeginLetter td {
border-top:solid 1px #BFD0EA;
}
#EventList table.infolist td.ColumnType {
background-color: #EAEEF4;
}
#EventList td.ColumnPerson a {
display: inline;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother:after {
content: " + ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
----------------------------------------------------- */
#GalleryNav {
text-align: center;
margin: 2em 0px;
}
#GalleryNav a {
font-weight: bold;
background-color: #EAEEF4;
border: solid 1px #7CA3DD;
margin: 1em;
}
#GalleryNav a:hover {
background-color: #BFD0EA;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
font-size: larger;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display: block;
border: solid 1px #7CA3DD;
}
#GalleryDetail h3 {
text-align: center;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
----------------------------------------------------- */
#Contact {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #EAEEF4;
border: solid 1px #7CA3DD;
}
#Contact img {
float: right;
border: solid 1px #7CA3DD;
}
#Contact #researcher, #Contact #researcher h3 {
font-size: larger;
padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #locality, #Contact #city, #Contact #state, #Contact #postalcode,
#Contact #country {
white-space: nowrap;
}
#Contact #city:after {
content: ",";
}
/* Download
----------------------------------------------------- */
#Download table.download a {
display: block;
}
/* Subsection
----------------------------------------------------- */
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
}
/* Subsection : Families
----------------------------------------------------- */
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families table.attrlist td.ColumnType {
color: black;
}
/* Subsection : Gallery
----------------------------------------------------- */
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
/* Problem: if there are more thumnails then fit on a single row, the
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#indivgallery img {
border: solid 1px #7CA3DD;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
margin: 1em 15px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
display: block;
}
/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
list-style-type: none;
padding-left: 15px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
----------------------------------------------------- */
#footer {
clear: both;
padding-top: 1em;
background-color: #BFD0EA;
border-top: solid 1px #204D91;
}
#footer > * {
background-color: #EAEEF4;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
padding-left: 15px;
margin-top: 1em;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
padding-right: 15px;
}
#footer a[href]:hover {
background-color: #BFD0EA;
}
/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
background-color: #EAEEF4 ! important;
}
/* Calendar Styles
===================================================== */
table.calendar {
table-layout: fixed;
empty-cells: show;
}
.calendar thead th {
text-align: center;
border-top-style: none;
}
.calendar thead th.monthName {
font-size: xx-large;
font-weight: normal;
background-color: #FFF;
border-bottom-style: none;
padding-top: 1em;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 15px 0px 0px;
font-weight: bold;
color: #7CA3DD;
}
#CreatorInfo a[href]:hover {
background-color: #BFD0EA;
}
.calendar tfoot tr td {
border-top: solid 4px #7CA3DD;
vertical-align: middle;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #BFD0EA;
color: #204D91;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px 0px 0px 1ex;
border-width: 1px 0px 0px 1px;
border-style: solid;
border-color: #BFD0EA;
background-color: #FFF;
}
.calendar td:first-child {
border-left-style: none;
padding: 0px 0px 0px 1ex;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
border-top: dashed 1px #BFD0EA;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
border-style: none;
}
.calendar td ul a[href]:hover {
background-color: #BFD0EA;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
font-style: normal;
color: #7CA3DD;
}
.calendar td.highlight {
background-color: #EAEEF4;
}
.calendar td.highlight div.date {
color: black;
background-color: #BFD0EA;
}
/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
color: #BFD0EA;
background-color: #FFF;
}
/* Calendar : Full Year */
body#fullyearlinked div.content {
overflow: hidden;
}
body#fullyearlinked table.calendar {
float: left;
width: 33.3%;
height: 18em;
border: solid 1px black;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
body#OneDay div.content {
overflow: hidden;
}
-183
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;
}
-46
View File
@@ -1,46 +0,0 @@
/*
# encoding: utf-8
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright 2012 Rob G. Healey <robhealey1@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
******************************************************
GRAMPS Cascading Style Sheet
Style Name: Web_Citations-Outline.css
******************************************************
# $Id$
Source Citations Outline styles
------------------------------------------------------ */
div#SourceCitationReferents ul.Col1 {
list-style-type: decimal
}
div#SourceCitationReferents ul.Col2 {
list-style-type: upper-alpha
}
div#SourceCitationReferents ul.Col3 {
list-style-type: lower-alpha
}
div#SourceCitationReferents ul.Col4 {
list-style-type: upper-roman
}
div#SourceCitationReferents ul.Col5 {
list-style-type: disc
}
-230
View File
@@ -1,230 +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.
#
# $Id$
#
*************************************************
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;
}
-131
View File
@@ -1,131 +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.
#
# $Id$
#
*************************************************
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;
}
-125
View File
@@ -1,125 +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
******************************************************
# $Id$
Body Element
------------------------------------------------------ */
body {
background-color: #00029D;
color: #00029D;
width: 100%;
padding: 0px 14px;
}
/* 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;
}
-634
View File
@@ -1,634 +0,0 @@
/*
----------------------------------------------------------------------------
GRAMPS Cascading Style Sheet
Style Name: Mainz
Style Author: Jason Simanek (2008)
----------------------------------------------------------------------------
This website was created with GRAMPS
----------------------------------------------------------------------------
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!
License
----------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
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
----------------------------------------------------------------------------
black #000
brown #7D5925
brown light #D8C19F
green #767D25
yellow #FFF2C6
yellow light #FFFFE7
----------------------------------------------------------------------------
Style Images
----------------------------------------------------------------------------
Body images/Web_Mainz_Bkgd.png
Header images/Web_Mainz_Header.png
Middle images/Web_Mainz_Mid.png
Middle Light images/Web_Mainz_MidLight.png
----------------------------------------------------------------------------
# $Id$
NarrativeWeb Styles
--------------------------------------------------------------------------------------------
General Elements
-----------------------------------------------------------------*/
body {
font-family: Georgia, serif;
font-size: 90%;
color: #7D5925;
background: url(../images/Web_Mainz_Bkgd.png) black repeat;
}
body > div {
width: 950px;
margin: 0px auto;
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
overflow: hidden;
padding: 0px 1.5em;
}
.content {
padding: 1.5em 1.5em;
}
div.snapshot div.thumbnail {
text-align: center;
}
div.snapshot a {
display: inline;
}
/* General Text
-----------------------------------------------------------------*/
h1 {
font-weight: normal;
font-style: italic;
margin-left: 2em;
}
h3 {
font-size: xx-large;
font-weight: normal;
font-style: italic;
color: #767D25;
text-align: center;
border-bottom: double 4px #7D5925;
padding-bottom: 1ex;
margin: 0.5em 0px 0.5em 0px;
}
h4 {
font-size: x-large;
font-weight: normal;
font-style: italic;
color: black;
text-align: center;
border-bottom: dashed 1px #7D5925;
padding-bottom: 0.5ex;
margin: 0.5em 0px 0.5em 0px;
}
a {
color: #7D5925;
text-decoration: none;
}
a[href]:hover, a[href]:active {
background-color: #FFFFE7;
}
.grampsid {
font-family: monospace;
font-size: smaller;
}
/* Header
-----------------------------------------------------------------*/
#header {
padding-top: 5em;
background: url(../images/Web_Mainz_Header.png) repeat-x top left;
}
/* Navigation
-----------------------------------------------------------------*/
div#nav, #subnavigation {
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
}
div#nav ul, #subnavigation ul {
list-style-type: none;
margin: 0px;
padding-left: 0px;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
padding: 0.4em 0.8em 0.3em 0.8em;
font-size: smaller;
font-family: sans-serif;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #FFFFE7;
}
div#nav ul li.CurrentSection a, #subnavigation ul li.CurrentSection a {
font-weight: bold;
font-style: italic;
background-image: url(../images/Web_Mainz_Mid.png);
border-style: dashed;
border-width: 1px 1px 0px 1px;
border-color: #7D5925;
}
#subnavigation ul li.CurrentSection a {
border-width: 0px 1px 1px 1px;
}
/* Alphabet Navigation
-----------------------------------------------------------------*/
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
padding-left: 2em;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-family: sans-serif;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
color: black;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: white;
}
/* Main Table
-----------------------------------------------------------------*/
table {
border-collapse: collapse;
width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
width: auto;
}
table th {
text-align: left;
margin: 0px;
border-bottom: double 4px #7D5925;
padding: .1em 10px;
}
table td {
vertical-align: top;
padding: .1em 10px;
}
table.primobjlist td {
vertical-align: middle;
}
table.primobjlist tr a {
display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
border-top: dashed 1px #D8C19F;
}
td.ColumnLetter, td.ColumnRowLabel {
font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
font-size: 90%;
}
table.relationships td.ColumnPartner {
font-size: 100%;
}
table.infolist tr td ol {
margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
color: #767D25;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
color: #767D25;
}
table.primobjlist td.ColumnParents span.father, table.primobjlist td.ColumnParents span.mother {
display: block;
}
table.primobjlist td.ColumnParents span.mother:before, table.primobjlist td.ColumnPerson span.mother:before {
content: "+ ";
}
/* Surnames
-----------------------------------------------------------------*/
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
content: " \2193";
}
#SurnameDetail h3 {
border-bottom-width: 0px;
padding-bottom: 0px;
margin: 0px;
}
/* Events
-----------------------------------------------------------------*/
#EventList tr.BeginType td {
border-top: dashed 1px #D8C19F;
}
#EventList tr.BeginLetter td {
border-top: solid 1px #D8C19F;
}
/* Events with multiple participants should have a comma seperated list of
names*/
#EventList td.ColumnPerson a {
display: inline;
}
/* Family events, put mother on next line */
#EventList td.ColumnPerson span.father,
#EventList td.ColumnPerson span.mother,
#EventDetail td.ColumnPerson span.father,
#EventDetail td.ColumnPerson span.mother {
display: block;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
content: ", ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
content: "";
}
/* Gallery
-----------------------------------------------------------------*/
#GalleryNav {
text-align: center;
margin: 1.4em 0px;
}
#GalleryNav a {
font-weight: bold;
font-style: italic;
color: #FFF2C6;
background: url(../images/Web_Mainz_Bkgd.png) #7D5925 repeat;
border: outset 3px black;
}
#GalleryNav a:hover {
border-color: #7D5925;
}
#GalleryNav a:active {
border-style: solid;
}
#GalleryNav a#Previous {
padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
padding: .4em 1.9em .3em 1.9em;
}
#GalleryPages {
margin: 0 1em;
}
#GalleryCurrent {
font-size: x-large;
font-weight: normal;
font-style: italic;
}
#GalleryTotal {
font-weight: normal;
}
#GalleryDisplay {
margin: 0px auto;
position: relative;
}
#GalleryDisplay img {
margin: 0px auto;
display:block;
border: solid 1px #7D5925;
}
/* Sources
------------------------------------------------------ */
div#SourceDetail {
margin: 0 auto;
}
/* Contact
-----------------------------------------------------------------*/
#Contact h3 {
border-bottom-width: 0px;
padding-bottom: 0px;
margin: 0px;
}
#Contact img {
display: block;
margin: 0px auto 1em auto;
border: solid 1px #7D5925;
}
#Contact #researcher {
text-align: center;
}
#Contact #researcher span {
font-size: larger;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
display: block;
}
#Contact #city:after {
content: ",";
}
/* Download
-----------------------------------------------------------------*/
#Download table.download a {
display: block;
}
/* SubSection
-----------------------------------------------------------------*/
#Home img, #Introduction img {
display: block;
margin: 1em auto;
max-width: 950px;
}
#Home a, #Introduction a, #Contact a {
color: black;
}
.subsection {
clear: both;
}
.subsection p {
margin: 0px;
}
/* SubSection : Families
-----------------------------------------------------------------*/
div#families table.fixed_subtables table.eventlist {
table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
/* SubSection : Gallery
-----------------------------------------------------------------*/
#indivgallery {
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
#indivgallery .thumbnail {
float: left;
max-width: 130px;
max-height: 150px;
font-size: smaller;
text-align: center;
margin: 0.5em;
}
#indivgallery img {
border: solid 1px #7D5925;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide the description in Individual Gallery
display: none; */
}
/* SubSection : Narrative
-----------------------------------------------------------------*/
h4 + div.grampsstylednote, a.familymap {
margin-left: 10px;
margin-right: 10px;
}
i + div.grampsstylednote p {
margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
margin-bottom: 0.5em;
}
/* SubSection : Source References
-----------------------------------------------------------------*/
#sourcerefs ol li ol {
list-style-type: lower-alpha;
}
/* SubSection : Pedigree
-----------------------------------------------------------------*/
.pedigreegen {
list-style-type: none;
padding-left: 10px;
}
.pedigreegen li ol {
list-style-type: none;
}
.pedigreegen li ol li ol {
list-style-type: decimal;
}
.pedigreegen ol.spouselist {
list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
list-style-type: decimal;
}
.spouse:before {
content: "+ ";
}
.thisperson {
font-weight: bold;
}
.thisperson > ol {
font-weight: normal;
}
/* Footer
-----------------------------------------------------------------*/
#footer {
clear: both;
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6;
border-top: dashed 1px #7D5925;
font-family: sans-serif;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
}
/* Overwritten
-----------------------------------------------------------------*/
button#drop {
font-style: italic;
color: #FFF2C6;
background: url(../images/Web_Mainz_Bkgd.png) #7D5925 repeat;
border: outset 3px black ! important;
}
div#map_canvas {
border-color: #7D5925 ! important;
}
/* Calendar Styles
=================================================================*/
table.calendar {
table-layout: fixed;
empty-cells: show;
width: 950px;
margin: 0px auto;
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
}
.calendar thead th {
font-size: large;
font-weight: normal;
font-style: italic;
text-align: center;
}
.calendar thead th.monthName {
font-size: xx-large;
color: #767D25;
border-bottom-color: #7D5925;
}
.calendar thead th abbr {
border-bottom-style: none;
}
#CreatorInfo {
float: right;
margin: -1em 0px 0px 0px;
font-weight: bold;
font-style: italic;
}
.calendar tfoot td {
border-top: double 4px #7D5925;
}
/* Calendar : Date Numeral */
.calendar div.date {
float: right;
width: 1.8em;
font-size: large;
font-style: italic;
text-align: center;
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
}
/* Calendar : Date Container */
.calendar td {
padding: 0px;
border-width: 1px 0px 0px 1px;
border-style: dashed;
border-color: #7D5925;
}
.calendar td.weekday {
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
}
.calendar td.weekend {
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
}
.calendar td:first-child {
border-left-style: none;
}
.calendar tbody tr:first-child td {
border-top-style: none;
}
/* Calendar : Date Detail */
.calendar td ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
.calendar td ul li {
margin: 0 4%;
border-top: dashed 1px #D8C19F;
}
.calendar td ul li:first-child {
border-style: none;
}
/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
font-style: normal;
color: #767D25;
}
.calendar td ul li span.yearsmarried em {
color: black;
}
.calendar td.highlight div.date {
color: #767D25;
background-image: none;
background-color: #FFFFE7;
}
/* Calendar : Previous-Next Month */
.calendar td.previous, .calendar td.next {
color: #D8C19F;
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat;
}
/* Calendar : Full Year */
body#fullyearlinked table.calendar {
float: left;
width: 315px;
height: 18em;
border: solid 1px #7D5925;
}
body#fullyearlinked table.calendar thead th {
height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
font-size: large;
}
body#fullyearlinked table.calendar tbody td {
height: 3em;
}
File diff suppressed because it is too large Load Diff
-828
View File
@@ -1,828 +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
---------------------------------------------------------------------------------------------------
# $Id$
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;
}
#CreatorInfo {
float:right;
margin:0 10px 0 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;
}
-157
View File
@@ -1,157 +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;
}
-176
View File
@@ -1,176 +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 {
page-break-before:always;
margin:0;
padding:0;
background:none;
}
#treeContainer {
position:relative;
z-index:1;
}
#treeContainer div.boxbg {
position:absolute;
margin:0;
padding:0;
background:none;
}
#treeContainer div.boxbg a,
#treeContainer div.boxbg span.unlinked {
position:relative;
z-index:10;
display:block;
font:normal .7em/1.4em sans-serif;
text-align:center;
text-decoration:none;
color: #00029D;
width:118px;
padding:5px 20px 7px 20px;
margin-left:16px;
background-color: #FFF;
border: solid 1px #000;
}
#treeContainer div.boxbg a.noThumb,
#treeContainer div.AncCol3 a,
#treeContainer div.AncCol4 a,
#treeContainer div.AncCol3 span.unlinked,
#treeContainer div.AncCol4 span.unlinked {
margin-top:10px;
}
#treeContainer div.boxbg a:hover {
position:relative;
z-index:999;
font-size:1em;
text-decoration:none;
color: #00029D;
width:190px;
margin-left:-20px;
padding:10px 25px 12px 25px;
border: solid 2px #000;
}
#treeContainer div.boxbg a:hover,
#treeContainer div.AncCol3 a:hover,
#treeContainer div.AncCol4 a:hover {
margin-top:-44px;
}
#treeContainer div.boxbg a.noThumb:hover {
margin-top:0;
}
#treeContainer div.AncCol0 a:hover {
margin-left:12px;
}
#treeContainer div.AncCol4 a:hover {
margin-left:-60px;
}
#treeContainer div.boxbg span.thumbnail {
display:block;
max-width:80px;
max-height:65px;
margin:0 auto;
padding:4px 0;
}
#treeContainer div.boxbg span.thumbnail img {
max-width:80px;
max-height:65px;
margin:0 auto;
}
#treeContainer div.boxbg a:hover span.thumbnail, #treeContainer div.boxbg a:hover span.thumbnail img {
height:80px;
}
#treeContainer div.AncCol3 span.thumbnail, #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.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.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;
}
-83
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%;
}
-65
View File
@@ -1,65 +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.
#
# $Id$
#
###################################################### */
body#FamilyMap {
background-color: #000;
padding: 0 14px;
width: 965px;
}
/* Family Maps
------------------------------------------------------ */
#map_canvas {
margin-left: 10px;
margin-right: 10px;
border: solid 4px #000;
width: 931px;
height: 1000px;
}
/* Place Maps
------------------------------------------------------ */
div#place_canvas {
margin-left: 210px;
border: solid 4px #000;
width: 500px;
height: 400px;
}
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: 40%;
}
-32
View File
@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>gramps.desktop</id>
<metadata_license>CC0</metadata_license>
<name>Gramps</name>
<summary>Genealogical research program</summary>
<description>
<_p>Gramps is a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists.</_p>
<_p>It gives you the ability to record the many details of the life of an individual as well as the complex relationships between various people, places and events.</_p>
<_p>All of your research is kept organized, searchable and as precise as you need it to be.</_p>
</description>
<url type="homepage">https://gramps-project.org/</url>
<url type="bugtracker">https://gramps-project.org/bugs/</url>
<url type="help">https://gramps-project.org/wiki/index.php?title=Main_page</url>
<project_license>GPL-2.0+</project_license>
<developer_name>Gramps Development Team</developer_name>
<screenshots>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/5f/AppData1.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData2.png</screenshot>
<screenshot type="default" width="1226" height="740">http://www.gramps-project.org/wiki/images/e/e9/AppData3.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData4.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/50/AppData5.png</screenshot>
</screenshots>
<provides>
<binary>gramps</binary>
</provides>
</component>
+2 -4
View File
@@ -1,13 +1,11 @@
[Desktop Entry]
_Name=Gramps
_GenericName=Genealogy System
_X-GNOME-FullName=Gramps Genealogy System
_Name=Gramps Genealogy System
_Comment=Manage genealogical information, perform genealogical research and analysis
Icon=gramps
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;Office;
_Keywords=Genealogy;Family History;Research;Family Tree;GEDCOM;
X-GNOME-DocPath=gramps/gramps-manual.xml
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
Exec=gramps %F
-91
View File
@@ -1,91 +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.
$Id$
-->
<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>
+148 -222
View File
@@ -3,9 +3,8 @@
<!--
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2000-2007 Donald N. Allingham
# Copyright (C) 2010-2014 Nick Hall
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,58 +18,51 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# $Id$
-->
<!--
This is the Document Type Definition file for v1.7.1
This is the Document Type Definition file for v1.3.0
of the GRAMPS XML genealogy data format.
Please use the following formal public identifier to identify it:
"-//GRAMPS//DTD GRAMPS XML V1.7.1//EN"
"-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
For example:
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.7.1//EN"
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd"
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
"http://gramps-project.org/xml/1.3.0/grampsxml.dtd"
[...]>
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
name-formats
people
families
events
places
citations
sources
objects
repositories
notes
tags
bookmarks
namemaps
tags
header Information about the "owner" of the database
people
families
sources
places
objects
repositories
notes
bookmarks
-->
<!ELEMENT database (header, name-formats?, tags?, events?, people?, families?,
citations?, sources?, places?, objects?, repositories?,
notes?, bookmarks?, namemaps?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.7.1/">
<!ELEMENT database (header, name-formats?, events?, people?, families?,
sources?, places?, objects?, repositories?, notes?,
bookmarks?,namemaps?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.3.0/">
<!-- ************************************************************
<!-- ************************************************************
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
-->
<!ELEMENT header (created, researcher?, mediapath?)>
@@ -81,21 +73,20 @@ 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
-->
@@ -105,13 +96,14 @@ PEOPLE
home IDREF #IMPLIED
>
<!ELEMENT person (gender, name*, eventref*, lds_ord*,
<!ELEMENT person (gender, name*, nick?, eventref*, lds_ord*,
objref*, address*, attribute*, url*, childof*,
parentin*, personref*, noteref*, citationref*, tagref*)>
parentin*, personref*, noteref*, sourceref*)>
<!ATTLIST person
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@@ -120,9 +112,8 @@ 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) -->
<!ELEMENT name (first?,call?,last?,suffix?,patronymic?,title?,
(daterange|datespan|dateval|datestr)?,noteref*,sourceref*)>
<!ATTLIST name
alt (0|1) #IMPLIED
type CDATA #IMPLIED
@@ -133,20 +124,16 @@ GENDER has values of M, F, or U.
<!ELEMENT first (#PCDATA)>
<!ELEMENT call (#PCDATA)>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT familynick (#PCDATA)>
<!ELEMENT group (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!-- (Unknown|Inherited|Given|Taken|Patronymic|Matronymic|Feudal|
Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
<!ATTLIST surname
prefix CDATA #IMPLIED
prim (1|0) #IMPLIED
derivation CDATA #IMPLIED
connector CDATA #IMPLIED
<!ELEMENT last (#PCDATA)>
<!ATTLIST last
prefix CDATA #IMPLIED
group CDATA #IMPLIED
>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT patronymic (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT childof EMPTY>
<!ATTLIST childof hlink IDREF #REQUIRED
@@ -155,41 +142,40 @@ Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin hlink IDREF #REQUIRED>
<!ELEMENT personref (citationref*, noteref*)>
<!ELEMENT personref (sourceref*,noteref*)>
<!ATTLIST personref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
rel CDATA #REQUIRED
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
rel CDATA #REQUIRED
>
<!ELEMENT address ((daterange|datespan|dateval|datestr)?, street?,
locality?, city?, county?, state?, country?, postal?,
phone?, noteref*,citationref*)>
<!ELEMENT address ((daterange|datespan|dateval|datestr)?,street?,city?,
county?,state?,country?,postal?,phone?,noteref*,sourceref*)>
<!ATTLIST address priv (0|1) #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT locality (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
FAMILY
An element to record information about a family.
An element to record information about a family.
-->
<!ELEMENT families (family)*>
<!ELEMENT family (rel?, father?, mother?, eventref*, lds_ord*, objref*,
childref*, attribute*, noteref*, citationref*, tagref*)>
<!ELEMENT family (rel?,father?,mother?,eventref*,lds_ord*,
objref*,childref*,attribute*,noteref*,sourceref*)>
<!ATTLIST family
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@@ -199,13 +185,12 @@ FAMILY
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!-- (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) -->
<!ELEMENT childref (citationref*,noteref*)>
<!ELEMENT childref (sourceref*,noteref*)>
<!ATTLIST childref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel CDATA #IMPLIED
frel CDATA #IMPLIED
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
>
<!ELEMENT type (#PCDATA)>
@@ -213,32 +198,33 @@ FAMILY
<!ELEMENT rel EMPTY>
<!ATTLIST rel type CDATA #REQUIRED>
<!-- ************************************************************
<!-- ************************************************************
EVENT
-->
<!ELEMENT events (event)*>
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
description?, attribute*, noteref*, citationref*, objref*,
tagref*)>
<!ELEMENT event (type?,(daterange|datespan|dateval|datestr)?,place?,cause?,
description?,attribute*,noteref*,sourceref*,objref*)>
<!ATTLIST event
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
noteref*, objref*, srcattribute*, reporef*, tagref*)>
<!ELEMENT source (stitle?,sauthor?,spubinfo?,sabbrev?,
noteref*,objref*,data_item*,reporef*)>
<!ATTLIST source
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT stitle (#PCDATA)>
@@ -246,31 +232,22 @@ SOURCES
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT sabbrev (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (ptitle?, pname+, code?, coord?, placeref*, location*,
objref*, url*, noteref*, citationref*, tagref*)>
<!ELEMENT placeobj (ptitle?,coord?,location*,objref*,url*,noteref*,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
@@ -280,29 +257,29 @@ PLACES
<!ELEMENT location EMPTY>
<!ATTLIST location
street CDATA #IMPLIED
locality CDATA #IMPLIED
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
street CDATA #IMPLIED
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
>
<!-- ************************************************************
<!-- ************************************************************
OBJECTS
-->
<!ELEMENT objects (object)*>
<!ELEMENT object (file, attribute*, noteref*,
(daterange|datespan|dateval|datestr)?, citationref*, tagref*)>
<!ELEMENT object (file,attribute*,noteref*,
(daterange|datespan|dateval|datestr)?,sourceref*)>
<!ATTLIST object
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@@ -310,100 +287,70 @@ OBJECTS
<!ATTLIST file
src CDATA #REQUIRED
mime CDATA #REQUIRED
checksum CDATA #IMPLIED
description CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
REPOSITORIES
-->
<!ELEMENT repositories (repository)*>
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
<!ELEMENT repository (rname,type,address*,url*,noteref*)>
<!ATTLIST repository
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT rname (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
NOTES
-->
<!ELEMENT notes (note)*>
<!ELEMENT note (text, style*, tagref*)>
<!ELEMENT note (text,tag*)>
<!ATTLIST note
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
marker CDATA #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
>
<!ELEMENT text (#PCDATA)>
<!ELEMENT style (range+)>
<!ATTLIST style
name (bold|italic|underline|fontface|fontsize|
fontcolor|highlight|superscript|link) #REQUIRED
value CDATA #IMPLIED
<!ELEMENT tag (range+)>
<!ATTLIST tag
name (bold|italic|underline|fontface|fontsize|
fontcolor|highlight|superscript) #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT range EMPTY>
<!ATTLIST range
start CDATA #REQUIRED
end CDATA #REQUIRED
start CDATA #REQUIRED
end CDATA #REQUIRED
>
<!-- ************************************************************
TAGS
-->
<!ELEMENT tags (tag)*>
<!ELEMENT tag EMPTY>
<!ATTLIST tag
handle ID #REQUIRED
name CDATA #REQUIRED
color CDATA #REQUIRED
priority CDATA #REQUIRED
change CDATA #REQUIRED
>
<!-- ************************************************************
CITATIONS
-->
<!ELEMENT citations (citation)*>
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence,
noteref*, objref*, srcattribute*, sourceref, tagref*)>
<!ATTLIST citation
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark
target (person|family|event|source|citation|place|media|repository|
note) #REQUIRED
target (person|family|event|source|place|media|repository) #REQUIRED
hlink IDREF #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
NAME MAPS
-->
<!ELEMENT namemaps (map)*>
@@ -414,7 +361,7 @@ NAME MAPS
value CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
NAME FORMATS
-->
@@ -427,10 +374,10 @@ NAME FORMATS
active (0|1) #IMPLIED
>
<!-- ************************************************************
<!-- ************************************************************
SHARED ELEMENTS
-->
<!ELEMENT daterange EMPTY>
<!ELEMENT daterange EMPTY>
<!ATTLIST daterange
start CDATA #REQUIRED
stop CDATA #REQUIRED
@@ -440,17 +387,17 @@ SHARED ELEMENTS
newyear CDATA #IMPLIED
>
<!ELEMENT datespan EMPTY>
<!ELEMENT datespan EMPTY>
<!ATTLIST datespan
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
dualdated (0|1) #IMPLIED
newyear CDATA #IMPLIED
>
<!ELEMENT dateval EMPTY>
<!ELEMENT dateval EMPTY>
<!ATTLIST dateval
val CDATA #REQUIRED
type (before|after|about) #IMPLIED
@@ -460,20 +407,17 @@ SHARED ELEMENTS
newyear CDATA #IMPLIED
>
<!ELEMENT datestr EMPTY>
<!ELEMENT datestr EMPTY>
<!ATTLIST datestr val CDATA #REQUIRED>
<!ELEMENT citationref EMPTY>
<!ATTLIST citationref
hlink IDREF #REQUIRED
>
<!ELEMENT sourceref EMPTY>
<!ELEMENT sourceref (spage?,noteref*,(daterange|datespan|dateval|datestr)?)>
<!ATTLIST sourceref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
conf CDATA #IMPLIED
>
<!ELEMENT eventref (attribute*, noteref*)>
<!ELEMENT eventref (attribute*,noteref*)>
<!ATTLIST eventref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@@ -493,26 +437,13 @@ SHARED ELEMENTS
hlink IDREF #REQUIRED
>
<!ELEMENT tagref EMPTY>
<!ATTLIST tagref
hlink IDREF #REQUIRED
>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT page (#PCDATA)>
<!ELEMENT confidence (#PCDATA)>
<!ELEMENT attribute (citationref*, noteref*)>
<!ELEMENT attribute (sourceref*,noteref*)>
<!ATTLIST attribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT srcattribute EMPTY>
<!ATTLIST srcattribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT place EMPTY>
@@ -523,23 +454,18 @@ SHARED ELEMENTS
<!ELEMENT url EMPTY>
<!ATTLIST url
priv (0|1) #IMPLIED
type CDATA #IMPLIED
href CDATA #REQUIRED
priv (0|1) #IMPLIED
type CDATA #IMPLIED
href CDATA #REQUIRED
description CDATA #IMPLIED
>
<!ELEMENT objref (region?, attribute*, citationref*, noteref*)>
<!ELEMENT objref (region?,attribute*,sourceref*,noteref*)>
<!ATTLIST objref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
>
<!ELEMENT placeref ((daterange|datespan|dateval|datestr)?)>
<!ATTLIST placeref
hlink IDREF #REQUIRED
>
<!ELEMENT region EMPTY>
<!ATTLIST region
corner1_x CDATA #REQUIRED
@@ -554,10 +480,10 @@ SHARED ELEMENTS
value CDATA #REQUIRED
>
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?, temple?, place?,
status?, sealed_to?, noteref*, citationref*)>
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?,temple?,place?,
status?,sealed_to?,noteref*,sourceref*)>
<!ATTLIST lds_ord
priv (0|1) #IMPLIED
priv (0|1) #IMPLIED
type CDATA #REQUIRED
>
+86 -203
View File
@@ -4,7 +4,6 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2005-2007 Donald N. Allingham
# Copyright (C) 2010-2014 Nick Hall
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,10 +17,11 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Written by Alex Roitman
# $Id$
-->
<!--
@@ -31,7 +31,7 @@
<grammar
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://gramps-project.org/xml/1.7.1/"
ns="http://gramps-project.org/xml/1.3.0/"
xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="database">
@@ -41,15 +41,10 @@
<attribute name="date"><data type="date"/></attribute>
<attribute name="version"><text/></attribute>
</element>
<element name="researcher">
<optional>
<optional><element name="researcher">
<ref name="researcher-content"/>
</optional>
</element>
<optional>
<element name="mediapath"><text/>
</element>
</optional>
</element></optional>
<optional><element name="mediapath"><text/></element></optional>
</element>
<optional><element name="name-formats">
@@ -58,12 +53,6 @@
</element></zeroOrMore>
</element></optional>
<optional><element name="tags">
<zeroOrMore><element name="tag">
<ref name="tag-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="events">
<zeroOrMore><element name="event">
<ref name="event-content"/>
@@ -86,12 +75,6 @@
</element></zeroOrMore>
</element></optional>
<optional><element name="citations">
<zeroOrMore><element name="citation">
<ref name="citation-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="sources">
<zeroOrMore><element name="source">
<ref name="source-content"/>
@@ -138,7 +121,6 @@
<define name="researcher-content">
<element name="resname"><text/></element>
<optional><element name="resaddr"><text/></element></optional>
<optional><element name="reslocality"><text/></element></optional>
<optional><element name="rescity"><text/></element></optional>
<optional><element name="resstate"><text/></element></optional>
<optional><element name="rescountry"><text/></element></optional>
@@ -147,18 +129,15 @@
<optional><element name="resemail"><text/></element></optional>
</define>
<define name="table-object">
<attribute name="handle"><data type="ID"/></attribute>
<attribute name="change"><text/></attribute>
</define>
<define name="primary-object">
<ref name="table-object"/>
<optional><attribute name="id"><text/></attribute></optional>
<attribute name="id"><text/></attribute>
<attribute name="handle"><data type="ID"/></attribute>
<optional><attribute name="priv"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<optional><attribute name="marker"><text/></attribute></optional>
<attribute name="change"><text/></attribute>
</define>
<define name="person-content">
@@ -171,6 +150,7 @@
<zeroOrMore><element name="name">
<ref name="name-content"/>
</element></zeroOrMore>
<optional><element name="nick"><text/></element></optional>
<zeroOrMore><element name="eventref">
<ref name="eventref-content"/>
</element></zeroOrMore>
@@ -196,21 +176,31 @@
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="personref">
<ref name="personref-content"/>
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="rel"><text/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="child-rel">
<text/>
<choice>
<value>Birth</value>
<value>Adopted</value>
<value>Stepchild</value>
<value>Sponsored</value>
<value>Foster</value>
<value>None</value>
<value>Other</value>
<value>Unknown</value>
</choice>
</define>
<define name="name-content">
@@ -221,46 +211,39 @@
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="type"><text/></attribute></optional>
<optional><attribute name="type"><choice>
<value>Also Known As</value>
<value>Birth Name</value>
<value>Married Name</value>
<value>Other Name</value>
</choice></attribute></optional>
<optional><attribute name="sort"><text/></attribute></optional>
<optional><attribute name="display"><text/></attribute></optional>
<optional><element name="first"><text/></element></optional>
<optional><element name="call"><text/></element></optional>
<zeroOrMore><element name="surname">
<ref name="surname-content"/>
</element></zeroOrMore>
<optional><element name="last">
<text/>
<optional><attribute name="prefix"><text/></attribute></optional>
<optional><attribute name="group"><text/></attribute></optional>
</element></optional>
<optional><element name="suffix"><text/></element></optional>
<optional><element name="patronymic"><text/></element></optional>
<optional><element name="title"><text/></element></optional>
<optional><element name="nick"><text/></element></optional>
<optional><element name="familynick"><text/></element></optional>
<optional><element name="group"><text/></element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="surname-content">
<text/>
<optional><attribute name="prefix"><text/></attribute></optional>
<optional><attribute name="prim"><choice>
<value>1</value>
<value>0</value>
</choice></attribute></optional>
<optional><attribute name="derivation"><text/></attribute></optional>
<optional><attribute name="connector"><text/></attribute></optional>
</define>
<define name="address-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><ref name="date-content"/></optional>
<optional><element name="street"><text/></element></optional>
<optional><element name="locality"><text/></element></optional>
<optional><element name="city"><text/></element></optional>
<optional><element name="county"><text/></element></optional>
<optional><element name="state"><text/></element></optional>
@@ -270,8 +253,8 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@@ -285,10 +268,10 @@
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="cformat"><text/></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="datespan">
<attribute name="start"><text/></attribute>
@@ -298,10 +281,10 @@
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="cformat"><text/></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="dateval">
<attribute name="val"><text/></attribute>
@@ -315,10 +298,10 @@
<value>estimated</value>
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="datestr">
<attribute name="val"><text/></attribute>
@@ -357,12 +340,6 @@
<optional><attribute name="frel">
<ref name="child-rel"/>
</attribute></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</element></zeroOrMore>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
@@ -371,11 +348,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@@ -393,36 +367,11 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="citation-content">
<ref name="primary-object"/>
<optional><ref name="date-content"/></optional>
<optional><element name="page"><text/></element></optional>
<element name="confidence"><text/></element>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="srcattribute">
<ref name="srcattribute-content"/>
</element></zeroOrMore>
<element name="sourceref">
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
</define>
@@ -438,35 +387,24 @@
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="srcattribute">
<ref name="srcattribute-content"/>
<zeroOrMore><element name="data_item">
<attribute name="key"><text/></attribute>
<attribute name="value"><text/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="reporef">
<ref name="reporef-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="place-content">
<ref name="primary-object"/>
<attribute name="type"><text/></attribute>
<optional><element name="ptitle"><text/></element></optional>
<oneOrMore><element name="pname">
<ref name="placename-content"/>
</element></oneOrMore>
<optional><element name="code"><text/></element></optional>
<optional><element name="coord">
<attribute name="long"><text/></attribute>
<attribute name="lat"><text/></attribute>
<attribute name="long"><data type="float"/></attribute>
<attribute name="lat"><data type="float"/></attribute>
</element></optional>
<zeroOrMore><element name="placeref">
<ref name="placeref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="location">
<optional><attribute name="street"><text/></attribute></optional>
<optional><attribute name="locality"><text/></attribute></optional>
<optional><attribute name="city"><text/></attribute></optional>
<optional><attribute name="parish"><text/></attribute></optional>
<optional><attribute name="county"><text/></attribute></optional>
@@ -484,11 +422,8 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@@ -497,8 +432,7 @@
<element name="file">
<attribute name="src"><text/></attribute>
<attribute name="mime"><text/></attribute>
<optional><attribute name="checksum"><text/></attribute></optional>
<optional><attribute name="description"><text/></attribute></optional>
<attribute name="description"><text/></attribute>
</element>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
@@ -507,11 +441,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@@ -528,9 +459,6 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="bookmark-content">
@@ -539,11 +467,9 @@
<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>
@@ -574,14 +500,11 @@
</choice></attribute></optional>
<attribute name="type"><text/></attribute>
<ref name="styledtext"/>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="styledtext">
<element name="text"><text/></element>
<zeroOrMore><element name="style">
<zeroOrMore><element name="tag">
<attribute name="name"><choice>
<value>bold</value>
<value>italic</value>
@@ -591,7 +514,6 @@
<value>fontcolor</value>
<value>highlight</value>
<value>superscript</value>
<value>link</value>
</choice></attribute>
<optional><attribute name="value"><text/></attribute></optional>
<oneOrMore><element name="range">
@@ -601,28 +523,19 @@
</element></zeroOrMore>
</define>
<define name="citationref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="personref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="rel"><text/></attribute>
<optional><zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore></optional>
<optional><zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore></optional>
</define>
<define name="sourceref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="conf"><text/></attribute></optional>
<optional><element name="spage"><text/></element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
</define>
<define name="eventref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
@@ -666,21 +579,13 @@
</attribute></optional>
<attribute name="type"><text/></attribute>
<attribute name="value"><text/></attribute>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="srcattribute-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="type"><text/></attribute>
<attribute name="value"><text/></attribute>
</define>
<define name="url-content">
<optional><attribute name="priv">
@@ -702,8 +607,8 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
@@ -732,8 +637,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@@ -745,26 +650,4 @@
<text/>
</define>
<define name="placename-content">
<attribute name="value"><text/></attribute>
<optional><attribute name="lang"><text/></attribute></optional>
<optional><ref name="date-content"/></optional>
</define>
<define name="placeref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><ref name="date-content"/></optional>
</define>
<define name="tagref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="tag-content">
<ref name="table-object"/>
<attribute name="name"><text/></attribute>
<attribute name="color"><text/></attribute>
<attribute name="priority"><data type="integer"/></attribute>
</define>
</grammar>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

-9266
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
-859
View File
@@ -1,859 +0,0 @@
/*!
* jQuery FlexBox $Version: 0.9.6 $
*
* Copyright (c) 2008-2010 Noah Heldman and Fairway Technologies (http://www.fairwaytech.com/flexbox)
* Licensed under Ms-PL (http://www.codeplex.com/flexbox/license)
*
* $Date: 2010-11-24 01:02:00 PM $
* $Rev: 0.9.6.1 $
*/
(function($) {
$.flexbox = function(div, o) {
// TODO: in straight type-ahead mode (showResults: false), if noMatchingResults, dropdown appears after new match
// TODO: consider having options.mode (select, which replaces html select; combobox; suggest; others?)
// TODO: on resize (at least when wrapping within a table), the arrow is pushed down to the next line
// TODO: check for boundary/value problems (such as minChars of -1) and alert them
// TODO: add options for advanced paging template
// TODO: general cleanup and refactoring, commenting
// TODO: detailed Exception handling, logging
// TODO: FF2, up arrow from bottom has erratic scroll behavior (if multiple flexboxes on page)
// TODO: FF2 (and maybe IE7): if maxVisibleRows == number of returned rows, height is a bit off (maybe set to auto?)
// TODO: escape key only works from input box (this might be okay)
// TODO: make .getJSON parameters (object and callback function) configurable (e.g. when calling yahoo image search)
// TODO: escape key reverts to previous value (FF only?) (is this a good thing?)
// TEST: highlightMatches uses the case of whatever you typed in to replace the match string, which can look funny
// TEST: handle pageDown and pageUp keys when scrolling through results
// TEST: allow client-side paging (return all data initially, set paging:{pageSize:#}, and ensure maxCacheBytes is > 0)
// TEST: accept json object as first parameter to flexbox instead of page source, and have it work like a combobox
// TEST: implement no results template
// TEST: implement noResultsText and class
// TEST: watermark color should be configurable (and so should default input color)
// TEST: exception handling and alerts for common mistakes
// TEST: first example should use defaults ONLY
// TEST: add property initialValue, so you can set it when the flexbox loads
// TEST: handle hidden input value for form submissions
// TEST: how can we allow programmatically setting the field value (and therefore hidden value). add jquery function?
// TEST: use pageSize parameter as threshold to switch from no paging to paging based on results
// TEST: if you type in an input value that matches the html, it might display html code (try typing "class" in the input box)
// TEST: don't require all paging subprops (let default override)
// TEST: when tabbing from one ffb to another, the previous ffb results flash...
// TEST: IE7: when two non-paging ffbs right after each other, with only a clear-both div between them, the bottom ffb jumps down when selecting a value, then jumps back up on mouseover
// TEST: FF2, make sure we scroll to top before showing results (maxVisibleRows only)
// TEST: if maxVisibleRows is hiding the value the user types in to the input, scroll to that value (is this even possible?)
// TEST: make sure caching supports multiple ffbs uniquely
// TEST: when entering a number in the paging input box, the results are displayed twice
var timeout = false, // hold timeout ID for suggestion results to appear
cache = [], // simple array with cacheData key values, MRU is the first element
cacheData = [], // associative array holding actual cached data
cacheSize = 0, // size of cache in bytes (cache up to o.maxCacheBytes bytes)
delim = '\u25CA', // use an obscure unicode character (lozenge) as the cache key delimiter
scrolling = false,
pageSize = o.paging && o.paging.pageSize ? o.paging.pageSize : 0,
retrievingRemoteData = false,
$div = $(div).css('position', 'relative').css('z-index', 0);
// The hiddenField MUST be appended to the div before the input, or IE7 does not shift the dropdown below the input field (it overlaps)
var $hdn = $('<input type="hidden"/>')
.attr('id', $div.attr('id') + '_hidden')
.attr('name', $div.attr('id'))
.val(o.initialId)
.appendTo($div);
var $input = $('<input/>')
.attr('id', $div.attr('id') + '_input')
.attr('autocomplete', 'off')
.addClass(o.inputClass)
.css('width', o.width + 'px')
.appendTo($div)
.click(function(e) {
if (o.watermark !== '' && this.value === o.watermark)
this.value = '';
else
this.select();
})
.focus(function(e) {
$(this).removeClass('watermark');
})
.blur(function(e) {
if (this.value === '') $hdn.val('');
setTimeout(function() { if (!$input.data('active')) hideResults(); }, 200);
})
.keydown(processKeyDown);
if (o.initialValue !== '')
$input.val(o.initialValue).removeClass('watermark');
else
$input.val(o.watermark).addClass('watermark');
var arrowWidth = 0;
if (o.showArrow && o.showResults) {
var arrowClick = function() {
if ($ctr.is(':visible')) {
hideResults();
}
else {
$input.focus();
if (o.watermark !== '' && $input.val() === o.watermark)
$input.val('');
else
$input.select();
if (timeout)
clearTimeout(timeout);
timeout = setTimeout(function() { flexbox(1, true, o.arrowQuery); }, o.queryDelay);
}
};
var $arrow = $('<span></span>')
.attr('id', $div.attr('id') + '_arrow')
.addClass(o.arrowClass)
.addClass('out')
.hover(function() {
$(this).removeClass('out').addClass('over');
}, function() {
$(this).removeClass('over').addClass('out');
})
.mousedown(function() {
$(this).removeClass('over').addClass('active');
})
.mouseup(function() {
$(this).removeClass('active').addClass('over');
})
.click(arrowClick)
.appendTo($div);
arrowWidth = $arrow.width();
$input.css('width', (o.width - arrowWidth) + 'px');
}
if (!o.allowInput) { o.selectFirstMatch = false; $input.click(arrowClick); } // simulate <select> behavior
// Handle presence of CSS Universal Selector (*) that defines padding by verifying what the browser thinks the outerHeight is.
// In FF, the outerHeight() will not pick up the correct input field padding
var inputPad = $input.outerHeight() - $input.height() - 2;
var inputWidth = $input.outerWidth() - 2;
var top = $input.outerHeight();
if (inputPad === 0) {
inputWidth += 4;
top += 4;
}
else if (inputPad !== 4) {
inputWidth += inputPad;
top += inputPad;
}
var $ctr = $('<div></div>')
.attr('id', $div.attr('id') + '_ctr')
.css('width', inputWidth + arrowWidth)
.css('top', top)
.css('left', 0)
.addClass(o.containerClass)
.appendTo($div)
.mousedown(function(e) {
$input.data('active', true);
})
.hide();
var $content = $('<div></div>')
.addClass(o.contentClass)
.appendTo($ctr)
.scroll(function() {
scrolling = true;
});
var $paging = $('<div></div>').appendTo($ctr);
$div.css('height', $input.outerHeight());
function processKeyDown(e) {
// handle modifiers
var mod = 0;
if (typeof (e.ctrlKey) !== 'undefined') {
if (e.ctrlKey) mod |= 1;
if (e.shiftKey) mod |= 2;
} else {
if (e.modifiers & Event.CONTROL_MASK) mod |= 1;
if (e.modifiers & Event.SHIFT_MASK) mod |= 2;
}
// if the keyCode is one of the modifiers, bail out (we'll catch it on the next keypress)
if (/16$|17$/.test(e.keyCode)) return; // 16 = Shift, 17 = Ctrl
var tab = e.keyCode === 9, esc = e.keyCode === 27;
var tabWithModifiers = e.keyCode === 9 && mod > 0;
var backspace = e.keyCode === 8; // we will end up extending the delay time for backspaces...
// tab is a special case, since we want to bubble events...
if (tab) if (getCurr()) selectCurr();
// handling up/down/escape/right arrow/left arrow requires results to be visible
// handling enter requires that AND a result to be selected
if ((/27$|38$|33$|34$/.test(e.keyCode) && $ctr.is(':visible')) ||
(/13$|40$/.test(e.keyCode)) || !o.allowInput) {
if (e.preventDefault) e.preventDefault();
if (e.stopPropagation) e.stopPropagation();
e.cancelBubble = true;
e.returnValue = false;
switch (e.keyCode) {
case 38: // up arrow
prevResult();
break;
case 40: // down arrow
if ($ctr.is(':visible')) nextResult();
else flexboxDelay(true);
break;
case 13: // enter
if (getCurr()) selectCurr();
else flexboxDelay(true);
break;
case 27: // escape
hideResults();
break;
case 34: // page down
if (!retrievingRemoteData) {
if (o.paging) $('#' + $div.attr('id') + 'n').click();
else nextPage();
}
break;
case 33: // page up
if (!retrievingRemoteData) {
if (o.paging) $('#' + $div.attr('id') + 'p').click();
else prevPage();
}
break;
default:
if (!o.allowInput) { return; }
}
} else if (!esc && !tab && !tabWithModifiers) { // skip esc and tab key and any modifiers
flexboxDelay(false, backspace);
}
}
function flexboxDelay(simulateArrowClick, increaseDelay) {
if (timeout) clearTimeout(timeout);
var delay = increaseDelay ? o.queryDelay * 5 : o.queryDelay;
timeout = setTimeout(function() { flexbox(1, simulateArrowClick, ''); }, delay);
}
function flexbox(p, arrowOrPagingClicked, prevQuery) {
if (arrowOrPagingClicked) prevQuery = '';
var q = prevQuery && prevQuery.length > 0 ? prevQuery : $.trim($input.val());
if (q.length >= o.minChars || arrowOrPagingClicked) {
// If we are getting data from the server, set the height of the content box so it doesn't shrink when navigating between pages, due to the $content.html('') below...
if ($content.outerHeight() > 0)
$content.css('height', $content.outerHeight());
$content.html('').attr('scrollTop', 0);
var cached = checkCache(q, p);
if (cached) {
$content.css('height', 'auto');
displayItems(cached.data, q);
showPaging(p, cached.t);
}
else {
var params = { q: q, p: p, s: pageSize, contentType: 'application/json; charset=utf-8' };
var callback = function(data, overrideQuery) {
if (overrideQuery === true) q = overrideQuery; // must compare to boolean because by default, the string value "success" is passed when the jQuery $.getJSON method's callback is called
var totalResults = parseInt(data[o.totalProperty]);
// Handle client-side paging, if any paging configuration options were specified
if (isNaN(totalResults) && o.paging) {
if (o.maxCacheBytes <= 0) alert('The "maxCacheBytes" configuration option must be greater\nthan zero when implementing client-side paging.');
totalResults = data[o.resultsProperty].length;
var pages = totalResults / pageSize;
if (totalResults % pageSize > 0) pages = parseInt(++pages);
for (var i = 1; i <= pages; i++) {
var pageData = {};
pageData[o.totalProperty] = totalResults;
pageData[o.resultsProperty] = data[o.resultsProperty].splice(0, pageSize);
if (i === 1) totalSize = displayItems(pageData, q);
updateCache(q, i, pageSize, totalResults, pageData, totalSize);
}
}
else {
var totalSize = displayItems(data, q);
updateCache(q, p, pageSize, totalResults, data, totalSize);
}
showPaging(p, totalResults);
$content.css('height', 'auto');
retrievingRemoteData = false;
};
if (typeof (o.source) === 'object') {
if (o.allowInput) callback(filter(o.source, params));
else callback(o.source);
}
else {
retrievingRemoteData = true;
if (o.method.toUpperCase() == 'POST') $.post(o.source, params, callback, 'json');
else $.getJSON(o.source, params, callback);
}
}
} else
hideResults();
}
function filter(data, params) {
var filtered = {};
filtered[o.resultsProperty] = [];
filtered[o.totalProperty] = 0;
var index = 0;
for (var i=0; i < data[o.resultsProperty].length; i++) {
var indexOfMatch = data[o.resultsProperty][i][o.displayValue].toLowerCase().indexOf(params.q.toLowerCase());
if ((o.matchAny && indexOfMatch !== -1) || (!o.matchAny && indexOfMatch === 0)) {
filtered[o.resultsProperty][index++] = data[o.resultsProperty][i];
filtered[o.totalProperty] += 1;
}
}
if (o.paging) {
var start = (params.p - 1) * params.s;
var howMany = (start + params.s) > filtered[o.totalProperty] ? filtered[o.totalProperty] - start : params.s;
filtered[o.resultsProperty] = filtered[o.resultsProperty].splice(start, howMany);
}
return filtered;
}
function showPaging(p, totalResults) {
$paging.html('').removeClass(o.paging.cssClass); // clear out for threshold scenarios
if (o.showResults && o.paging && totalResults > pageSize) {
var pages = totalResults / pageSize;
if (totalResults % pageSize > 0) pages = parseInt(++pages);
outputPagingLinks(pages, p, totalResults);
}
}
function handleKeyPress(e, page, totalPages) {
if (/^13$|^39$|^37$/.test(e.keyCode)) {
if (e.preventDefault)
e.preventDefault();
if (e.stopPropagation)
e.stopPropagation();
e.cancelBubble = true;
e.returnValue = false;
switch (e.keyCode) {
case 13: // Enter
if (/^\d+$/.test(page) && page > 0 && page <= totalPages)
flexbox(page, true);
else
alert('Please enter a page number between 1 and ' + totalPages);
// TODO: make this alert a function call, and a customizable parameter
break;
case 39: // right arrow
$('#' + $div.attr('id') + 'n').click();
break;
case 37: // left arrow
$('#' + $div.attr('id') + 'p').click();
break;
}
}
}
function handlePagingClick(e) {
flexbox(parseInt($(this).attr('page')), true, $input.attr('pq')); // pq == previous query
return false;
}
function outputPagingLinks(totalPages, currentPage, totalResults) {
// TODO: make these configurable images
var first = '&lt;&lt;',
prev = '&lt;',
next = '&gt;',
last = '&gt;&gt;',
more = '...';
$paging.addClass(o.paging.cssClass);
// set up our base page link element
var $link = $('<a/>')
.attr('href', '#')
.addClass('page')
.click(handlePagingClick),
$span = $('<span></span>').addClass('page'),
divId = $div.attr('id');
// show first page
if (currentPage > 1) {
$link.clone(true).attr('id', divId + 'f').attr('page', 1).html(first).appendTo($paging);
$link.clone(true).attr('id', divId + 'p').attr('page', currentPage - 1).html(prev).appendTo($paging);
}
else {
$span.clone(true).html(first).appendTo($paging);
$span.clone(true).html(prev).appendTo($paging);
}
if (o.paging.style === 'links') {
var maxPageLinks = o.paging.maxPageLinks;
// show page numbers
if (totalPages <= maxPageLinks) {
for (var i = 1; i <= totalPages; i++) {
if (i === currentPage) {
$span.clone(true).html(currentPage).appendTo($paging);
}
else {
$link.clone(true).attr('page', i).html(i).appendTo($paging);
}
}
}
else {
if ((currentPage + parseInt(maxPageLinks / 2)) > totalPages) {
startPage = totalPages - maxPageLinks + 1;
}
else {
startPage = currentPage - parseInt(maxPageLinks / 2);
}
if (startPage > 1) {
$link.clone(true).attr('page', startPage - 1).html(more).appendTo($paging);
}
else {
startPage = 1;
}
for (var i = startPage; i < startPage + maxPageLinks; i++) {
if (i === currentPage) {
$span.clone(true).html(i).appendTo($paging);
}
else {
$link.clone(true).attr('page', i).html(i).appendTo($paging);
}
}
if (totalPages > (startPage + maxPageLinks)) {
$link.clone(true).attr('page', i).html(more).appendTo($paging);
}
}
}
else if (o.paging.style === 'input') {
var $pagingBox = $('<input/>')
.addClass('box')
.click(function(e) {
this.select();
})
.keypress(function(e) {
return handleKeyPress(e, this.value, totalPages);
})
.val(currentPage)
.appendTo($paging);
}
if (currentPage < totalPages) {
$link.clone(true).attr('id', divId + 'n').attr('page', +currentPage + 1).html(next).appendTo($paging);
$link.clone(true).attr('id', divId + 'l').attr('page', totalPages).html(last).appendTo($paging);
}
else {
$span.clone(true).html(next).appendTo($paging);
$span.clone(true).html(last).appendTo($paging);
}
var startingResult = (currentPage - 1) * pageSize + 1;
var endingResult = (startingResult > (totalResults - pageSize)) ? totalResults : startingResult + pageSize - 1;
if (o.paging.showSummary) {
var summaryData = {
"start": startingResult,
"end": endingResult,
"total": totalResults,
"page": currentPage,
"pages": totalPages
};
var html = o.paging.summaryTemplate.applyTemplate(summaryData);
$('<br/>').appendTo($paging);
$('<span></span>')
.addClass(o.paging.summaryClass)
.html(html)
.appendTo($paging);
}
}
function checkCache(q, p) {
var key = q + delim + p; // use null character as delimiter
if (cacheData[key]) {
for (var i = 0; i < cache.length; i++) { // TODO: is it possible to not loop here?
if (cache[i] === key) {
// pull out the matching element (splice), and add it to the beginning of the array (unshift)
cache.unshift(cache.splice(i, 1)[0]);
return cacheData[key];
}
}
}
return false;
}
function updateCache(q, p, s, t, data, size) {
if (o.maxCacheBytes > 0) {
while (cache.length && (cacheSize + size > o.maxCacheBytes)) {
var cached = cache.pop();
cacheSize -= cached.size;
}
var key = q + delim + p; // use null character as delimiter
cacheData[key] = {
q: q,
p: p,
s: s,
t: t,
size: size,
data: data
}; // add the data to the cache at the hash key location
cache.push(key); // add the key to the MRU list
cacheSize += size;
}
}
function displayItems(d, q) {
var totalSize = 0, itemCount = 0;
if (!d)
return;
$hdn.val($input.val());
if (parseInt(d[o.totalProperty]) === 0 && o.noResultsText && o.noResultsText.length > 0) {
$content.addClass(o.noResultsClass).html(o.noResultsText);
$ctr.show();
return;
} else $content.removeClass(o.noResultsClass);
for (var i = 0; i < d[o.resultsProperty].length; i++) {
var data = d[o.resultsProperty][i],
result = o.resultTemplate.applyTemplate(data),
exactMatch = q === result,
selectedMatch = false,
hasHtmlTags = false,
match = data[o.displayValue];
if (!exactMatch && o.highlightMatches && q !== '') {
var pattern = q,
highlightStart = match.toLowerCase().indexOf(q.toLowerCase()),
replaceString = '<span class="' + o.matchClass + '">' + match.substr(highlightStart,q.length) + '</span>';
if (result.match('<(.|\n)*?>')) { // see if the content contains html tags
hasHtmlTags = true;
pattern = '(>)([^<]*?)(' + q + ')((.|\n)*?)(<)'; // TODO: look for a better way
replaceString = '$1$2<span class="' + o.matchClass + '">$3</span>$4$6';
}
result = result.replace(new RegExp(pattern.replace("[", "\\["), o.highlightMatchesRegExModifier), replaceString);
}
// write the value of the first match to the input box, and select the remainder,
// but only if autoCompleteFirstMatch is set, and there are no html tags in the response
if (o.autoCompleteFirstMatch && !hasHtmlTags && i === 0) {
if (q.length > 0 && match.toLowerCase().indexOf(q.toLowerCase()) === 0) {
$input.attr('pq', q); // pq == previous query
$hdn.val(data[o.hiddenValue]);
$input.val(data[o.displayValue]);
selectedMatch = selectRange(q.length, $input.val().length);
}
}
if (!o.showResults) return;
$row = $('<div></div>')
.attr('id', data[o.hiddenValue])
.attr('val', data[o.displayValue])
.addClass('row')
.html(result)
.appendTo($content);
if (exactMatch || (++itemCount == 1 && o.selectFirstMatch) || selectedMatch) {
$row.addClass(o.selectClass);
}
totalSize += result.length;
}
if (totalSize === 0) {
hideResults();
return;
}
$ctr.parent().css('z-index', 11000);
$ctr.show();
$content
.children('div')
.mouseover(function() {
$content.children('div').removeClass(o.selectClass);
$(this).addClass(o.selectClass);
})
.mouseup(function(e) {
e.preventDefault();
e.stopPropagation();
selectCurr();
});
if (o.maxVisibleRows > 0) {
var maxHeight = $row.outerHeight() * o.maxVisibleRows;
$content.css('max-height', maxHeight);
}
return totalSize;
}
function selectRange(s, l) {
var tb = $input[0];
if (tb.createTextRange) {
var r = tb.createTextRange();
r.moveStart('character', s);
r.moveEnd('character', l - tb.value.length);
r.select();
} else if (tb.setSelectionRange) {
tb.setSelectionRange(s, l);
}
tb.focus();
return true;
}
String.prototype.applyTemplate = function(d) {
try {
if (d === '') return this;
return this.replace(/{([^{}]*)}/g,
function(a, b) {
var r;
if (b.indexOf('.') !== -1) { // handle dot notation in {}, such as {Thumbnail.Url}
var ary = b.split('.');
var obj = d;
for (var i = 0; i < ary.length; i++)
obj = obj[ary[i]];
r = obj;
}
else
r = d[b];
if (typeof r === 'string' || typeof r === 'number') return r; else throw (a);
}
);
} catch (ex) {
alert('Invalid JSON property ' + ex + ' found when trying to apply resultTemplate or paging.summaryTemplate.\nPlease check your spelling and try again.');
}
};
function hideResults() {
$input.data('active', false); // for input blur
$div.css('z-index', 0);
$ctr.hide();
}
function getCurr() {
if (!$ctr.is(':visible'))
return false;
var $curr = $content.children('div.' + o.selectClass);
if (!$curr.length)
$curr = false;
return $curr;
}
function selectCurr() {
$curr = getCurr();
if ($curr) {
$hdn.val($curr.attr('id'));
$input.val($curr.attr('val')).focus();
hideResults();
if (o.onSelect) {
o.onSelect.apply($input[0]);
}
}
}
function supportsGetBoxObjectFor() {
try {
document.getBoxObjectFor(document.body);
return true;
}
catch (e) {
return false;
}
}
function supportsGetBoundingClientRect() {
try {
document.body.getBoundingClientRect();
return true;
}
catch (e) {
return false;
}
}
function nextPage() {
$curr = getCurr();
if ($curr && $curr.next().length > 0) {
$curr.removeClass(o.selectClass);
for (var i = 0; i < o.maxVisibleRows; i++) {
if ($curr.next().length > 0) {
$curr = $curr.next();
}
}
$curr.addClass(o.selectClass);
var scrollPos = $content.attr('scrollTop');
$content.attr('scrollTop', scrollPos + $content.height());
}
else if (!$curr)
$content.children('div:first-child').addClass(o.selectClass);
}
function prevPage() {
$curr = getCurr();
if ($curr && $curr.prev().length > 0) {
$curr.removeClass(o.selectClass);
for (var i = 0; i < o.maxVisibleRows; i++) {
if ($curr.prev().length > 0) {
$curr = $curr.prev();
}
}
$curr.addClass(o.selectClass);
var scrollPos = $content.attr('scrollTop');
$content.attr('scrollTop', scrollPos - $content.height());
}
else if (!$curr)
$content.children('div:last-child').addClass(o.selectClass);
}
function nextResult() {
$curr = getCurr();
if ($curr && $curr.next().length > 0) {
$curr.removeClass(o.selectClass).next().addClass(o.selectClass);
var scrollPos = $content.attr('scrollTop'),
curr = $curr[0], parentBottom, bottom, height;
if (supportsGetBoxObjectFor()) {
parentBottom = document.getBoxObjectFor($content[0]).y + $content.attr('offsetHeight');
bottom = document.getBoxObjectFor(curr).y + $curr.attr('offsetHeight');
height = document.getBoxObjectFor(curr).height;
}
else if (supportsGetBoundingClientRect()) {
parentBottom = $content[0].getBoundingClientRect().bottom;
var rect = curr.getBoundingClientRect();
bottom = rect.bottom;
height = bottom - rect.top;
}
if (bottom >= parentBottom)
$content.attr('scrollTop', scrollPos + height);
}
else if (!$curr)
$content.children('div:first-child').addClass(o.selectClass);
}
function prevResult() {
$curr = getCurr();
if ($curr && $curr.prev().length > 0) {
$curr.removeClass(o.selectClass).prev().addClass(o.selectClass);
var scrollPos = $content.attr('scrollTop'),
curr = $curr[0],
parent = $curr.parent()[0],
parentTop, top, height;
if (supportsGetBoxObjectFor()) {
height = document.getBoxObjectFor(curr).height;
parentTop = document.getBoxObjectFor($content[0]).y - (height * 2); // TODO: this is not working when i add another control...
top = document.getBoxObjectFor(curr).y - document.getBoxObjectFor($content[0]).y;
}
else if (supportsGetBoundingClientRect()) {
parentTop = parent.getBoundingClientRect().top;
var rect = curr.getBoundingClientRect();
top = rect.top;
height = rect.bottom - top;
}
if (top <= parentTop)
$content.attr('scrollTop', scrollPos - height);
}
else if (!$curr)
$content.children('div:last-child').addClass(o.selectClass);
}
};
$.fn.flexbox = function(source, options) {
if (!source)
return;
try {
var defaults = $.fn.flexbox.defaults;
var o = $.extend({}, defaults, options);
for (var prop in o) {
if (defaults[prop] === undefined) throw ('Invalid option specified: ' + prop + '\nPlease check your spelling and try again.');
}
o.source = source;
if (options) {
o.paging = (options.paging || options.paging == null) ? $.extend({}, defaults.paging, options.paging) : false;
for (var prop in o.paging) {
if (defaults.paging[prop] === undefined) throw ('Invalid option specified: ' + prop + '\nPlease check your spelling and try again.');
}
if (options.displayValue && !options.hiddenValue) {
o.hiddenValue = options.displayValue;
}
}
this.each(function() {
new $.flexbox(this, o);
});
return this;
} catch (ex) {
if (typeof ex === 'object') alert(ex.message); else alert(ex);
}
};
// plugin defaults - added as a property on our plugin function so they can be set independently
$.fn.flexbox.defaults = {
method: 'GET', // One of 'GET' or 'POST'
queryDelay: 100, // num of milliseconds before query is run.
allowInput: true, // set to false to disallow the user from typing in queries
containerClass: 'ffb',
contentClass: 'content',
selectClass: 'ffb-sel',
inputClass: 'ffb-input',
arrowClass: 'ffb-arrow',
matchClass: 'ffb-match',
noResultsText: 'No matching results', // text to show when no results match the query
noResultsClass: 'ffb-no-results', // class to apply to noResultsText
showResults: true, // whether to show results at all, or just typeahead
selectFirstMatch: true, // whether to highlight the first matching value
autoCompleteFirstMatch: false, // whether to complete the first matching value in the input box
highlightMatches: true, // whether all matches within the string should be highlighted with matchClass
highlightMatchesRegExModifier: 'i', // 'i' for case-insensitive, 'g' for global (all occurrences), or combine
matchAny: true, // for client-side filtering ONLY, match any occurrence of the search term in the result (e.g. "ar" would find "area" and "cart")
minChars: 1, // the minimum number of characters the user must enter before a search is executed
showArrow: true, // set to false to simulate google suggest
arrowQuery: '', // the query to run when the arrow is clicked
onSelect: false, // function to run when a result is selected
maxCacheBytes: 32768, // in bytes, 0 means caching is disabled
resultTemplate: '{name}', // html template for each row (put json properties in curly braces)
displayValue: 'name', // json element whose value is displayed on select
hiddenValue: 'id', // json element whose value is submitted when form is submitted
initialValue: '', // what should the value of the input field be when the form is loaded?
initialId: '', // what should the value of the hidden field be when the form is loaded?
watermark: '', // text that appears when flexbox is loaded, if no initialValue is specified. style with css class '.ffb-input.watermark'
width: 200, // total width of flexbox. auto-adjusts based on showArrow value
resultsProperty: 'results', // json property in response that references array of results
totalProperty: 'total', // json property in response that references the total results (for paging)
maxVisibleRows: 0, // default is 0, which means it is ignored. use either this, or paging.pageSize
paging: {
style: 'input', // or 'links'
cssClass: 'paging', // prefix with containerClass (e.g. .ffb .paging)
pageSize: 10, // acts as a threshold. if <= pageSize results, paging doesn't appear
maxPageLinks: 5, // used only if style is 'links'
showSummary: true, // whether to show 'displaying 1-10 of 200 results' text
summaryClass: 'summary', // class for 'displaying 1-10 of 200 results', prefix with containerClass
summaryTemplate: 'Displaying {start}-{end} of {total} results' // can use {page} and {pages} as well
}
};
$.fn.setValue = function(val) {
var id = '#' + this.attr('id');
$(id + '_hidden,' + id + '_input').val(val).removeClass('watermark');
};
})(jQuery);
File diff suppressed because one or more lines are too long
-36
View File
@@ -1,36 +0,0 @@
<%@ Page Language="VB" ValidateRequest="false" AutoEventWireup="false" CodeFile="AutoPostTest.aspx.vb" Inherits="PostTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript" src="scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.js"></script>
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
<script type="text/javascript">
$(function() {
$("textarea").htmlarea(); // Initialize jHtmlArea's with all default values
//window.setTimeout(function() { $("form").submit(); }, 3000);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager runat="server" ID="sm1"></asp:ScriptManager>
<asp:Literal runat="server" ID="litText"></asp:Literal><br />
<textarea runat="server" id="txtText" cols="50" rows="15"></textarea>
<input type="submit" value='manual submit' />
<br />
<asp:Button runat="server" ID="btnSubmit" Text="asp:Button" />
<asp:LinkButton runat="server" ID="lbSubmit" Text="asp:LinkButton"></asp:LinkButton>
</div>
</form>
</body>
</html>
-9
View File
@@ -1,9 +0,0 @@

Partial Class PostTest
Inherits System.Web.UI.Page
Public Sub PostTest_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
txtText.Value = Request("txtText")
litText.Text = txtText.Value
End Sub
End Class
-89
View File
@@ -1,89 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.min.js"></script>
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
<script type="text/javascript" src="scripts/jHtmlArea.ColorPickerMenu-0.7.0.js"></script>
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.ColorPickerMenu.css" />
<style type="text/css">
div.jHtmlArea { border: solid 1px #ccc; }
</style>
</head>
<body>
<h3>jHtmlArea Live Demo - jHtmlAreaColorPickerMenu Example</h3>
<p>The jHtmlAreaColorPickerMenu plugin/extension allows you to show a simple Color Picker Menu when the user clicks on the "forecolor" Toolbar Button.</p>
<p>
<a href="http://jhtmlarea.codeplex.com">jHtmlArea Project Homepage</a>
&nbsp;|&nbsp;
<a href="http://jhtmlarea.codeplex.com/Release/ProjectReleases.aspx">Downloads</a>
&nbsp;|&nbsp;
<a href="http://jhtmlarea.codeplex.com/Thread/List.aspx">Discussions</a>
&nbsp;|&nbsp;
<a href="http://jhtmlarea.codeplex.com/WorkItem/List.aspx">Issue Tracker</a>
</p>
<script type="text/javascript">
//// You can also override the "default" colors option of the jHtmlAreaColorPickerMenu
//// to show only the specific colors you want.
// jHtmlAreaColorPickerMenu.defaultOptions.colors = ["red", "yellow", "blue", "green", "purple", "white", "black"];
// The followin creates a jHtmlArea and adds a custom list of toolbar buttons.
// Among the buttons is the "forecolor" button that will automatically take
// advantage of the jHtmlAreaColorPickerMenu plugin.
$(function() {
$("#Textarea1").htmlarea({
toolbar: ["html", "|",
"forecolor", // <-- Add the "forecolor" Toolbar Button
"|", "bold", "italic", "underline", "|", "p", "h1", "h2", "h3", "|", "link", "unlink"] // Overrides/Specifies the Toolbar buttons to show
});
});
</script>
<textarea id="Textarea1" cols="50" rows="15"><p><h3>Another TextArea</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
<hr />
The jHtmlAreaColorPickerMenu object can also be reused for other purposes. For example clicking on the button below will allow you to change the background color of the page.
<br />
<input id="choosecolor" type="button" value="Choose Color..." />
<script type="text/javascript">
$(function() {
$("#choosecolor").click(function() {
jHtmlAreaColorPickerMenu(this, {
colorChosen: function(color) {
$(document.body).css('background-color', color);
}
});
});
});
</script>
<br /><br /><br /><br /><br />
<hr />
<div style="position: relative;border: solid 30px #cccccc;">
<h3>Editor within a "position: relative" DIV element.</h3>
<textarea id="txtInDiv" cols="50" rows="15">Some <b>Test</b> content.</textarea>
<script type="text/javascript">
$(function() {
$("#txtInDiv").htmlarea({
toolbar: ["html", "|",
"forecolor", // <-- Add the "forecolor" Toolbar Button
"|", "bold", "italic", "underline", "|", "p", "h1", "h2", "h3", "|", "link", "unlink"] // Overrides/Specifies the Toolbar buttons to show
});
});
</script>
</div>
</body>
</html>
-128
View File
@@ -1,128 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="scripts/jquery-ui-1.7.2.custom.min.js"></script>
<link rel="Stylesheet" type="text/css" href="style/jqueryui/ui-lightness/jquery-ui-1.7.2.custom.css" />
<script type="text/javascript" src="scripts/jHtmlArea-0.7.0.js"></script>
<link rel="Stylesheet" type="text/css" href="style/jHtmlArea.css" />
<style type="text/css">
/* body { background: #ccc;} */
div.jHtmlArea .ToolBar ul li a.custom_disk_button
{
background: url(images/disk.png) no-repeat;
background-position: 0 0;
}
div.jHtmlArea { border: solid 1px #ccc; }
</style>
</head>
<body>
<script type="text/javascript">
// You can do this to perform a global override of any of the "default" options
// jHtmlArea.fn.defaultOptions.css = "jHtmlArea.Editor.css";
$(function() {
//$("textarea").htmlarea(); // Initialize all TextArea's as jHtmlArea's with default values
$("#txtDefaultHtmlArea").htmlarea(); // Initialize jHtmlArea's with all default values
$("#txtCustomHtmlArea").htmlarea({
// Override/Specify the Toolbar buttons to show
toolbar: [
["bold", "italic", "underline", "|", "forecolor"],
["p", "h1", "h2", "h3", "h4", "h5", "h6"],
["link", "unlink", "|", "image"],
[{
// This is how to add a completely custom Toolbar Button
css: "custom_disk_button",
text: "Save",
action: function(btn) {
// 'this' = jHtmlArea object
// 'btn' = jQuery object that represents the <A> "anchor" tag for the Toolbar Button
alert('SAVE!\n\n' + this.toHtmlString());
}
}]
],
// Override any of the toolbarText values - these are the Alt Text / Tooltips shown
// when the user hovers the mouse over the Toolbar Buttons
// Here are a couple translated to German, thanks to Google Translate.
toolbarText: $.extend({}, jHtmlArea.defaultOptions.toolbarText, {
"bold": "fett",
"italic": "kursiv",
"underline": "unterstreichen"
}),
// Specify a specific CSS file to use for the Editor
css: "style//jHtmlArea.Editor.css",
// Do something once the editor has finished loading
loaded: function() {
//// 'this' is equal to the jHtmlArea object
//alert("jHtmlArea has loaded!");
//this.showHTMLView(); // show the HTML view once the editor has finished loading
}
});
});
</script>
<textarea id="txtDefaultHtmlArea" cols="50" rows="15"><p><h3>Test H3</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
<input type="button" value="Alert HTML" onclick="alert($('#txtDefaultHtmlArea').htmlarea('toHtmlString'));" />
<input type="button" value="Change Color to Blue" onclick="$('#txtDefaultHtmlArea').htmlarea('forecolor', 'blue');" />
<br /><hr /><br />
<textarea id="txtCustomHtmlArea" cols="50" rows="15"><p><h3>Another TextArea</h3>This is some sample text to test out the <b>WYSIWYG Control</b>.</p></textarea>
<input type="button" id="btnRemoveCustomHtmlArea" value="Remove jHtmlArea" />
<script type="text/javascript">
$(function() {
$("#btnRemoveCustomHtmlArea").click(function() {
$("#txtCustomHtmlArea").htmlarea("dispose");
});
});
</script>
<input type="button" id="btnResetCustomHtmlArea" value="Reset To Default Options" />
<script type="text/javascript">
$(function() {
$("#btnResetCustomHtmlArea").click(function() {
$("#txtCustomHtmlArea").htmlarea("dispose");
$("#txtCustomHtmlArea").htmlarea();
});
});
</script>
<br /><hr /><br />
<h3>Use jHtmlArea within jQuery UI Dialog</h3>
<script type="text/javascript">
$.ui.dialog.defaults.bgiframe = true;
$(function() {
$("#dialogShowButton").click(function() {
$("#dialog").dialog({width: 420});
$("#dialogEditor").htmlarea();
});
});
</script>
<input type="button" id="dialogShowButton" value="Show Dialog with jHtmlArea Editor" />
<div id="dialog" title="Basic dialog" style="display: none">
Basic jHtmlArea within jQuery UI Dialog
<br />
<textarea id="dialogEditor" rows="10" style="width: 400px">Some <b>Basic</b> text.</textarea>
</div>
<p>To see a "proper" example of the "Font Color" button, you'll want to see the "<a href="ColorPickerMenu.htm">jHtmlAreaColorPickerMenu</a>" in action here: <a href="ColorPickerMenu.htm">ColorPickerMenu.htm</a></p>
</body>
</html>
-117
View File
@@ -1,117 +0,0 @@
/* jHtmlArea - WYSIWYG Html Editor jQuery Plugin
* Copyright (c) 2009 Chris Pietschmann
* http://jhtmlarea.codeplex.com
* Licensed under the Microsoft Reciprocal License (Ms-RL)
* http://jhtmlarea.codeplex.com/license
*/
EXAMPLE USAGE:
-----------------------
See "Default.htm" for example usages.
Or, check out http://jhtmlarea.codeplex.com
CHANGE LOG
-----------------------
v0.7.0
- Fixed ColorPickerMenu positioning when placed within a "position: relative"
div element.
- Fixed ColorPickerMenu to auto-hide after a short delay (1 second) once the
user moves the mouse off the menu.
- Fixed Form Submit issue that caused the text to not be posted. Also fixed a
related issue with ASP.NET Postbacks.
- Added jHtmlArea.p method and "paragraph" functionality + toolbar button
This allows the user to change the formatting from <H1>, <H2>, etc. to <P>
- Added an "Automatic" color option to the ColorPickerMenu.
v0.6.0
- Hide All Toolbar buttons except the "html" button when entering
HTML Source view (via clicking "html" button or executing
jHtmlArea.showHTMLView). When toggling view back to the WYSIWYG editor
all other buttons will then be shown again.
- Added jHtmlArea.dispose method - Allows you to remove the WYSIWYG
editor, and go back to having a plain TextArea. Beware, there is a
memory leak when using this method; it's not too bad, but you want
to call this as few a number of times if you can. The memory leak
is due to the way the browsers handle removing DOM Elements.
- Added Indent and Outdent functionality - This includes toolbar buttons
and jHtmlArea.indent and jHtmlArea.outdent buttons.
- Added justifyLeft, justifyCenter, justifyRight functionality and toolbar
buttons.
- Added insertHorizontalRule functionality and toolbar button. This adds a
<hr> tag to the currently selected area.
- Added an "alias" method for jHtmlArea.execCommand named "ec" to help reduce the
file size of the script.
- Added increaseFontSize and decreaseFontSize functionality and toolbar buttons.
The increaseFontSize and decreaseFontSize doesn't currently work in Safari.
- Added forecolor functionality - Changes a font color for the selection or at the
insertion point. Requires a color value string to be passed in as a value argument.
- Fixed bug in jHtmlArea.toString method
- Added jHtmlArea.queryCommandValue method and it's alias "jHtmlArea.qc"
- Added the jHtmlAreaColorPickerMenu plugin/extension that resides within the
"jHtmlAreaColorPickerMenu.js" file. This file includes a somewhat generic color
picker menu that can be used for any purpose, plus it includes the code to wire
up and override the "stock" jHtmlColor.forecolor functionality and inject the new
Color Picker Menu functionality in it's place when you click on the "forecolor"
toolbar button.
- Changed the "execCommand" and "ec" second parameter to default to "false" if not
specified, and third parameter to default to "null" if not specified. This helps to
reduce the overall file size of the script.
- Added support for Toolbar Button Grouping, now with the additional buttons included
in this release, or even when any custom buttons are used, they will be able to display
nicely by "auto-wrapping" to the next line.
- Added a gradient background to the Toolbar Button Groups, with a slight reverse
gradient on the Buttons when the mouse is hovered over.
v0.5.0 - Initial Release
ICONS / IMAGES:
-----------------------
Some of the Icons within the jHtmlArea.png file are from the
Silk icon set at www.famfamfam.com.
They are licensed under the following license:
Silk icon set 1.3
_________________________________________
Mark James
http://www.famfamfam.com/lab/icons/silk/
_________________________________________
This work is licensed under a
Creative Commons Attribution 2.5 License.
[ http://creativecommons.org/licenses/by/2.5/ ]
This means you may use it for any purpose,
and make any changes you like.
All I ask is that you include a link back
to this page in your credits.
Are you using this icon set? Send me an email
(including a link or picture if available) to
mjames@gmail.com
Any other questions about this icon set please
contact mjames@gmail.com
Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 B

-365
View File
@@ -1,365 +0,0 @@
/*
* This file has been commented to support Visual Studio Intellisense.
* You should not use this file at runtime inside the browser--it is only
* intended to be used only for design-time IntelliSense. Please use the
* standard jHtmlArea library for all production use.
*/
/*
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
* Copyright (c) 2009 Chris Pietschmann
* http://jhtmlarea.codeplex.com
* Licensed under the Microsoft Reciprocal License (Ms-RL)
* http://jhtmlarea.codeplex.com/license
*/
(function($) {
$.fn.htmlarea = function(options) {
/// <summary>
/// 1: (options) - Convert all TextArea DOM Elements to be displayed as jHtmlArea WYSIWYG Editors.
/// 2: (string, arguments) - This function accepts a string containing the method name that you want to execute against the jHtmlArea object.
/// </summary>
/// <param name="options" type="Object">
/// 1: options - The custom options you want applied to the jHtmlArea's that are created.
/// 2: string - The name of the jHtmlArea object method to be executed. The results of the method call are then returned instead of the jQuery object.
/// </param>
};
var jHtmlArea = window.jHtmlArea = function(elem, options) {
/// <summary>
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
/// </summary>
/// <param name="elem" type="TextArea DOM Element">
/// The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor. Required.
/// </param>
/// <param name="options" type="Object">
/// The custom options you want applied to the jHtmlArea that is created. Optional.
/// </param>
/// <field name="defaultOptions" Type="Object">
/// The Default Options that are used for configuring the jHtmlArea WYSIWYG Editor upon creation.
/// </field>
/// <returns type="jHtmlArea" />
};
jHtmlArea.fn = jHtmlArea.prototype = {
// The current version of jHtmlArea being used
jhtmlarea: "0.7.0",
init: function(elem, options) {
/// <summary>
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
/// </summary>
/// <param name="elem" type="TextArea DOM Element">
/// Required. The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor.
/// </param>
/// <param name="options" type="Object">
/// Optional. The custom options you want applied to the jHtmlArea that is created.
/// </param>
/// <returns type="jHtmlArea" />
},
execCommand: function(a, b, c) {
/// <summary>
/// Executes a command on the current document, current selection, or the given range.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
/// </param>
/// <param name="b" type="Boolean">
/// Optional. Boolean that specifies one of the following values:
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
/// "true" = Display a user interface if the command supports one.
/// </param>
/// <param name="c" type="Object">
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
/// </param>
},
ec: function(a, b, c) {
/// <summary>
/// Executes a command on the current document, current selection, or the given range. An alias for the "execCommand" method.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
/// </param>
/// <param name="b" type="Boolean">
/// Optional. Boolean that specifies one of the following values:
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
/// "true" = Display a user interface if the command supports one.
/// </param>
/// <param name="c" type="Object">
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
/// </param>
},
queryCommandValue: function(a) {
/// <summary>
/// Returns the current value of the document, range, or current selection for the given command.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies a command identifier.
/// </param>
/// <returns type="Variant" />
},
qc: function(a) {
/// <summary>
/// Returns the current value of the document, range, or current selection for the given command. An alias for the "queryCommandValue" method.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies a command identifier.
/// </param>
/// <returns type="Variant" />
},
getSelectedHTML: function() {
/// <summary>
/// Returns the HTML that is currently selected within the editor.
/// </summary>
/// <returns type="String" />
},
getSelection: function() {
/// <summary>
/// Returns the Browser Selection object that represents the currently selected region of the editor.
/// </summary>
/// <returns type="Object" />
},
getRange: function() {
/// <summary>
/// Returns the Browser Range object that represents the currently selected region of the editor. (This uses the "getSelection" method internally.)
/// </summary>
/// <returns type="Object" />
},
html: function(v) {
/// <summary>
/// 1: () Returns the HTML text value contained within the editor. 2: (v) Sets the editors value to the HTML text passed in.
/// </summary>
/// <param name="v" type="String">
/// The HTML text to set the editors value to.
/// </param>
},
pasteHTML: function(html) {
/// <summary>
/// Pastes HTML text into the editor, replacing any currently selected text and HTML elements.
/// </summary>
/// <param name="html" type="String">
/// The HTML text to paste/insert.
/// </param>
},
cut: function() {
/// <summary>
/// Copies the current selection to the clipboard and then deletes it.
/// </summary>
},
copy: function() {
/// <summary>
/// Copies the current selection to the clipboard.
/// </summary>
},
paste: function() {
/// <summary>
/// Overwrites the contents of the clipboard on the current selection.
/// </summary>
},
bold: function() {
/// <summary>
/// Toggles the current selection between bold and nonbold.
/// </summary>
},
italic: function() {
/// <summary>
/// Toggles the current selection between italic and nonitalic.
/// </summary>
},
underline: function() {
/// <summary>
/// Toggles the current selection between underlined and not underlined.
/// </summary>
},
strikeThrough: function() {
/// <summary>
/// If there is a selection and all of the characters are already striked, the strikethrough will be removed. Otherwise, all selected characters will have a line drawn through them.
/// </summary>
},
image: function(url) {
/// <summary>
/// This command will insert an image (referenced by url) at the insertion point.
/// If no URL is specified, a prompt will be displayed to the user.
/// </summary>
/// <param name="url" type="String">
/// The URL to the Image to be inserted. If no URL is specified, a prompt will be shown.
/// </param>
},
removeFormat: function() {
/// <summary>
/// Removes the formatting tags from the current selection.
/// </summary>
},
link: function() {
/// <summary>
/// Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
/// </summary>
},
unlink: function() {
/// <summary>
/// Removes any hyperlink from the current selection.
/// </summary>
},
orderedList: function() {
/// <summary>
/// Converts the text selection into an ordered list.
/// </summary>
},
unorderedList: function() {
/// <summary>
/// Converts the text selection into an unordered list.
/// </summary>
},
superscript: function() {
/// <summary>
/// If there is a selection and all of the characters are already superscripted, the superscript will be removed. Otherwise, all selected characters will be drawn slightly higher than normal text.
/// </summary>
},
subscript: function() {
/// <summary>
/// If there is a selection and all of the characters are already subscripted, the subscript will be removed. Otherwise, all selected characters will be drawn slightly lower than normal text.
/// </summary>
},
p: function() {
/// <summary>
/// Sets the current block format tag to <P>.
/// </summary>
},
h1: function() {
/// <summary>
/// Sets the current block format tag to <H1>.
/// </summary>
},
h2: function() {
/// <summary>
/// Sets the current block format tag to <H2>.
/// </summary>
},
h3: function() {
/// <summary>
/// Sets the current block format tag to <H3>.
/// </summary>
},
h4: function() {
/// <summary>
/// Sets the current block format tag to <H4>.
/// </summary>
},
h5: function() {
/// <summary>
/// Sets the current block format tag to <H5>.
/// </summary>
},
h6: function() {
/// <summary>
/// Sets the current block format tag to <H6>.
/// </summary>
},
heading: function(h) {
/// <summary>
/// Sets the current block format tag to <H?> tag.
/// Example: Calling jHtmlArea.heading(2) will be the same as calling jHtmlArea.h2()
/// </summary>
/// <param name="h" type="Number">
/// The Number of Header (<H?>) tag to format the current block with.
/// For Example: Passing a 2 or "2" will cause the current block to be formatted with a <H2> tag.
/// </param>
},
indent: function() {
/// <summary>
/// Indents the selection or insertion point.
/// </summary>
},
outdent: function() {
/// <summary>
/// Outdents the selection or insertion point.
/// </summary>
},
insertHorizontalRule: function() {
/// <summary>
/// Inserts a horizontal rule at the insertion point (deletes selection).
/// </summary>
},
justifyLeft: function() {
/// <summary>
/// Justifies the selection or insertion point to the left.
/// </summary>
},
justifyCenter: function() {
/// <summary>
/// Centers the selection or insertion point.
/// </summary>
},
justifyRight: function() {
/// <summary>
/// Right-justifies the selection or the insertion point.
/// </summary>
},
increaseFontSize: function() {
/// <summary>
/// Increases the Font Size around the selection or at the insertion point.
/// </summary>
},
decreaseFontSize: function() {
/// <summary>
/// Decreases the Font Size around the selection or at the insertion point.
/// </summary>
},
forecolor: function(c) {
/// <summary>
/// Changes a font color for the selection or at the insertion point. Requires a color value string to be passed in as a value argument.
/// </summary>
},
formatBlock: function(v) {
/// <summary>
/// Sets the current block format tag.
/// </summary>
},
showHTMLView: function() {
/// <summary>
/// Shows the HTML/Source View (TextArea DOM Element) within the Editor and hides the WYSIWYG interface.
/// </summary>
},
hideHTMLView: function() {
/// <summary>
/// Hides the HTML/Source View (TextArea DOM Element) within the Editor and displays the WYSIWYG interface.
/// </summary>
},
toggleHTMLView: function() {
/// <summary>
/// Toggles between HTML/Source View (TextArea DOM Element) and the WYSIWYG interface within the Editor.
/// </summary>
},
toHtmlString: function() {
/// <summary>
/// Returns the HTML text contained within the editor.
/// </summary>
/// <returns type="String" />
},
toString: function() {
/// <summary>
/// Return the Text contained within the editor, with all HTML tags removed.
/// </summary>
/// <returns type="String" />
},
updateTextArea: function() {
/// <summary>
/// Forces the TextArea DOM Element to by sync'd with the contents of the HTML WYSIWYG Editor.
/// </summary>
},
updateHtmlArea: function() {
/// <summary>
/// Forces the HTML WYSIWYG Editor to be sync'd with the contents of the TextArea DOM Element.
/// </summary>
}
};
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
})(jQuery);
-403
View File
@@ -1,403 +0,0 @@
/*
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
* Copyright (c) 2009 Chris Pietschmann
* http://jhtmlarea.codeplex.com
* Licensed under the Microsoft Reciprocal License (Ms-RL)
* http://jhtmlarea.codeplex.com/license
*/
(function($) {
$.fn.htmlarea = function(opts) {
if (opts && typeof (opts) === "string") {
var args = [];
for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
var htmlarea = jHtmlArea(this[0]);
var f = htmlarea[opts];
if (f) { return f.apply(htmlarea, args); }
}
return this.each(function() { jHtmlArea(this, opts); });
};
var jHtmlArea = window.jHtmlArea = function(elem, options) {
if (elem.jquery) {
return jHtmlArea(elem[0]);
}
if (elem.jhtmlareaObject) {
return elem.jhtmlareaObject;
} else {
return new jHtmlArea.fn.init(elem, options);
}
};
jHtmlArea.fn = jHtmlArea.prototype = {
// The current version of jHtmlArea being used
jhtmlarea: "0.7.0",
init: function(elem, options) {
if (elem.nodeName.toLowerCase() === "textarea") {
var opts = $.extend({}, jHtmlArea.defaultOptions, options);
elem.jhtmlareaObject = this;
var textarea = this.textarea = $(elem);
var container = this.container = $("<div/>").addClass("jHtmlArea").width(textarea.width()).insertAfter(textarea);
var toolbar = this.toolbar = $("<div/>").addClass("ToolBar").appendTo(container);
priv.initToolBar.call(this, opts);
var iframe = this.iframe = $("<iframe/>").height(textarea.height());
iframe.width(textarea.width() - ($.browser.msie ? 0 : 4));
var htmlarea = this.htmlarea = $("<div/>").append(iframe);
container.append(htmlarea).append(textarea.hide());
priv.initEditor.call(this, opts);
priv.attachEditorEvents.call(this);
// Fix total height to match TextArea
iframe.height(iframe.height() - toolbar.height());
toolbar.width(textarea.width() - 2);
if (opts.loaded) { opts.loaded.call(this); }
}
},
dispose: function() {
this.textarea.show().insertAfter(this.container);
this.container.remove();
this.textarea[0].jhtmlareaObject = null;
},
execCommand: function(a, b, c) {
this.iframe[0].contentWindow.focus();
this.editor.execCommand(a, b || false, c || null);
this.updateTextArea();
},
ec: function(a, b, c) {
this.execCommand(a, b, c);
},
queryCommandValue: function(a) {
this.iframe[0].contentWindow.focus();
return this.editor.queryCommandValue(a);
},
qc: function(a) {
return this.queryCommandValue(a);
},
getSelectedHTML: function() {
if ($.browser.msie) {
return this.getRange().htmlText;
} else {
var elem = this.getRange().cloneContents();
return $("<p/>").append($(elem)).html();
}
},
getSelection: function() {
if ($.browser.msie) {
//return (this.editor.parentWindow.getSelection) ? this.editor.parentWindow.getSelection() : this.editor.selection;
return this.editor.selection;
} else {
return this.iframe[0].contentDocument.defaultView.getSelection();
}
},
getRange: function() {
var s = this.getSelection();
if (!s) { return null; }
//return (s.rangeCount > 0) ? s.getRangeAt(0) : s.createRange();
return (s.getRangeAt) ? s.getRangeAt(0) : s.createRange();
},
html: function(v) {
if (v) {
this.pastHTML(v);
} else {
return toHtmlString();
}
},
pasteHTML: function(html) {
this.iframe[0].contentWindow.focus();
var r = this.getRange();
if ($.browser.msie) {
r.pasteHTML(html);
} else if ($.browser.mozilla) {
r.deleteContents();
r.insertNode($((html.indexOf("<") != 0) ? $("<span/>").append(html) : html)[0]);
} else { // Safari
r.deleteContents();
r.insertNode($(this.iframe[0].contentWindow.document.createElement("span")).append($((html.indexOf("<") != 0) ? "<span>" + html + "</span>" : html))[0]);
}
r.collapse(false);
r.select();
},
cut: function() {
this.ec("cut");
},
copy: function() {
this.ec("copy");
},
paste: function() {
this.ec("paste");
},
bold: function() { this.ec("bold"); },
italic: function() { this.ec("italic"); },
underline: function() { this.ec("underline"); },
strikeThrough: function() { this.ec("strikethrough"); },
image: function(url) {
if ($.browser.msie && !url) {
this.ec("insertImage", true);
} else {
this.ec("insertImage", false, (url || prompt("Image URL:", "http://")));
}
},
removeFormat: function() {
this.ec("removeFormat", false, []);
this.unlink();
},
link: function() {
if ($.browser.msie) {
this.ec("createLink", true);
} else {
this.ec("createLink", false, prompt("Link URL:", "http://"));
}
},
unlink: function() { this.ec("unlink", false, []); },
orderedList: function() { this.ec("insertorderedlist"); },
unorderedList: function() { this.ec("insertunorderedlist"); },
superscript: function() { this.ec("superscript"); },
subscript: function() { this.ec("subscript"); },
p: function() {
this.formatBlock("<p>");
},
h1: function() {
this.heading(1);
},
h2: function() {
this.heading(2);
},
h3: function() {
this.heading(3);
},
h4: function() {
this.heading(4);
},
h5: function() {
this.heading(5);
},
h6: function() {
this.heading(6);
},
heading: function(h) {
this.formatBlock($.browser.msie ? "Heading " + h : "h" + h);
},
indent: function() {
this.ec("indent");
},
outdent: function() {
this.ec("outdent");
},
insertHorizontalRule: function() {
this.ec("insertHorizontalRule", false, "ht");
},
justifyLeft: function() {
this.ec("justifyLeft");
},
justifyCenter: function() {
this.ec("justifyCenter");
},
justifyRight: function() {
this.ec("justifyRight");
},
increaseFontSize: function() {
if ($.browser.msie) {
this.ec("fontSize", false, this.qc("fontSize") + 1);
} else if ($.browser.safari) {
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "larger")[0]);
} else {
this.ec("increaseFontSize", false, "big");
}
},
decreaseFontSize: function() {
if ($.browser.msie) {
this.ec("fontSize", false, this.qc("fontSize") - 1);
} else if ($.browser.safari) {
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "smaller")[0]);
} else {
this.ec("decreaseFontSize", false, "small");
}
},
forecolor: function(c) {
this.ec("foreColor", false, c || prompt("Enter HTML Color:", "#"));
},
formatBlock: function(v) {
this.ec("formatblock", false, v || null);
},
showHTMLView: function() {
this.updateTextArea();
this.textarea.show();
this.htmlarea.hide();
$("ul li:not(li:has(a.html))", this.toolbar).hide();
$("ul:not(:has(:visible))", this.toolbar).hide();
$("ul li a.html", this.toolbar).addClass("highlighted");
},
hideHTMLView: function() {
this.updateHtmlArea();
this.textarea.hide();
this.htmlarea.show();
$("ul", this.toolbar).show();
$("ul li", this.toolbar).show().find("a.html").removeClass("highlighted");
},
toggleHTMLView: function() {
(this.textarea.is(":hidden")) ? this.showHTMLView() : this.hideHTMLView();
},
toHtmlString: function() {
return this.editor.body.innerHTML;
},
toString: function() {
return this.editor.body.innerText;
},
updateTextArea: function() {
this.textarea.val(this.toHtmlString());
},
updateHtmlArea: function() {
this.editor.body.innerHTML = this.textarea.val();
}
};
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
jHtmlArea.defaultOptions = {
toolbar: [
["html"], ["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
["increasefontsize", "decreasefontsize"],
["orderedlist", "unorderedlist"],
["indent", "outdent"],
["justifyleft", "justifycenter", "justifyright"],
["link", "unlink", "image", "horizontalrule"],
["p", "h1", "h2", "h3", "h4", "h5", "h6"],
["cut", "copy", "paste"]
],
css: null,
toolbarText: {
bold: "Bold", italic: "Italic", underline: "Underline", strikethrough: "Strike-Through",
cut: "Cut", copy: "Copy", paste: "Paste",
h1: "Heading 1", h2: "Heading 2", h3: "Heading 3", h4: "Heading 4", h5: "Heading 5", h6: "Heading 6", p: "Paragraph",
indent: "Indent", outdent: "Outdent", horizontalrule: "Insert Horizontal Rule",
justifyleft: "Left Justify", justifycenter: "Center Justify", justifyright: "Right Justify",
increasefontsize: "Increase Font Size", decreasefontsize: "Decrease Font Size", forecolor: "Text Color",
link: "Insert Link", unlink: "Remove Link", image: "Insert Image",
orderedlist: "Insert Ordered List", unorderedlist: "Insert Unordered List",
subscript: "Subscript", superscript: "Superscript",
html: "Show/Hide HTML Source View"
}
};
var priv = {
toolbarButtons: {
strikethrough: "strikeThrough", orderedlist: "orderedList", unorderedlist: "unorderedList",
horizontalrule: "insertHorizontalRule",
justifyleft: "justifyLeft", justifycenter: "justifyCenter", justifyright: "justifyRight",
increasefontsize: "increaseFontSize", decreasefontsize: "decreaseFontSize",
html: function(btn) {
this.toggleHTMLView();
}
},
initEditor: function(options) {
var edit = this.editor = this.iframe[0].contentWindow.document;
edit.designMode = 'on';
edit.open();
edit.write(this.textarea.val());
edit.close();
if (options.css) {
var e = edit.createElement('link'); e.rel = 'stylesheet'; e.type = 'text/css'; e.href = options.css; edit.getElementsByTagName('head')[0].appendChild(e);
}
},
initToolBar: function(options) {
var that = this;
var menuItem = function(className, altText, action) {
return $("<li/>").append($("<a href='javascript:void(0);'/>").addClass(className).attr("title", altText).click(function() { action.call(that, $(this)); }));
};
function addButtons(arr) {
var ul = $("<ul/>").appendTo(that.toolbar);
for (var i = 0; i < arr.length; i++) {
var e = arr[i];
if ((typeof (e)).toLowerCase() === "string") {
if (e === "|") {
ul.append($('<li class="separator"/>'));
} else {
var f = (function(e) {
// If button name exists in priv.toolbarButtons then call the "method" defined there, otherwise call the method with the same name
var m = priv.toolbarButtons[e] || e;
if ((typeof (m)).toLowerCase() === "function") {
return function(btn) { m.call(this, btn); };
} else {
return function() { this[m](); this.editor.body.focus(); };
}
})(e.toLowerCase());
var t = options.toolbarText[e.toLowerCase()];
ul.append(menuItem(e.toLowerCase(), t || e, f));
}
} else {
ul.append(menuItem(e.css, e.text, e.action));
}
}
};
if (options.toolbar.length !== 0 && priv.isArray(options.toolbar[0])) {
for (var i = 0; i < options.toolbar.length; i++) {
addButtons(options.toolbar[i]);
}
} else {
addButtons(options.toolbar);
}
},
attachEditorEvents: function() {
var t = this;
var fnHA = function() {
t.updateHtmlArea();
};
this.textarea.click(fnHA).
keyup(fnHA).
keydown(fnHA).
mousedown(fnHA).
blur(fnHA);
var fnTA = function() {
t.updateTextArea();
};
$(this.editor.body).click(fnTA).
keyup(fnTA).
keydown(fnTA).
mousedown(fnTA).
blur(fnTA);
$('form').submit(function() { t.toggleHTMLView(); t.toggleHTMLView(); });
//$(this.textarea[0].form).submit(function() { //this.textarea.closest("form").submit(function() {
// Fix for ASP.NET Postback Model
if (window.__doPostBack) {
var old__doPostBack = __doPostBack;
window.__doPostBack = function() {
if (t) {
if (t.toggleHTMLView) {
t.toggleHTMLView();
t.toggleHTMLView();
}
}
return old__doPostBack.apply(window, arguments);
};
}
},
isArray: function(v) {
return v && typeof v === 'object' && typeof v.length === 'number' && typeof v.splice === 'function' && !(v.propertyIsEnumerable('length'));
}
};
})(jQuery);
-357
View File
@@ -1,357 +0,0 @@
/*
* This file has been commented to support Visual Studio Intellisense.
* You should not use this file at runtime inside the browser--it is only
* intended to be used only for design-time IntelliSense. Please use the
* standard jHtmlArea library for all production use.
*/
/*
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
* Copyright (c) 2009 Chris Pietschmann
* http://jhtmlarea.codeplex.com
* Licensed under the Microsoft Reciprocal License (Ms-RL)
* http://jhtmlarea.codeplex.com/license
*/
(function($) {
$.fn.htmlarea = function(options) {
/// <summary>
/// 1: (options) - Convert all TextArea DOM Elements to be displayed as jHtmlArea WYSIWYG Editors.
/// 2: (string, arguments) - This function accepts a string containing the method name that you want to execute against the jHtmlArea object.
/// </summary>
/// <param name="options" type="Object">
/// 1: options - The custom options you want applied to the jHtmlArea's that are created.
/// 2: string - The name of the jHtmlArea object method to be executed. The results of the method call are then returned instead of the jQuery object.
/// </param>
};
var jHtmlArea = window.jHtmlArea = function(elem, options) {
/// <summary>
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
/// </summary>
/// <param name="elem" type="TextArea DOM Element">
/// The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor. Required.
/// </param>
/// <param name="options" type="Object">
/// The custom options you want applied to the jHtmlArea that is created. Optional.
/// </param>
/// <field name="defaultOptions" Type="Object">
/// The Default Options that are used for configuring the jHtmlArea WYSIWYG Editor upon creation.
/// </field>
/// <returns type="jHtmlArea" />
};
jHtmlArea.fn = jHtmlArea.prototype = {
// The current version of jHtmlArea being used
jhtmlarea: "0.7.0",
init: function(elem, options) {
/// <summary>
/// Converts the passed in TextArea DOM Element to a jHtmlArea WYSIWYG Editor.
/// </summary>
/// <param name="elem" type="TextArea DOM Element">
/// Required. The TextArea DOM Element to be converted to a jHtmlArea WYSIWYG Editor.
/// </param>
/// <param name="options" type="Object">
/// Optional. The custom options you want applied to the jHtmlArea that is created.
/// </param>
/// <returns type="jHtmlArea" />
},
execCommand: function(a, b, c) {
/// <summary>
/// Executes a command on the current document, current selection, or the given range.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
/// </param>
/// <param name="b" type="Boolean">
/// Optional. Boolean that specifies one of the following values:
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
/// "true" = Display a user interface if the command supports one.
/// </param>
/// <param name="c" type="Object">
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
/// </param>
},
ec: function(a, b, c) {
/// <summary>
/// Executes a command on the current document, current selection, or the given range. An alias for the "execCommand" method.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script.
/// </param>
/// <param name="b" type="Boolean">
/// Optional. Boolean that specifies one of the following values:
/// "false" = Default. Do not display a user interface. Must be combined with vValue, if the command requires a value.
/// "true" = Display a user interface if the command supports one.
/// </param>
/// <param name="c" type="Object">
/// Optional. Variant that specifies the string, number, or other value to assign. Possible values depend on the command.
/// </param>
},
queryCommandValue: function(a) {
/// <summary>
/// Returns the current value of the document, range, or current selection for the given command.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies a command identifier.
/// </param>
/// <returns type="Variant" />
},
qc: function(a) {
/// <summary>
/// Returns the current value of the document, range, or current selection for the given command. An alias for the "queryCommandValue" method.
/// </summary>
/// <param name="a" type="String">
/// Required. String that specifies a command identifier.
/// </param>
/// <returns type="Variant" />
},
getSelectedHTML: function() {
/// <summary>
/// Returns the HTML that is currently selected within the editor.
/// </summary>
/// <returns type="String" />
},
getSelection: function() {
/// <summary>
/// Returns the Browser Selection object that represents the currently selected region of the editor.
/// </summary>
/// <returns type="Object" />
},
getRange: function() {
/// <summary>
/// Returns the Browser Range object that represents the currently selected region of the editor. (This uses the "getSelection" method internally.)
/// </summary>
/// <returns type="Object" />
},
pasteHTML: function(html) {
/// <summary>
/// Pastes HTML text into the editor, replacing any currently selected text and HTML elements.
/// </summary>
/// <param name="html" type="String">
/// The HTML text to paste/insert.
/// </param>
},
cut: function() {
/// <summary>
/// Copies the current selection to the clipboard and then deletes it.
/// </summary>
},
copy: function() {
/// <summary>
/// Copies the current selection to the clipboard.
/// </summary>
},
paste: function() {
/// <summary>
/// Overwrites the contents of the clipboard on the current selection.
/// </summary>
},
bold: function() {
/// <summary>
/// Toggles the current selection between bold and nonbold.
/// </summary>
},
italic: function() {
/// <summary>
/// Toggles the current selection between italic and nonitalic.
/// </summary>
},
underline: function() {
/// <summary>
/// Toggles the current selection between underlined and not underlined.
/// </summary>
},
strikeThrough: function() {
/// <summary>
/// If there is a selection and all of the characters are already striked, the strikethrough will be removed. Otherwise, all selected characters will have a line drawn through them.
/// </summary>
},
image: function(url) {
/// <summary>
/// This command will insert an image (referenced by url) at the insertion point.
/// If no URL is specified, a prompt will be displayed to the user.
/// </summary>
/// <param name="url" type="String">
/// The URL to the Image to be inserted. If no URL is specified, a prompt will be shown.
/// </param>
},
removeFormat: function() {
/// <summary>
/// Removes the formatting tags from the current selection.
/// </summary>
},
link: function() {
/// <summary>
/// Inserts a hyperlink on the current selection, or displays a dialog box enabling the user to specify a URL to insert as a hyperlink on the current selection.
/// </summary>
},
unlink: function() {
/// <summary>
/// Removes any hyperlink from the current selection.
/// </summary>
},
orderedList: function() {
/// <summary>
/// Converts the text selection into an ordered list.
/// </summary>
},
unorderedList: function() {
/// <summary>
/// Converts the text selection into an unordered list.
/// </summary>
},
superscript: function() {
/// <summary>
/// If there is a selection and all of the characters are already superscripted, the superscript will be removed. Otherwise, all selected characters will be drawn slightly higher than normal text.
/// </summary>
},
subscript: function() {
/// <summary>
/// If there is a selection and all of the characters are already subscripted, the subscript will be removed. Otherwise, all selected characters will be drawn slightly lower than normal text.
/// </summary>
},
p: function() {
/// <summary>
/// Sets the current block format tag to <P>.
/// </summary>
},
h1: function() {
/// <summary>
/// Sets the current block format tag to <H1>.
/// </summary>
},
h2: function() {
/// <summary>
/// Sets the current block format tag to <H2>.
/// </summary>
},
h3: function() {
/// <summary>
/// Sets the current block format tag to <H3>.
/// </summary>
},
h4: function() {
/// <summary>
/// Sets the current block format tag to <H4>.
/// </summary>
},
h5: function() {
/// <summary>
/// Sets the current block format tag to <H5>.
/// </summary>
},
h6: function() {
/// <summary>
/// Sets the current block format tag to <H6>.
/// </summary>
},
heading: function(h) {
/// <summary>
/// Sets the current block format tag to <H?> tag.
/// Example: Calling jHtmlArea.heading(2) will be the same as calling jHtmlArea.h2()
/// </summary>
/// <param name="h" type="Number">
/// The Number of Header (<H?>) tag to format the current block with.
/// For Example: Passing a 2 or "2" will cause the current block to be formatted with a <H2> tag.
/// </param>
},
indent: function() {
/// <summary>
/// Indents the selection or insertion point.
/// </summary>
},
outdent: function() {
/// <summary>
/// Outdents the selection or insertion point.
/// </summary>
},
insertHorizontalRule: function() {
/// <summary>
/// Inserts a horizontal rule at the insertion point (deletes selection).
/// </summary>
},
justifyLeft: function() {
/// <summary>
/// Justifies the selection or insertion point to the left.
/// </summary>
},
justifyCenter: function() {
/// <summary>
/// Centers the selection or insertion point.
/// </summary>
},
justifyRight: function() {
/// <summary>
/// Right-justifies the selection or the insertion point.
/// </summary>
},
increaseFontSize: function() {
/// <summary>
/// Increases the Font Size around the selection or at the insertion point.
/// </summary>
},
decreaseFontSize: function() {
/// <summary>
/// Decreases the Font Size around the selection or at the insertion point.
/// </summary>
},
forecolor: function(c) {
/// <summary>
/// Changes a font color for the selection or at the insertion point. Requires a color value string to be passed in as a value argument.
/// </summary>
},
formatBlock: function(v) {
/// <summary>
/// Sets the current block format tag.
/// </summary>
},
showHTMLView: function() {
/// <summary>
/// Shows the HTML/Source View (TextArea DOM Element) within the Editor and hides the WYSIWYG interface.
/// </summary>
},
hideHTMLView: function() {
/// <summary>
/// Hides the HTML/Source View (TextArea DOM Element) within the Editor and displays the WYSIWYG interface.
/// </summary>
},
toggleHTMLView: function() {
/// <summary>
/// Toggles between HTML/Source View (TextArea DOM Element) and the WYSIWYG interface within the Editor.
/// </summary>
},
toHtmlString: function() {
/// <summary>
/// Returns the HTML text contained within the editor.
/// </summary>
/// <returns type="String" />
},
toString: function() {
/// <summary>
/// Return the Text contained within the editor, with all HTML tags removed.
/// </summary>
/// <returns type="String" />
},
updateTextArea: function() {
/// <summary>
/// Forces the TextArea DOM Element to by sync'd with the contents of the HTML WYSIWYG Editor.
/// </summary>
},
updateHtmlArea: function() {
/// <summary>
/// Forces the HTML WYSIWYG Editor to be sync'd with the contents of the TextArea DOM Element.
/// </summary>
}
};
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
})(jQuery);
File diff suppressed because one or more lines are too long
@@ -1,189 +0,0 @@
/*
* jHtmlAreaColorPickerMenu 0.7.0 - A Color Picker Extension to jHtmlArea
* Part of the jHtmlArea Project
* Copyright (c) 2009 Chris Pietschmann
* http://jhtmlarea.codeplex.com
* Licensed under the Microsoft Reciprocal License (Ms-RL)
* http://jhtmlarea.codeplex.com/license
*/
(function($) {
if (jHtmlArea) {
var oldForecolor = jHtmlArea.fn.forecolor;
jHtmlArea.fn.forecolor = function(c) {
if (c) {
// If color is specified, then use the "default" method functionality
oldForecolor.call(this, c);
} else {
// If no color is specified, then display color picker ui
var that = this;
var rng = this.getRange();
jHtmlAreaColorPickerMenu($(".forecolor", this.toolbar), {
colorChosen: function(color) {
if ($.browser.msie) {
rng.execCommand("ForeColor", false, color);
} else {
that.forecolor(color);
}
}
});
}
};
}
var menu = window.jHtmlAreaColorPickerMenu = function(ownerElement, options) {
return new jHtmlAreaColorPickerMenu.fn.init(ownerElement, options);
};
menu.fn = menu.prototype = {
jhtmlareacolorpickermenu: "0.7.0",
init: function(ownerElement, options) {
var opts = $.extend({}, menu.defaultOptions, options);
var that = this;
var owner = this.owner = $(ownerElement);
var position = owner.position();
if (menu.instance) {
menu.instance.hide();
}
jHtmlAreaColorPickerMenu.instance = this;
var picker = this.picker = $("<div/>").css({
position: "absolute",
left: position.left + opts.offsetLeft,
top: position.top + owner.height() + opts.offsetTop,
"z-index": opts["z-index"]
}).addClass("jHtmlAreaColorPickerMenu");
for (var i = 0; i < opts.colors.length; i++) {
var c = opts.colors[i];
$("<div/>").css("background-color", c).appendTo(picker).click(
(function(color) {
return function() {
if (opts.colorChosen) {
opts.colorChosen.call(this, color);
}
that.hide();
};
})(c)
);
}
$("<div/>").html("<div></div>Automatic").addClass("automatic").appendTo(picker).click(
function() {
if (opts.colorChosen) {
opts.colorChosen.call(this, null);
}
that.hide();
}
);
var autoHide = false;
picker.appendTo(owner.parent()).
show().
mouseout(function() {
autoHide = true;
that.currentTimeout = window.setTimeout(function() { if (autoHide === true) { that.hide(); } }, 1000);
}).
mouseover(function() {
if (that.currentTimeout) {
window.clearTimeout(that.currentTimeout);
that.currentTimeout = null;
}
autoHide = false;
});
},
hide: function() {
this.picker.hide();
this.picker.remove();
}
};
menu.fn.init.prototype = menu.fn;
menu.defaultOptions = {
"z-index": 0,
offsetTop: 0,
offsetLeft: 0,
colors: [
"#ffffff",
"#cccccc",
"#c0c0c0",
"#999999",
"#666666",
"#333333",
"#000000",
"#ffcccc",
"#ff6666",
"#ff0000",
"#cc0000",
"#990000",
"#660000",
"#330000",
"#ffcc99",
"#ff9966",
"#ff9900",
"#ff6600",
"#cc6600",
"#993300",
"#663300",
"#ffff99",
"#ffff66",
"#ffcc66",
"#ffcc33",
"#cc9933",
"#996633",
"#663333",
"#ffffcc",
"#ffff33",
"#ffff00",
"#ffcc00",
"#999900",
"#666600",
"#333300",
"#99ff99",
"#66ff99",
"#33ff33",
"#33cc00",
"#009900",
"#006600",
"#003300",
"#99FFFF",
"#33FFFF",
"#66CCCC",
"#00CCCC",
"#339999",
"#336666",
"#003333",
"#CCFFFF",
"#66FFFF",
"#33CCFF",
"#3366FF",
"#3333FF",
"#000099",
"#000066",
"#CCCCFF",
"#9999FF",
"#6666CC",
"#6633FF",
"#6600CC",
"#333399",
"#330099",
"#FFCCFF",
"#FF99FF",
"#CC66CC",
"#CC33CC",
"#993399",
"#663366",
"#330033"
],
colorChosen: null
};
})(jQuery);
@@ -1,8 +0,0 @@
// jHtmlArea - http://jhtmlarea.codeplex.com - (c)2009 Chris Pietschmann
(function($){if(jHtmlArea){var oldForecolor=jHtmlArea.fn.forecolor;jHtmlArea.fn.forecolor=function(c){if(c){oldForecolor.call(this,c);}else{var that=this;var rng=this.getRange();jHtmlAreaColorPickerMenu($(".forecolor",this.toolbar),{colorChosen:function(color){if($.browser.msie){rng.execCommand("ForeColor",false,color);}else{that.forecolor(color);}}});}};}
var menu=window.jHtmlAreaColorPickerMenu=function(ownerElement,options){return new jHtmlAreaColorPickerMenu.fn.init(ownerElement,options);};menu.fn=menu.prototype={jhtmlareacolorpickermenu:"0.7.0",init:function(ownerElement,options){var opts=$.extend({},menu.defaultOptions,options);var that=this;var owner=this.owner=$(ownerElement);var position=owner.position();if(menu.instance){menu.instance.hide();}
jHtmlAreaColorPickerMenu.instance=this;var picker=this.picker=$("<div/>").css({position:"absolute",left:position.left+opts.offsetLeft,top:position.top+owner.height()+opts.offsetTop,"z-index":opts["z-index"]}).addClass("jHtmlAreaColorPickerMenu");for(var i=0;i<opts.colors.length;i++){var c=opts.colors[i];$("<div/>").css("background-color",c).appendTo(picker).click((function(color){return function(){if(opts.colorChosen){opts.colorChosen.call(this,color);}
that.hide();};})(c));}
$("<div/>").html("<div></div>Automatic").addClass("automatic").appendTo(picker).click(function(){if(opts.colorChosen){opts.colorChosen.call(this,null);}
that.hide();});var autoHide=false;picker.appendTo(owner.parent()).show().mouseout(function(){autoHide=true;that.currentTimeout=window.setTimeout(function(){if(autoHide===true){that.hide();}},1000);}).mouseover(function(){if(that.currentTimeout){window.clearTimeout(that.currentTimeout);that.currentTimeout=null;}
autoHide=false;});},hide:function(){this.picker.hide();this.picker.remove();}};menu.fn.init.prototype=menu.fn;menu.defaultOptions={"z-index":0,offsetTop:0,offsetLeft:0,colors:["#ffffff","#cccccc","#c0c0c0","#999999","#666666","#333333","#000000","#ffcccc","#ff6666","#ff0000","#cc0000","#990000","#660000","#330000","#ffcc99","#ff9966","#ff9900","#ff6600","#cc6600","#993300","#663300","#ffff99","#ffff66","#ffcc66","#ffcc33","#cc9933","#996633","#663333","#ffffcc","#ffff33","#ffff00","#ffcc00","#999900","#666600","#333300","#99ff99","#66ff99","#33ff33","#33cc00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#330033"],colorChosen:null};})(jQuery);
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 one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,6 +0,0 @@
div.jHtmlAreaColorPickerMenu {border: solid 1px #bbb; background-color: #ddd; width: 112px;}
div.jHtmlAreaColorPickerMenu div {float: left; margin: 2px; width: 12px; height: 14px;}
div.jHtmlAreaColorPickerMenu div:hover {margin: 0px; border: dotted 2px black;}
div.jHtmlAreaColorPickerMenu div.automatic { width: 104px; height: auto; padding: 2px;}
div.jHtmlAreaColorPickerMenu div.automatic div { margin: 2px; width: 12px; height: 14px; border: solid 1px black;}
@@ -1,6 +0,0 @@
body
{
background: #000;
color: #fff;
margin: 2px;
}
-48
View File
@@ -1,48 +0,0 @@
div.jHtmlArea { display: inline block; }
div.jHtmlArea div { padding: 0px; margin: 0px; }
div.jHtmlArea .ToolBar { }
div.jHtmlArea .ToolBar ul { border: solid 1px #ccc; margin: 1px; padding: 1px; float: left; background: #fff url(jHtmlArea_Toolbar_Group_BG.png) repeat-x;}
div.jHtmlArea .ToolBar ul li { list-style-type: none; float: left; border: none; padding: 1px; margin: 1px; }
div.jHtmlArea .ToolBar ul li:hover { border: solid 1px #ccc; background: #ddd url(jHtmlArea_Toolbar_Group__Btn_Select_BG.png); padding: 0; }
div.jHtmlArea .ToolBar ul li a { display: block; width: 16px; height: 16px; background: url(jHtmlArea.png) no-repeat -16px -500px; border: none; cursor: pointer; padding: 0px; }
div.jHtmlArea .ToolBar ul li a.highlighted { border: solid 1px #aaa; background-color: #bbb; padding: 0; }
div.jHtmlArea .ToolBar ul li.separator {height: 16px; margin: 0 2px 0 3px; border-left: 1px solid #ccc;}
div.jHtmlArea .ToolBar ul li.separator:hover { padding: 1px; background-color: #fff; border-top:none; border-bottom:none; border-right:none;}
div.jHtmlArea .ToolBar ul li a:hover { }
div.jHtmlArea .ToolBar ul li a.bold { background-position: 0 0; }
div.jHtmlArea .ToolBar ul li a.italic { background-position: -16px 0; }
div.jHtmlArea .ToolBar ul li a.underline { background-position: -32px 0; }
div.jHtmlArea .ToolBar ul li a.strikethrough { background-position: -48px 0; }
div.jHtmlArea .ToolBar ul li a.link { background-position: -64px 0; }
div.jHtmlArea .ToolBar ul li a.unlink { background-position: -80px 0; }
div.jHtmlArea .ToolBar ul li a.orderedlist { background-position: -96px 0; }
div.jHtmlArea .ToolBar ul li a.unorderedlist { background-position: -112px 0; }
div.jHtmlArea .ToolBar ul li a.image { background-position: -128px 0; }
div.jHtmlArea .ToolBar ul li a.cut { background-position: -144px 0; }
div.jHtmlArea .ToolBar ul li a.copy { background-position: -160px 0; }
div.jHtmlArea .ToolBar ul li a.paste { background-position: -176px 0; }
div.jHtmlArea .ToolBar ul li a.html { background-position: -192px 0; opacity:0.6; filter:alpha(opacity=60);}
div.jHtmlArea .ToolBar ul li a.html.highlighted { opacity:1.0; filter:alpha(opacity=100);}
div.jHtmlArea .ToolBar ul li a.h1 { background-position: 0 -16px;}
div.jHtmlArea .ToolBar ul li a.h2 { background-position: -16px -16px;}
div.jHtmlArea .ToolBar ul li a.h3 { background-position: -32px -16px;}
div.jHtmlArea .ToolBar ul li a.h4 { background-position: -48px -16px;}
div.jHtmlArea .ToolBar ul li a.h5 { background-position: -64px -16px;}
div.jHtmlArea .ToolBar ul li a.h6 { background-position: -80px -16px;}
div.jHtmlArea .ToolBar ul li a.subscript { background-position: -96px -16px;}
div.jHtmlArea .ToolBar ul li a.superscript { background-position: -112px -16px;}
div.jHtmlArea .ToolBar ul li a.indent { background-position: -128px -16px;}
div.jHtmlArea .ToolBar ul li a.outdent { background-position: -144px -16px;}
div.jHtmlArea .ToolBar ul li a.horizontalrule { background-position: -160px -16px;}
div.jHtmlArea .ToolBar ul li a.p { background-position: -176px -16px;}
div.jHtmlArea .ToolBar ul li a.justifyleft { background-position: 0 -32px;}
div.jHtmlArea .ToolBar ul li a.justifycenter { background-position: -16px -32px;}
div.jHtmlArea .ToolBar ul li a.justifyright { background-position: -32px -32px;}
div.jHtmlArea .ToolBar ul li a.increasefontsize { background-position: -48px -32px;}
div.jHtmlArea .ToolBar ul li a.decreasefontsize { background-position: -64px -32px;}
div.jHtmlArea .ToolBar ul li a.forecolor { background-position: -80px -32px;}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 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: 4.3 KiB

@@ -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=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
.ui-widget-content a { color: #333333; }
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
.ui-widget-header a { color: #ffffff; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; 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 #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; outline: none; }
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; outline: none; }
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; outline: none; text-decoration: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
.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_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_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_ef8c08_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_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: 4px; -webkit-border-top-left-radius: 4px; }
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; }/* 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; }
+14
View File
@@ -0,0 +1,14 @@
# This is the data/man level Makefile for Gramps
# $Id$
SUBDIRS = fr sv nl pl
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-243
View File
@@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#locale_dirs = './locale'
#gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('en', 'gramps', u'Gramps Documentation',
['Gramps project'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-243
View File
@@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'cs'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('cs', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-282
View File
@@ -1,282 +0,0 @@
Czech
======
gramps(1) 3.4.0 gramps(1)
**JMÉNO**
gramps - programový systém pro správu genealogického výzkumu a analýzy.
**POUŽITÍ**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= DATABÁZE [-f|--format= FORMÁT]] [-i|--import= SOUBOR
[-f|--format= FORMÁT]] [-i|--import= ...] [-e|--export= SOUBOR
[-f|--format= FORMÁT]] [-a|--action= AKCE] [-p|--options= PARAMETRY]] [
SOUBOR ] [--version]
**POPIS**
Gramps je zdarma šířený Open Source genealogický program. Je napsán v
jazyce Python s využitím rozhraní GTK+/GNOME. Gramps bude povědomý
komukoli, kdo už pracoval s jinými genealogickými programy jako Family
Tree Maker (TM), Personal Ancestral Files (TM), nebo GNU Geneweb.
Podporuje import dat z populárního formátu GEDCOM, který je celosvětově
rozšířen a je využíván téměř všemi ostatními genealogickými programy.
**MOŽNOSTI**
**gramps** *SOUBOR*
Pokud je zadán SOUBOR (bez dalších parametrů) jako název rodok
menu nebo jako adresář databáze rodokmenu, je gramps otevřeno v
interaktivním módu. Pokud je SOUBOR formátem podporovaným
Gramps, je vytvořen rodokmen s názvem založeným na názvu souboru
a data ze vstupu jsou do něho naimportována. Zbytek parametrů
příkazové řádky je ignorován. Tento způsob spouštění je vhodný
pro gramps použitý jako prohlížeč genealogických dat např. pro
webové prohlížeče. Spuštění tímto způsobem zpracuje jakákoli
data ve formátu podporovaném gramps, viz dále.
**-f** , **--format=** *FORMÁT*
Explicitně definuje formát SOUBORu předchozího parametru -i,
nebo -e. Pokud není parametr -f pro SOUBOR specifikován, bude
automaticky použit formát odpovídající koncovce souboru nebo
MIME-typu.
Formáty dostupné pro export jsou gramps-xml (automaticky použit
pokud má SOUBOR koncovku .gramps), gedcom (automaticky použit
pokud má SOUBOR koncovku .ged), případně jiný další formát dos
tupný prostřednictvím zásuvných modulů Gramps.
Formáty dostupné pro import jsou grdb, gramps-xml, gedcom,
gramps-pkg (automaticky použit pokud má SOUBOR koncovku .gpkg),
nebo geneweb (automaticky použit pokud má SOUBOR koncovku .gw).
Formáty dostupné pro export jsou gramps-xml, gedcom, gramps-pkg,
wft (automaticky použit pokud má SOUBOR koncovku .wft), geneweb,
a iso (nikdy není použit automaticky, vždy musí být specifikován
parametrem -f).
**-l**
Vypíše seznam známých rodokmenů.
**-u** , **--force-unlock**
Odemkne zamčenou databázi.
**-O** , **--open=** *DATABÁZE*
Otevření *DATABÁZE* . Hodnota musí být existujícím databázovým
adresářem, nebo názvem existujícího rodokmenu. Pokud na
příkazové řádce nejsou žádné parametry importu nebo exportu, je
nad danou databází spuštěna interaktivní relace.
**-i** , **--import=** *SOUBOR*
Importuje data ze SOUBORu. Pokud není specifikována databáze, je
použita dočasná. Ta je po ukončení gramps smazána.
Pokud je předáván více než jeden vstup, musí každému souboru
předcházet parametr -i. Soubory jsou zpracovávány v pořadí, v
jakém byly zadány na příkazové řádce. Např. -i SOUBOR1 -i SOU
BOR2 a -i SOUBOR2 -i SOUBOR1 mohou vytvořit ve výsledné databázi
různá gramps ID.
**-a** , **--action=** *AKCE*
Provedení AKCE nad importovanými daty. Akce jsou spuštěny poté
co jsou všechny importy dat úspěšně ukončeny. V tuto chvíli jsou
podporovány následující akce: summary (stejné jako
Zprávy->Pohled->Souhrn), check (stejné jako Nástroje->Database
Processing->Kontrola a oprava), report (vytvoří zprávu), a tool
(spustí nástroj zásuvného modulu). Akce report a tool potřebují
v PARAMETRY zadat parametr -p .
PARAMETRY by měly splňovat následující kritéria:
Nesmí obsahovat žádné mezery. Pokud některý argument potřebuje
mezeru, musí být řetězec uzavřen v uvozovkách (držet se syntaxe
příkazové řádky). Řetězec možností je seznam párů název=hod
nota. Jednotlivé páry musí být odděleny čárkami.
Většina možností nástrojů a zpráv jsou specifickými pro
konkrétní nástroj nebo zprávu. Existují ale i takové, které
jsou společné.
**name=name**
Povinná předvolba určující který nástroj nebo zpráva bude
spuštěna. Pokud zadané name neodpovídá žádné dostupné
funkčnosti, vypíše se chybové hlášení následované seznamem dos
tupných nástrojů a zpráv (záleží na AKCE).
**show=all**
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu
nebo nástroj.
**show=optionname**
Vypíše popis všech funkcionalit poskytnutých optionname, ale
také všechny přijatelné typy a hodnoty pro tuto volbu.
Použijte výše popsané volby pro zjištění všech možností dané
zprávy.
Pokud je zadána jedna nebo více výstupních akcí, každá musí být uvozena
předvolbou -a. Akce jsou prováděny jedna za druhou v zadaném pořadí.
**-d** , **--debug=** *LOGGER_NAME*
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve
zdrojovém kódu.
**--version**
Vytiskne číslo verze gramps a skončí
**Chování**
Pokud první parametr příkazové řádky nezačíná pomlčkou, pokusí se
gramps otevřít soubor s názvem daným prvním argumentem na příkazové
řádce a spustit interaktivní relaci. Zbytek argumentů na příkazové
řádce je v tomto případě ignorován.
Pokud je zadán parametr -O, pak se gramps snaží otevřít zadanou
databázi a pracovat s jejími daty podle instrukcí dalších parametrů
příkazové řádky.
S nebo bez použití parametru -O může být provedeno více importů,
exportů, případně akcí daných argumenty příkazové řádky (-i, -e a -a).
Na pořadí parametrů -i, -e, nebo -a nezáleží. Aktuální pořadí zpra
cování je vždy: všechny importy (pokud jsou nějaké) -> všechny akce
(pokud jsou nějaké) -> všechny exporty (pokud jsou nějaké). Parametr
otevření musí být ale vždy první!
Pokud nejsou zadány -O nebo -i, gramps otevře své hlavní okno a spustí
se v obvyklém interaktivním módu s prázdnou databází.
Pokud nejsou zadány -e nebo -a, gramps otevře své hlavní okno a spustí
se v ovbyklém interaktnivním módu s databází vzniklou výsledkem všech
importů. Tato databáze je umístěna v souboru import_db.grdb v adresáři
~/.gramps/import.
Chyba vzniklá při importu, exportu nebo akci bude vypsána na stdout
(pokud se jedná o vyjímku ošetřenou gramps) nebo na stderr (pokud
problém není ošetřen). Pro uložení zpráv a chyb do souboru použijte
obvyklá přesměrování výstupů stdout a stderr příkazové řádky.
**PŘÍKLADY**
Otevření existujícího rodokmenu a import xml souboru do něho může být
proveden takto:
gramps -O 'Můj rodokmen' -i ~/db3.gramps
To samé, jen s importem do dočasné databáze a otevřením interaktivní
relace:
gramps -i 'My Family Tree' -i ~/db3.gramps
Import čtyř databází (jejichž formáty jsou stanoveny podle názvů sou
borů) a následná kontrola bezchybnosti výsledné databáze může být
provedena takto:
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps -i file4.wft -a
check
Explicitní specifikace formátu databází předchozího příkladu přidáním
příslušného parametru -f za název souboru:
gramps -i file1.ged -f gedcom -i file2.tgz -f gramps-pkg -i
~/db3.gramps -f gramps-xml -i file4.wft -f wft -a check
Zapsání výsledné databáze vytvořené ze všech importů zajistí parametr
-e (použijte -f pokud nelze uhodnout formát z názvu souboru):
gramps -i file1.ged -i file2.tgz -e ~/nový-balíček -f gramps-pkg
Import tří databází a start interaktivní gramps relace nad výsledkem:
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps
Spuštění nástroje kontroly z příkazové řádky s výstupem na stdout:
gramps -O 'Můj rodokmen' -a tool -p name=verify
A konečně spuštění normální interaktivní relace aplikace:
gramps
**PROMĚNNÉ PROSTŘEDÍ**
Program kontroluje, zda jsou nastaveny následující proměnné:
**LANG** - popisuje, který jazyk bude použit: Příklad: pro češtinu musí mít
proměnná hodnotu cs_CZ.utf8.
**GRAMPSHOME** - pokud je nastavena, Gramps použije její hodnotu jako
adresář v němž jsou uložena nastavení a databáze. Ve výchozím stavu,
kdy proměnná není nastavena gramps předpokládá že adresář s databázemi
a nastavením bude vytvořen v adresáři s uživatelským profile (popsán
proměnnou prostředí HOME v Linuxu nebo USERPROFILE ve Windows 2000/XP).
**KONCEPTY**
gramps podporuje systém zásuvných modulů založených na jazyku python
jehož prostřednictvím umožňuje přidání import/export modulů, modulů
pro vytváření zpráv, nástrojů a zobrazovacích filtrů bez nutnosti
zásahu do hlavního programu.
Dále, krom možnosti přímého tisku, dovoluje směřovat výstup také k
ostatním systémům a aplikacím jako např. OpenOffice.org, AbiWord, HTML,
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
**ZNÁMÉ CHYBY A OMEZENÍ**
nejsou
**SOUBORY**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTOŘI**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Originální manuálovou stránku vytvořil:
Brandon L. Griffith <brandon@debian.org>
pro zařazení do systému Debian GNU/Linux.
Tuto manuálovou stránku přeložil a v současné době spravuje:
Zdeněk Hataš <zdenek.hatas@gmail.com>
**DOKUMENTACE**
Uživatelská dokumentace je k dispozici prostřednictvím standardního
prohlížeče nápovědy GNOME ve formě příručky Gramps. Příručka je také
dostupná ve formátu XML jako gramps-manual.xml v adresáři doc/gramps-
manual/$LANG v oficiální distribuci zdrojového kódu.
Dokumentace pro vývojáře je k dispozici na webu
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
Leden 2012 3.4.0 gramps(1)
-323
View File
@@ -1,323 +0,0 @@
.TH gramps 1 "@VERSION@" "Leden 2011" "@VERSION@"
.SH JMÉNO
gramps \- programový systém pro správu genealogického výzkumu a analýzy.
.SH POUŽITÍ
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l ]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR DATABÁZE
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-i|\-\^\-import=
.IR SOUBOR
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.IR SOUBOR
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-a|\-\^\-action=
.IR AKCE ]
.RB [ \-p|\-\^\-options=
.IR PARAMETRY ]]
.RB [
.IR SOUBOR
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH POPIS
.PP
\fIGramps\fP je zdarma šířený Open Source genealogický program. Je napsán
v jazyce Python s využitím rozhraní GTK+/GNOME.
Gramps bude povědomý komukoli, kdo už pracoval s jinými genealogickými programy
jako \fIFamily Tree Maker (TM)\fR, \fIPersonal Ancestral
Files (TM)\fR, nebo GNU Geneweb.
Podporuje import dat z populárního formátu GEDCOM, který je celosvětově rozšířen
a je využíván téměř všemi ostatními genealogickými programy.
.SH MOŽNOSTI
.TP
.BI gramps " SOUBOR"
Pokud je zadán \fISOUBOR\fR (bez dalších parametrů) jako název rodokmenu
nebo jako adresář databáze rodokmenu, je gramps otevřeno v interaktivním
módu. Pokud je \fISOUBOR\fR formátem podporovaným Gramps, je vytvořen rodokmen
s názvem založeným na názvu souboru a data ze vstupu jsou do něho
naimportována. Zbytek parametrů příkazové řádky je ignorován.
Tento způsob spouštění je vhodný pro gramps použitý jako prohlížeč
genealogických dat např. pro webové prohlížeče.
Spuštění tímto způsobem zpracuje jakákoli data ve formátu podporovaném
gramps, viz dále.
.br
.TP
.BI \-f,\-\^\-format= " FORMÁT"
Explicitně definuje formát \fISOUBOR\fRu předchozího parametru
.ig
\fB\-O\fR,
..
\fB\-i\fR, nebo
\fB\-e\fR. Pokud není parametr \fB\-f\fR pro \fISOUBOR\fR specifikován,
bude automaticky použit formát odpovídající koncovce souboru nebo MIME-typu.
.br
Formáty
dostupné pro export jsou \fBgramps\-xml\fR (automaticky použit pokud má
\fISOUBOR\fR koncovku \fB.gramps\fR), \fBgedcom\fR (automaticky použit
pokud má \fISOUBOR\fR koncovku \fB.ged\fR), případně jiný další formát dostupný
prostřednictvím zásuvných modulů Gramps.
.br
Formáty
dostupné pro import jsou \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.gpkg\fR),
nebo \fBgeneweb\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.gw\fR).
.br
Formáty dostupné pro export jsou
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.wft\fR),
\fBgeneweb\fR, a \fBiso\fR (nikdy není použit automaticky, vždy musí být specifikován
parametrem \fB\-f\fR).
.TP
.BI \-l
Vypíše seznam známých rodokmenů.
.TP
.BI \-u,\-\^\-force-unlock
Odemkne zamčenou databázi.
.TP
.BI \-O,\-\^\-open= " DATABÁZE"
Otevření \fIDATABÁZE\fR. Hodnota musí být existujícím databázovým adresářem, nebo názvem existujícího rodokmenu.
Pokud na příkazové řádce nejsou žádné parametry importu nebo exportu, je nad danou databází spuštěna interaktivní relace.
.TP
.BI \-i,\-\^\-import= " SOUBOR"
Importuje data ze \fISOUBOR\fRu. Pokud není specifikována databáze, je použita dočasná. Ta je po ukončení gramps smazána.
.br
Pokud je předáván více než jeden vstup, musí každému souboru předcházet parametr \fB\-i\fR.
Soubory jsou zpracovávány v pořadí, v jakém byly zadány na příkazové řádce.
Např. \fB\-i\fR \fISOUBOR1\fR \fB\-i\fR \fISOUBOR2\fR
a \fB\-i\fR \fISOUBOR2\fR \fB\-i\fR \fISOUBOR1\fR mohou vytvořit ve výsledné databázi
různá gramps ID.
.TP
.BI \-a,\-\^\-action= " AKCE"
Provedení \fIAKCE\fR nad importovanými daty. Akce jsou spuštěny poté co jsou všechny importy dat
úspěšně ukončeny. V tuto chvíli jsou podporovány následující akce:
\fBsummary\fR (stejné jako Zprávy->Pohled->Souhrn),
\fBcheck\fR (stejné jako Nástroje->Database Processing->Kontrola a oprava),
\fBreport\fR (vytvoří zprávu), a
\fBtool\fR (spustí nástroj zásuvného modulu).
Akce \fBreport\fR a \fBtool\fR potřebují v \fIPARAMETRY\fR zadat parametr
\fB\-p\fR .
.br
\fIPARAMETRY\fR by měly splňovat následující kritéria:
.br
Nesmí obsahovat žádné mezery.
Pokud některý argument potřebuje mezeru, musí být řetězec uzavřen
v uvozovkách (držet se syntaxe příkazové řádky).
Řetězec možností je seznam párů název=hodnota.
Jednotlivé páry musí být odděleny čárkami.
.br
Většina možností nástrojů a zpráv jsou specifickými pro konkrétní nástroj nebo zprávu.
Existují ale i takové, které jsou společné.
.BI "name=name"
.br
Povinná předvolba určující který nástroj nebo zpráva bude spuštěna.
Pokud zadané \fIname\fR neodpovídá žádné dostupné funkčnosti, vypíše se chybové hlášení
následované seznamem dostupných nástrojů a zpráv (záleží na \fIAKCE\fR).
.BI "show=all"
.br
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu nebo nástroj.
.BI "show="optionname
.br
Vypíše popis všech funkcionalit poskytnutých \fIoptionname\fR,
ale také všechny přijatelné typy a hodnoty pro tuto volbu.
.br
Použijte výše popsané volby pro zjištění všech možností
dané zprávy.
.LP
Pokud je zadána jedna nebo více výstupních akcí, každá musí být uvozena
předvolbou \fB\-a\fR. Akce jsou prováděny jedna za druhou v zadaném pořadí.
.TP
.BI \-d,\-\^\-debug= " LOGGER_NAME"
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve zdrojovém kódu.
.TP
.BI \-\^\-version
Vytiskne číslo verze gramps a skončí
\" change 0 to 1 to enable output of OAF options
.if 0 \{
.PP
Následující možnosti slouží pro aktivaci Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Popisovač souboru pro zápis OAF IOR
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID k aktivaci
.TP
.BI \-\^\-oaf-private
Znemožní registraci serveru s OAF
\}
\" change 0 to 1 to enable output of Gnome sound options
.if 0 \{
.PP
Následující možnosti slouží pro řízení zvuku prostřednictívm knihovny Gnome.
.TP
.BI \-\^\-disable-sound
Zablokuje využití zvukového serveru
.TP
.BI \-\^\-enable-sound
Umožní využití zvukového serveru
.TP
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Host:port na které běží zvukový server který bude použit
\}
.SH "Chování"
.br
Pokud první parametr příkazové řádky nezačíná pomlčkou, pokusí se gramps
otevřít soubor s názvem daným prvním argumentem na příkazové řádce
a spustit interaktivní relaci. Zbytek argumentů na příkazové řádce je
v tomto případě ignorován.
.LP
Pokud je zadán parametr \fB\-O\fR, pak se gramps snaží otevřít zadanou
databázi a pracovat s jejími daty podle instrukcí dalších parametrů
příkazové řádky.
.LP
S nebo bez použití parametru \fB\-O\fR může být provedeno více importů,
exportů, případně akcí daných argumenty příkazové řádky (\fB\-i\fR,
\fB\-e\fR a \fB\-a\fR).
.LP
Na pořadí parametrů \fB\-i\fR, \fB\-e\fR, nebo \fB\-a\fR nezáleží.
Aktuální pořadí zpracování je vždy: všechny importy (pokud jsou nějaké)
-> všechny akce (pokud jsou nějaké) -> všechny exporty (pokud jsou nějaké).
Parametr otevření musí být ale vždy první!
.LP
Pokud nejsou zadány \fB\-O\fR nebo \fB\-i\fR, gramps otevře své hlavní okno
a spustí se v obvyklém interaktivním módu s prázdnou databází.
.LP
Pokud nejsou zadány \fB\-e\fR nebo \fB\-a\fR, gramps otevře své hlavní okno
a spustí se v ovbyklém interaktnivním módu s databází vzniklou výsledkem
všech importů.
Tato databáze je umístěna v souboru \fBimport_db.grdb\fR v adresáři
\fB~/.gramps/import\fR.
.LP
Chyba vzniklá při importu, exportu nebo akci bude vypsána na \fIstdout\fR
(pokud se jedná o vyjímku ošetřenou gramps) nebo na \fIstderr\fR
(pokud problém není ošetřen). Pro uložení zpráv a chyb do souboru použijte
obvyklá přesměrování výstupů \fIstdout\fR a \fIstderr\fR příkazové řádky.
.SH PŘÍKLADY
.TP
Otevření existujícího rodokmenu a import xml souboru do něho může být proveden takto:
\fBgramps\fR \fB\-O\fR \fI'Můj rodokmen'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
To samé, jen s importem do dočasné databáze a otevřením interaktivní relace:
\fBgramps\fR \fB\-i\fR \fI'My Family Tree'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Import čtyř databází (jejichž formáty jsou stanoveny podle názvů souborů) a následná kontrola bezchybnosti výsledné databáze může být provedena takto:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Explicitní specifikace formátu databází předchozího příkladu přidáním příslušného parametru \fB\-f\fR za název souboru:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Zapsání výsledné databáze vytvořené ze všech importů zajistí parametr \fB\-e\fR (použijte \fB\-f\fR pokud nelze uhodnout formát z názvu souboru):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/nový-balíček\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Import tří databází a start interaktivní gramps relace nad výsledkem:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Spuštění nástroje kontroly z příkazové řádky s výstupem na stdout:
\fBgramps\fR \fB\-O\fR \fI'Můj rodokmen'\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
A konečně spuštění normální interaktivní relace aplikace:
\fBgramps\fR
.SH PROMĚNNÉ PROSTŘEDÍ
Program kontroluje, zda jsou nastaveny následující proměnné:
\fBLANG\fR - popisuje, který jazyk bude použit:
Příklad: pro češtinu musí mít proměnná hodnotu cs_CZ.utf8.
\fBGRAMPSHOME\fR - pokud je nastavena, Gramps použije její hodnotu jako adresář
v němž jsou uložena nastavení a databáze. Ve výchozím stavu, kdy proměnná není nastavena
gramps předpokládá že adresář s databázemi a nastavením bude vytvořen
v adresáři s uživatelským profile (popsán proměnnou prostředí HOME v Linuxu nebo
USERPROFILE ve Windows 2000/XP).
.SH KONCEPTY
\fBgramps\fR podporuje systém zásuvných modulů založených na jazyku python jehož prostřednictvím
umožňuje přidání import/export modulů, modulů pro vytváření zpráv,
nástrojů a zobrazovacích filtrů bez nutnosti zásahu do hlavního programu.
.LP
Dále, krom možnosti přímého tisku, dovoluje směřovat výstup také k ostatním
systémům a aplikacím jako např. \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
.SH ZNÁMÉ CHYBY A OMEZENÍ
.br
nejsou
.SH SOUBORY
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTOŘI
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Originální manuálovou stránku vytvořil:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
pro zařazení do systému Debian GNU/Linux.
.LP
Tuto manuálovou stránku přeložil a v současné době spravuje:
.br
Zdeněk Hataš \fI<zdenek.hatas@gmail.com>\fR
.br
.SH DOKUMENTACE
Uživatelská dokumentace je k dispozici prostřednictvím standardního
prohlížeče nápovědy GNOME ve formě příručky Gramps. Příručka je také
dostupná ve formátu XML jako \fBgramps-manual.xml\fR
v adresáři \fIdoc/gramps-manual/$LANG\fR v oficiální distribuci
zdrojového kódu.
.LP
Dokumentace pro vývojáře je k dispozici na webu
\fIhttp://developers.gramps-project.org\fR.
-299
View File
@@ -1,299 +0,0 @@
English
=======
gramps(1) @VERSION@ gramps(1)
**NAME**
gramps - Genealogical Research and Analysis Management Programming Sys
tem.
**SYNOPSIS**
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *DATABASE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
[**-e** | **--export=** *FILE* [**-f** | **--format=** *FORMAT*]]
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *OPTION
STRING*]] [*FILE*] [**--version**]
**DESCRIPTION**
Gramps is a Free/OpenSource genealogy program. It is written in Python,
using the GTK+/GNOME interface. Gramps should seem familiar to anyone
who has used other genealogy programs before such as Family Tree Maker
(TM), Personal Ancestral Files (TM), or the GNU Geneweb. It supports
importing of the ever popular GEDCOM format which is used world wide by
almost all other genealogy software.
**OPTIONS**
**gramps** *FILE*
When *FILE* is given (without any flags) as a family tree name or
as a family tree database directory, then it is opened and an
interactive session is started. If *FILE* is a file format under
stood by Gramps, an empty family tree is created whose name is
based on the *FILE* name and the data is imported into it. The
rest of the options is ignored. This way of launching is suit
able for using gramps as a handler for genealogical data in e.g.
web browsers. This invocation can accept any data format native
to gramps, see below.
**-f** , **--format=** *FORMAT*
Explicitly specify format of *FILE* given by preceding **-i** ,
or **-e** option. If the **-f** option is not given for any
*FILE* , the format of that file is guessed according to its extension
or MIME-type.
Formats available for export are **gramps-xml** (guessed if *FILE*
ends with **.gramps** ), **gedcom** (guessed if *FILE* ends with
**.ged** ), or any file export available through the Gramps plugin
system.
Formats available for import are **gramps-xml** , **gedcom** ,
**gramps-pkg** (guessed if *FILE* ends with **.gpkg** ),
and **geneweb** (guessed if *FILE* ends with **.gw** ).
Formats available for export are **gramps-xml** , **gedcom** ,
**gramps-pkg** , **wft** (guessed if *FILE* ends with **.wft** ),
**geneweb**.
**-l**
Print a list of known family trees.
**-L**
Print a detailed list of known family trees.
**-u** , **--force-unlock**
Unlock a locked database.
**-O** , **--open=** *DATABASE*
Open *DATABASE* which must be an existing database directory or
existing family tree name. If no action, import or export
options are given on the command line then an interactive ses
sion is started using that database.
**-i** , **--import=** *FILE*
Import data from *FILE* . If you haven't specified a database, then
an empty database is created for you called Family Tree x
(where x is an incrementing number).
When more than one input file is given, each has to be preceded
by **-i** flag. The files are imported in the specified order, i.e.
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
might produce different gramps IDs in the resulting database.
**-e** , **--export=** *FILE*
Export data into *FILE* . For **gramps-xml** , **gedcom**
, **wft** , **gramps-pkg** , and **geneweb** , the *FILE* is the
name of the resulting file.
When more than one output file is given, each has to be preceded
by **-e** flag. The files are written one by one, in the specified order.
**-a** , **--action=** *ACTION*
Perform *ACTION* on the imported data. This is done after all
imports are successfully completed. Currently available actions
are **summary** (same as Reports->View->Summary), **check** (same as
Tools->Database Processing->Check and Repair), **report** (generates
report), and tool (runs a plugin tool). Both **report** and **tool**
need the *OPTIONSTRING* supplied by the **-p** flag).
The *OPTIONSTRING* should satisfy the following conditions:
It must not contain any spaces. If some arguments need to
include spaces, the string should be enclosed with quotation
marks, i.e., follow the shell syntax. Option string is a list
of pairs with name and value (separated by the equality sign).
The name and value pairs must be separated by commas.
Most of the report or tools options are specific for each report
or tool. However, there are some common options.
**name=name**
This mandatory option determines which report or tool will be
run. If the supplied name does not correspond to any available
report or tool, an error message will be printed followed by the
list of available reports or tools (depending on the *ACTION* ).
**show=all**
This will produce the list of names for all options available
for a given report or tool.
**show=optionname**
This will print the description of the functionality supplied by
*optionname*, as well as what are the acceptable types and values
for this option.
Use the above options to find out everything about a given
report.
When more than one output action is given, each has to be preceded by
**-a** flag. The actions are performed one by one, in the specified order.
**-d** , **--debug=** *LOGGER_NAME*
Enables debug logs for development and testing. Look at the
source code for details
**--version**
Prints the version number of gramps and then exits
**Operation**
If the first argument on the command line does not start with dash
(i.e. no flag), gramps will attempt to open the file with the name
given by the first argument and start interactive session, ignoring the
rest of the command line arguments.
If the **-O** flag is given, then gramps will try opening the supplied
database and then work with that data, as instructed by the further
command line parameters.
With or without the **-O** flag, there could be multiple imports, exports,
and actions specified further on the command line by using **-i** ,
**-e** , and **-a** flags.
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
always is: all imports (if any) -> all actions (if any) -> all exports
(if any). But opening must always be first!
If no **-O** or **-i** option is given, gramps will launch its main window and
start the usual interactive session with the empty database, since
there is no data to process, anyway.
If no **-e** or **-a** options are given, gramps will launch its main window
and start the usual interactive session with the database resulted from
all imports. This database resides in the **import_db.grdb** under
**~/.gramps/import** directory.
The error encountered during import, export, or action, will be either
dumped to stdout (if these are exceptions handled by gramps) or to
*stderr* (if these are not handled). Use usual shell redirections of
*stdout* and *stderr* to save messages and errors in files.
**EXAMPLES**
To open an existing family tree and import an xml file into it, one
may type:
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
The above changes the opened family tree, to do the same, but import
both in a temporary family tree and start an interactive session, one
may type:
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
To import four databases (whose formats can be determined from their
names) and then check the resulting database for errors, one may type:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
To explicitly specify the formats in the above example, append file
names with appropriate **-f** options:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
To record the database resulting from all imports, supply **-e** flag (use
**-f** if the filename does not allow gramps to guess the format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
To import three databases and start interactive gramps session with the
result:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
To run the Verify tool from the commandline and output the result to
stdout:
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Finally, to start normal interactive session type:
**gramps**
**ENVIRONMENT VARIABLES**
The program checks whether these environment variables are set:
**LANG** - describe, which language to use: Ex.: for polish language this
variable has to be set to pl_PL.UTF-8.
**GRAMPSHOME** - if set, force Gramps to use the specified directory to
keep program settings and databases there. By default, this variable is
not set and gramps assumes that the folder with all databases and pro
file settings should be created within the user profile folder
(described by environment variable HOME for Linux or USERPROFILE for
Windows 2000/XP).
**CONCEPTS**
Supports a python-based plugin system, allowing import and export writ
ers, report generators, tools, and display filters to be added without
modification of the main program.
In addition to generating direct printer output, report generators also
target other systems, such as *LibreOffice.org* , *AbiWord* , *HTML*,
or *LaTeX* to allow the users to modify the format to suit their needs.
**KNOWN BUGS AND LIMITATIONS**
**FILES**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTHORS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
This man page was originally written by:
Brandon L. Griffith <brandon@debian.org>
for inclusion in the Debian GNU/Linux system.
This man page is currently maintained by:
Gramps project <xxx@gramps-project.org>
**DOCUMENTATION**
The user documentation is available through standard web browser
in the form of Gramps Manual.
The developer documentation can be found on the
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
portal.
gramps(1) @VERSION@ gramps(1)
+14
View File
@@ -0,0 +1,14 @@
# This is the data/man/fr level Makefile for Gramps
# $Id$
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/fr
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/fr/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-243
View File
@@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'fr'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%d %B %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('fr', 'gramps', u'Gramps Documentation',
['Jerome Rapinat'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-300
View File
@@ -1,300 +0,0 @@
French
=======
gramps(1) @VERSION@ gramps(1)
**NOM**
gramps - Gramps est une application de généalogie. Gramps est
l'acronyme de Genealogical Research and Analysis Management Programming
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
données généalogiques)
**SYNOPSIS**
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *BASE_DE_DONNEES*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
[**-e** | **--export=** *FICHIER* [**-f** | **--format=** *FORMAT*]]
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *CHAÎNE
OPTION*]] [*FICHIER*] [**--version**]
**DESCRIPTION**
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
d'autres programmes de généalogie tel que Family Tree Maker (FTM),
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
importer/exporter le format le plus utilisé par les autres logiciels de
généalogie : GEDCOM.
**OPTIONS**
**gramps** *FICHIER*
Si *FICHIER* est désigné (sans autres commandes) comme arbre
familial ou comme répertoire d'arbre familial, alors une session
interactive est ouverte. Si *FICHIER* est un format de fichier
supporté par Gramps, une base vide est créée dont le nom est
celui du *FICHIER* et les données y seront importées. Les autres
options sont ignorées. Ce type de lancement permet d'utiliser
gramps pour manipuler des données comme dans un navigateur web.
Les formats natifs de gramps sont acceptés, voir ci-dessous.
**-f** , **--format=** *FORMAT*
Le format spécifique du *FICHIER* est précédé par les arguments
**-i** , ou **-e** . Si l'option **-f** n'est pas donnée pour le *FICHIER* ,
alors le format sera celui de l'extension ou du type-MIME.
Les formats de sortie disponibles sont **gramps-xml** (deviné si
*FICHIER* se termine par **.gramps** ), et **gedcom** (deviné si *FICHIER* se
termine par **.ged** ), ou tout autre fichier d'exportation
disponible dans le système de plugin Gramps.
Les formats disponibles pour l'importation sont **grdb** ,
**gramps-xml** , **gedcom** , **gramps-pkg** (deviné si *FICHIER* se termine par
**.gpkg** ), et **geneweb** (deviné si *FICHIER* se termine par **.gw** ).
Les formats disponibles pour l'exportation sont **gramps-xml** , **ged
com** , **gramps-pkg** , **wft** (deviné si *FICHIER* se termine par **.wft** ),
**geneweb** .
**-l**
Imprime une liste des arbres familiaux disponibles.
**-u** , **--force-unlock**
Débloquer une base de données verrouillée.
**-O** , **--open=** *BASE_DE_DONNEES*
Ouvrir une *BASE_DE_DONNEES* qui doit être une base présente dans
le répertoire des bases ou le nom d'un arbre familial existant.
Si aucune action n'est définie, les options d'import ou d'export
sont données par la ligne de commande puis une session interactive
est ouverte, utilisant cette base de données.
Seulement une base peut être ouverte. Si vous utilisez plusieurs
sources, vous devez utiliser l'option d'import.
**-i** , **--import=** *FICHIER*
Importer des données depuis un *FICHIER* . Si vous n'avez pas
spécifié de base de données, alors une base de données vide
est utilisée.
Quand plus d'un fichier doit être importé, chacun doit être
précédé par la commande **-i** . Ces fichiers sont importés dans le
même ordre, **-i** *FICHIER1* **-i** *FICHIER2* et **-i** *FICHIER2* **-i**
*FICHIER1* vont tous les deux produire différents IDs gramps.
**-e** , **--export=** *FICHIER*
Exporter des données dans un *FICHIER* . Pour les fichiers **gramps-xml**
, **gedcom** , **wft** , **gramps-pkg** , et **geneweb** , le
*FICHIER* est le nom du fichier de sortie.
Quand plus d'un fichier doit être exporté, chacun doit être
précédé par la commande **-e** . Ces fichiers sont importés dans le
même ordre.
**-a** , **--action=** *ACTION*
Accomplir une *ACTION* sur les données importées. C'est effectué à
la fin de l'importation. Les actions possibles sont **summary**
(comme le rapport -> Afficher -> Statistiques sur la base),
**check** (comme l'outil -> Réparation de la base -> Vérifier et
réparer), **report** (produit un rapport) et **tool** (utilise un
outil), ces derniers ont besoin de *OPTION* précédé par la commande -p.
L' *OPTION* doit satisfaire ces conditions:
Il ne doit pas y avoir d'espace. Si certains arguments doivent
utiliser des espaces, la chaîne doit être encadrée par des
guillemets. Les options vont par paire nom et valeur. Une
paire est séparée par un signe égal. Différentes paires sont
séparées par une virgule.
La plupart des options sont spécifiques à chaque rapport. Même
s'il existe des options communes.
**name=name**
Cette option est obligatoire, elle détermine quel rapport ou
outil sera utilisé. Si le name saisi ne correspond à aucun
module disponible, un message d'erreur sera ajouté.
**show=all**
Cette option produit une liste avec les noms des options
disponibles pour un rapport donné.
**show=optionname**
Cette option affiche une description de toutes les fonctionnalités
proposées par optionname, aussi bien les types que les valeurs pour une option.
Utiliser les options ci-dessus pour trouver tout sur un rapport
choisi.
Quand plus d'une action doit être effectuée, chacune doit être précédée
par la commande **-a** . Les actions seront réalisées une à une, dans
l'ordre spécifié.
**-d** , **--debug=** *NOM_LOGGER*
Permet les logs de debug pour le développement et les tests.
Regarder le code source pour les détails.
**--version**
Imprime le numéro de version pour gramps puis quitte.
**Opération**
Si le premie argument de la ligne de commande ne commence pas par un
tiret (i.e. pas d'instruction), gramps va essayer d'ouvrir la base de
données avec le nom donné par le premier argument et démarrer une ses
sion interactive, en ignorant le reste de la ligne de commande.
Si la commande **-O** est notée, alors gramps va essayer le fichier défini
et va travailler avec ses données, comme pour les autres paramètres de
la ligne de commande.
Avec ou sans la commande **-O** , il peut y avoir plusieurs imports,
exports, et actions dans la ligne de commande **-i** , **-e** , et **-a** .
L'ordre des options **-i** , **-e** , ou **-a** n'a pas de sens. L'ordre actuel est
toujours : imports -> actions -> exports. Mais l'ouverture doit toujours
être la première !
Si aucune option **-O** ou **-i** n'est donnée, gramps lancera sa propre
fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
Si aucune option **-e** ou **-a** n'est donnée, gramps lancera sa propre
fenêtre et démarrera avec la base de données issue de tout les imports.
Cette base sera **import_db.grdb** dans le répertoire **~/.gramps/import**.
Les erreurs rencontrées lors d'importation, d'exportation, ou d'action, seront
mémorisées en *stdout* (si elles sont le fait de la manipulation par
gramps) ou en *stderr* (si elles ne sont pas le fait d'une manipulation).
Utilisez les shell de redirection de *stdout* et *stderr* pour sauver
les messages et les erreurs dans les fichiers.
**EXEMPLES**
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
saisir:
**gramps -O** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
dans un arbre familial temporaire et démarrer une session interactive,
on peut saisir :
**gramps -i** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
Lecture de quatre bases de données dont les formats peuvent être
devinés d'après les noms, puis vérification des données:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
Si vous voulez préciser lesformats de fichiers dans l'exemple ci-
dessus, complétez les noms de fichiers par les options -f appropriées:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
Pour enregistrer le résultat des lectures, donnez l'option **-e**
(utiliser -f si le nom de fichier ne permet pas à gramps de deviner le
format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
Pour lire trois ensembles de données puis lancer une session
interactive de gramps sur le tout :
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
Pour lancer l'outil de vérification de la base de données depuis la
ligne de commande et obtenir le résultat :
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Enfin, pour lancer une session interactive normale, entrer :
**gramps**
**VARIABLES D'ENVIRONMENT**
Le programme vérifie si ces variables d'environnement sont déclarées:
**LANG** - décrit, quelle langue est utilisée: Ex.: pour le français on
peut définir fr_FR.UTF-8.
**GRAMPSHOME** - si défini, force Gramps à utiliser un répertoire
spécifique pour y conserver ses préférences et bases de données. Par
défaut, cette variable n'est pas active et Gramps sait que les options
et bases de données doivent être créées dans le répertoire par défaut
de l'utilisateur (la variable d'environnement HOME pour Linux ou USER
PROFILE pour Windows 2000/XP).
**CONCEPTS**
Gramps est un système basé sur le support de plugin-python, permettant
d'importer et d'exporter, la saisie, générer des rapports, des outils,
et afficher des filtres pouvant être ajoutés sans modifier le programme.
Par ailleurs, gramps permet la génération directe : impression, rap
ports avec sortie vers d'autres formats, comme *LibreOffice.org* ,
*HTML* , ou *LaTeX* pour permettre à l'utilisateur de choisir selon ses
besoins
**BUGS CONNUS ET LIMITATIONS**
**FICHIERS**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTEURS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Cette page man a d'abord été écrite par :
Brandon L. Griffith <brandon@debian.org>
pour Debian GNU/Linux système.
Cette page man est maintenue par :
Gramps project <xxx@gramps-project.org>
La traduction française :
Jérôme Rapinat <romjerome@yahoo.fr>
**DOCUMENTATION**
La documentation-utilisateur est disponible par un navigateur
standard sous la forme du manuel Gramps.
La documentation pour développeur est disponible sur le site
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
gramps(1) @VERSION@ gramps(1)
+277 -330
View File
@@ -1,343 +1,290 @@
.TH "GRAMPS" "1" "09 March 2015" "4.2" "Gramps"
.SH NAME
gramps \- Gramps Documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
.TH gramps 1 "@VERSION@" "Mars 2009" "@VERSION@"
.SH NOM
gramps \- Gramps est une application de généalogie. Gramps est l'acronyme de Genealogical Research and Analysis Management Programming System (Systeme de Programmation pour Recherche, Analyse et Gestion de données généalogiques)
.SH SYNOPSIS
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR BASE_DE_DONNEES
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR FICHIER
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.IR FICHIER
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-a|\-\^\-action=
.IR ACTION ]
.RB [ \-p|\-\^\-options=
.IR OPTION ]]
.RB [
.IR FICHIER
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH DESCRIPTION
.PP
\fIGramps\fP est un programme Libre/OpenSource de généalogie. Il est écrit en python,
et utilise une interface GTK+/GNOME.
Gramps est semblable à d'autres programmes de généalogie tel que \fIFamily Tree Maker (FTM)\fR, \fIPersonal Ancestral
Files\fR, ou le programme GNU Geneweb.
Il peut importer/exporter le format le plus utilisé par les autres logiciels de généalogie : GEDCOM.
.SH OPTIONS
.TP
.BI gramps " FICHIER"
Si \fIFICHIER\fR est désigné (sans autres commandes) comme arbre familial ou comme répertoire d'arbre familial, alors une session interactive est ouverte. Si FICHIER est un format de fichier supporté par Gramps, une base vide est créée dont le nom est celui du \fIFICHIER\fP et les données y seront importées. Les autres options sont ignorées. Ce type de lancement permet d'utiliser gramps pour manipuler des données comme dans un navigateur web. Les formats natifs de gramps sont acceptés, voir ci-dessous.
.br
.TP
.BI \-f,\-\^\-format= " FORMAT"
Le format spécifique du \fIFICHIER\fR est précédé par les arguments
.ig
\fB\-O\fR,
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
\fB\-i\fR, ou
\fB\-e\fR. Si l'option \fB\-f\fR n'est pas donnée pour le \fIFICHIER\fR, alors le format sera celui de l'extension ou du type-MIME.
.br
Les formats de sortie disponibles sont \fBgramps\-xml\fR (deviné si \fIFICHIER\fR se termine par
\fB.gramps\fR), et \fBgedcom\fR (deviné si \fIFICHIER\fR se termine par \fB.ged\fR), ou
tout autre fichier d'exportation disponible dans le système de plugin Gramps.
.br
Les formats disponibles pour l'importation sont \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (deviné si \fIFICHIER\fR se termine par \fB.gpkg\fR), et
\fBgeneweb\fR (deviné si \fIFICHIER\fR se termine par \fB.gw\fR).
.br
Les formats disponibles pour l'exportation sont
.ig
\fBgrdb\fR,
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.\" Man page generated from reStructeredText.
.
.sp
gramps(1) @VERSION@ gramps(1)
.INDENT 0.0
.TP
.B \fBNOM\fP
gramps \- Gramps est une application de généalogie. Gramps est
l\(aqacronyme de Genealogical Research and Analysis Management Programming
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
données généalogiques)
.TP
.B \fBSYNOPSIS\fP
\fBgramps\fP [\fB\-?\fP | \fB\-\-help\fP] [\fB\-\-usage\fP] [\fB\-\-version\fP]
[\fB\-l\fP] [\fB\-L\fP] [\fB\-u\fP | \fB\-\-force\-unlock\fP] [\fB\-O\fP | \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fIFILE\fP
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fI...\fP]
[\fB\-e\fP | \fB\-\-export=\fP \fIFICHIER\fP [\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]]
[\fB\-a\fP | \fB\-\-action=\fP \fIACTION\fP] [\fI\-p\fP | \fB\-\-options=\fP \fICHAÎNE
OPTION\fP]] [\fIFICHIER\fP] [\fB\-\-version\fP]
.TP
.B \fBDESCRIPTION\fP
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
d\(aqautres programmes de généalogie tel que Family Tree Maker (FTM),
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
importer/exporter le format le plus utilisé par les autres logiciels de
généalogie : GEDCOM.
.TP
.B \fBOPTIONS\fP
.INDENT 7.0
.TP
.B \fBgramps\fP \fIFICHIER\fP
Si \fIFICHIER\fP est désigné (sans autres commandes) comme arbre
familial ou comme répertoire d\(aqarbre familial, alors une session
interactive est ouverte. Si \fIFICHIER\fP est un format de fichier
supporté par Gramps, une base vide est créée dont le nom est
celui du \fIFICHIER\fP et les données y seront importées. Les autres
options sont ignorées. Ce type de lancement permet d\(aqutiliser
gramps pour manipuler des données comme dans un navigateur web.
Les formats natifs de gramps sont acceptés, voir ci\-dessous.
.TP
.B \fB\-f\fP , \fB\-\-format=\fP \fIFORMAT\fP
Le format spécifique du \fIFICHIER\fP est précédé par les arguments
\fB\-i\fP , ou \fB\-e\fP . Si l\(aqoption \fB\-f\fP n\(aqest pas donnée pour le \fIFICHIER\fP ,
alors le format sera celui de l\(aqextension ou du type\-MIME.
.sp
Les formats de sortie disponibles sont \fBgramps\-xml\fP (deviné si
\fIFICHIER\fP se termine par \fB.gramps\fP ), et \fBgedcom\fP (deviné si \fIFICHIER\fP se
termine par \fB.ged\fP ), ou tout autre fichier d\(aqexportation
disponible dans le système de plugin Gramps.
.sp
Les formats disponibles pour l\(aqimportation sont \fBgrdb\fP ,
\fBgramps\-xml\fP , \fBgedcom\fP , \fBgramps\-pkg\fP (deviné si \fIFICHIER\fP se termine par
\fB.gpkg\fP ), et \fBgeneweb\fP (deviné si \fIFICHIER\fP se termine par \fB.gw\fP ).
.sp
Les formats disponibles pour l\(aqexportation sont \fBgramps\-xml\fP , \fBged
com\fP , \fBgramps\-pkg\fP , \fBwft\fP (deviné si \fIFICHIER\fP se termine par \fB.wft\fP ),
\fBgeneweb\fP .
.TP
.B \fB\-l\fP
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (deviné si \fIFICHIER\fR se termine par \fB.wft\fR),
\fBgeneweb\fR, et \fBiso\fR (jamais deviné, toujours spécifié avec l'option
\fB\-f\fR).
.TP
.BI \-l
Imprime une liste des arbres familiaux disponibles.
.TP
.B \fB\-u\fP , \fB\-\-force\-unlock\fP
.BI \-u,\-\^\-force-unlock
Débloquer une base de données verrouillée.
.TP
.BI \-O,\-\^\-open= " BASE_DE_DONNEES"
Ouvrir une \fIBASE_DE_DONNEES\fR qui doit être une base présente dans le répertoire des bases ou le nom d'un arbre familial existant.
Si aucune action n'est définie, les options d'import ou d'export sont données par la ligne de commande puis une session interactive est ouverte, utilisant cette base de données.
.br
Seulement une base peut être ouverte. Si vous utilisez plusieurs sources, vous devez utiliser l'option d'import.
.TP
.BI \-i,\-\^\-import= " FICHIER"
Importer des données depuis un \fIFICHIER\fR. Si vous n'avez pas spécifié de base de données alors une base de données temporaire est utilisée; elle sera effacée quand vous quitterez gramps.
.br
Quand plus d'un fichier doit être importé, chacun doit être précédé par la commande \fB\-i\fR. Ces fichiers sont importés dans le même ordre,
i.e. \fB\-i\fR \fIFICHIER1\fR \fB\-i\fR \fIFICHIER2\fR
et \fB\-i\fR \fIFICHIER2\fR \fB\-i\fR \fIFICHIER1\fR vont tous les deux produire différents IDs gramps.
.TP
.BI \-e,\-\^\-export= " FICHIER"
Exporter des données dans un \fIFICHIER\fR. Pour le format \fBiso\fR, le \fIFICHIER\fR est le nom du répertoire dans lequel la base de données gramps est écrite.
Pour
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBgramps\-pkg\fR,
et \fBgeneweb\fR, le \fIFICHIER\fR est le nom du fichier de sortie
.br
Quand plus d'un fichier doit être exporté, chacun doit être précédé par la commande \fB\-e\fR. Ces fichiers sont importés dans le même ordre.
.TP
.BI \-a,\-\^\-action= " ACTION"
Accomplir une \fIACTION\fR sur les données importées. C'est effectué à la fin de l'importation. Les actions possibles sont \fBsummary\fR
(comme le rapport -> Afficher -> Statistiques sur la base), \fBcheck\fR (comme l'outil -> Réparation de la base -> Vérifier et réparer), \fBreport\fR (produit un rapport) et
\fBtool\fR (utilise un outil), ces derniers ont besoin
de \fIOPTION\fR précédé par la commande \fB\-p\fR.
.br
L'\fIOPTION\fR doit satisfaire ces conditions:
.br
Il ne doit pas y avoir d'espace.
Si certains arguments doivent utiliser des espaces, la chaîne doit être encadrée par des guillemets.
Les options vont par paire nom et valeur.
Une paire est séparée par un signe égal.
Différentes paires sont séparées par une virgule.
.br
La plupart des options sont spécifiques à chaque rapport. Même s'il existe des options communes.
.BI "name=name"
.br
Cette option est obligatoire, elle détermine quel rapport ou outil sera utilisé. Si le \fIname\fR saisi ne correspond à aucun module disponible, un message d'erreur sera ajouté.
.BI "show=all"
.br
Cette option produit une liste avec les noms des options disponibles pour un rapport donné.
.BI "show="optionname
.br
Cette option affiche une description de toutes les fonctionnalités proposées par \fIoptionname\fR, aussi bien les types que les valeurs pour une option.
.br
Utiliser les options ci-dessus pour trouver tout sur un rapport choisi.
.LP
Quand plus d'une action doit être effectuée, chacune doit être précédée par la commande \fB\-a\fR. Les actions seront réalisées une à une, dans l'ordre spécifié.
.TP
.BI \-d,\-\^\-debug= " NOM_LOGGER"
Permet les logs de debug pour le développement et les tests. Regarder le code source pour les détails.
.TP
.B \fB\-O\fP , \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
Ouvrir une \fIBASE_DE_DONNEES\fP qui doit être une base présente dans
le répertoire des bases ou le nom d\(aqun arbre familial existant.
Si aucune action n\(aqest définie, les options d\(aqimport ou d\(aqexport
sont données par la ligne de commande puis une session interactive
est ouverte, utilisant cette base de données.
.sp
Seulement une base peut être ouverte. Si vous utilisez plusieurs
sources, vous devez utiliser l\(aqoption d\(aqimport.
.TP
.B \fB\-i\fP , \fB\-\-import=\fP \fIFICHIER\fP
Importer des données depuis un \fIFICHIER\fP . Si vous n\(aqavez pas
spécifié de base de données, alors une base de données vide
est utilisée.
.sp
Quand plus d\(aqun fichier doit être importé, chacun doit être
précédé par la commande \fB\-i\fP . Ces fichiers sont importés dans le
même ordre, \fB\-i\fP \fIFICHIER1\fP \fB\-i\fP \fIFICHIER2\fP et \fB\-i\fP \fIFICHIER2\fP \fB\-i\fP
\fIFICHIER1\fP vont tous les deux produire différents IDs gramps.
.TP
.B \fB\-e\fP , \fB\-\-export=\fP \fIFICHIER\fP
Exporter des données dans un \fIFICHIER\fP . Pour les fichiers \fBgramps\-xml\fP
, \fBgedcom\fP , \fBwft\fP , \fBgramps\-pkg\fP , et \fBgeneweb\fP , le
\fIFICHIER\fP est le nom du fichier de sortie.
.sp
Quand plus d\(aqun fichier doit être exporté, chacun doit être
précédé par la commande \fB\-e\fP . Ces fichiers sont importés dans le
même ordre.
.TP
.B \fB\-a\fP , \fB\-\-action=\fP \fIACTION\fP
Accomplir une \fIACTION\fP sur les données importées. C\(aqest effectué à
la fin de l\(aqimportation. Les actions possibles sont \fBsummary\fP
(comme le rapport \-> Afficher \-> Statistiques sur la base),
\fBcheck\fP (comme l\(aqoutil \-> Réparation de la base \-> Vérifier et
réparer), \fBreport\fP (produit un rapport) et \fBtool\fP (utilise un
outil), ces derniers ont besoin de \fIOPTION\fP précédé par la commande \-p.
.sp
L\(aq \fIOPTION\fP doit satisfaire ces conditions:
Il ne doit pas y avoir d\(aqespace. Si certains arguments doivent
utiliser des espaces, la chaîne doit être encadrée par des
guillemets. Les options vont par paire nom et valeur. Une
paire est séparée par un signe égal. Différentes paires sont
séparées par une virgule.
.sp
La plupart des options sont spécifiques à chaque rapport. Même
s\(aqil existe des options communes.
.sp
\fBname=name\fP
Cette option est obligatoire, elle détermine quel rapport ou
outil sera utilisé. Si le name saisi ne correspond à aucun
module disponible, un message d\(aqerreur sera ajouté.
.sp
\fBshow=all\fP
Cette option produit une liste avec les noms des options
disponibles pour un rapport donné.
.sp
\fBshow=optionname\fP
Cette option affiche une description de toutes les fonctionnalités
proposées par optionname, aussi bien les types que les valeurs pour une option.
.sp
Utiliser les options ci\-dessus pour trouver tout sur un rapport
choisi.
.UNINDENT
.sp
Quand plus d\(aqune action doit être effectuée, chacune doit être précédée
par la commande \fB\-a\fP . Les actions seront réalisées une à une, dans
l\(aqordre spécifié.
.INDENT 7.0
.TP
.B \fB\-d\fP , \fB\-\-debug=\fP \fINOM_LOGGER\fP
Permet les logs de debug pour le développement et les tests.
Regarder le code source pour les détails.
.TP
.B \fB\-\-version\fP
.BI \-\^\-version
Imprime le numéro de version pour gramps puis quitte.
.UNINDENT
\" changer 0 par 1 pour permettre la sortie des options OAF
.if 0 \{
.PP
Les options suivantes seront utilisées pour l'activation Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Le descripteur de fichier pour imprimer OAF IOR
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID à activer
.TP
.BI \-\^\-oaf-private
Prévenir de l'enregistrement du serveur avec OAF
\}
\" changer 0 par 1 pour permettre la sortie des options son de GNOME
.if 0 \{
.PP
Les options suivantes seront utilisées pour contrôler le son avec les librairies GNOME.
.TP
.B \fBOpération\fP
Si le premie argument de la ligne de commande ne commence pas par un
tiret (i.e. pas d\(aqinstruction), gramps va essayer d\(aqouvrir la base de
données avec le nom donné par le premier argument et démarrer une ses
sion interactive, en ignorant le reste de la ligne de commande.
.sp
Si la commande \fB\-O\fP est notée, alors gramps va essayer le fichier défini
et va travailler avec ses données, comme pour les autres paramètres de
la ligne de commande.
.sp
Avec ou sans la commande \fB\-O\fP , il peut y avoir plusieurs imports,
exports, et actions dans la ligne de commande \fB\-i\fP , \fB\-e\fP , et \fB\-a\fP .
.sp
L\(aqordre des options \fB\-i\fP , \fB\-e\fP , ou \fB\-a\fP n\(aqa pas de sens. L\(aqordre actuel est
toujours : imports \-> actions \-> exports. Mais l\(aqouverture doit toujours
être la première !
.sp
Si aucune option \fB\-O\fP ou \fB\-i\fP n\(aqest donnée, gramps lancera sa propre
fenêtre et demarrera avec une base vide, puisqu\(aqil n\(aqy a pas données.
.sp
Si aucune option \fB\-e\fP ou \fB\-a\fP n\(aqest donnée, gramps lancera sa propre
fenêtre et démarrera avec la base de données issue de tout les imports.
Cette base sera \fBimport_db.grdb\fP dans le répertoire \fB~/.gramps/import\fP.
.sp
Les erreurs rencontrées lors d\(aqimportation, d\(aqexportation, ou d\(aqaction, seront
mémorisées en \fIstdout\fP (si elles sont le fait de la manipulation par
gramps) ou en \fIstderr\fP (si elles ne sont pas le fait d\(aqune manipulation).
Utilisez les shell de redirection de \fIstdout\fP et \fIstderr\fP pour sauver
les messages et les erreurs dans les fichiers.
.BI \-\^\-disable-sound
Désactive l'utilisation du server son
.TP
.B \fBEXEMPLES\fP
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
saisir:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-O\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
dans un arbre familial temporaire et démarrer une session interactive,
on peut saisir :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Lecture de quatre bases de données dont les formats peuvent être
devinés d\(aqaprès les noms, puis vérification des données:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
\fB\-i\fP \fIfile4.wft\fP \fB\-a\fP \fIcheck\fP
.UNINDENT
.UNINDENT
.sp
Si vous voulez préciser lesformats de fichiers dans l\(aqexemple ci\-
dessus, complétez les noms de fichiers par les options \-f appropriées:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-f\fP \fIgedcom\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-f\fP
\fIgramps\-pkg\fP \fB\-i\fP \fI~/db3.gramps\fP \fB\-f\fP \fIgramps\-xml\fP \fB\-i\fP \fIfile4.wft\fP
\fB\-f\fP \fIwft\fP \fB\-a\fP \fIcheck\fP
.UNINDENT
.UNINDENT
.sp
Pour enregistrer le résultat des lectures, donnez l\(aqoption \fB\-e\fP
(utiliser \-f si le nom de fichier ne permet pas à gramps de deviner le
format):
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-e\fP \fI~/new\-package\fP
\fB\-f\fP \fIgramps\-pkg\fP
.UNINDENT
.UNINDENT
.sp
Pour lire trois ensembles de données puis lancer une session
interactive de gramps sur le tout :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Pour lancer l\(aqoutil de vérification de la base de données depuis la
ligne de commande et obtenir le résultat :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-O\fP \fI\(aqMy Family Tree\(aq\fP \fB\-a\fP \fItool\fP \fB\-p name=\fP \fIverify\fP
.UNINDENT
.UNINDENT
.sp
Enfin, pour lancer une session interactive normale, entrer :
.INDENT 7.0
.INDENT 3.5
\fBgramps\fP
.UNINDENT
.UNINDENT
.BI \-\^\-enable-sound
Active l'utilisation du server son
.TP
.B \fBVARIABLES D\(aqENVIRONMENT\fP
Le programme vérifie si ces variables d\(aqenvironnement sont déclarées:
.sp
\fBLANG\fP \- décrit, quelle langue est utilisée: Ex.: pour le français on
peut définir fr_FR.UTF\-8.
.sp
\fBGRAMPSHOME\fP \- si défini, force Gramps à utiliser un répertoire
spécifique pour y conserver ses préférences et bases de données. Par
défaut, cette variable n\(aqest pas active et Gramps sait que les options
et bases de données doivent être créées dans le répertoire par défaut
de l\(aqutilisateur (la variable d\(aqenvironnement HOME pour Linux ou USER
PROFILE pour Windows 2000/XP).
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Host:port sur lequel le serveur son sera utilisé
\}
.SH "Operation"
.br
Si le premier argument de la ligne de commande ne commence pas par un tiret (i.e. pas
d'instruction), gramps va essayer d'ouvrir la base de données avec le nom donné par le premier argument et démarrer une session interactive, en ignorant le reste de la ligne de commande.
.LP
Si la commande \fB\-O\fR est notée, alors gramps va essayer le fichier défini et va travailler avec ses données, comme pour les autres paramètres de la ligne de commande.
.LP
Avec ou sans la commande \fB\-O\fR, il peut y avoir plusieurs imports, exports, et actions dans la ligne de commande \fB\-i\fR,
\fB\-e\fR, et \fB\-a\fR.
.LP
L'ordre des options \fB\-i\fR, \fB\-e\fR, ou \fB\-a\fR n'a pas de sens. L'ordre actuel est toujours : imports -> actions -> exports. Mais l'ouverture doit toujours être la première!
.LP
Si aucune option \fB\-O\fR ou \fB\-i\fR n'est donnée, gramps lancera sa propre fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
.LP
Si aucune option \fB\-e\fR ou \fB\-a\fR n'est donnée, gramps lancera sa propre fenêtre et démarrera avec la base de données issue de tout les imports. Cette base sera \fBimport_db.grdb\fR sous le répertoire \fB~/.gramps/import\fR.
.LP
Les erreurs rencontrées lors d'import, export, ou action, seront mémorisées en \fIstdout\fR (si elles sont le fait de la manipulation par gramps) ou
en \fIstderr\fR (si elles ne sont pas le fait d'une manipulation). Utilisez les shell de redirection de
\fIstdout\fR et \fIstderr\fR pour sauver les messages et les erreurs dans les fichiers.
.SH EXEMPLES
.TP
.B \fBCONCEPTS\fP
Gramps est un système basé sur le support de plugin\-python, permettant
d\(aqimporter et d\(aqexporter, la saisie, générer des rapports, des outils,
et afficher des filtres pouvant être ajoutés sans modifier le programme.
.sp
Par ailleurs, gramps permet la génération directe : impression, rap
ports avec sortie vers d\(aqautres formats, comme \fILibreOffice.org\fP ,
\fIHTML\fP , ou \fILaTeX\fP pour permettre à l\(aqutilisateur de choisir selon ses
besoins
.UNINDENT
.sp
\fBBUGS CONNUS ET LIMITATIONS\fP
.sp
\fBFICHIERS\fP
.INDENT 0.0
.INDENT 3.5
\fI${PREFIX}/bin/gramps\fP
.sp
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
.sp
\fI${PREFIX}/share/\fP
.sp
\fI${HOME}/.gramps\fP
.UNINDENT
.UNINDENT
.INDENT 0.0
Pour ouvrir un arbre familial et y importer un fichier XML, on peut saisir:
\fBgramps\fR \fB\-O\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Ceci ouvre un arbre familal, pour faire la même chose, mais importer dans un arbre familial temporaire et démarrer une session interactive, on peut saisir:
\fBgramps\fR \fB\-i\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options \fB\-f\fR appropriées:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Pour enregistrer le résultat des lectures, donnez l'option \fB\-e\fR (utiliser \fB\-f\fR si le nom de fichier ne permet pas à gramps de deviner le format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Pour lancer l'outil de vérification de la base de données depuis la ligne de commande et obtenir le résultat:
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
.B \fBAUTEURS\fP
Donald Allingham <\fI\%don@gramps\-project.org\fP>
\fI\%http://gramps\-project.org/\fP
.sp
Cette page man a d\(aqabord été écrite par :
Brandon L. Griffith <\fI\%brandon@debian.org\fP>
Enfin, pour lancer une session interactive normale, entrer : \fBgramps\fR
.SH VARIABLES D'ENVIRONMENT
Le programme vérifie si ces variables d'environnement sont déclarées:
\fBLANG\fR - décrit, quelle langue est utilisée:
Ex.: pour le français on peut définir fr_FR.UTF-8.
\fBGRAMPSHOME\fR - si défini, force Gramps à utiliser un répertoire spécifique pour y conserver ses préférences et bases de données. Par défaut, cette variable n'est pas active et Gramps sait que les options et bases de données doivent être créées
dans le répertoire par défaut de l'utilisateur (la variable d'environnement HOME pour Linux ou USERPROFILE pour Windows 2000/XP).
.SH CONCEPTS
Gramps est un système basé sur le support de plugin-python, permettant d'importer et d'exporter, la saisie,
générer des rapports, des outils, et afficher des filtres pouvant être ajoutés sans modifier le programme.
.LP
Par ailleurs, gramps permet la génération directe : impression, rapports avec sortie vers d'autres formats, comme \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
ou LaTeX pour permettre à l'utilisateur de choisir selon ses besoins
.SH BUGS CONNUS ET LIMITATIONS
.SH FICHIERS
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTEURS
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Cette page man a d'abord été écrite par:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
pour Debian GNU/Linux système.
.sp
Cette page man est maintenue par :
Gramps project <\fI\%xxx@gramps\-project.org\fP>
.sp
La traduction française :
Jérôme Rapinat <\fI\%romjerome@yahoo.fr\fP>
.TP
.B \fBDOCUMENTATION\fP
La documentation\-utilisateur est disponible par un navigateur
standard sous la forme du manuel Gramps.
.sp
La documentation pour développeur est disponible sur le site
\fI\%http://www.gramps\-project.org/wiki/index.php?title=Portal:Developers\fP .
.UNINDENT
.sp
gramps(1) @VERSION@ gramps(1)
.SH AUTHOR
Jerome Rapinat
.SH COPYRIGHT
2015, Gramps project
.\" Generated by docutils manpage writer.
.\"
.
.LP
Cette page man est maintenue par:
.br
Gramps project \fI<xxx@gramps-project.org>\fR
.LP
La traduction française:
.br
Jérôme Rapinat \fI<romjerome@yahoo.fr>\fR
.br
.SH DOCUMENTATION
La documentation-utilisateur est disponible par le navigateur d'aide de GNOME sous la forme du manuel Gramps. Ce manuel est également disponible sous format XML comme \fBgramps-manual.xml\fR sous \fIdoc/gramps-manual/$LANG\fR dans les sources officielles.
.LP
La documentation pour développeur est disponible sur le site \fIhttp://developers.gramps-project.org\fR.
+4 -16
View File
@@ -1,4 +1,4 @@
.TH gramps 1 "@VERSION@" "December 2012" "@VERSION@"
.TH gramps 1 "@VERSION@" "January 2008" "@VERSION@"
.SH NAME
gramps \- Genealogical Research and Analysis Management Programming System.
@@ -104,7 +104,7 @@ If no action, import or export options are given on the command line then an int
.TP
.BI \-i,\-\^\-import= " FILE"
Import data from \fIFILE\fR. If you haven't specified a database, then an empty database is created for you called Family Tree x (where x is an incrementing number).
Import data from \fIFILE\fR. If you haven't specified a database then a temporary database is used; this is deleted when you exit gramps.
.br
When more than one input file is given, each has to be preceded by \fB\-i\fR
@@ -113,16 +113,6 @@ i.e. \fB\-i\fR \fIFILE1\fR \fB\-i\fR \fIFILE2\fR
and \fB\-i\fR \fIFILE2\fR \fB\-i\fR \fIFILE1\fR might produce different
gramps IDs in the resulting database.
.TP
.BI \-e,\-\^\-export= " FILE"
Export data into \fIFILE\fR. For \fBgramps\-xml\fR, \fBgedcom\fR,
\fBwft\fR, \fBgramps\-pkg\fR, and \fBgeneweb\fR, the \fIFILE\fR is
the name of the resulting file.
.br
When more than one output file is given, each has to be preceded
by \fB\-e\fR flag. The files are written one by one, in the specified order.
.TP
.BI \-a,\-\^\-action= " ACTION"
Perform \fIACTION\fR on the imported data. This is done after all imports
@@ -298,11 +288,9 @@ or LaTeX to allow the users to modify the format to suit their needs.
.SH FILES
.LP
\fI${PREFIX}/bin/gramps\fP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
.br
\fI${PREFIX}/share/\fP
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP

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