Compare commits

..
158 Commits
Author SHA1 Message Date
Stéphane Charette f530ce8c75 update for 3.4.0 release
svn: r19614
2012-05-22 07:56:09 +00:00
Jérôme Rapinat a709d699bf 5750: Dutch typos (contribution by 'ennoborg')
svn: r19595
2012-05-19 21:56:42 +00:00
Doug Blank fb7679bac5 5279: i can't export my database
svn: r19593
2012-05-19 17:26:25 +00:00
Stéphane Charette aa1e096e02 3.3.2 news
svn: r19587
2012-05-19 08:29:39 +00:00
Michiel Nauta 79a70dac69 Add warning on db env opening failure
svn: r19550
2012-05-17 09:52:55 +00:00
Zdeněk Hataš 1c936a7880 czech translation update
svn: r19492
2012-05-11 11:35:00 +00:00
Jérôme Rapinat ac26afa765 Updated Japanese Translation (by yanmar)
svn: r19466
2012-05-08 05:02:50 +00:00
Serge Noiraud bed34d0614 Geography : wrong autozoom when we click on the map.
svn: r19462
2012-05-07 12:25:48 +00:00
Andre Marcelo Varenga cb9f49124f update pt_BR translation
svn: r19457
2012-05-06 17:24:22 +00:00
Fedik e3071a000a small translation and uptades
svn: r19455
2012-05-06 15:57:34 +00:00
Peter Landgren 2831f1bb60 Final (I hope) of Swedish translation for 3.4.
svn: r19452
2012-05-06 10:28:01 +00:00
Michiel Nauta 0a2acf41bf 5676: Crashed when verifying data
svn: r19450
2012-05-06 09:46:29 +00:00
Espen Berg 5f41d0f882 Some revision of Norwegian bokmål
svn: r19448
2012-05-06 08:22:27 +00:00
Jérôme Rapinat b56893cc47 minor update on translated desktop key
svn: r19445
2012-05-05 19:47:10 +00:00
Jérôme Rapinat 451bf3f1f7 updated Danish translation (by Morten Bo Johansen), update template and french translation (no new entry, only updated references)
svn: r19444
2012-05-05 19:41:56 +00:00
Peter Landgren 7d45f9a7df Finally translation of name display editor is OK.
svn: r19441
2012-05-05 16:21:08 +00:00
Craig J. Anderson 6d982b9481 simple update to help with book report messages display to console
svn: r19439
2012-05-04 18:18:16 +00:00
Craig J. Anderson 0aa97cd674 proper fix so evens work within the display format
svn: r19437
2012-05-04 18:05:45 +00:00
Craig J. Anderson 8c4af875fb fixed a crash when you add the descendant_chart to a book report. In
the 'include' tab, you can select a 'family chart' option for the
title which should not be there.  When ran it will crash.


svn: r19431
2012-05-03 14:08:02 +00:00
Andre Marcelo Varenga 04275cee6a update pt_BR translation
svn: r19419
2012-05-01 02:04:29 +00:00
Andre Marcelo Varenga a9e7438e94 update pt_BR translation
svn: r19400
2012-04-29 01:44:28 +00:00
Michiel Nauta 049ffb1e42 5691: narrative web site regression: blank line
svn: r19394
2012-04-28 19:54:04 +00:00
Peter Landgren b3192cb66a Minor updates in translation.
svn: r19374
2012-04-22 08:29:23 +00:00
Mirko Leonhäuser e20b93c944 fixed corrupted po file
svn: r19371
2012-04-20 19:50:11 +00:00
Doug Blank 6becb4f632 Addons were looking in trunk instead of gramps34
svn: r19366
2012-04-20 02:46:03 +00:00
Mirko Leonhäuser ef62937a3f update german translation
svn: r19364
2012-04-19 20:45:10 +00:00
Tim G L Lyons 52079fb398 0005687: Can't delete a note, which is a citation.
svn: r19362
2012-04-19 18:39:25 +00:00
Jérôme Rapinat 18a04b4935 update template and french translation
svn: r19357
2012-04-19 12:57:10 +00:00
Jérôme Rapinat c2ef5944c5 some strings were not translated (patch by MathieuMD), see devel mailing list; need to generate a new 'gramps.pot'
svn: r19355
2012-04-19 05:28:52 +00:00
Nick Hall 1a16fe577f 5655: Fix warnings when tags have duplicate names
svn: r19343
2012-04-16 16:20:10 +00:00
Jérôme Rapinat c41f9602c5 update template and french translation
svn: r19340
2012-04-16 07:26:51 +00:00
Gary Burton b8e8f97ab0 Fix crash when copying family objects to the clipboard
svn: r19338
2012-04-15 20:42:40 +00:00
Mirko Leonhäuser 7833a383dc typo fixing
svn: r19336
2012-04-15 20:27:32 +00:00
Serge Noiraud 27cd29b0c9 Geography : same as for trunk from vassilii : fix l10n call when wrong osmgpsmap version reported
(parameters should be substituted only AFTER _() is called)


svn: r19333
2012-04-15 07:04:58 +00:00
Mirko Leonhäuser 356d9d03f4 update german translation
svn: r19331
2012-04-14 15:40:24 +00:00
Michiel Nauta 75d54125db 5466: On import and Check and Repair need to check references to absent objects
svn: r19327
2012-04-14 12:19:00 +00:00
John Ralls df068471bb Load a menu accelerator map named gramps.accel if such a file exists in const.DATA_DIR
svn: r19319
2012-04-13 19:55:56 +00:00
Jérôme Rapinat 5c3cece884 5654: write all files into one directory for years and months, level issue with NavWeb, patched by MD Nauta
svn: r19315
2012-04-13 16:08:49 +00:00
Tim G L Lyons 2bf73bee01 ImportGrdb does not support the latest database format. Adopted suggested solution that the "file association with grdb files perhaps remains but that the importer gives a message to use old version 3.0 to upgrade these old files".
svn: r19310
2012-04-13 10:35:55 +00:00
Tim G L Lyons 7460c00336 Change citation gramps_id to default format
svn: r19306
2012-04-12 18:07:26 +00:00
John Ralls f3120cbbbf Bug #5641: Links to other programs don't work
svn: r19292
2012-04-10 23:03:09 +00:00
Jérôme Rapinat 3ad0141cb1 typo
svn: r19289
2012-04-10 17:01:33 +00:00
Jérôme Rapinat 77a7eb5097 typos on non-fuzzy strings
svn: r19287
2012-04-10 14:33:32 +00:00
Jérôme Rapinat 1d9ac5525e update template and french translation
svn: r19282
2012-04-09 09:16:55 +00:00
Peter Landgren c6b622639c Swedish update.
svn: r19280
2012-04-08 14:37:55 +00:00
Andre Marcelo Varenga cafc74b114 Update pt_BR translation
svn: r19275
2012-04-08 02:26:17 +00:00
Michiel Nauta 250a3eb343 5595: DBError when rebuilding reference maps while Event view row is selected
svn: r19270
2012-04-07 20:34:24 +00:00
Espen Berg 986492e9ce Some revision of Norwegian bokmål
svn: r19268
2012-04-07 20:02:52 +00:00
Espen Berg a649ae2c01 Some revision of Norwegian bokmål
svn: r19267
2012-04-07 19:42:48 +00:00
Nick Hall 04f34f6059 5206: Remember size of FilterEditor and EditFilter windows
svn: r19265
2012-04-07 19:01:53 +00:00
Michiel Nauta 96dcf2f0c1 is_equal called on handle
svn: r19261
2012-04-07 11:26:45 +00:00
Tim G L Lyons c29763c6f2 0005667: Merging notes with citation references fails (also merge media)
svn: r19251
2012-04-06 17:15:34 +00:00
Jérôme Rapinat 181cef35a8 typo on desktop name
svn: r19241
2012-04-05 13:57:25 +00:00
Jérôme Rapinat c5efc6841c 5665: add translations for updated desktop file
svn: r19239
2012-04-05 13:46:01 +00:00
Jérôme Rapinat d5a0a039c8 5665: update keys for Gnome (keep current translations)
svn: r19238
2012-04-05 13:24:11 +00:00
Tim G L Lyons d1105720f4 0005656: Error during citation merging. get_confidence_level should be set_confidence_level - the classic single character fix!!
svn: r19231
2012-04-04 18:14:55 +00:00
Jérôme Rapinat 6f886ec485 5654#c23595, #5193: should not try to copy a style sheet if 'No style sheet' value is set
svn: r19207
2012-04-03 08:47:08 +00:00
Joan Creus fc4df5b999 Translation update
svn: r19205
2012-04-02 17:59:50 +00:00
Gary Burton 0a317dbf38 Use replacement refresh_objects method instead of remove_invalid_objects which no longer exists
svn: r19203
2012-04-01 19:25:12 +00:00
Jérôme Rapinat 409dde1314 consistency on translated keys for names
svn: r19201
2012-04-01 17:34:04 +00:00
Jérôme Rapinat 4dabf58a6b improvements on french date handler (by Mathieu MD)
svn: r19199
2012-04-01 15:00:39 +00:00
Jérôme Rapinat 5ae77c422d 5648: update and review on french translation by Mathieu MD
svn: r19197
2012-04-01 14:25:41 +00:00
Joan Creus d2583fd064 Translation update
svn: r19171
2012-03-29 18:08:26 +00:00
Joan Creus 426ee7ad15 Translation update
svn: r19159
2012-03-26 23:39:28 +00:00
Jérôme Rapinat c04cbfc7bf 5532: typo on 'Select Event' string
svn: r19154
2012-03-26 09:11:45 +00:00
Jérôme Rapinat 978b37bccd 5648: plurial for given (names)
svn: r19132
2012-03-24 07:48:50 +00:00
Jérôme Rapinat da79d145e2 5081: check and use unfilterd persons on __is_living (by MD Nauta)
svn: r19123
2012-03-23 16:11:20 +00:00
Rob G. Healey 997a700397 Re- created the Gramps authors list based upon the src/data/authors.xml. Based upon request from Benny Malengier.
svn: r19118
2012-03-23 07:46:25 +00:00
Mirko Leonhäuser d20fbd7bf3 update german translation
svn: r19111
2012-03-22 19:54:39 +00:00
Jérôme Rapinat 69fa9511ca 5648: review on french translation (by Mathieu MD)
svn: r19109
2012-03-22 19:34:45 +00:00
Tim G L Lyons 1ab0f4276d GEDCOM import: IdMapper can sometimes be passed @F2002@ and sometimes F2002. These were not mapping to the same swapped Gramps Id.(Partly a consequence of revision 19053).
svn: r19094
2012-03-19 16:04:31 +00:00
Peter Landgren 24d4788c76 Fixed a missing word.
svn: r19090
2012-03-19 14:10:51 +00:00
Rob G. Healey 99185e213a Bug#0002738: NarrativeWeb: strange behaviour with alphabet navigation when used with narrow browser window --> has now been fixed.
svn: r19088
2012-03-19 06:36:27 +00:00
Rob G. Healey 65764aef8f Fixed bug in the navigation menu and the calendar day items.
svn: r19087
2012-03-19 04:33:52 +00:00
Rob G. Healey f8f747fad6 Bug#0005274: Narweb - Web Link, showing Url -- has been fixed as requested.
svn: r19085
2012-03-19 02:49:40 +00:00
John Ralls a226f070c7 Bug 5429: Fix typo in MacTransUtils.py
svn: r19083
2012-03-18 20:13:00 +00:00
Espen Berg 13efa8befe Slightly revised Norwegian bokmål and nynorsk
svn: r19081
2012-03-18 17:06:59 +00:00
Jérôme Rapinat 7cf4d870de error on non-fuzzy strings
svn: r19078
2012-03-17 14:16:57 +00:00
Benny Malengier f8042298e1 5617: local variable for mother on 'plugins/views/geoperson.py
svn: r19076
2012-03-17 14:09:11 +00:00
Michiel Nauta 7d904317b5 5632: Objects with references to missing tags not fixed by Check and Repair
svn: r19065
2012-03-14 20:04:57 +00:00
Michiel Nauta e9847395da 5629: Citations with reference to missing note/media not fixed by Check and Repair
svn: r19057
2012-03-13 21:39:23 +00:00
Tim G L Lyons 8c59cddc52 0005608: GEDCOM import ignores leading 0's in INDI ID's
svn: r19055
2012-03-13 17:45:26 +00:00
Tim G L Lyons 9c4f7b7e0a 0005620: Export name types to GEDCOM. Patch extended following testing against various GEDCOM files from the internet.
svn: r19053
2012-03-13 17:09:08 +00:00
Jérôme Rapinat 88df9c000f update french translation
svn: r19042
2012-03-11 11:16:26 +00:00
Mirko Leonhäuser f809eb844e update german translation
svn: r19040
2012-03-10 23:14:17 +00:00
Jérôme Rapinat 32b28222f9 typo (contribution by Alain Aupeix)
svn: r19028
2012-03-09 16:34:27 +00:00
John Ralls a89bc54a25 [Bug #5610] Can't launch external viewer due to PATH set by Gramps
startup script


Hard-code the path to /usr/bin/open in gui/utils.py. Since this is an 
Apple-only utility and Apple-proprietary, there's no legitimate reason 
to use a different one.


svn: r19022
2012-03-06 19:08:29 +00:00
Jérôme Rapinat 3475e213f0 5554: 'importgedcom.glade' into plugins.import folder
svn: r19020
2012-03-06 16:19:47 +00:00
Jérôme Rapinat 9dfcb9d6fe 5554: 'importgedcom.glade' is used with ANSEL encoding
svn: r19015
2012-03-05 19:27:30 +00:00
Jérôme Rapinat f3e71cef0a try to avoid key issue on event
svn: r19014
2012-03-05 19:23:24 +00:00
Jérôme Rapinat 4eb638fa15 5554: Ignore no more used .glade files on installation and translation
svn: r19010
2012-03-05 17:27:49 +00:00
Jérôme Rapinat 5e6e83d53e Enable translation on top object
svn: r19007
2012-03-05 17:18:53 +00:00
Josip Pisoj 64ab80d9f6 Updated Croatian translations
svn: r19006
2012-03-04 22:20:29 +00:00
Mirko Leonhäuser cb8d086a69 update german translation
svn: r19005
2012-03-04 20:30:57 +00:00
Mirko Leonhäuser b214bd4458 update german translation
svn: r19002
2012-03-04 02:48:01 +00:00
Jérôme Rapinat 6f14cc7bc7 Avoid to ignore last characters when we have more than 999 individuals (string length into button). It is not fixed for all cases, only more confort.
svn: r18999
2012-03-03 08:53:08 +00:00
Jérôme Rapinat 07f72de626 'Verify' tool is checking our data, avoid 'database' translation in french, use 'data' word on messages
svn: r18992
2012-03-02 17:46:01 +00:00
Tim G L Lyons 53f8250d30 0005606: GEDCOM import: NOTE_RECORD is not handled properly
svn: r18991
2012-03-02 17:40:21 +00:00
Tim G L Lyons 899e911fef 0005605: GEDCOM inport: Embedded from of MULTIMEDIA_LINK in INDIVIDUAL_RECORD does not use IdMapper
svn: r18989
2012-03-02 17:10:19 +00:00
Jérôme Rapinat 72d98271a6 update vietnamese translation (contribution by De Tran)
svn: r18986
2012-03-02 08:33:47 +00:00
Nick Hall 09e3384e61 1446: Fix Clipboard refresh problem
svn: r18981
2012-02-29 23:29:35 +00:00
Paul Franklin a78a819220 revert 18977
svn: r18978
2012-02-27 04:48:03 +00:00
Paul Franklin ef885cb8d4 add strings before gramps34 "string freze"
svn: r18977
2012-02-26 17:53:34 +00:00
Mirko Leonhäuser a97efbdb4a update german translation
svn: r18975
2012-02-26 09:23:58 +00:00
Jérôme Rapinat d09b5d8741 improve some french translations (history dialog)
svn: r18973
2012-02-25 17:32:16 +00:00
Jérôme Rapinat 7748091543 improve some french translations
svn: r18971
2012-02-25 07:51:13 +00:00
Mirko Leonhäuser e1e2632c44 update german translation
svn: r18970
2012-02-25 03:26:55 +00:00
Tim G L Lyons dbb6af0286 Disable 'Install Addons' tab in Help->Plugin Manager because it is superseded by the Preferences check for updates features.
svn: r18968
2012-02-24 18:30:37 +00:00
Jérôme Rapinat ded0bbb95d minor improvement on french translation (contents)
svn: r18967
2012-02-24 16:34:27 +00:00
Jérôme Rapinat c2b9518ad8 Update template for translations
svn: r18966
2012-02-24 14:50:52 +00:00
Jérôme Rapinat c2adc30a32 5264: missing personref section
svn: r18965
2012-02-24 11:28:45 +00:00
Tim G L Lyons 85903806c8 Change defaults so that new users are not notified about new plugins (before they have even seen the UI). This solves 0004994: Gramp hangs on retriving addons list
svn: r18962
2012-02-23 20:51:45 +00:00
Jérôme Rapinat 744a49f0d1 avoid 'Nobility' sample on title section
svn: r18961
2012-02-23 14:08:26 +00:00
Jérôme Rapinat 2dc91f75cf avoid 'Nobility Title' reference, which is also an event
svn: r18958
2012-02-23 13:59:16 +00:00
Jérôme Rapinat b18332d623 bug: too complicated translated key for displaying title (name); Thanks Serge
svn: r18957
2012-02-23 13:43:06 +00:00
Jérôme Rapinat 7315e9a7f2 5537: Crash when making an archive for the Narrative Web Site with the option Include Family Map with all places (merged from trunk)
svn: r18956
2012-02-23 07:29:28 +00:00
Jérôme Rapinat abe45952c0 grammar improvement
svn: r18954
2012-02-23 07:17:17 +00:00
Mirko Leonhäuser d94377a9d4 update german translation
svn: r18952
2012-02-22 20:34:49 +00:00
Luigi Toscano 0e06ccf874 Italian translation updates and fixes.
svn: r18949
2012-02-22 01:14:47 +00:00
Tim G L Lyons 5f2c22a186 0005588: [XML]: Media object handling on citation and private marker on (source reference). Add media object to citation. No change needed for privacy.
svn: r18948
2012-02-21 23:23:13 +00:00
Tim G L Lyons e6849bd417 GEDCOM import: if a default source is created, attached date data for submitters was incorrectly stored as a Date object when it should be text.
svn: r18946
2012-02-21 15:49:30 +00:00
Luigi Toscano 5b9071fb7d Italian translation updates and fixes.
svn: r18943
2012-02-21 00:27:43 +00:00
Jérôme Rapinat e980b63d85 minor improvements for ordering/grouping index (plugins documentation)
svn: r18940
2012-02-20 17:15:57 +00:00
Fedik 9bc9c672a5 small translation uptades
svn: r18939
2012-02-20 16:22:16 +00:00
Jérôme Rapinat 205cc8557f update API documentation (3.4)
svn: r18937
2012-02-20 15:01:05 +00:00
Mirko Leonhäuser b873ac7b7a update german translation
svn: r18936
2012-02-20 09:38:57 +00:00
Tim G L Lyons e06243c372 GEDCOM import: error handling code moved to one place (no change to effect)
svn: r18934
2012-02-19 16:42:53 +00:00
Tim G L Lyons 127cfa3a81 0005202: Failed gedcom file import. Dates too far in the future give OverflowError, allow for this exception.
svn: r18932
2012-02-19 16:18:26 +00:00
Tim G L Lyons a80e19854e GEDCOM import. Fix parsing of ALIA (alias) tag, if it is a reference to another person, store the reference in the association secondary object
svn: r18930
2012-02-19 15:57:20 +00:00
Jérôme Rapinat 003b43714b use 'ngettext'
svn: r18929
2012-02-19 14:20:21 +00:00
Jérôme Rapinat dc033fe03a typo
svn: r18926
2012-02-19 14:16:58 +00:00
Jérôme Rapinat ca7555cd21 updated Hungarian translation (by Lajos Nemeseri)
svn: r18925
2012-02-18 17:04:12 +00:00
Jérôme Rapinat b8e797882c try to update API documentation (gen.lib); citations
svn: r18922
2012-02-18 16:56:12 +00:00
Rob G. Healey 3353dc024b Fixed error in get_citation_links(). Thanks for pointing it out to me.
svn: r18921
2012-02-17 23:52:36 +00:00
Gary Burton 73a32cfeec Get an instance of GuiPluginManager to report errors loading plugins
svn: r18919
2012-02-17 18:37:37 +00:00
Tim G L Lyons edaea54a84 GEDCOM import: make generated GEDCOM notes monospaced
svn: r18916
2012-02-17 18:00:31 +00:00
Jérôme Rapinat f97a4f4511 2356: add comments about genitive form issues under some locales
svn: r18915
2012-02-17 16:51:40 +00:00
Nick Hall 1560b0657d 4774: Bug fix for r17451
svn: r18911
2012-02-17 14:19:44 +00:00
Jérôme Rapinat 268369ac1f update template
svn: r18909
2012-02-17 12:37:39 +00:00
Peter Landgren fbc58eb5e7 Fix of two typos.
svn: r18907
2012-02-17 10:37:04 +00:00
Tim G L Lyons 65cd98be62 Typo (inconsistent warning note titles)
svn: r18905
2012-02-17 00:34:59 +00:00
Tim G L Lyons 83ae6bb74b GEDCOM Import
0005456: Default log level after installation results in disk being filled on import (various problems manifested by geni.com data)
0005030: Remove warning of libgedcom.py from family tree builder (_UID, RIN, EMAIL and WWW from FTB)
0003553: Import media files from GEDCOM (web located media for geni.com)

* Add EMAIl and WWW for RESI events (for FamilyTreeMaker)
* Detect missing FORM or FILE for Multimedia objects and produce warning reports (FORM and FILE are mandatory for GEDCOM, but are difficult to locate without messages) (for geni.com imports among others)
* Handle multimedia images that are given by web addresses (for geni.com imports among others)
* Produce warning reports when DATE, TYPE and PLACe are ignored for the event details of attributes
* Handle change date/time on notes  (for geni.com imports among others)

svn: r18903
2012-02-17 00:12:44 +00:00
Paul Franklin 407c02b054 5562: New LaTeXDoc.py -- patch by Harald Rosemann <rosemann@imkt.uni-hannover.de>
svn: r18902
2012-02-16 19:41:16 +00:00
Peter Landgren 23116f2694 Update Swedish translation.
svn: r18900
2012-02-16 18:32:07 +00:00
Jérôme Rapinat 22f8363589 update polish translation (by Łukasz Rymarczyk)
svn: r18898
2012-02-16 13:10:59 +00:00
Rob G. Healey a1ffd70dee Finished class SourcePage's Citations Referents section.
svn: r18897
2012-02-16 05:18:23 +00:00
Luigi Toscano 2f04872c50 Italian translation updates
svn: r18894
2012-02-16 01:51:51 +00:00
Gary Burton afee5010f1 Improve error message when a view or plugin fails to load
svn: r18893
2012-02-15 21:18:21 +00:00
Peter Landgren 85651b972e Swedish translation, partial update. Took wrong sv.po in 18889.
svn: r18890
2012-02-15 15:59:46 +00:00
Peter Landgren 871e0b8fea Swedish translation update.
svn: r18889
2012-02-15 10:46:29 +00:00
Nick Hall bab1c347f5 5326: Add table of contents and index support for ODF documents
svn: r18886
2012-02-14 23:11:49 +00:00
Jérôme Rapinat 153aa286f8 use translated string for custom attribute type after merging
svn: r18884
2012-02-14 14:00:44 +00:00
Jérôme Rapinat 9850c791a3 typos
svn: r18880
2012-02-14 12:19:06 +00:00
Jérôme Rapinat fcfa59c2a9 use translated stringfor custom attribute type after merging
svn: r18879
2012-02-14 12:17:45 +00:00
Jérôme Rapinat c6b9e660f6 1571: use translated strings
svn: r18878
2012-02-14 12:15:33 +00:00
Nick Hall 9ccbea8337 5326: Bug fix for table of contents and index in pdf reports
svn: r18875
2012-02-13 18:38:14 +00:00
Jérôme Rapinat f505317b4d 1571: use translated strings
svn: r18874
2012-02-13 18:03:14 +00:00
Brian Matherly a2aed6f87c Create the 3.4 maintenance branch
svn: r18872
2012-02-13 02:39:56 +00:00
2724 changed files with 1021405 additions and 1697436 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
-29
View File
@@ -1,29 +0,0 @@
# After changing this file, check it on:
# http://lint.travis-ci.org/
language: c
#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 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/
- DJANGO_SETTINGS_MODULE=gramps.webapp.settings nosetests3 --exclude=TestcaseGenerator --exclude=vcard --exclude=merge_ref_test gramps
+17 -3
View File
@@ -1,5 +1,21 @@
<!-- $Id$ -->
#
# Gramps - a GTK+/GNOME based genealogy program
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
<!-- $Id$ -->
Alex Roitman shura@gramps-project.org
@@ -90,5 +106,3 @@ Vassilii Khachaturov vassilii@tarunz.org
Zdeněk Hataš zdenek.hatas@gmail.com
Zsolt Foldvari zfoldvar@users.sourceforge.net
John Ralls jralls@ceridwen.us
+1 -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.
+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()
+91 -83
View File
@@ -1,106 +1,114 @@
$Id$
This file contains some useful details on the installation from source code
for Gramps. It does not cover installation of a pre-built binary package.
for GRAMPS. It does not cover installation of a pre-built binary package.
For that use your package manager, the rest is already done by the packager.
Uninstall old version
---------------------
If you do a source install in the same place as an existing install,
If you do a source install in the same place of an existing install,
you need to remove the old version first. You can delete the old
version by deleting the installed directories. For example, if your installation prefix is /usr/local, remove the following:
/usr/local/share/gramps
/usr/local/lib/pythonx.x/site-packages/gramps
If you installed with a package manager you might instead need to remove
/usr/local/lib/pythonx.x/dist-packages/gramps
version by:
replacing pythonx.x with the python version you used, e.g. python3.4.
Also remove any gramps .egg files that are installed along with the gramps
directory and the file /usr/local/bin/gramps.
* deleting the installed directories (for example,
/usr/share/gramps)
* OR by running "make uninstall" from the old directory where you
ran "make install" (not the new GRAMPS directory)
If you don't know the list of all files that Gramps installed, you can
reinstall it with the --record option, and take a look at the list this
produces (so python setup.py install --record grampsfiles.txt
Gramps is a python application, so loading happens on reading the
GRAMPS is a python application, so loading happens on reading the
files, meaning that files of a previous version that are no longer
present in the new version can still be loaded, making the new install
unstable!
unstable.
distutils install
-----------------
We do not check all dependencies of Gramps, see README for a list of
all required and optional dependencies. Missing dependencies will
result in runtime errors.
Configure vs autogen scripts
----------------------------
Configure does not check all dependencies of Gramps, see README for a
list of all required and optional dependencies.
To build and install, whether from a tarball or git repo:
python setup.py build
sudo python setup.py install
If you are building from released tarball, you should be able to just
run "./configure && make". However, if you're building from the SVN,
the configure is not present. You should auto-generate it by
running ./autogen.sh and then "make" and, finally, "make install".
You can avoid using sudo for the install step by specifying a prefix to which you have write priviledge. The default is /usr/local, which is usually owned by root. You can learn of more options with
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.
-32
View File
@@ -1,32 +0,0 @@
include AUTHORS
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
-461
View File
@@ -1,464 +1,3 @@
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
+54 -57
View File
@@ -1,92 +1,89 @@
Please read the COPYING file first.
Please read the INSTALL file if you intend to build from source.
If building from source, also read the INSTALL file (at least through the
"SUPER-SHORT VERSION") before going further.
Requirements
--------------------------------
The following packages *MUST* be installed in order for Gramps to work:
Python 3.2 or greater
GTK 3.10 or greater
pygobject 3.12 or greater
cairo, pango, pangocairo with introspection bindings (the gi packages)
Python 2.6 or greater
PyGTK2 2.16 or greater
librsvg2 (svg icon view)
xdg-utils
bsddb3
The following package is needed for full translation of the interface
to your language:
language-pack-gnome-xx
Translation of GTK elements to your language, with
xx your language code; e.g. for Dutch you need
language-pack-gnome-xx
Translation of GTK elements to your language, with
xx your language code eg for Dutch you need
language-pack-gnome-nl. The translation of the
Gramps strings is included with the gramps source.
Gramps strings is included with the source code.
The following packages are *STRONGLY RECOMMENDED* to be installed:
osmgpsmap Used to show maps in the geography view.
It may be osmgpsmap, osm-gps-map, or python-osmgpsmap,
but the Python bindings for this must also be present.
osmgpsmap Used to show maps in the geography view.
Without this the GeoView will not be active, see
http://gramps-project.org/wiki/index.php?title=Gramps_4.1_Wiki_Manual_-_Main_Window#Geography_Category
Graphviz Enable creation of graphs using Graphviz engine.
Without this, three reports cannot be run.
http://gramps-project.org/wiki/index.php?title=Gramps_3.3_Wiki_Manual_-_Main_Window#Geography_Category
The package is named osmgpsmap, osm-gps-map
or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/
GraphViz Enable creation of graphs using GraphViz engine.
Without this no beautiful graphs can be created.
Obtain it from: http://www.graphviz.org
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.)
pyexiv2 Enables Gramps to manage Exif metadata embedded in your
media. Gramps needs version 0.1.3 or greater.
Obtain it from: http://tilloy.net/dev/pyexiv2/download.html
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
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.1_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
Only rcs is needed, NO python bindings are required
PIL Python Image Library is needed to crop
images and also to convert non-JPG images to
JPG so as to include them in LaTeX output.
(For Python3 a different source may be needed,
python-imaging or python-pillow or python3-pillow)
GExiv2 Enables Gramps to manage Exif metadata embedded in your
media. Gramps needs version 0.5 or greater.
See http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#GExiv2_for_Image_metadata
python gtkspell Enable spell checking in the notes, gtkspell contains the
libraries.
ttf-freefont More font support in the reports
gir-webkit Required for the (user-downloadable) HtmlView plugin
PyWebKitGtk or python-gtkmozembed:
The hidden view 'Htmlview' allows websites to be opened in
Gramps. Users can unhide the view in the plugin manager.
A html renderer must be installed to use the view.
!! PACKAGERS, Test if on your distribution
webkit and Gramps is stable. If you obtain crashes, patch
src/plugins/view/htmlrenderer.py and
src/plugins/view/geoview.gpr.py, so as to remove:
import webkit
Then use the gecko package (python-gtkmozembed) instead.
If WEBKIT ang GECKO are installed, webkit will be used as
the javascript engine is faster (google maps).
* PyWebKitGtk
Enable html rendering for the Web view. Often called
python-webkit package. Be careful, webkit is always in a
development phase.
* python-gtkmozembed
Enable html rendering for the Web view in case PyWebKitGtk
is not available or to be used if webkit is unstable.
It can be in python-gnome2-extras or python-gtkhtml2
depending on distributions.
goocanvas2 Required for the (user-downloadable) GraphView plugin
python-pygoocanvas:
Required for the experimental Graphview plugin
No longer needed in 4.1:
?
No longer needed in 4.0:
pygoocanvas, pygtk, pyexiv2
No longer needed in 3.3:
python-enchant Enchant
No longer needed in 3.2:
python glade bindings
No longer needed in 3.1:
yelp Gnome help browser. No offline help is shipped see Gramps website for User manual
yelp Gnome help browser. At the moment no help is shipped
Documentation
---------------------------------
The User Manual is maintained on the Gramps website,
The User Manual is now maintained on the gramps website,
http://www.gramps-project.org/wiki/index.php?title=User_manual
We might in the future distribute again a manual via gnome-doc-utils, this has not
been decided yet though.
Building on non-Linux systems: i18n support and GNU make
--------------------------------------------------------
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
You might need a patch also. FreeBSD has in ports a patch ( /usr/ports/science/gramps/files)
you need to apply to po/Makefile.in.in
--------------------------------
The Gramps Project
+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/bash
# Run this to generate all the initial makefiles, etc.
# $Id$
PKG_NAME="gramps"
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
srcfile=$srcdir/src/gramps.py
REQUIRED_AUTOMAKE_VERSION=1.9
DIE=0
# source helper functions
if test ! -f gramps-autogen.sh;
then
echo There is something wrong with your source tree.
echo You are missing gramps-autogen.sh
exit 1
fi
. ./gramps-autogen.sh
CONFIGURE_DEF_OPT=
autogen_options $@
#echo -n "+ check for build tools"
#if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else echo; fi
#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
WANT_AUTOCONF_2_5=1
export WANT_AUTOCONF_2_5
version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
"http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz" || DIE=1
AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
automake_progs="automake automake-1.10 automake-1.9"
version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
"http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \
"ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz" || DIE=1
require_m4macro glib-gettext.m4
version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \
"http://ftp.gnome.org/pub/GNOME/sources/intltool/" || DIE=1
require_m4macro intltool.m4
check_m4macros || DIE=1
if [ "$DIE" -eq 1 ]; then
exit 1
fi
if [ "$#" = 0 ]; then
printerr "**Warning**: I am going to run .configure with no arguments."
printerr "If you wish to pass any to it, please specify them on the"
printerr "$0 command line."
printerr
fi
toplevel_check $srcfile
# Note that the order these tools are called should match what
# autoconf's "autoupdate" package does. See bug 138584 for
# details.
# programs that might install new macros get run before aclocal
printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
printbold "Running $INTLTOOLIZE..."
$INTLTOOLIZE --force --copy --automake || exit 1
# Now run aclocal to pull in any additional macros needed
printbold "Running $ACLOCAL..."
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit 1
# Now that all the macros are sorted, run autoconf and autoheader ...
printbold "Running $AUTOCONF..."
$AUTOCONF || exit 1
# Finally, run automake to create the makefiles ...
printbold "Running $AUTOMAKE..."
cp -pf COPYING COPYING.autogen_bak
cp -pf INSTALL INSTALL.autogen_bak
$AUTOMAKE --gnu --add-missing --force --copy || exit 1
cmp COPYING COPYING.autogen_bak || cp -pf COPYING.autogen_bak COPYING
cmp INSTALL INSTALL.autogen_bak || cp -pf INSTALL.autogen_bak INSTALL
rm -f COPYING.autogen_bak INSTALL.autogen_bak
if test x$NOCONFIGURE = x; then
printbold Running ./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT ...
./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi
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
+175
View File
@@ -0,0 +1,175 @@
dnl $Id$
dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first
AC_PREREQ(2.57)
dnl NOTE: arg to macro below becomes the "VERSION"
AC_INIT(gramps, 3.4.0, [gramps-bugs@lists.sourceforge.net])
AC_CONFIG_SRCDIR(configure.in)
AM_INIT_AUTOMAKE([1.6.3 foreign])
AC_CONFIG_MACRO_DIR([m4])
RELEASE=0.SVN$(svnversion -n .)
dnl RELEASE=0beta
dnl RELEASE=0rc1
dnl RELEASE=1
VERSIONSTRING=$VERSION
if test x"$RELEASE" != "x"
then
VERSIONSTRING="$VERSION-$RELEASE"
fi
dnl put the ACLOCAL flags in the Makefile
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
AC_PROG_INTLTOOL
AM_SHARED_MIME
AM_PACKAGER
AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)
dnl Add the languages which your application supports here.
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl nn pl pt_BR pt_PT ru sv fi lt sk bg hr sl ca sq he uk ja vi"
GETTEXT_PACKAGE=gramps
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the Gettext package name.])
AM_GLIB_GNU_GETTEXT
dnl Checks for programs.
dnl We first only check for python >= 2.6
AM_PATH_PYTHON(2.6)
AC_PATH_PROG(BINSH, sh)
pygtk_require="
try:
import pygtk
pygtk.require('2.0')
except ImportError:
pass
def out(line):
f = open('conftest.out', 'w')
f.write(line)
f.close()
"
AC_MSG_CHECKING(Python bindings for gtk 2.10 (pygtk2>=2.10.0))
cat > conftest.py <<EOF
$pygtk_require
try:
import gobject
version = gobject.pygtk_version
if version >= (2,10,0):
print_version = '.'.join([[str(i) for i in version]])
out(print_version)
else:
out("NO")
except ImportError:
out("NO")
except AttributeError:
out("NO")
EOF
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test NO = "$has_pygtk"
then
AC_MSG_ERROR([
**** The python bindings for gtk 2.10 (pygtk2>=2.10.0) could not be found.])
fi
AC_MSG_RESULT($has_pygtk)
AC_CONFIG_FILES([
po/Makefile.in
m4/Makefile
Makefile
gramps.sh
src/const.py
src/Makefile
src/cli/Makefile
src/cli/plug/Makefile
src/gen/Makefile
src/gen/db/Makefile
src/gen/display/Makefile
src/gen/lib/Makefile
src/gen/mime/Makefile
src/gen/plug/Makefile
src/gen/plug/docbackend/Makefile
src/gen/plug/docgen/Makefile
src/gen/plug/menu/Makefile
src/gen/plug/report/Makefile
src/gen/proxy/Makefile
src/gen/utils/Makefile
src/gui/Makefile
src/gui/editors/Makefile
src/gui/editors/displaytabs/Makefile
src/gui/plug/Makefile
src/gui/plug/report/Makefile
src/gui/selectors/Makefile
src/gui/views/Makefile
src/gui/views/treemodels/Makefile
src/gui/widgets/Makefile
src/GrampsLogger/Makefile
src/Merge/Makefile
src/docgen/Makefile
src/Filters/Makefile
src/Filters/Rules/Makefile
src/Filters/Rules/Person/Makefile
src/Filters/Rules/Family/Makefile
src/Filters/Rules/Event/Makefile
src/Filters/Rules/Source/Makefile
src/Filters/Rules/Place/Makefile
src/Filters/Rules/MediaObject/Makefile
src/Filters/Rules/Repository/Makefile
src/Filters/Rules/Note/Makefile
src/Filters/Rules/Citation/Makefile
src/Filters/SideBar/Makefile
src/Simple/Makefile
src/GrampsLocale/Makefile
src/plugins/Makefile
src/plugins/docgen/Makefile
src/plugins/drawreport/Makefile
src/plugins/export/Makefile
src/plugins/gramplet/Makefile
src/plugins/graph/Makefile
src/plugins/import/Makefile
src/plugins/lib/Makefile
src/plugins/lib/maps/Makefile
src/plugins/mapservices/Makefile
src/plugins/quickview/Makefile
src/plugins/rel/Makefile
src/plugins/sidebar/Makefile
src/plugins/textreport/Makefile
src/plugins/tool/Makefile
src/plugins/view/Makefile
src/plugins/webreport/Makefile
src/plugins/webstuff/Makefile
src/plugins/webstuff/css/Makefile
src/plugins/webstuff/images/Makefile
src/plugins/webstuff/js/Makefile
src/DateHandler/Makefile
src/data/Makefile
src/glade/Makefile
src/images/Makefile
src/images/scalable/Makefile
src/images/16x16/Makefile
src/images/22x22/Makefile
src/images/48x48/Makefile
data/Makefile
data/man/Makefile
data/man/cs/Makefile
data/man/fr/Makefile
data/man/nl/Makefile
data/man/pl/Makefile
data/man/sv/Makefile
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>
-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
}
-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%;
}
-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<application>
<id type="desktop">gramps.desktop</id>
<licence>CC0</licence>
<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">http://gramps-project.org/</url>
<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>
</application>
-1
View File
@@ -8,6 +8,5 @@ Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;Office;
_Keywords=Genealogy;Family History;Research;Family Tree;GEDCOM;
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
Exec=gramps %F
+1 -1
View File
@@ -16,7 +16,7 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id$
+17 -44
View File
@@ -5,7 +5,7 @@
#
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2000-2007 Donald N. Allingham
# Copyright (C) 2010-2014 Nick Hall
# Copyright (C) 2010-2011 Nick Hall
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,21 +19,21 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# $Id$
-->
<!--
This is the Document Type Definition file for v1.7.1
This is the Document Type Definition file for v1.5.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.5.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.5.0//EN"
"http://gramps-project.org/xml/1.5.0/grampsxml.dtd"
[...]>
-->
@@ -62,7 +62,7 @@ DATABASE
<!ELEMENT database (header, name-formats?, tags?, events?, people?, families?,
citations?, sources?, places?, objects?, repositories?,
notes?, bookmarks?, namemaps?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.7.1/">
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.5.0/">
<!-- ************************************************************
@@ -122,7 +122,6 @@ GENDER has values of M, F, or U.
<!ELEMENT name (first?, call?, surname*, suffix?, title?, nick?, familynick?, group?,
(daterange|datespan|dateval|datestr)?, noteref*, citationref*)>
<!-- (Unknown|Also Know As|Birth Name|Married Name|Other Name) -->
<!ATTLIST name
alt (0|1) #IMPLIED
type CDATA #IMPLIED
@@ -139,8 +138,6 @@ GENDER has values of M, F, or U.
<!ELEMENT familynick (#PCDATA)>
<!ELEMENT group (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!-- (Unknown|Inherited|Given|Taken|Patronymic|Matronymic|Feudal|
Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
<!ATTLIST surname
prefix CDATA #IMPLIED
prim (1|0) #IMPLIED
@@ -199,13 +196,12 @@ FAMILY
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!-- (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) -->
<!ELEMENT childref (citationref*,noteref*)>
<!ATTLIST childref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel CDATA #IMPLIED
frel CDATA #IMPLIED
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
>
<!ELEMENT type (#PCDATA)>
@@ -219,8 +215,7 @@ EVENT
<!ELEMENT events (event)*>
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
description?, attribute*, noteref*, citationref*, objref*,
tagref*)>
description?, attribute*, noteref*, citationref*, objref*)>
<!ATTLIST event
id CDATA #IMPLIED
handle ID #REQUIRED
@@ -234,7 +229,7 @@ SOURCES
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
noteref*, objref*, srcattribute*, reporef*, tagref*)>
noteref*, objref*, data_item*, reporef*)>
<!ATTLIST source
id CDATA #IMPLIED
handle ID #REQUIRED
@@ -252,25 +247,16 @@ PLACES
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (ptitle?, pname+, code?, coord?, placeref*, location*,
objref*, url*, noteref*, citationref*, tagref*)>
<!ELEMENT placeobj (ptitle?, coord?, location*, objref*, url*, noteref*,
citationref*)>
<!ATTLIST placeobj
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
type CDATA #REQUIRED
>
<!ELEMENT pname (daterange|datespan|dateval|datestr)?>
<!ATTLIST pname
lang CDATA #IMPLIED
value CDATA #REQUIRED
>
<!ELEMENT ptitle (#PCDATA)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT coord EMPTY>
<!ATTLIST coord
@@ -310,7 +296,6 @@ OBJECTS
<!ATTLIST file
src CDATA #REQUIRED
mime CDATA #REQUIRED
checksum CDATA #IMPLIED
description CDATA #REQUIRED
>
@@ -320,7 +305,7 @@ REPOSITORIES
<!ELEMENT repositories (repository)*>
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
<!ELEMENT repository (rname, type, address*, url*, noteref*)>
<!ATTLIST repository
id CDATA #IMPLIED
handle ID #REQUIRED
@@ -382,8 +367,8 @@ CITATIONS
<!ELEMENT citations (citation)*>
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence,
noteref*, objref*, srcattribute*, sourceref, tagref*)>
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence?,
noteref*, objref*, data_item*, sourceref)>
<!ATTLIST citation
id CDATA #IMPLIED
handle ID #REQUIRED
@@ -398,7 +383,7 @@ BOOKMARKS
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark
target (person|family|event|source|citation|place|media|repository|
target (person|family|event|source|place|media|repository|
note) #REQUIRED
hlink IDREF #REQUIRED
>
@@ -508,13 +493,6 @@ SHARED ELEMENTS
value CDATA #REQUIRED
>
<!ELEMENT srcattribute EMPTY>
<!ATTLIST srcattribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT place EMPTY>
<!ATTLIST place hlink IDREF #REQUIRED>
@@ -535,11 +513,6 @@ SHARED ELEMENTS
priv (0|1) #IMPLIED
>
<!ELEMENT placeref ((daterange|datespan|dateval|datestr)?)>
<!ATTLIST placeref
hlink IDREF #REQUIRED
>
<!ELEMENT region EMPTY>
<!ATTLIST region
corner1_x CDATA #REQUIRED
+43 -56
View File
@@ -4,7 +4,7 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2005-2007 Donald N. Allingham
# Copyright (C) 2010-2014 Nick Hall
# Copyright (C) 2010-2011 Nick Hall
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,10 +18,11 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Written by Alex Roitman
# $Id$
-->
<!--
@@ -31,7 +32,7 @@
<grammar
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://gramps-project.org/xml/1.7.1/"
ns="http://gramps-project.org/xml/1.5.0/"
xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="database">
@@ -210,7 +211,16 @@
</define>
<define name="child-rel">
<text/>
<choice>
<value>Birth</value>
<value>Adopted</value>
<value>Stepchild</value>
<value>Sponsored</value>
<value>Foster</value>
<value>None</value>
<value>Other</value>
<value>Unknown</value>
</choice>
</define>
<define name="name-content">
@@ -221,7 +231,13 @@
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="type"><text/></attribute></optional>
<optional><attribute name="type"><choice>
<value>Unknown</value>
<value>Also Known As</value>
<value>Birth Name</value>
<value>Married Name</value>
<value>Other Name</value>
</choice></attribute></optional>
<optional><attribute name="sort"><text/></attribute></optional>
<optional><attribute name="display"><text/></attribute></optional>
<optional><element name="first"><text/></element></optional>
@@ -250,7 +266,20 @@
<value>1</value>
<value>0</value>
</choice></attribute></optional>
<optional><attribute name="derivation"><text/></attribute></optional>
<optional><attribute name="derivation"><choice>
<value>Unknown</value>
<value>Inherited</value>
<value>Given</value>
<value>Taken</value>
<value>Patronymic</value>
<value>Matronymic</value>
<value>Feudal</value>
<value>Pseudonym</value>
<value>Patrilineal</value>
<value>Matrilineal</value>
<value>Occupation</value>
<value>Location</value>
</choice></attribute></optional>
<optional><attribute name="connector"><text/></attribute></optional>
</define>
@@ -399,31 +428,26 @@
<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>
<optional><element name="confidence"><text/></element></optional>
<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"/>
<zeroOrMore><element name="data_item">
<attribute name="key"><text/></attribute>
<attribute name="value"><text/></attribute>
</element></zeroOrMore>
<element name="sourceref">
<ref name="sourceref-content"/>
</element>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="source-content">
@@ -438,32 +462,22 @@
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="srcattribute">
<ref name="srcattribute-content"/>
<zeroOrMore><element name="data_item">
<attribute name="key"><text/></attribute>
<attribute name="value"><text/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="reporef">
<ref name="reporef-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="place-content">
<ref name="primary-object"/>
<attribute name="type"><text/></attribute>
<optional><element name="ptitle"><text/></element></optional>
<oneOrMore><element name="pname">
<ref name="placename-content"/>
</element></oneOrMore>
<optional><element name="code"><text/></element></optional>
<optional><element name="coord">
<attribute name="long"><text/></attribute>
<attribute name="lat"><text/></attribute>
</element></optional>
<zeroOrMore><element name="placeref">
<ref name="placeref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="location">
<optional><attribute name="street"><text/></attribute></optional>
<optional><attribute name="locality"><text/></attribute></optional>
@@ -487,9 +501,6 @@
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="object-content">
@@ -497,8 +508,7 @@
<element name="file">
<attribute name="src"><text/></attribute>
<attribute name="mime"><text/></attribute>
<optional><attribute name="checksum"><text/></attribute></optional>
<optional><attribute name="description"><text/></attribute></optional>
<attribute name="description"><text/></attribute>
</element>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
@@ -528,9 +538,6 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="bookmark-content">
@@ -539,7 +546,6 @@
<value>family</value>
<value>event</value>
<value>source</value>
<value>citation</value>
<value>place</value>
<value>media</value>
<value>repository</value>
@@ -673,14 +679,6 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
</define>
<define name="srcattribute-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="type"><text/></attribute>
<attribute name="value"><text/></attribute>
</define>
<define name="url-content">
<optional><attribute name="priv">
@@ -745,17 +743,6 @@
<text/>
</define>
<define name="placename-content">
<attribute name="value"><text/></attribute>
<optional><attribute name="lang"><text/></attribute></optional>
<optional><ref name="date-content"/></optional>
</define>
<define name="placeref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><ref name="date-content"/></optional>
</define>
<define name="tagref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

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

+14
View File
@@ -0,0 +1,14 @@
# This is the data/man level Makefile for Gramps
# $Id$
SUBDIRS = fr sv nl pl cs
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'
+14
View File
@@ -0,0 +1,14 @@
# This is the data/man/sv level Makefile for Gramps
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/cs
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/cs/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-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)
-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=** *FICHIER*
Export data into *FILE* . For **gramps-xml** , **gedcom**
, **wft** , **gramps-pkg** , et **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 Familial'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Ceci ouvre un arbre familial, pour faire la même chose, mais importer dans un arbre familial temporaire et démarrer une session interactive, on peut saisir:
\fBgramps\fR \fB\-i\fR \fI'Mon Arbre Familial'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options \fB\-f\fR appropriées:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Pour enregistrer le résultat des lectures, donnez l'option \fB\-e\fR (utiliser \fB\-f\fR si le nom de fichier ne permet pas à gramps de deviner le format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Pour lancer l'outil de vérification de la base de données depuis la ligne de commande et obtenir le résultat:
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
.B \fBAUTEURS\fP
Donald Allingham <\fI\%don@gramps\-project.org\fP>
\fI\%http://gramps\-project.org/\fP
.sp
Cette page man a d\(aqabord été écrite par :
Brandon L. Griffith <\fI\%brandon@debian.org\fP>
Enfin, pour lancer une session interactive normale, entrer : \fBgramps\fR
.SH VARIABLES D'ENVIRONMENT
Le programme vérifie si ces variables d'environnement sont déclarées:
\fBLANG\fR - décrit, quelle langue est utilisée:
Ex.: pour le français on peut définir fr_FR.UTF-8.
\fBGRAMPSHOME\fR - si défini, force Gramps à utiliser un répertoire spécifique pour y conserver ses préférences et bases de données. Par défaut, cette variable n'est pas active et Gramps sait que les options et bases de données doivent être créées
dans le répertoire par défaut de l'utilisateur (la variable d'environnement HOME pour Linux ou USERPROFILE pour Windows 2000/XP).
.SH CONCEPTS
Gramps est un système basé sur le support de plugin-python, permettant d'importer et d'exporter, la saisie,
générer des rapports, des outils, et afficher des filtres pouvant être ajoutés sans modifier le programme.
.LP
Par ailleurs, gramps permet la génération directe : impression, rapports avec sortie vers d'autres formats, comme \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
ou LaTeX pour permettre à l'utilisateur de choisir selon ses besoins
.SH BUGS CONNUS ET LIMITATIONS
.SH FICHIERS
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTEURS
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Cette page man a d'abord été écrite par:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
pour Debian GNU/Linux système.
.sp
Cette page man est maintenue par :
Gramps project <\fI\%xxx@gramps\-project.org\fP>
.sp
La traduction française :
Jérôme Rapinat <\fI\%romjerome@yahoo.fr\fP>
.TP
.B \fBDOCUMENTATION\fP
La documentation\-utilisateur est disponible par un navigateur
standard sous la forme du manuel Gramps.
.sp
La documentation pour développeur est disponible sur le site
\fI\%http://www.gramps\-project.org/wiki/index.php?title=Portal:Developers\fP .
.UNINDENT
.sp
gramps(1) @VERSION@ gramps(1)
.SH AUTHOR
Jerome Rapinat
.SH COPYRIGHT
2015, Gramps project
.\" Generated by docutils manpage writer.
.\"
.
.LP
Cette page man est maintenue par:
.br
Gramps project \fI<xxx@gramps-project.org>\fR
.LP
La traduction française:
.br
Jérôme Rapinat \fI<romjerome@yahoo.fr>\fR
.br
.SH DOCUMENTATION
La documentation-utilisateur est disponible par le navigateur d'aide de GNOME sous la forme du manuel Gramps. Ce manuel est également disponible sous format XML comme \fBgramps-manual.xml\fR sous \fIdoc/gramps-manual/$LANG\fR dans les sources officielles.
.LP
La documentation pour développeur est disponible sur le site \fIhttp://developers.gramps-project.org\fR.
+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
-22
View File
@@ -1,22 +0,0 @@
.. Gramps documentation master file, created by
sphinx-quickstart on Sat Dec 1 00:07:37 2012.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Gramps' command line documentation!
==============================================
Contents:
.. toctree::
:maxdepth: 2
en
cs/cs
fr/fr
nl/nl
pl/pl
pt_BR/pt_BR
sv/sv
+15
View File
@@ -0,0 +1,15 @@
# This is the data/man/nl level Makefile for Gramps
# $Id: Makefile.am 9819 2008-01-15 15:42:10Z bmcage $
mandir = @mandir@/nl
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/nl/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-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 = 'nl'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('nl', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-266
View File
@@ -1,266 +0,0 @@
Dutch
======
gramps(1) 3.4.0 gramps(1)
**NAAM**
gramps - Genealogisch Onderzoek en Analyse Beheersysteem.
**SAMENVATTING**
gramps [-?|--help] [--usage] [--version] [-O|--open= GEGEVENSBESTAND
[-f|--format= FORMAAT]] [-i|--import= BESTAND [-f|--format= FORMAAT]]
[-i|--import= ...] [-e|--export= BESTAND [-f|--format= FORMAAT]]
[-a|--action= ACTIE] [-p|--options= OPTIESTRING]] [ BESTAND ] [--ver
sion]
**BESCHRIJVING**
Gramps is een Free/OpenSource genealogisch programma dat in Python,
geschreven is en gebruik maakt van de GTK+/GNOME interface. Gramps zal
voor iedereen die al gewerkt heeft met andere genealogische programma's
zoals Family Tree Maker (TM), Personal Ancestral Files (TM) of GNU
Geneweb. Importeren vanuit het gekende GEDCOM-formaat wordt onderste
und. Dit formaat wordt wereldwijd gebruikt door bijna alle genealogis
che software.
**OPTIES**
**gramps** *BESTAND*
Wanneer *BESTAND* opgegeven wordt (zonder vlaggen) als een famili
estamboom of als een familistamboommap, dan wordt dit bestand
geopend en een interactieve sessie wordt gestart. Indien BESTAND
een bestandsformaat dat door Gramps herkent wordt, zal een lege
familiestamboom aangemaakt worden. De bestandsnaam wordt
gebaseerd op de *BESTAND* naam en de gegevens worden in dit
bestand geïmporteerd. Met resterende opties wordt geen rekening
gehouden. Deze wijze van opstarten is zeer bruikbaar om Gramps
te gebruiken voor genealogische gegevens via een webbrowser.
Deze opstartmethode kan gelijk welk gegevensformaat eigen aan
Gramps behandelen, zie onder.
**-f** , **--format=** *FORMAAT*
Expliciet een formaat opgeven voor BESTAND door de optie -i, of
-e mee te geven. Indien de -f optie niet opgegeven wordt voor
BESTAND, wordt het formaat gebaseerd op de bestandsextensie of
het MIME-type.
Formaten beschikbaar voor uitvoer zijn gramps-xml (guessed if
FILE ends with .gramps), gedcom (guessed if FILE ends with
.ged), or any file export available through the Gramps plugin
system.
Formats available for import are grdb, gramps-xml, gedcom,
gramps-pkg (guessed if FILE ends with .gpkg), and geneweb
(guessed if FILE ends with .gw).
Formats available for export are gramps-xml, gedcom, gramps-pkg,
wft (guessed if FILE ends with .wft), geneweb, and iso (never
guessed, always specify with -f option).
**-O** , **--open=** *DATABASE*
Open *DATABASE* which must be an existing database directory or
existing family tree name. If no action, import or export
options are given on the command line then an interactive ses
sion is started using that database.
**-i** , **--import=** *FILE*
Import data from *FILE* . If you haven't specified a database then
a temporary database is used; this is deleted when you exit
gramps.
When more than one input file is given, each has to be preceded
by **-i** flag. The files are imported in the specified order, i.e.
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
might produce different gramps IDs in the resulting database.
**-a** , **--action=** *ACTION*
Perform *ACTION* on the imported data. This is done after all
imports are successfully completed. Currently available actions
are **summary** (same as Reports->View->Summary), **check** (same as
Tools->Database Processing->Check and Repair), **report** (generates
report), and tool (runs a plugin tool). Both **report** and **tool**
need the *OPTIONSTRING* supplied by the **-p** flag).
The *OPTIONSTRING* should satisfy the following conditions:
It must not contain any spaces. If some arguments need to
include spaces, the string should be enclosed with quotation
marks, i.e., follow the shell syntax. Option string is a list
of pairs with name and value (separated by the equality sign).
The name and value pairs must be separated by commas.
Most of the report or tools options are specific for each report
or tool. However, there are some common options.
**name=name**
This mandatory option determines which report or tool will be
run. If the supplied name does not correspond to any available
report or tool, an error message will be printed followed by the
list of available reports or tools (depending on the *ACTION* ).
**show=all**
This will produce the list of names for all options available
for a given report or tool.
**show=optionname**
This will print the description of the functionality supplied by
*optionname*, as well as what are the acceptable types and values
for this option.
Use the above options to find out everything about a given
report.
When more than one output action is given, each has to be preceded by
**-a** flag. The actions are performed one by one, in the specified order.
**-d** , **--debug=** *LOGGER_NAME*
Enables debug logs for development and testing. Look at the
source code for details
**--version**
Prints the version number of gramps and then exits
**werking**
Indien het eerste argument in de opdrachtregel niet start met dash (dus
geen vlag) dan zal Gramps trachten om het bestand te openen met een
naam die in het eerste argument werd opgegeven. Vervolgens wordt een
interactieve sessie gestart en de overige argumenten van de
opdrachtregel worden genegeerd.
If the **-O** flag is given, then gramps will try opening the supplied
database and then work with that data, as instructed by the further
command line parameters.
With or without the **-O** flag, there could be multiple imports, exports,
and actions specified further on the command line by using **-i** ,
**-e** , and **-a** flags.
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
always is: all imports (if any) -> all actions (if any) -> all exports
(if any). But opening must always be first!
If no **-O** or **-i** option is given, gramps will launch its main window and
start the usual interactive session with the empty database, since
there is no data to process, anyway.
If no **-e** or **-a** options are given, gramps will launch its main window
and start the usual interactive session with the database resulted from
all imports. This database resides in the **import_db.grdb** under
**~/.gramps/import** directory.
The error encountered during import, export, or action, will be either
dumped to stdout (if these are exceptions handled by gramps) or to
*stderr* (if these are not handled). Use usual shell redirections of
*stdout* and *stderr* to save messages and errors in files.
**EXAMPLES**
To open an existing family tree and import an xml file into it, one
may type:
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
The above changes the opened family tree, to do the same, but import
both in a temporary family tree and start an interactive session, one
may type:
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
To import four databases (whose formats can be determined from their
names) and then check the resulting database for errors, one may type:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
To explicitly specify the formats in the above example, append file
names with appropriate **-f** options:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
To record the database resulting from all imports, supply **-e** flag (use
**-f** if the filename does not allow gramps to guess the format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
To import three databases and start interactive gramps session with the
result:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
To run the Verify tool from the commandline and output the result to
stdout:
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Finally, to start normal interactive session type:
**gramps**
**CONCEPTEN**
Ondersteuning van een op python-gebaseerd plugin systeem. Dit laat toe
om verslagen, hulpgereedschappen en vensterfilters toe te voegen zonder
dat het hoofdprogramma dient aangepast.
De klassieke uitdrukken zijn mogelijk, maar daar bovenover kunnen de
meeste verslagen ook gebruik maken van OpenOffice.org, AbiWord, HTML,
of LaTeX. Zo kunnen gebruikers het formaat wijzigen naar eigen wens.
**GEKENDE BUGS EN BEPERKINGEN**
**BESTANDEN**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTEURS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Deze man pagina werd oorspronkelijk geschreven door:
Brandon L. Griffith <brandon@debian.org>
voor het Debian GNU/Linux systeem.
Deze man pagina wordt momenteel onderhouden door:
Alex Roitman <shura@gramps-project.org>
Deze nederlandstalige man pagina wordt momenteel onderhouden door:
Erik De Richter <frederik.de.richter@pandora.be>
**DOCUMENTATIE**
De gebruikersdocumentatie is beschikbaar via browser in de webstek.
De ontwikkelingsdocumentatie kan gevonden worden op de
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
webstek.
August 2005 4.0.0 gramps(1)
+14
View File
@@ -0,0 +1,14 @@
# This is the data/man/sv level Makefile for Gramps
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/pl
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/pl/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-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 = 'pl'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('pl', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-308
View File
@@ -1,308 +0,0 @@
Polish
=======
gramps(1) 3.4.0 gramps(1)
**NAME**
gramps - Genealogical Research and Analysis Management Programming Sys
tem.
(w wolnym tłumaczeniu: System Wspomagania Badań Genealogicznych i Pro
gramowego Zarządzania Tą Informacją)
**SYNOPSIS**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= BAZA_DANYCH [-f|--format= FORMAT]] [-i|--import= PLIK
[-f|--format= FORMAT]] [-i|--import= ...] [-e|--export= PLIK
[-f|--format= FORMAT]] [-a|--action= AKCJA] [-p|--options= CIĄG_OPCJI]]
[ PLIK ] [--version]
**OPIS**
Gramps jest wolnym, darmowym programem genealogicznym OpenSource. Jest
napisany w Python, przy użyciu interfejsu GTK+/GNOME. Dla każdego, kto
wcześniej używał innego programu genealogicznego (np. Family Tree
Maker (TM), Personal Ancestral Files (TM), lub GNU Geneweb), zapoz
nanie się z interfejsem Gramps'a będzie natychmiastowe. Program
obsługuje także import i eksport w popularnym formacie GEDCOM, który
jest używany przez większość programów genealogicznych na świecie.
**OPCJE**
**gramps** *PLIK*
Kiedy *PLIK* jest podany (bez żadnych flag) jako nazwa drzewa
rodzinnego albo nazwa katalogu z drzewem, to wybrane drzewo jest
otwierane i rozpoczynana jest sesja interaktywna. Jeśli PLIK
jest formatem rozpoznawanym przez Gramps, to tworzone jest puste
drzewo, którego nazwa bazuje na nazwie PLIKU i dane są do niego
importowane. Pozostałe opcje są wtedy ignorowane. Jest to
sposób na używanie programu jako uchwytu obsługującego dane
genealogiczne, np. w przeglądarce internetowej. Takie wywołanie
akceptuje każdy format natywny dla grampsa, zobacz poniżej.
**-f** , **--format=** *FORMAT*
Jawne określenie formatu PLIKU przez poprzedzenie opcji -i, lub
-e. Jeśli opcja -f nie jest podana dla żadnego PLIKU, to format
pliku jest określany na podstawie rozszerzenia albo typu MIME.
Dostępne formaty wyjściowe to:
gramps-xml (używany jeśli PLIK kończy się na .gramps),
gedcom (przyjmowany jeśli PLIK kończy się na .ged),
lub dowolny plik eksportu obsługiwany przez system wtyczek
Gramps.
Formaty dostępne dla importu to: grdb, gramps-xml, gedcom,
gramps-pkg (przyjmowany jeśli PLIK kończy się na .gpkg),
oraz geneweb (przyjmowany jeśli PLIK ma rozszerzenie .gw).
Formats dostępne dla eksportu to: gramps-xml, gedcom,
gramps-pkg, wft (jeśli rozszerzenie PLIKU to .wft), geneweb, i
iso (używany tylko, jeśli jawnie określony przez parametr -f ).
**-l**
Wyświetla listę dosŧępnych drzew genealogicznych.
**-u** , **--force-unlock**
Wymusza odblokowanie bazy danych.
**-O** , **--open=** *BAZA_DANYCH*
Otwiera *BAZĘ_DANYCH* , która musi istnieć w katalogu baz lub być
nazwą istniejącego drzewa rodzinnego. Jeśli nie podano akcji, to
opcje eksportu albo importu są wykonywane, a następnie jest
uruchamiana sesja interaktywna z otwarciem wybranej bazy.
**-i** , **--import=** *PLIK*
Importuje dane z *PLIKU* . Jeśli nie określono bazy danych, to
tworzona jest tymczasowa baza kasowana po zamknięciu programu.
Kiedy podany jest więcej niż jeden plik do importu, to każdy z
nich musi być poprzedzony flagą -i. Pliki są importowane w kole
jności podanej w linii poleceń, np.: -i PLIK1 -i PLIK2 oraz -i
PLIK2 -i PLIK1 mogą utworzyć inne identyfikatory (gramps ID) w
bazie wynikowej.
**-e** , **--export=** *PLIK*
Eksportuje dane do *PLIKU* . Dla formatu iso, PLIK natomiast nazwą
katalogu, do którego baza danych gramps zostanie zapisana. Dla
gramps-xml, gedcom, wft, gramps-pkg, oraz geneweb, PLIK jest
nazwą pliku wynikowego.
Kiedy więcej niż jeden plik wyjściowy jest podany, każdy musi
być poprzedzony flagą -e. Pliki będą zapisywane kolejno, w
podanej przez parametry kolejności.
**-a** , **--action=** *AKCJA*
Wykonuje AKCJĘ na zaimportowanych danych. Działanie to jest
wykonywane dopiero, gdy wszystkie określone importy zakończą się
powodzeniem. Aktualnie dostępne akcje to:
summary (taka sama jak Raporty->Wyświetl->Podsumowanie bazy
danych),
check (tożsama z Narzędzia->Naprawa bazy danych->Sprawdź i
napraw bazę),
report (generuje raport), oraz
tool (uruchamia narzędzie/wtyczkę). Zarówno report jak i tool
wymagają podania CIĄGU_OPCJI poprzedzonego flagą -p ).
CIĄG_OPCJI powinien spełniać następujące warunki:
Nie może zawierać spacji. Jeśli niektóre argumenty wymagają
spacji, ciąg powinien być enkapsulowany w znakach cudzysłowu,
(zobacz składnię powłoki). Ciąg opcji jest listą parametrów z
nazwą i wartością oddzielonymi znakiem równości. Kolejne parame
try muszą być oddzielone od siebie znakiem przecinka.
Większość opcji dla raportów czy narzędzi jest specyficzna dla
konkretnej opcji, jednak część z opcji jest wspólna, szczególnie
dla raportów.
**name=nazwa**
Opcja wymagana, określający który raport czy narzędzie będzie
uruchamiane. Jeśli podana wartość nazwy nie pasuje do żadnego
dostępnego raportu czy narzędzia, zostanie wyświetlony komunikat
o błędzie oraz lista dostępnych raportów albo opcji (w
zależności od wartości parametru AKCJA).
**show=all**
Wyświetla listę wszystkich nazw dostępnych opcji wraz z krótkim
opisem dla danego raportu albo narzędzia.
**show=nazwa_opcji**
Wyświetla opis funkcji udostępnianej przez daną nazwę_opcji, jak
również listę parametrów, które akceptuje dana opcja.
Używając powyższych opcji jesteś w stanie dowiedzieć się o
wszystkich możliwościach danego raportu.
Kiedy więcej niż jeden akcja wyjściowa jest podana, każda musi być
poprzedzona flagą -a. Akcje są wykonywane jedna po drugiej, w kole
jności w jakiej występują w linii poleceń.
**-d** , **--debug=** *NAZWA_LOGGERA*
Włącza logi debuggowania dla celów programistycznych i
testowych. Zobacz do kodu źródłowego po szczegóły.
**--version**
Wyświetla wersję programu i kończy działanie.
**Działanie**
Jeśli pierwszy argument nie rozpoczyna się znakiem myślnik, (nie jest
flagą), to gramps będzie próbował otworzyć plik podany przez pierwszy
argument, a następnie sesję interaktywną a pozostałą część parametrów w
linii poleceń zignoruje.
Jeśli podana jest flaga -O, będzie próbował otworzyć podaną bazę i pra
cować na danych w niej zawartych realizując podane później polecenia z
linii komend.
Z flagą -O czy bez, może występować wiele importów, eksportów oraz
akcji określonych za pomocą flag -i, -e, oraz -a .
Kolejność podawania opcji -i, -e, czy -a nie ma znaczenia. Wykonywane
są one zawsze w kolejności: wszystkie importy (jeśli podane) -> wszys
tkie akcje (jeśli podane) -> wszystkie eksporty (jeśli podane) Ale
otwarcie bazy zawsze musi być na pierwszym parametrem !
Jeśli nie podano opcji -O lub -i, gramps uruchomi swoje główne okno i
rozpocznie normalną sesję interaktywną z pustą bazą danych (ponieważ
nie zdołał przetworzyć do niej żadnych danych).
Jeśli nie podano opcji-e albo -a gramps uruchomi swoje głowne okno i
rozpocznie normalną sesję interaktywną z bazą będącą wynikiem wszyst
kich importów. Ta baza będzie znajdować się w pliku import_db.grdb w
katalogu ~/.gramps/import.
Błąd podczas importu, eksportu albo dowolnej akcji będzie przekierowany
na stdout (jeśli wyjątek zostanie obsłużony przez gramps) albo na
stderr (jeśli nie jest obsłużony). Użyj standardowych przekierowań
strumieni stdout oraz stderr jeśli chcesz zapisać wyświetlane informa
cje i błędy do pliku.
**PRZYKŁADY**
Aby otworzyć istniejące drzewo rodzinne i zaimportować dane do niego,
można wpisać:
gramps -O 'Moje drzewo' -i ~/db3.gramps
Powyższa opcja otwiera istniejące drzewo, ale gdy chcesz zrobić wykonać
taką samą akcję tworząc tymczasowe drzewo: wystarczy wpisać:
gramps -i 'Moje drzewo' -i ~/db3.gramps
Aby zaimportować cztery bazy (których formaty zostaną określone na pod
stawie ich nazw) i następnie sprawdić powstałą bazę pod kątem błędów,
należy wpisać:
gramps -i plik1.ged -i plik2.tgz -i ~/db3.gramps
-i plik4.wft -a check
Aby jawnie określić formaty w powyższym przykładzie, należy dodać nazwy
plików z odpowiednimi opcjami -f options:
gramps -i plik1.ged -f gedcom -i plik2.tgz -f gramps-pkg -i
~/db3.gramps -f gramps-xml -i plik4.wft -f wft -a check
Aby zachować bazę z wynikami wszystkich importów, należy dodać flagę -e
(należy użyć -f jeśli nazwa pliku nie pozwala gramps'owi na odgadnięcie
formatu wyjściowego):
gramps -i plik1.ged -i plik2.tgz -e ~/nowy-pakiet -f gramps-pkg
W celu zaimportwania trzech baz i rozpoczęcia sesji interaktywnej z
wynikiem importu należy użyć polecenia podobnego do poniższego:
gramps -i plik1.ged -i plik22.tgz -i ~/db3.gramps
Aby uruchomić narzędzie weryfikacji z linii poleceń i wyświetlić wyniki
na stdout:
gramps -O 'Moje drzewo' -a tool -p name=verify
Zawsze można też po prostu uruchomić sesję interaktywną wpisująć:
gramps
**ZMIENNE ŚRODOWISKOWE**
Program sprawdza w systemie istnienie i wartości następujących zmien
nych:
**LANG** - określa ustawienia, jaki język zostanie wybrany. Np.: polski to
pl_PL.UTF-8.
**GRAMPSHOME** - określa folder, w którym będzie zapisywane ustawienia i
bazy programu. Domyślnie jest on nieustawiony, a program przyjmuje, że
katalog z danymi zostanie utworzony w profilu użytkownika (zmienna HOME
pod Linuxem albo USERPROFILE pod Windows 2000/XP).
**KONCEPCJA**
Obsługa systemu rozszerzeń bazującego na pythonie, pozwalającego na
dodawanie formatów importu i eksportu zapisów, generatorów raportów,
narzędzi i filtrów wyświetlania bez modyfikowania głównego programu
Dodatkowo oprócz generowania standardowego wyjścia na drukarkę, raporty
mogą także być generowane dla innch systemów i do innych formatów,
takich jak: OpenOffice.org, AbiWord, HTML, lub LaTeX aby umożliwić
użytkownikm wybór formatu wyjściowego w zależności od ich potrzeb.
**ZNANE BŁĘDY I OGRANICZENIA**
Prawdopodobne. Lista błędów i propozycji znajduje się na:
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
**PLIKI**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps (jeśli nie użyta została zmienna środowiskowa GRAMP
SHOME)*
**AUTORZY**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Ta strona man jest tłumaczeniem strony man napisanej przez:
Brandon L. Griffith <brandon@debian.org>
dla systemu Debian GNU/Linux.
Ta strona aktualnie jest pod opeką:
Projekt Gramps<xxx@gramps-project.org>
Tłumaczenie na polski: Łukasz Rymarczyk <yenidai@poczta.onet.pl>
**DOCUMENTATION**
Dokumentacja użytkownika jest dostępna poprzez standardową przeglądarkę.
Dokumentacja dla programistów jest dostępna na stronie projektu:
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
January 2008 4.0.0 gramps(1)
-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 = 'pt_BR'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('pt_BR', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-325
View File
@@ -1,325 +0,0 @@
.TH gramps 1 "@VERSION@" "Janeiro de 2008" "@VERSION@"
.SH NOME
gramps \- Programa para pesquisa genealógica.
.SH RESUMO
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l ]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR BANCODEDADOS
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-i|\-\^\-import=
.IR ARQUIVO
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.IR ARQUIVO
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-a|\-\^\-action=
.IR AÇÃO ]
.RB [ \-p|\-\^\-options=
.IR OPÇÕES ]]
.RB [
.IR ARQUIVO
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH DESCRIÇÃO
.PP
\fIGramps\fP é um programa de genealogia livre e de código aberto. Ele é escrito
em Python e usa a interface GTK+/GNOME.
Gramps deve parecer familiar a qualquer pessoa que já tenha usado outro programa
de genealogia, tais como o \fIFamily Tree Maker (TM)\fR, \fIPersonal Ancestral
Files (TM)\fR, ou o GNU Geneweb.
Ele suporta a importação do formato GEDCOM, que é amplamente usado por quase
todos os outros programas de genealogia.
.SH OPÇÕES
.TP
.BI gramps " ARQUIVO"
Quando \fIARQUIVO\fR for indicado (sem qualquer outra opção) como um nome de
árvore genealógica ou como pasta do banco de dados, ela será aberta e iniciada
uma sessão interativa. Se ARQUIVO for um formato compreendido pelo Gramps, será
criada uma árvore genealógica vazia com o nome baseado no \fIARQUIVO\fP
e os dados são importados para ela. As demais opções serão ignoradas. Esta forma
de execução é apropriada para usar o Gramps como manipulador de dados genealógicos
em, por exemplo, navegadores Web. Este método aceita qualquer formato de dados
nativo do Gramps, conforme abaixo.
.br
.TP
.BI \-f,\-\^\-format= " FORMATO"
Indica expressamente o formato do \fIARQUIVO\fR, precedente das opções
.ig
\fB\-O\fR,
..
\fB\-i\fR ou
\fB\-e\fR. Se a opção \fB\-f\fR não for fornecida para um \fIARQUIVO\fR,
o formato será identificado de acordo com a sua extensão ou tipo MIME.
.br
Os formatos disponíveis para exportação são \fBgramps\-xml\fR (se o \fIARQUIVO\fR
terminar com \fB.gramps\fR), \fBgedcom\fR (se o \fIARQUIVO\fR terminar com \fB.ged\fR)
ou qualquer outro formato de arquivo disponível através do sistema de plugins do
Gramps.
.br
Os formatos disponíveis para importação são \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (se o \fIARQUIVO\fR terminar com \fB.gpkg\fR), e \fBgeneweb\fR
(se o \fIARQUIVO\fR terminar com \fB.gw\fR).
.br
Os formatos disponíveis para exportação são
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (se o \fIARQUIVO\fR terminar com \fB.wft\fR),
\fBgeneweb\fR, e \fBiso\fR (deve sempre ser indicado com a opção
\fB\-f\fR).
.TP
.BI \-l
Exibe uma lista com as árvores genealógicas conhecidas.
.TP
.BI \-u,\-\^\-force-unlock
Desbloqueia um banco de dados previamente bloqueado.
.TP
.BI \-O,\-\^\-open= " BANCODEDADOS"
Abre o \fIBANCODEDADOS\fR, que deve ser uma pasta de banco de dados ou um nome de árvore
genealógica existentes.
Se não forem indicadas opções de ação, importação ou exportação na linha de comando,
será iniciada uma sessão interativa usando este banco de dados.
.TP
.BI \-i,\-\^\-import= " ARQUIVO"
Importa os dados do \fIARQUIVO\fR. Se não for indicado um banco de dados, o Gramps usará
um arquivo temporário, que será excluído ao sair do programa.
.br
Quando mais de um arquivo de origem for indicado, cada um deles deve ser precedido da
opção \fB\-i\fR. Os arquivos são importados na ordem indicada, por exemplo,
\fB\-i\fR \fIARQUIVO1\fR \fB\-i\fR \fIARQUIVO2\fR
e \fB\-i\fR \fIARQUIVO2\fR \fB\-i\fR \fIARQUIVO1\fR poderá produzir diferentes gramps IDs
no banco de dados resultante.
.TP
.BI \-a,\-\^\-action= " AÇÃO"
Executa a \fIAÇÃO\fR nos dados importados. Isto será executado após a conclusão de todas
as importações. Até o momento, as ações disponíveis são \fBsummary\fR (o mesmo que
Relatórios->Exibir->Resumo),
\fBcheck\fR (o mesmo que Ferramentas->Processamento do banco de dados->Verificar e reparar),
\fBreport\fR (gera o relatório), e
\fBtool\fR (executa uma ferramenta de plugin).
Para o \fBreport\fR e \fBtool\fR é necessário fornecer \fIOPÇÕES\fR (com uso da opção
\fB\-p\fR).
.br
As \fIOPÇÕES\fR devem satisfazer as seguintes condições:
.br
Não podem conter espaços.
Se alguns argumentos precisam incluir espaços, a string deve
ser colocada entre aspas, ou seja, seguir a sintaxe do shell.
String de opção é uma lista de pares com o nome e o valor (separados por
sinal de igual). Os pares de nome e valor devem ser separados por vírgula.
.br
Muitas opções são específicas de cada relatório ou ferramenta.
Entretanto, algumas opções são comuns.
.BI "name=nome"
.br
Esta opção obrigatória determina qual relatório ou ferramenta será executado.
Se o \fInome\fR fornecido não corresponder a um relatório ou ferramenta, será
exibida uma mensagem de erro seguida de uma lista de relatórios e ferramentas
disponíveis (dependendo da \fIAÇÃO\fR).
.BI "show=all"
.br
Isto irá gerar uma lista com os nomes para todas as opções disponíveis de um determinado
relatório ou ferramenta.
.BI "show="nome_opção
.br
Isto irá exibir a descrição da funcionalidade indicada por \fInome_opção\fR, bem
como quais são os tipos aceitáveis e os valores para esta opção.
.br
Use as opções acima para descobrir
tudo sobre um determinado relatório.
.LP
Quando mais de uma ação de saída for indicada, cada uma deve ser precedida da opção
\fB\-a\fR. As ações são realizadas uma a uma, na ordem indicada.
.TP
.BI \-d,\-\^\-debug= " ARQUIVO_REGISTRO"
Ativa os registros para desenvolvimento e testes. Veja o código-fonte para mais detalhes.
.TP
.BI \-\^\-version
Exibe o número da versão do Gramps e finaliza.
\" altera de 0 para 1 para ativar a saída das opções OAF
.if 0 \{
.PP
As opções a seguir são usadas para ativação do Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Descritor do arquivo para exibir o OAF IOR em
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID para ativar
.TP
.BI \-\^\-oaf-private
Impedir o registro do servidor com OAF
\}
\" altera de 0 para 1 para ativar a saída das opções de som do Gnome
.if 0 \{
.PP
As opções a seguir são usadas para controlar o som usando a biblioteca do Gnome.
.TP
.BI \-\^\-disable-sound
Desativa o servidor de som
.TP
.BI \-\^\-enable-sound
Ativa o servidor de som
.TP
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Máquina:porta que o servidor de som utiliza para execução
\}
.SH "Operação"
.br
Se o primeiro argumento da linha de comando não começar com um traço (isto é,
sem uma opção), o Gramps tentará abrir o arquivo com o nome fornecido pelo primeiro
argumento e iniciar a sessão interativa, ignorando o resto dos argumentos da
linha de comando.
.LP
Se for fornecida a opção \fB\-O\fR, então o Gramps tentará abrir o banco de dados
indicado e trabalhar com estes dados, de acordo com as instruções dos parâmetros
adicionais da linha de comando.
.LP
Com ou sem a opção \fB\-O\fR, pode haver múltiplas importações, exportações e
ações indicadas pela linha de comando usando as opções \fB\-i\fR,
\fB\-e\fR e \fB\-a\fR.
.LP
A ordem das opções \fB\-i\fR, \fB\-e\fR ou \fB\-a\fR não importa. A ordem
utilizada será sempre esta: todas as importações (se existirem) -> todas
as ações (se existirem) -> todas as exportações (se existirem). Mas a abertura
deve estar sempre em primeiro lugar!
.LP
Se as opções \fB\-O\fR ou \fB\-i\fR não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão com um banco
de dados vazio, uma vez que não há nada a processar.
.LP
Se as opções \fB\-e\fR ou \fB\-a\fR não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão com um banco
de dados resultante de todas as importações. Este banco de dados está localizado
no arquivo \fBimport_db.grdb\fR da pasta \fB~/.gramps/import\fR.
.LP
Os erros encontrados durante a importação, exportação ou ação, serão direcionados
para \fIstdout\fR (se forem exceções tratadas pelo Gramps) ou para \fIstderr\fR
(se não forem tratadas). Use redirecionamentos usuais de \fIstdout\fR e
\fIstderr\fR do shell para salvar mensagens e erros em arquivos.
.SH EXEMPLOS
.TP
Abrir uma árvore genealógica existente e importar um arquivo xml para ela:
\fBgramps\fR \fB\-O\fR \fI'Minha árvore genealógica'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Fazer as mesmas alterações da árvore genealógica do comando anterior, mas importar a árvore genealógica temporária e iniciar uma sessão interativa:
\fBgramps\fR \fB\-i\fR \fI'Minha árvore genealógica'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Importar quatro bancos de dados (cujos formatos podem ser reconhecidos pelos nomes) e verificar a existência de erros no banco de dados resultante:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIarquivo4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Indicar de forma explícita os formatos do exemplo acima, atribuindo os nomes dos arquivos com as opções \fB\-f\fR apropriadas:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIarquivo4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Gravar o banco de dados resultante de todas as importações, indicando a opção \fB\-e\fR (use \fB\-f\fR se o nome do arquivo não permirtir que o gramps reconheça o formato automaticamente):
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-e\fR \fI~/novo-pacote\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Importar três bancos de dados e iniciar a sessão interativa do Gramps com o resultado:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Executar a ferramenta de verificação a partir da linha de comando e direcionar o resultado para stdout:
\fBgramps\fR \fB\-O\fR \fI'Minha árvore genealógica'\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
Finalmente, para iniciar uma sessão interativa normal, digite:
\fBgramps\fR
.SH VARIÁVEIS DE AMBIENTE
O programa verifica se estas variáveis de ambiente estão definidas:
\fBLANG\fR - identifica o idioma a ser usado.
Ex.: Para o idioma português do Brasil, a variável deve ser definida como pt_BR.UTF-8.
\fBGRAMPSHOME\fR - se definida, força o Gramps a usar a pasta indicada para armazenar
as configurações e os bancos de dados do programa. Por padrão, esta variável não é
definida e o Gramps assume que a pasta com todos os bancos de dados e configurações
do perfil devem ser criadas na pasta do usuário (descrita na variável de ambiente
HOME no Linux ou USERPROFILE no Windows 2000/XP).
.SH CONCEITOS
Suporta um sistema de plugins baseado em Python, permitindo acrescentar importações
e exportações adicionais, geradores de relatórios, ferramentas e filtros de exibição,
sem modificação do programa principal.
.LP
Além da impressão direta, é possível gerar relatórios em diversos formatos de
arquivo, tais como \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML ou LaTeX, para permitir
aos usuários a modificação de acordo com suas necessidades.
.SH LIMITAÇÕES E ERROS CONHECIDOS
.SH ARQUIVOS
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTORES
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Este manual foi originalmente escrito por:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
para inclusão na distribuição Debian GNU/Linux.
.LP
Este manual é atualmente mantido pelo:
.br
Projeto Gramps \fI<xxx@gramps-project.org>\fR
.br
.SH DOCUMENTAÇÃO
A documentação para usuários está disponível através da opção de ajuda padrão
do GNOME, na forma de Manual do Gramps. O Manual também está disponível no
formato XML como \fBgramps-manual.xml\fR em \fIdoc/gramps-manual/$LANG\fR
nas fontes oficiais da sua distribuição.
.LP
A documentação para desenvolvedores pode ser encontrada na página
\fIhttp://developers.gramps-project.org\fR.
.SH TRADUÇÃO
\&\fR\&\f(CWAndré Marcelo Alvarenga <andrealvarenga@gmx.net> em 05/08/2012\fR
-293
View File
@@ -1,293 +0,0 @@
Portuguese (Brazil)
===================
gramps(1) 4.0.0 gramps(1)
**NOME**
gramps - Programa para pesquisa genealógica.
**RESUMO**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= BANCODEDADOS [-f|--format= FORMATO]] [-i|--import= ARQUIVO
[-f|--format= FORMATO]] [-i|--import= ...] [-e|--export= ARQUIVO
[-f|--format= FORMATO]] [-a|--action= AÇÃO] [-p|--options= OPÇÕES]]
[ ARQUIVO ] [--version]
**DESCRIÇÃO**
Gramps é um programa de genealogia livre e de código aberto.
Ele é escrito em Python e usa a interface GTK+/GNOME.
Gramps deve parecer familiar a qualquer pessoa que já tenha usado
outro programa de genealogia, tais como o Family Tree Maker (TM),
Personal Ancestral Files (TM), ou o GNU Geneweb. Ele suporta a
importação do formato GEDCOM, que é amplamente usado por quase
todos os outros programas de genealogia.
**OPÇÕES**
**gramps** *ARQUIVO*
Quando *ARQUIVO* for indicado (sem qualquer outra opção) como um
nome de árvore genealógica ou como pasta do banco de dados,
ela será aberta e iniciada uma sessão interativa. Se *ARQUIVO* for
um formato compreendido pelo Gramps, será criada uma árvore
genealógica vazia com o nome baseado no ARQUIVO e os dados são
importados para ela. As demais opções serão ignoradas. Esta
forma de execução é apropriada para usar o Gramps como manipulador
de dados genealógicos em, por exemplo, navegadores Web. Este método
aceita qualquer formato de dados nativo do Gramps, conforme abaixo.
**-f** , **--format=** *FORMATO*
Indica expressamente o formato do *ARQUIVO*, precedente das opções
-i ou -e. Se a opção -f não for fornecida para um ARQUIVO, o
formato será identificado de acordo com a sua extensão ou tipo MIME.
Os formatos disponíveis para exportação são gramps-xml (se o ARQUIVO
terminar com .gramps), gedcom (se o ARQUIVO terminar com .ged) ou
qualquer outro formato de arquivo disponível através do sistema de
plugins do Gramps.
Os formatos disponíveis para importação são grdb, gramps-xml, gedcom,
gramps-pkg (se o ARQUIVO terminar com .gpkg), e geneweb
(se o ARQUIVO terminar com .gw).
Os formatos disponíveis para exportação são gramps-xml, gedcom,
gramps-pkg, wft (se o ARQUIVO terminar com .wft), geneweb.
**-l**
Exibe uma lista com as árvores genealógicas conhecidas.
**-u** , **--force-unlock**
Desbloqueia um banco de dados previamente bloqueado.
**-O** , **--open=** *BANCODEDADOS*
Abre o *BANCODEDADOS* , que deve ser uma pasta de banco de dados
ou um nome de árvore genealógica existentes. Se não forem indicadas
opções de ação, importação ou exportação na linha de comando,
será iniciada uma sessão interativa usando este banco de dados.
**-i** , **--import=** *ARQUIVO*
Importa os dados do ARQUIVO. Se não for indicado um banco de dados,
o Gramps usará um arquivo temporário, que será excluído ao sair
do programa.
Quando mais de um arquivo de origem for indicado, cada um deles
deve ser precedido da opção -i. Os arquivos são importados na ordem
indicada, por exemplo, -i ARQUIVO1 -i ARQUIVO2 e -i ARQUIVO2 -i
ARQUIVO1 poderá produzir diferentes gramps IDs no banco de dados
resultante.
**-a** , **--action=** *AÇÃO*
Executa a *AÇÃO* nos dados importados. Isto será executado após a
conclusão de todas as importações. Até o momento, as ações
disponíveis são summary (o mesmo que Relatórios->Exibir->Resumo),
check (o mesmo que Ferramentas->Processamento do banco de dados->
Verificar e reparar), report (gera o relatório), e tool (executa
uma ferramenta de plugin). Para o report e tool é necessário
fornecer OPÇÕES (com uso da opção -p).
As OPÇÕES devem satisfazer as seguintes condições:
Não podem conter espaços. Se alguns argumentos precisam incluir
espaços, a string deve ser colocada entre aspas, ou seja, seguir
a sintaxe do shell. String de opção é uma lista de pares com o
nome e o valor (separados por sinal de igual). Os pares de nome
e valor devem ser separados por vírgula.
Muitas opções são específicas de cada relatório ou ferramenta.
Entretanto, algumas opções são comuns.
**name=nome**
Esta opção obrigatória determina qual relatório ou ferramenta
será executado. Se o nome fornecido não corresponder a um
relatório ou ferramenta, será exibida uma mensagem de erro
seguida de uma lista de relatórios e ferramentas disponíveis
dependendo da AÇÃO).
**show=all**
Isto irá gerar uma lista com os nomes para todas as opções
disponíveis de um determinado relatório ou ferramenta.
**show=nome_opção**
Isto irá exibir a descrição da funcionalidade indicada por nome_opção,
bem como quais são os tipos aceitáveis e os valores para esta opção.
Use as opções acima para descobrir tudo sobre um determinado relatório.
Quando mais de uma ação de saída for indicada, cada uma deve ser
precedida da opção -a. As ações são realizadas uma a uma, na ordem
indicada.
**-d** , **--debug=** *ARQUIVO_REGISTRO*
Ativa os registros para desenvolvimento e testes. Veja o código-fonte
para mais detalhes.
**--version**
Exibe o número da versão do Gramps e finaliza.
 
**Operação**
Se o primeiro argumento da linha de comando não começar com um
traço (isto é, sem uma opção), o Gramps tentará abrir o arquivo
com o nome fornecido pelo primeiro argumento e iniciar a sessão
interativa, ignorando o resto dos argumentos da linha de comando.
Se for fornecida a opção -O, então o Gramps tentará abrir o banco
de dados indicado e trabalhar com estes dados, de acordo com as
instruções dos parâmetros adicionais da linha de comando.
Com ou sem a opção -O, pode haver múltiplas importações, exportações
e ações indicadas pela linha de comando usando as opções -i, -e e -a.
A ordem das opções -i, -e ou -a não importa. A ordem utilizada
será sempre esta: todas as importações (se existirem) -> todas
as ações (se existirem) -> todas as exportações (se existirem).
Mas a abertura deve estar sempre em primeiro lugar!
Se as opções -O ou -i não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão
com um banco de dados vazio, uma vez que não há nada a processar.
Se as opções -e ou -a não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão
com um banco de dados resultante de todas as importações. Este
banco de dados está localizado no arquivo import_db.grdb da
pasta ~/.gramps/import.
Os erros encontrados durante a importação, exportação ou ação,
serão direcionados para stdout (se forem exceções tratadas pelo
Gramps) ou para stderr (se não forem tratadas). Use redirecionamentos
usuais de stdout e stderr do shell para salvar mensagens e erros
em arquivos.
**EXEMPLOS**
Abrir uma árvore genealógica existente e importar um arquivo xml para
ela:
gramps -O 'Minha árvore genealógica' -i ~/db3.gramps
Fazer as mesmas alterações da árvore genealógica do comando anterior,
mas importar a árvore genealógica temporária e iniciar uma sessão
interativa:
gramps -i 'Minha árvore genealógica' -i ~/db3.gramps
Importar quatro bancos de dados (cujos formatos podem ser
reconhecidos pelos nomes) e verificar a existência de erros no
banco de dados resultante:
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps -i
arquivo4.wft -a check
Indicar de forma explícita os formatos do exemplo acima, atribuindo
os nomes dos arquivos com as opções -f apropriadas:
gramps -i arquivo1.ged -f gedcom -i arquivo2.tgz -f gramps-pkg
-i ~/db3.gramps -f gramps-xml -i arquivo4.wft -f wft -a check
Gravar o banco de dados resultante de todas as importações,
indicando a opção -e (use -f se o nome do arquivo não permirtir
que o gramps reconheça o formato automaticamente):
gramps -i arquivo1.ged -i arquivo2.tgz -e ~/novo-pacote -f gramps-pkg
Importar três bancos de dados e iniciar a sessão interativa do
Gramps com o resultado:
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps
Executar a ferramenta de verificação a partir da linha de
comando e direcionar o resultado para stdout:
gramps -O 'Minha árvore genealógica' -a tool -p name=verify
Finalmente, para iniciar uma sessão interativa normal, digite:
gramps
 
**VARIÁVEIS DE AMBIENTE**
O programa verifica se estas variáveis de ambiente estão definidas:
**LANG** - identifica o idioma a ser usado. Ex.: Para o idioma português do Brasil, a variável deve ser definida como pt_BR.UTF-8.
**GRAMPSHOME** - se definida, força o Gramps a usar a pasta indicada para armazenar as configurações e os bancos de dados do programa. Por padrão, esta variável não é definida e o Gramps assume que a pasta com todos os bancos de dados e configurações do perfil devem ser criadas na pasta do usuário (descrita na variável de ambiente HOME no Linux ou USERPROFILE no Windows 2000/XP).
**CONCEITOS**
Suporta um sistema de plugins baseado em Python, permitindo acrescentar
importações e exportações adicionais, geradores de relatórios,
ferramentas e filtros de exibição, sem modificação do programa principal.
Além da impressão direta, é possível gerar relatórios em diversos
formatos de arquivo, tais como OpenOffice.org, AbiWord, HTML ou
LaTeX, para permitir aos usuários a modificação de acordo com
suas necessidades.
**LIMITAÇÕES E ERROS CONHECIDOS**
*ARQUIVOS**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
*AUTORES*
Donald Allingham <don@gramps-project.org>
http://gramps.sourceforge.net
Este manual foi originalmente escrito por:
Brandon L. Griffith <brandon@debian.org>
para inclusão na distribuição Debian GNU/Linux.
Este manual é atualmente mantido pelo:
Projeto Gramps <xxx@gramps-project.org>
 
**DOCUMENTAÇÃO**
A documentação para usuários está disponível através da
opção de ajuda.
A documentação para desenvolvedores pode ser encontrada na
página http://developers.gramps-project.org.
**TRADUÇÃO**
André Marcelo Alvarenga <andrealvarenga@gmx.net> em 05/08/2012
January 2013 4.0.0 gramps(1)
+14
View File
@@ -0,0 +1,14 @@
# This is the data/man/sv level Makefile for Gramps
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/sv
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/sv/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
-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 = 'sv'
# General information about the project.
project = u'Gramps'
copyright = u'2015, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.2'
# The full version, including alpha/beta/rc tags.
release = '4.2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('sv', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
-281
View File
@@ -1,281 +0,0 @@
Swedish
=======
Gramps(1) 3.4.0 Gramps(1)
**NAMN**
Gramps - Genealogical Research and Analysis Management Programming Sys
tem.
**SAMMANFATTNING**
Gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= DATABAS [-f|--format= FORMAT]] [-i|--import= FIL [-f|--for
mat= FORMAT]] [-i|--import= ...] [-e|--export= FIL [-f|--format= FOR
MAT]] [-a|--action= ÅTGÄRD] [-p|--options= ALTERNATIVSTRÄNG]] [ FIL ]
[--version]
**BESKRIVNING**
Gramps är ett Free/OpenSource släktforskningsprogram. Det är skrivet i
Python, med hjälp av GTK+/GNOME gränssnittet. Gramps bör kännas bekant
för de flesta, som har använt andra släktforskningsprogram tidigare,
som Family Tree Maker (TM), Personal Ancestral Files (TM), DISGEN eller
GNU Geneweb. Det stöder import via det populära GEDCOM-formatet, som
används över hela världen av nästan all släktforskningsprogramvara.
**ALTERNATIV**
**Gramps** *FIL*
När *FIL* ges (utan några flaggor) som namn på ett familjeträd
eller som en mapp med familjeträd, så öppnas detta och en inter
aktiv session startas. Om FIL är en fil, vars format förstås av
Gramps, skapas ett tomt famljeträd, vars namn är grundat på nam
net FIL och vars data importeras till det. Resterande alterna
tiv ignoreras. Detta sätt att starta passar vid användning av
Gramps som en hanterare för släktforskningsdata i t. ex. en web-
läsare. Detta startsätt accepterar alla inbyggda dataformat för
Gramps, se nedan.
**-f** , **--format=** *FORMAT*
Uttryckligen specificera format på FIL givet av föregående -i
eller -e-alternativ. Om -f-alternativet inte ges för någon FIL,
gissas filformat för den filen utgående från dess filändelse
eller dess MIME-typ.
De format, som är tillgängliga för utmatnig, är Gramps-xml (gis
sas om FIL slutar på .Gramps), gedcom (gissas om FIL slutar med
.ged) eller någon filexport, som är tillgänglig via Gramps
tilläggsprogramsystem.
De format, som är tillgängliga för inmatnig, är grdb,
Gramps-xml, gedcom, Gramps-pkg (gissas om FIL slutar med .gpkg)
och geneweb (gissas om FIL slutar med .gw).
De format, som är tillgängliga för export är Gramps-xml, gedcom,
Gramps-pkg, wft (gissas om FIL slutar med .wft), geneweb och iso
(gissas aldrig, specificeras alltid med -f-alternativ).
**-l**
Listar alla databaser/familjeträd.
**-u** , **--force-unlock**
Tvingar upplåsning av databas.
**-O** , **--open=** *DATABAS*
Öppnar *DATABAS* , som måste vara en befitlig databasmapp eller ett
befintligt familjeträd. Om ingen åtgärd, import eller export-
alternativ anges på kommandoraden så startas en interaktiv ses
sion med den angivna databasen.
**-i** , **--import=** *FIL*
Importera data från FIL. Om du inte har specificerat en databas,
skapas en temporär sådan, som tas bort när Gramps avslutas.
Om mer är en indatafil anges, måste varje föregås av en -i-
flagga. Filerna importeras i den givna ordningen, t.ex. -i FIL1
-i FIL2 och -i FIL2 -i FIL1 kan skapa skilda Gramps IDs i den
resulterande databasen.
**-e** , **--export=** *FIL*
Exporterar data till *FIL* . För iso-format, är *FIL* i själva verket
namnet på den mapp, som Gramps databas kommer att skrivas till.
För Gramps-xml, gedcom, wft, Gramps-pkg och geneweb, är *FIL* nam
net på resultatfilen.
Om mer är en utdatafil anges, måste varje föregås av en -e-
flagga. Filerna skrivs en efter en i den givna ordningen.
**-a** , **--action=** *ÅTGÄRD*
Utför ÅTGÄRD på importerade data. Detta görs efter att all
import har avslutats felfritt. F. n. är följand åtgärder möjliga
summary (samma som Rapporter->Visa->Sammanfattning av
databasen) , check (samma som Verktyg->Reparera databas ->Kon
trollera och reparera) samt report ( skapar report, kräver
en *ALTERNATIVSTRÄNG* lämnad via **-p** flaggan ) .
*ALTERNATIVSTRÄNG* -en måste uppfylla följand villkor:
Får ej innehålla några mellanslag. Om några argument behöver
inbegripa mellanslag, måste strängen omslutas av anföring
stecken. Alternativsträngen är en lista med par av namn och
värden (åtskiljda av likhetstecken). Namn och värde måste
åtskiljas med komma.
De flesta rapportalternativ är unika för varje rapport eller
verktyg. Emellertid finns det gemensamm alternativ.
**name=rapportnamn**
Detta är obligatoriskt och bestämmer vilken rapport som skall
skapas. Om det givna namn inte motsvarar någon möjlig rapport
eller verktyg, kommer ett felmeddelande att skrivas ut, följt av
möjliga namn på rapporter eller verktyg.
**show=all**
Detta ger en lista med namn på alla möjliga alternativ för en
bestämd rapport eller verktyg.
**show=optionname**
Detta skriver ut beskrivningen av den funktion, som optionname
innebär, likväl vad som är godkända typer och värden för detta
alternativ.
Använd alternativen ovan för att ta reda på all om en viss rap
port.
Om mer än en utdataåtgärd givits måste varje föregås av en -a-flagga.
Åtgärderna utförs en och en i den givna turordningen.
**-d** , **--debug=** *LOGGER_NAME*
Kopplar på avlusningshjälpmedel för utveckling och tester. För
detaljer hänvisas till källkoder
**--version**
Skriver ur Gramps versionsnummer och avslutar
**Operation**
Om första argumentet på kommandoraden inte inledds med ett minustecken
(d. v. s. ingen flagga), kommer Gramps att försöka öppna den fil, vars
namn givits av det första argumentet samt påbörja en interaktiv session
utan att ta hänsyn till resten av argumenten på kommandoraden.
Om -O-flagga givits, kommer Gramps att försöka öppna den omnämnda
databasen och sedan arbeta med dess data, enligt ytterligare instruk
tioner på kommandoraden.
Med eller utan -Oflagga, kan det ske många importeringar, exporteringar
och åtgärder beskrivna ytterligare på kommanodraden genom att använda
-i-, -e- samt -a-flaggor.
Ordningen på -i-, -e- eller -a-alternativen spelar ingen roll. Den
gällande ordningen är alltid: all import (om någon) -> alla åtgärder
(om några) -> all export (om någon). Men öppning måste alltid ske
först!
Om inget -O- eller -i-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med en tom
databas, då hur som helst inget data finns att bearbeta.
Om inget -e- eller -a-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med den
databas, som blev resultet från all import. Denna databas återfinns i
import_db.grdb under ~/.Gramps/import-mappen.
De fel som inträffar under import, export eller vid åtgärder kommer
antingen att skrivas till stdout (om dessa avbrott hanteras av Gramps)
eller till stderr (om dessa inte hanteras). Använd vanliga skalkomman
don för att styra om stdout och stderr till att spara medelanden och
fel i filer.
**EXAMPEL**
För att öppna ett befintligt familjeträd och importera en xml-fil till
det, kan man skriva:
Gramps -O 'Mitt familjeträd' -i ~/db3.Gramps
Ovanstående ändrar det öppnade familjeträdet, för att göra samma sak,
men importera bägge till ett tillfälligt familjeträd och påbörja en
interaktiv session, kan man skriva:
Gramps -i 'My Family Tree' -i ~/db3.Gramps
För att importera fyra databaser (vars format kan avgöras av deras
namn) och sedan felkontrollera den resulterande databasen, kan man
skriva:
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps -i FIL4.wft -a
check
För att uttryckligen specificera formaten i examplet ovan, lägg till
filnamn med passande -f-alternativ:
Gramps -i FIL1.ged -f gedcom -i FIL2.tgz -f Gramps-pkg -i
~/db3.Gramps -f Gramps-xml -i FIL4.wft -f wft -a check
För att spara den databas, som är resultat av all import, ange -e-
flagga (använd -f om filnamnet inte tillåter Gramps att gissa dess for
mat):
Gramps -i FIL1.ged -i FIL2.tgz -e ~/new-package -f Gramps-pkg
För att importera tre databaser och påbörja en interaklive Gramps-ses
sion med importresultatet:
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps
För att köra verifieringsverktyget från kommandoraden och mata ut
resultatet till stdout:
Gramps -O file.grdb -a tool -p name=verify
Slutligen, för att påbörja en normal interaktiv session skriv bara:
Gramps
**BEGREPP**
Stöder ett python-baserat system för tilläggsprogram, som möjliggör att
import- och export-funktioner, rapportgeneratorer, verktyg samt vis
ningsfilter, kan komplettera Gramps utan ändringar i huvudprogrammet.
Förutom att skapa utskrift på skrivare direkt, kan rapportgeneratorer
ha andra målsystem som OpenOffice.org, AbiWord, HTML eller LaTeX så att
användaren kan tillåtas att ändra format för att passa behoven.
**KÄNDA FEL OCH BEGRÄNSNINGAR**
**FILER**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**FÖRFATTARE**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Denna man-sida skrevs ursprungligen av:
Brandon L. Griffith <brandon@debian.org>
till att ingå i Debians GNU/Linux-system.
Denna man-sida underhålls f. n. av:
Alex Roitman <shura@gramps-project.org>
Denna man-sida har översatts till svenska av:
Peter Landgren <peter.talken@telia.com>
**DOCUMENTATION**
Användardokumentationen är tillgänglig genom GNOME's standard hjälp-
bläddrare i form av Gramps-handboken. Handboken finns även i XML-format
som gramps-manual.xml under doc/gramps-manual/$LANG i den officiella
källdistributionen. Dock ej på svenska.
Utvecklingsdokumentationen kan hittas på
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
Januari 2013 4.0.0 Gramps(1)
-183
View File
@@ -1,183 +0,0 @@
#! /usr/bin/env python
#
# update_po - a gramps tool to update translations
#
# Copyright (C) 2006-2006 Kees Bakker
# Copyright (C) 2006 Brian Matherly
# Copyright (C) 2008 Stephen George
# Copyright (C) 2012
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
update_man.py for command line documentation.
Examples:
python update_man.py -t
Tests if 'sphinx' and 'python' are well configured.
"""
from __future__ import print_function
import os
import sys
from argparse import ArgumentParser
DOCUTILS = True
try:
import docutils.core, docutils.writers
except:
DOCUTILS = False
LANGUAGES = ['sv', 'nl', 'pl', 'cs', 'pt_BR', 'fr']
VERSION = '4.2.0'
DATE = ''
# You can set these variables from the command line.
SPHINXBUILD = 'sphinx-build'
if sys.platform == 'win32':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python.exe')
sphinxCmd = os.path.join(sys.prefix, 'bin', 'sphinx-build.exe')
elif sys.platform in ['linux2', 'darwin', 'cygwin']:
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
sphinxCmd = SPHINXBUILD
else:
print ("Update Man ERROR: unknown system, don't know sphinx, ... commands")
sys.exit(0)
def tests():
"""
Testing installed programs.
We made tests (-t flag) by displaying versions of tools if properly
installed. Cannot run all commands without 'sphinx' and 'python'.
"""
try:
print("\n=================='python'=============================\n")
os.system('''%(program)s -V''' % {'program': pythonCmd})
except:
print ('Please, install python')
try:
print("\n=================='Shpinx-build'=============================\n")
os.system('''%(program)s''' % {'program': sphinxCmd})
except:
print ('Please, install sphinx')
if not DOCUTILS:
print('\nNo docutils support, cannot use -m/--man and -o/--odt arguments.')
def main():
"""
The utility for handling documentation stuff.
What is need by Gramps, nothing more.
"""
parser = ArgumentParser(
description='This program aims to handle documentation'
' and realted translated versions.',
)
parser.add_argument("-t", "--test",
action="store_true", dest="test", default=True,
help="test if 'python' and 'sphinx' are properly installed")
parser.add_argument("-b", "--build",
action="store_true", dest="build", default=False,
help="build man documentation (via sphinx-build)")
parser.add_argument("-m", "--man",
action="store_true", dest="man", default=False,
help="build man documentation (via docutils)")
parser.add_argument("-o", "--odt",
action="store_true", dest="odt", default=False,
help="build odt documentation (via docutils)")
args = parser.parse_args()
if args.test:
tests()
if args.build:
build()
if args.man and DOCUTILS:
man()
if args.odt and DOCUTILS:
odt()
def build():
"""
Build documentation.
"""
# testing stage
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
os.system('''%(program)s -b htmlhelp . _build/htmlhelp''' % {'program': sphinxCmd})
if DOCUTILS:
os.system('''%(program)s -b man . .''' % {'program': sphinxCmd})
os.system('''%(program)s -b text . _build/text''' % {'program': sphinxCmd})
os.system('''%(program)s -b changes . _build/changes''' % {'program': sphinxCmd})
#os.system('''%(program)s -b linkcheck . _build/linkcheck''' % {'program': sphinxCmd})
os.system('''%(program)s -b gettext . _build/gettext''' % {'program': sphinxCmd})
for lang in LANGUAGES:
os.system('''%(program)s -b html -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
os.system('''%(program)s -b htmlhelp -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
if DOCUTILS:
os.system('''%(program)s -b man %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
os.system('''%(program)s -b text -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
# for update/migration
os.system('''%(program)s -b gettext -D language="%(lang)s" master_doc="%(lang)s" . _build/gettext/%(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
def man():
"""
man file generation via docutils (python)
from docutils.core import publish_cmdline, default_description
from docutils.writers import manpage
"""
os.system('''rst2man en.rst gramps.1''')
for lang in LANGUAGES:
os.system('''rst2man %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.1'''
% {'lang': lang})
def odt():
"""
odt file generation via docutils (python)
from docutils.core import publish_cmdline_to_binary, default_description
from docutils.writers.odf_odt import Writer, Reader
"""
os.system('''rst2odt en.rst gramps.odt''')
for lang in LANGUAGES:
os.system('''rst2odt %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.odt'''
% {'lang': lang})
if __name__ == "__main__":
main()
-21
View File
@@ -1,21 +0,0 @@
{% extends "admin/base.html" %}
{% load i18n %}
{% block title %}{{ title }} | Adminstration{% endblock %}
{% block branding %}
<h1 id="site-name">Administration</h1>
{% endblock %}
{% block nav-global %}
{% if user.is_staff %}
<style type="text/css">
.ml {margin:0 10px 10px;display:block;float:left}
</style>
<a href="/" clas="ml">Home</a>
<a href="/admin/" class="ml">Administration home</a>
<a href="/admin/auth/user/?is_active__exact=0" class="ml">New Users</a>
<a href="/admin/auth/user/" class="ml">All Users</a>
{% endif %}
{% endblock %}
-12
View File
@@ -1,12 +0,0 @@
{% load my_tags %}
{% filter breadcrumb %}
{% format "/browse|Browse" %}||
{% format "/%s/%s|%s" view args tviews %}
{% if object.gramps_id %}
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.gramps_id %}
{% else %}
{% if object.name %}
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.name %}
{% endif %}
{% endif %}
{% endfilter %}
-399
View File
@@ -1,399 +0,0 @@
{% load my_tags %}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>{% block title %}{{sitename}}{% endblock %}</title>
{% block meta %}
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="Gramps 3.2.0-0.SVN12859M http://gramps-project.org/" />
<meta name="author" content="" />
{% endblock %}
<link href="/images/ped24.ico" type="image/x-icon" rel="shortcut icon" />
{% block css %}
<link media="screen" href="/styles/css/{{css_theme}}" type="text/css" rel="stylesheet" />
<link media="print" href="/styles/css/Web_Print-Default.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="/styles/javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/styles/javascript/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="/styles/jhtmlarea/scripts/jHtmlArea-0.7.0.js"></script>
<link rel="Stylesheet" type="text/css" href="/styles/jhtmlarea/style/jHtmlArea.css" />
<script type="text/javascript" src="/styles/javascript/jquery.flexbox.min.js"></script>
<link type="text/css" rel="stylesheet" href="/styles/css/jquery.flexbox.css" />
{% endblock %}
<style type="text/css">
table td {
vertical-align: middle;
}
div.content {
background: none;
}
.content {
padding: 0px 0px 10px;
}
.browsecell {
display: block;
}
#subtitle {
font-weight: bold;
font-style: italic;
border-top: 1px solid;
}
td.ColumnAttribute {
text-align: right;
}
#error {
color: red;
}
{% if action == "edit" or action == "add" %}
{% else %}
#rowspace {
height: 3px;
}
#data {
border: 1px solid;
background-color: white;
color: brown;
}
{% endif %}
/* Component containers */
.ui-widget {
font-family: Georgia,serif;
font-size: small;
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
font-family: Georgia,serif;
font-size: small;
}
.ui-widget-content {
border: 1px solid #7D5925;
color: #7D5925;
float: left;
width: 98%;
}
.ui-widget-content a {
color: #7D5925;
}
.ui-widget-header {
color: #ffffff;
}
.ui-widget-header a {
color: #7D5925;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa;
opacity: .30;
}
.ui-widget-shadow {
margin: -8px 0 0 -8px;
padding: 8px;
opacity: .30;
-webkit-border-radius: 8px;
}
/* Interaction states */
.ui-state-default {
border: 1px solid #7D5925;
background: #FFF2C6;
font-weight: normal;
color: #7D5925;
outline: none;
}
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
color: #7D5925;
text-decoration: none;
outline: none;
}
.ui-state-hover, .ui-state-focus {
border: 1px solid #f5ad66;
background: #f5f0e5;
font-weight: normal;
color: #a46313;
outline: none;
}
.ui-state-hover a, .ui-state-hover a:hover {
color: #a46313;
text-decoration: none;
outline: none;
}
.ui-state-active {
border: 1px solid #7D5925;
background: #f4f0ec;
font-weight: normal;
color: #b85700;
outline: none;
}
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
color: #b85700;
outline: none;
text-decoration: none;
}
/* Interaction Cues */
.ui-state-highlight {
border: 1px solid #d9bb73;
background: #f5f5b5;
color: #060200;
}
.ui-state-highlight a {
color: #060200;
}
.ui-state-error {
border: 1px solid #f8893f;
background: #fee4bd;
color: #dd4e2c;
}
.ui-state-error a {
color: #dd4e2c;
}
.ui-state-error-text {
color: #dd4e2c;
}
.ui-state-disabled {
opacity: .35;
background-image: none;
}
.ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary {
opacity: .7;
font-weight: normal;
}
/* Tabs */
.ui-tabs {
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
list-style: none;
position: relative;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
position: relative;
float: left;
margin: .2em .2em -1px 0;
padding: 0;
}
.ui-tabs .ui-tabs-nav li a {
float: left;
text-decoration: none;
padding: .5em 1em;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected {
padding-bottom: 1px;
border-bottom-width: 0;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
cursor: text;
}
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
cursor: pointer;
} /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel {
padding: 1em 1.4em;
display: block;
border-width: 0;
background: none;
}
.ui-tabs .ui-tabs-hide {
display: none !important;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerId=0 ;
function clearTimer() {
if (timerId!=0) {
clearTimeout(timerId); timerId=0; }}
function startTimer() {
clearTimer(); timerId=setTimeout('timerId=0;hideMenus()',200);
}
function showMenu(menuNum) {
clearTimer(); hideMenus();
document.getElementById('menu_'+menuNum).style.display="";
}
function hideMenus() {
document.getElementById('menu_browse').style.display="none";
}
function hiLite(theOption) {
clearTimer();
document.getElementById('opt_'+theOption).style.background='#9090FF';
}
function unLite(theOption) {
startTimer();
document.getElementById('opt_'+theOption).style.background='#D0D0FF';
}
function optClick(theOption) {
document.location.href=theOption;
}
function setHasData(classname, value) {
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((" " + elems[i].className + " ").indexOf(" " + classname + " ") > -1) {
if (value) {
elems[i].style.fontWeight = "bold";
elems[i].style.fontStyle = "italic";
} else {
elems[i].style.fontWeight = "";
elems[i].style.fontStyle = "";
}
}
}
}
function setReturnValues() {
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if ((" " + elems[i].name + " ").indexOf("_return ") > -1) {
var pos = (" " + elems[i].name + " ").indexOf("_return ");
var s = elems[i].name.substring(0, pos - 1);
var v = document.getElementsByName(s)[0];
elems[i].value = v.value;
}
}
}
function buttonOver(button) {
button.style.backgroundColor = "white";
button.style.border = "1px solid gray";
}
function buttonOut(button) {
button.style.backgroundColor = "lightgray";
button.style.border = "1px solid lightgray";
}
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
.popupMenu {
// font-family : Verdana,Tahoma,Helvetica,sans-serif;
// font-size : 12px;
color : #111111;
position : absolute;
// top : 72px;
border : 1px;
padding : 3px;
z-index : 16;
background-color: #D0D0FF;
cursor : pointer; }
-->
</STYLE>
</head>
<body onclick="hideMenus()"
onload="if (document.getElementById('get_focus')) {document.getElementById('get_focus').focus();}"
>
<div id="header" style="padding-top: 1em; background-position:0px -32px;">
<h1 id="SiteTitle" style="margin-left: 0em;">{% block heading %}{{sitename}}{% endblock %}</h1>
</div>
<div class="wrapper" role="navigation" id="nav">
{% block navigation %}
<div class="container">
<ul class="menu" id="dropmenu">
<li {{ tview|currentSection:"home" }}><a href="/">Home</a></li>
{% for title in menu %}
{# (<Nice name>, /<path>/, <Model> | None, Need authentication ) #}
{% if title.3 %}
{% if user.is_authenticated %}
<li {{tview|currentSection:title.1 }}>
{% if title.1 %}
<a href="/{{title.1}}/">{{title.0}}</a>
</li>
{% else %}
<a href="/">{{title.0}}</a>
</li>
{% endif %}
{% else %}
{# don't show #}
{% endif %}
{% else %}
<li {{tview|currentSection:title.1 }}>
{% if title.1 %}
<a href="/{{title.1}}/"
onmouseover="showMenu('{{title.1}}')"
onmouseout="startTimer()"
style="cursor:pointer"
href="/browse/">{{title.0}}</a>
<DIV CLASS="popupMenu" ID="menu_browse" STYLE="display:none;">
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR ID="opt_person"><TD><A ONMOUSEOVER="hiLite('person')" ONMOUSEOUT="unLite('person')" ONCLICK="optClick('/person/')">People</A></TD></TR>
<TR ID="opt_family"><TD><A ONMOUSEOVER="hiLite('family')" ONMOUSEOUT="unLite('family')" ONCLICK="optClick('/family/')">Families</A></TD></TR>
<TR ID="opt_event"><TD><A ONMOUSEOVER="hiLite('event')" ONMOUSEOUT="unLite('event')" ONCLICK="optClick('/event/')">Events</A></TD></TR>
<TR ID="opt_note"><TD><A ONMOUSEOVER="hiLite('note')" ONMOUSEOUT="unLite('note')" ONCLICK="optClick('/note/')">Note</A></TD></TR>
<TR ID="opt_media"><TD><A ONMOUSEOVER="hiLite('media')" ONMOUSEOUT="unLite('media')" ONCLICK="optClick('/media/')">Media</A></TD></TR>
<TR ID="opt_citation"><TD><A ONMOUSEOVER="hiLite('citation')" ONMOUSEOUT="unLite('citation')" ONCLICK="optClick('/citation/')">Citations</A></TD></TR>
<TR ID="opt_source"><TD><A ONMOUSEOVER="hiLite('source')" ONMOUSEOUT="unLite('source')" ONCLICK="optClick('/source/')">Sources</A></TD></TR>
<TR ID="opt_place"><TD><A ONMOUSEOVER="hiLite('place')" ONMOUSEOUT="unLite('place')" ONCLICK="optClick('/place/')">Places</A></TD></TR>
<TR ID="opt_repository"><TD><A ONMOUSEOVER="hiLite('repsoitory')" ONMOUSEOUT="unLite('repository')" ONCLICK="optClick('/repository/')">Repository</A></TD></TR>
<TR ID="opt_tag"><TD><A ONMOUSEOVER="hiLite('tag')" ONMOUSEOUT="unLite('tag')" ONCLICK="optClick('/tag/')">Tags</A></TD></TR>
</TABLE>
</DIV>
</li>
{% else %}
<a href="/">{{title.0}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% if user.is_authenticated %}
{% if next %}
<li><a href="/logout/?next={{next}}">Logout</a></li>
{% else %}
<li><a href="/logout">Logout</a></li>
{% endif %}
{% if user.is_superuser %}
<li><a href="/admin">Admin</a></li>
{% endif %}
{% else %}
{% if next %}
<li><a href="/login/?next={{next}}">Login</a></li>
{% else %}
<li><a href="/login/">Login</a></li>
{% endif %}
{% endif %}
</ul>
{% endblock %}
</div>
</div>
<div class="grampsweb">
{% for message in messages %}
<font color="red">{{message}}</font><br/>
{% endfor %}
{% if message %}
<div id="system_message" class="{{ message_type }}">
<font color="red">{{message}}</font><br/>
</div>
{% endif %}
{% block content %}
{% endblock %}
<div class="content">
</div>
</div>
<div id="footer">
{% block footer %}
<p id="createdate">
<a href="http://www.gramps-project.org/wiki/index.php?title=Gramps-Connect">Gramps-Connect, version {{gramps_version}}</a>.
</p>
<p id="copyright">&copy; 2009-2015 <a href="http://www.gramps-project.org/">www.gramps-project.org</a>
</p>
{% endblock %}
</div>
</body>
</html>
-36
View File
@@ -1,36 +0,0 @@
<div class="pagination">
<span class="step-links">
<form method="post">{% csrf_token %}
<div id="alphanav" style="padding: 0pt 0 0pt 0;">
<ul>
{% ifequal page.number 1 %}
<li><input type="button" value="<<" disabled="disabled"></li>
{% else %}
<li><input type="button" value="<<" onclick="document.location.href='?page=1{{search_query}}'"></li>
{% endifequal %}
{% if page.has_previous %}
<li><input type="button" value="<" onclick="document.location.href='?page={{page.previous_page_number}}{{search_query}}'"></li>
{% else %}
<li><input type="button" value="<" disabled="disabled"></li>
{% endif %}
<span class="current">
<li>Page {{ page.number }} of {{ page.paginator.num_pages }}</li>
</span>
{% if page.has_next %}
<li><input type="button" value=">" onclick="document.location.href='?page={{page.next_page_number}}{{search_query}}'"></li>
{% else %}
<li><input type="button" value=">" disabled="disabled"></li>
{% endif %}
{% ifequal page.number page.paginator.num_pages %}
<li><input type="button" value=">>" disabled="disabled"></li>
{% else %}
<li><input type="button" value=">>" onclick="document.location.href='?page={{page.paginator.num_pages}}{{search_query}}'"></li>
{% endifequal %}
<b>Matches</b>: {{page.paginator.count}}/{{total}} <b>Showing</b>: {{results_this_page}}
</ul>
</div>
</span>
</div>
-51
View File
@@ -1,51 +0,0 @@
{% extends "view_page_detail.html" %}
{% load my_tags %}
{% block content %}
<script type="text/javascript">
$(function(){
$('#tabs').tabs({
'select': function(event, ui){
document.location.hash = ui.panel.id;
}
});
});
</script>
<div class="content" id="IndividualDetail">
{% include "detail_breadcrumb.html" %}
<div id="summaryarea">
<table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %}
<tbody>
{% if pickform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{pickform.errors}}</div>
<hr>
{% endif %}
<form method="post">{% csrf_token %}
<tr>
<td class="ColumnAttribute">Pick:</td>
{% if user.is_authenticated %}
<td class="ColumnValue" id="data">{{pickform.picklist}}</td>
{% else %}
<td class="ColumnValue" id="data"></td>
{% endif %}
</tr>
</tbody>
</table>
{% if user.is_superuser %}
{% make_button "Cancel" "/%s/%s" object_type object_handle args %}
<input type="hidden" name="action" value="save-share"/>
<input type="hidden" name="search" value="{{search}}"/>
<input type="hidden" name="page" value="{{page}}"/>
<input type="submit" value="Save"/>
{% else %}
{% endif %}
</form>
{% endblock %}
-34
View File
@@ -1,34 +0,0 @@
{% extends "view_page_detail.html" %}
{% load my_tags %}
{% block content %}
<div class="content" id="IndividualDetail">
{% include "detail_breadcrumb.html" %}
<h2>Temporary Reference Detail</h2>
<div id="summaryarea">
<table class="infolist" style="width:90%;">
<trbody>
{% if form.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{form.errors}}</div>
<hr>
{% endif %}
<form method="post">{% csrf_token %}
{% for f in form.forms %}
<tr>
{{f}}
</tr>
{% endfor %}
</table>
</div>
</div>
</form>
{% make_button "Go to reference" url %}
{% make_button "Go back" referenced_by %}
{% endblock %}
-47
View File
@@ -1,47 +0,0 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}{{sitename}} - user page {% endblock %}
{% block heading %}{{sitename}} - user page {% endblock %}
{% block content %}
<p id="description">Details for <b>{{user.first_name}} {{user.last_name}}</b> ({{user.username}}):</p>
<p id="description">
<table>
<tr>
<td width="30%">User name: </td><td><em>{{user.username}}</em></td>
</tr>
<tr>
<td>Email: </td><td><a href="mailto:{{user.email}}"><em>{{user.email}}</a></em></td>
</tr>
<tr>
<td>Type: </td>
<td>
{% if user.is_superuser %}
<em>Administrator</em>
{% else %}
<em>User</em>
{% endif %}
</td>
</tr>
<tr>
<td>Last login: </td><td><em>{{user.last_login}}</em></td>
</tr>
</table>
{% if user.is_superuser %}
{% make_button "Edit Profile" "/admin/grampsdb/profile/%s" user.id %}
{% make_button "Edit User" "/admin/auth/user/%s" user.id %}
{% else %}
<em>User</em>
{% endif %}
</p>
{% endblock %}
-179
View File
@@ -1,179 +0,0 @@
{% extends "view_page_detail.html" %}
{% load my_tags %}
{% block content %}
<script type="text/javascript">
$(function(){
$('#tabs').tabs({
'select': function(event, ui){
document.location.hash = ui.panel.id;
}
});
$('#shared-tabs').tabs({
'select': function(event, ui){
document.location.hash = ui.panel.id;
}
});
});
</script>
<div class="content" id="IndividualDetail">
{% include "detail_breadcrumb.html" %}
{% if citationform.errors or sourceform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{citationform.errors}}</div>
<div id="error">{{sourceform.errors}}</div>
<hr>
{% endif %}
<form method="post">{% csrf_token %}
<!-- Tabs -->
<h2>Citation information</h2>
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs" style="border: none;">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a class="tab-general" href="#tab-general">General</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-notes" href="#tab-notes">Note</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-media" href="#tab-media">Media</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-data" href="#tab-data">Data</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-references" href="#tab-references">Reference</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-history" href="#tab-history">History</a></li>
</ul>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tab-general" style="background-color: #f4f0ec;">
<table class="infolist" style="width:90%;">
<tr>
<td class="ColumnAttribute">{{citationform.text.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.text user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{citationform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data"> {% render citationform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{citationform.private.label}}:</td>
<td class="ColumnValue" id="data"> {% render citationform.private user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{citationform.page.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.page user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{citationform.confidence.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render citationform.confidence user action %}</td>
</tr>
</table>
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table citation user action "/note/$act/citation/%s" citation.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-media" style="background-color: #f4f0ec;">
{% media_table citation user action "/media/$act/citation/%s" citation.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-data" style="background-color: #f4f0ec;">
{% data_table citation user action "/data/$act/citation/%s" citation.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-references" style="background-color: #f4f0ec;">
{% citation_reference_table citation user action %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-history" style="background-color: #f4f0ec;">
{% history_table citation user action %}
</div>
</div>
<p>Note: Any changes in the shared citation information will be reflected
in the citation itself, for all items that reference the citation.
</p>
<hr>
<h2>Source information (shared)</h2>
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="shared-tabs" style="border: none;">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a class="tab-shared-general" href="#tab-shared-general">General</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-shared-notes" href="#tab-shared-notes">Notes</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-shared-media" href="#tab-shared-media">Media</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-shared-repositories" href="#tab-shared-repositories">Repositories</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-shared-references" href="#tab-shared-references">References</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-shared-history" href="#tab-shared-history">History</a></li>
</ul>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tab-shared-general" style="background-color: #f4f0ec;">
<table class="infolist" style="width:90%;">
<tr>
<td class="ColumnAttribute">{{sourceform.title.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.title user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{sourceform.author.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.author user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{sourceform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data"> {% render sourceform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{sourceform.private.label}}:</td>
<td class="ColumnValue" id="data"> {% render sourceform.private user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{sourceform.abbrev.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.abbrev user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{sourceform.pubinfo.label}}:</td>
<td class="ColumnValue" id="data" colspan="3"> {% render sourceform.pubinfo user action %}</td>
</tr>
</table>
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-notes" style="background-color: #f4f0ec;">
{% note_table source user action "/note/$act/source/%s" source.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-media" style="background-color: #f4f0ec;">
{% media_table source user action "/media/$act/source/%s" source.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-repositories" style="background-color: #f4f0ec;">
{% repository_table source user action "/repository/$act/source/%s" source.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-references" style="background-color: #f4f0ec;">
{% citation_reference_table source user action %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-shared-history" style="background-color: #f4f0ec;">
{% history_table source user action %}
</div>
</div>
<p>Note: Any changes in the shared source information will be reflected
in the source itself, for all items that reference the source.
</p>
<hr>
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/citation/%s" citation.handle args %}
<input type="hidden" name="action" value="save"/>
<input type="hidden" name="search" value="{{search}}"/>
<input type="hidden" name="page" value="{{page}}"/>
<input type="submit" value="Save"/>
{% else %}
{% ifequal action "add" %}
{% make_button "Cancel" "/citation/" args %}
<input type="hidden" name="action" value="create"/>
<input type="hidden" name="search" value="{{search}}"/>
<input type="hidden" name="page" value="{{page}}"/>
<input type="submit" value="Create"/>
{% else %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px; clear: both;">
{% make_button "+Add Citation" "/citation/add" args %}
{% make_button "?Edit Citation" "/citation/%s/edit" citation.handle args %}
{% make_button "-Delete Citation" "/citation/%s/delete" citation.handle args %}
</div>
{% endifequal %}
{% endif %}
{% else %}
{% endif %}
</form>
{% endblock %}

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