Compare commits

...

1241 Commits

Author SHA1 Message Date
Jérôme Rapinat d080d15352 ready for alpha3
svn: r20964
2013-01-03 18:20:37 +00:00
Jérôme Rapinat f3c4314a89 new strings added for alpha3
svn: r20963
2013-01-03 18:15:08 +00:00
Jérôme Rapinat 2284694530 typo
svn: r20962
2013-01-03 17:48:03 +00:00
Benny Malengier 15edee3a26 support for upgrade of database on python3
svn: r20960
2013-01-03 15:33:50 +00:00
Benny Malengier d0e698ffac note model with wrong tag handle, gracefully continue
svn: r20958
2013-01-03 15:09:18 +00:00
Benny Malengier addfaa933f FIX MAJOR ERROR blocking upgrade of old family trees !
svn: r20956
2013-01-03 11:26:13 +00:00
Benny Malengier e2fc32c4c0 Fix exec problem in python 2 after previous change
svn: r20954
2013-01-03 11:19:05 +00:00
Mirko Leonhäuser 46e8d865b1 updated german translation
svn: r20953
2013-01-03 11:18:16 +00:00
Benny Malengier c208b91184 Recover gracefully from some errors in python3
svn: r20950
2013-01-03 10:28:51 +00:00
Benny Malengier ab6342af70 6258: Error during start of Gramps for certain LANG values
svn: r20948
2013-01-03 09:50:36 +00:00
Doug Blank 715ddbbab3 6274: Tried to use Charts View and receive 'NameError: global name 'gen' is not defined'
svn: r20947
2013-01-03 05:41:28 +00:00
Erik De Richter cc936c589b updated dutch translation
svn: r20945
2013-01-03 00:04:42 +00:00
Doug Blank f554ffd57d URL for Welcome Gramplet was still pointing to 3.3 manual
svn: r20942
2013-01-02 20:26:23 +00:00
John Ralls 46e9edaf59 [r20933]Bug 6268: Fix check_po for python3
svn: r20940
2013-01-02 17:27:39 +00:00
Doug Blank 29620a31ef 6249: Please, add a tag when importing. Adds preference, and tag on import for CSV, XML, and GEDCOM. Cleaned up preferences, and added 'GEDCOM' to add source on import text.
svn: r20939
2013-01-02 07:12:22 +00:00
Doug Blank ca2fd738d0 Wait for report to exist before trying to download
svn: r20937
2013-01-02 03:20:16 +00:00
Doug Blank 821caa8a5f 4719: Narweb Privacy issue, probably_alive uses spouse birth/death directly
svn: r20936
2013-01-02 03:02:25 +00:00
Doug Blank 3a45e70f54 New URL for gramps-addons
svn: r20931
2013-01-01 20:08:45 +00:00
Erik De Richter 89f6c7d83e updated dutch translation
svn: r20928
2013-01-01 16:45:31 +00:00
Benny Malengier ca73e01512 6266: loading plugin manager gives error
svn: r20926
2013-01-01 16:28:47 +00:00
Benny Malengier bfcecc646d 6265: can not make back up
svn: r20923
2013-01-01 11:15:45 +00:00
Jérôme Rapinat 77f9760504 6203: typo when interrupting a gramplet
svn: r20920
2013-01-01 07:15:23 +00:00
Doug Blank 3a93d03a4a Two different types of selection data
svn: r20918
2012-12-31 20:55:52 +00:00
Doug Blank 03851db458 Changes for gtk3 clipboard to work
svn: r20913
2012-12-31 18:57:02 +00:00
Nick Hall 9f87dfd54b Improve check to prevent overwriting const.py
svn: r20911
2012-12-31 18:18:20 +00:00
Benny Malengier 711e25e5bb 6258: Error during start of Gramps for certain LANG values
svn: r20908
2012-12-31 15:00:35 +00:00
Doug Blank f1eecb349d Add timestamp to downloads
svn: r20907
2012-12-31 14:58:45 +00:00
Jérôme Rapinat 04baa6b50f 6112: use get_indices method on TreePath for "old" Gtk version (e.g, 3.6.1)
svn: r20903
2012-12-31 13:39:32 +00:00
Jérôme Rapinat c18d73ea8f update translation template
svn: r20901
2012-12-31 09:59:59 +00:00
Jérôme Rapinat 671f64c08c update NEWS and RELEASE_NOTES files, update ChangeLog (no revision)
svn: r20900
2012-12-31 09:48:50 +00:00
Jérôme Rapinat b9cd27550f Fix structure of build directory for locale files (merged from trunk; changes by Nick.H), road to alpha2
svn: r20899
2012-12-31 09:44:49 +00:00
Benny Malengier 8b26f688cb 6205: Gtk.CALENDAR needs a migration to new GI/GTK3 API
svn: r20896
2012-12-30 23:20:31 +00:00
Doug Blank e41c6db70d Added addons-url to config and Preferences; currently set to invalid URL, but will update in a couple of days when new addons URL comes on-line
svn: r20895
2012-12-30 22:00:58 +00:00
Benny Malengier fdcc02d1bd Fix divisionbyzero in python3
svn: r20888
2012-12-30 17:32:22 +00:00
Benny Malengier f4f5104b72 6205: Gtk.CALENDAR needs a migration to new GI/GTK3 API
Also: don't expand the calendar more than needed to show it.


svn: r20884
2012-12-30 15:41:54 +00:00
Jérôme Rapinat 0caf61b805 avoid specific case with decimal comparison
svn: r20882
2012-12-30 15:28:48 +00:00
Benny Malengier c46a66ecd1 More version strings
svn: r20880
2012-12-30 15:14:40 +00:00
Jérôme Rapinat 35d553b4eb typo
svn: r20879
2012-12-30 10:05:42 +00:00
Erik De Richter 8bc6d475d9 updated dutch translation
svn: r20877
2012-12-29 22:11:31 +00:00
Gary Burton b5fec9d1a3 Set the correct number of update callbacks. Bug #6219.
svn: r20875
2012-12-29 17:20:47 +00:00
Benny Malengier 1a5c516179 6112: Cannot install addons via dialog
svn: r20869
2012-12-28 20:33:01 +00:00
Benny Malengier 054d29612c 6208: Cannot iterate on attributes when trying to paginate via cairodoc
At same time, fix deprecated cairocontext


svn: r20863
2012-12-28 17:21:28 +00:00
Erik De Richter ad066ba200 updated dutch translation
svn: r20862
2012-12-28 16:51:41 +00:00
Benny Malengier ffb3b1e232 6123: Index into undohistory, correct fail on older gobject
svn: r20859
2012-12-28 13:01:28 +00:00
Benny Malengier 76c896f977 Improve hover handling on displaytabs
svn: r20858
2012-12-28 10:27:38 +00:00
Jérôme Rapinat 5e00312139 spacing, tab (fr) and paths for files (en, fr)
svn: r20855
2012-12-28 09:41:22 +00:00
Benny Malengier c7ad3f3295 correct wrong function call
svn: r20851
2012-12-27 17:50:58 +00:00
Mirko Leonhäuser 11723ffd8c updated german translation
svn: r20850
2012-12-27 12:13:26 +00:00
Benny Malengier cb9bebee1e Fix crash on callback after clean_up in gallerytab
svn: r20848
2012-12-26 23:18:50 +00:00
Benny Malengier a9ac56b33c bug 1772: follow cursor to completely resolve bug
svn: r20846
2012-12-26 22:39:40 +00:00
Benny Malengier 19038fab93 bug 1772, correct event handling
svn: r20844
2012-12-26 22:22:07 +00:00
Benny Malengier fd13311aa0 1. context menu on displaytabs showing
2. partially do bug 1772


svn: r20842
2012-12-26 22:15:03 +00:00
Benny Malengier ec0b9fb54b 1567: beautify Relation Ship Graph, remove - if no date of birth or death
svn: r20840
2012-12-26 18:19:17 +00:00
Benny Malengier 8b94955772 GTK3 conversion in tools
svn: r20838
2012-12-24 12:35:40 +00:00
Erik De Richter 9a229466fd updated dutch translation
svn: r20837
2012-12-24 08:16:52 +00:00
Benny Malengier 647c9cfef5 rows_reoredered patch not yet in GTK
svn: r20833
2012-12-23 14:07:16 +00:00
Fedik 29443339cb small translation and uptades
svn: r20832
2012-12-23 14:05:35 +00:00
Erik De Richter f4f2747c65 updated dutch translation
svn: r20830
2012-12-23 08:11:31 +00:00
John Ralls ba7913fe3c Restore include to git.gnome.org
svn: r20828
2012-12-23 02:20:13 +00:00
John Ralls 5526f64e1f Mods for Gtk3, Gramps 4.0.0
svn: r20827
2012-12-23 02:17:31 +00:00
Jérôme Rapinat 0a17eab461 spacing, tab (fr) and VERSION (en, fr)
svn: r20825
2012-12-22 19:48:21 +00:00
Jérôme Rapinat fcce312e0a update used paths and gramps versions
svn: r20823
2012-12-22 17:51:22 +00:00
Benny Malengier 4ed2b0bace Convert validated masked entry to normal gtk.entry with icon
Working background color change on error


svn: r20821
2012-12-22 13:24:21 +00:00
Benny Malengier 759075b3e4 rows_reordered is present again in GTK 3.8
svn: r20820
2012-12-22 09:24:00 +00:00
Erik De Richter 7f4956dd00 updated dutch translation
svn: r20818
2012-12-21 19:59:12 +00:00
Doug Blank e1ab03348e Someone optimized some code incorrectly; lines at bottom of calendar where placed off the page
svn: r20816
2012-12-21 18:57:32 +00:00
Doug Blank 2033fd6567 If you try to lookup an object too early, you might find that the tbl is still a dict; this protects such early lookups from crashing
svn: r20814
2012-12-21 18:34:44 +00:00
Jérôme Rapinat 7c6872c11a alpha1 environment, what should be the VERSION into gen/const.py.in ?
svn: r20810
2012-12-21 14:15:45 +00:00
Jérôme Rapinat 71f87a31b3 update content for 4.0.0-alpha1
svn: r20809
2012-12-21 14:09:38 +00:00
Jérôme Rapinat eb2ca43ff6 avoid fatal errors on norwegian bokmål translation, string status to fuzzy before review
svn: r20808
2012-12-21 13:47:14 +00:00
Jérôme Rapinat 71b951f31d avoid fatal errors on swedish translation, string status to fuzzy before review
svn: r20807
2012-12-21 13:38:45 +00:00
Jérôme Rapinat a542081e25 test update and merge processes with the french translation file
svn: r20806
2012-12-21 13:26:33 +00:00
Jérôme Rapinat 5b8da49bae do not need to check untranslated and fuzzy strings because they have not been reviewed yet; warning this script uses tab for the bloc indentation...
svn: r20804
2012-12-20 17:41:09 +00:00
Benny Malengier 4d7e1043ef On translation error, allow build to continue after asking user
svn: r20802
2012-12-20 16:40:23 +00:00
Jérôme Rapinat 2040716b9c common date handler for Norwegian Bokmål and Norwegian Nynorsk
svn: r20801
2012-12-20 14:16:30 +00:00
Brian Matherly 8a3a477ea4 Create 4.0 branch
svn: r20798
2012-12-20 13:31:33 +00:00
Benny Malengier d682510c42 6227: libhtml handles strings differently in python2.x and python3.x
svn: r20796
2012-12-19 09:42:52 +00:00
Tim G L Lyons 55d9ef2dbf 0006009: 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

svn: r20795
2012-12-18 22:55:56 +00:00
Benny Malengier eb52e2f3de 6224: Can't select with ot without media when taking backup
svn: r20793
2012-12-18 16:22:26 +00:00
Benny Malengier f39e82c9b3 6215: Descendant Fanchart error on duplicate children
svn: r20792
2012-12-18 15:01:50 +00:00
Benny Malengier ef023ffdb3 6227: libhtml handles strings differently in python2.x and python3.x
svn: r20791
2012-12-18 14:05:46 +00:00
Benny Malengier 0e01b5919e 6231: WARNING: configmanager.py: line 309: WARNING: ignoring key with wrong type
'behavior.autoload'


svn: r20789
2012-12-18 11:50:02 +00:00
Benny Malengier 100eeec905 fix wrong print_exc usage, see bug 6223
svn: r20788
2012-12-18 11:17:47 +00:00
Benny Malengier 0f35aa4aa3 update readme for correct gtkspell support
svn: r20787
2012-12-18 11:11:36 +00:00
Benny Malengier aa5e2f0847 python 3 support, keys should be list if we want to iterate and delete
svn: r20786
2012-12-18 10:49:09 +00:00
Doug Blank f90198e0c2 Template for webapp admin HTML header
svn: r20785
2012-12-16 14:34:17 +00:00
Jérôme Rapinat e5beb28b0c import Pango before Gtk, or some things start to go wrong in GTK3 (see gramps/gui/grampsgui.py)
svn: r20784
2012-12-15 09:59:49 +00:00
Jérôme Rapinat 3c285ad02e 5621: better named_arguments for Bidirectional Text support and when more than one argument into string
svn: r20783
2012-12-15 09:46:18 +00:00
Jérôme Rapinat c2443c74d4 update and add more comments
svn: r20782
2012-12-13 20:43:32 +00:00
Nick Hall dbd8edaae6 Add .gitignore file
svn: r20781
2012-12-13 14:05:30 +00:00
Espen Berg fb55907dc3 Committed the latest revisions of nn.po and nb.po from branches/maintenance/gramps34 as a replacement from nothing...
svn: r20779
2012-12-10 20:06:50 +00:00
Tim G L Lyons dfcfacfaec A couple more work arounds for bug 6227
svn: r20776
2012-12-09 17:59:28 +00:00
Tim G L Lyons de4953f090 Various fixes for python 3 and for typos.
* internal table changed to use zero for unknown birthdates
* codecs.EncodedFile removed as I couldn't get it to work
* work around for  self.database.iter under python 3 returns (binary) data rather than text
* work around for bug 6227
* various typos when latest gramps34 was merged in.

svn: r20775
2012-12-09 17:38:10 +00:00
Tim G L Lyons d21eae52e1 patch to get reload to work in trunk
svn: r20774
2012-12-07 18:57:54 +00:00
Doug Blank 096694439e Added note reference controls (order, delete, edit ref); working on infrastructure to add notes to names, etc.
svn: r20773
2012-12-07 12:28:02 +00:00
Tim G L Lyons 8203d2f49f fixed problem that bibliography ignores media attached to citations, so if that is the only 'interesting' thing about the citation, the citation media is not output
svn: r20772
2012-12-05 22:56:53 +00:00
Tim G L Lyons 7802b0a43b * Removed a lot of redundant code and parameters (mainly connected with the old way of determining the objects to be included in the report).
* Moved routines for calculating objects to be output so they can be part of default list building classes.

* 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" and "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)

svn: r20769
2012-12-05 19:34:20 +00:00
Doug Blank 84ee7c8ff8 Changes for Django 1.4; should now be updated from gramps35
svn: r20766
2012-12-05 02:34:05 +00:00
Jérôme Rapinat 159d683ed7 sphinx needs docutils libs for man file generation; typo on french version
svn: r20765
2012-12-04 08:51:01 +00:00
Jérôme Rapinat d6b6d09577 5621: test for docutils
svn: r20764
2012-12-03 18:48:03 +00:00
Jérôme Rapinat bb7470e604 5621: add quick samples of odt and man files generation via docutils
svn: r20763
2012-12-03 18:19:39 +00:00
Jérôme Rapinat 81172d0c95 specific import path for Date Editor
svn: r20762
2012-12-03 15:39:03 +00:00
Jérôme Rapinat 79ed692aa5 specific import path for generating GUI section
svn: r20761
2012-12-03 15:15:42 +00:00
Jérôme Rapinat fe0d77ee77 5621: start to use markups and update formating
svn: r20760
2012-12-03 10:38:24 +00:00
Jérôme Rapinat eb4544e16c 5621: start to use markups
svn: r20759
2012-12-03 09:59:21 +00:00
Jérôme Rapinat 2a100e8a8d 5621: start to use markups
svn: r20758
2012-12-03 09:49:41 +00:00
Jérôme Rapinat 66988f0d3f 5621: typo on french files
svn: r20757
2012-12-03 09:31:19 +00:00
Jérôme Rapinat 7c7efb4db5 5621: encoding and non-ASCII characters for Portuguese
svn: r20756
2012-12-03 09:09:35 +00:00
Nick Hall 987701c5fc Fix bug in undo history dialog
svn: r20755
2012-12-03 00:49:51 +00:00
Nick Hall 222f7bc1c8 Fix error when returning path of top level node
svn: r20753
2012-12-02 23:32:36 +00:00
Nick Hall 3dd5c5976d Bug fix
svn: r20752
2012-12-02 21:24:37 +00:00
Nick Hall b0d607dcd5 python3 fix
svn: r20751
2012-12-02 21:21:39 +00:00
Jérôme Rapinat 8a1995be75 only use one -letter as flag (3 characters) when use choice list; sys.argv[2:] issue
svn: r20749
2012-12-02 17:39:25 +00:00
Jérôme Rapinat 01676a58a4 only use one -letter as flag (3 characters) when use choice list; sys.argv[2:] issue
svn: r20748
2012-12-02 17:29:13 +00:00
Jérôme Rapinat 6f6c3845f0 add "all" argument for check and update flag (maintenance and tests)
svn: r20747
2012-12-02 17:22:40 +00:00
Jérôme Rapinat 870f54c733 typo
svn: r20745
2012-12-02 14:09:44 +00:00
Doug Blank af1d8b1ed1 Add missing Gramps license information (thanks Paul Franklin)
svn: r20743
2012-12-02 14:05:54 +00:00
Jérôme Rapinat fbac0193af upgrade deprecated "optparse" module to "argparse" for a python2.7/3.2 support; skip fuzzy by default because it is ignored on .mo generation and not yet reviewed by translators; only check and print a summary
svn: r20742
2012-12-02 13:52:37 +00:00
Jérôme Rapinat f44e1d2297 5621: limit unrelated warnings and update the french version
svn: r20741
2012-12-02 11:39:49 +00:00
Jérôme Rapinat 7c534d3bdc 5621: export section was missing on the English version
svn: r20739
2012-12-02 10:57:06 +00:00
Jérôme Rapinat dfcc87fff0 5621: fix toctree warnings by using TOC way for html output
svn: r20738
2012-12-02 10:13:42 +00:00
Mirko Leonhäuser bf3444778d updated german translation
svn: r20737
2012-12-02 02:01:07 +00:00
Doug Blank 98a26cd53a Changes to: 1) bring trunk up to where gramps35 webapp was, 2) to bring old code up to python3 and pygobject use, and 3) use Django 1.4; (not all of webapp is back to working state yet)
svn: r20736
2012-12-01 22:25:36 +00:00
Doug Blank 03bafbd9e6 Changes to: 1) bring trunk up to where gramps35 webapp was, 2) to bring old code up to python3 and pygobject use, and 3) use Django 1.4; (not all of webapp is back to working state yet)
svn: r20735
2012-12-01 22:13:30 +00:00
Jérôme Rapinat 8759bc0c03 5621: support for localized man files
svn: r20734
2012-12-01 19:14:43 +00:00
Jérôme Rapinat 64846b1892 5621: update some urls
svn: r20733
2012-12-01 17:52:29 +00:00
Jérôme Rapinat 6b1477d4b5 5621: fix some indentation issues
svn: r20732
2012-12-01 17:41:17 +00:00
Jérôme Rapinat 29a7d3b036 5621: fix some indentation issues
svn: r20731
2012-12-01 17:37:48 +00:00
Jérôme Rapinat 29e04b9dc3 5621: fix some indentation issues
svn: r20730
2012-12-01 17:28:43 +00:00
Jérôme Rapinat 61daa7eb77 5621: fix some indentation issues
svn: r20729
2012-12-01 17:10:57 +00:00
Jérôme Rapinat a152c05b99 5621: move .rst files into related 'lang' directory
svn: r20728
2012-12-01 17:04:52 +00:00
Jérôme Rapinat c26cffaffb 5621: start to use makup on fr.rst
svn: r20727
2012-12-01 17:02:47 +00:00
Jérôme Rapinat 255d26fa4b 5621: add a quick rst file format version for Portuguese
svn: r20726
2012-12-01 16:29:43 +00:00
Jérôme Rapinat ca0501bab0 5621: provide translations environment for man files
svn: r20725
2012-12-01 16:02:41 +00:00
Jérôme Rapinat 20f3ac2c58 5621: update commands
svn: r20724
2012-12-01 14:04:51 +00:00
Jérôme Rapinat a2f0092403 5621: try to move man files generation to something more pythonic with translation support by using sphinx and python
svn: r20723
2012-12-01 13:55:32 +00:00
Jérôme Rapinat 1dd0ebca64 update to new root dir ('src' to 'gramps')
svn: r20722
2012-12-01 11:52:17 +00:00
Jérôme Rapinat eca67c5c3e update broken url (url for SVN)
svn: r20721
2012-12-01 11:46:54 +00:00
Jérôme Rapinat 84618d0633 update broken url (url for SVN)
svn: r20720
2012-12-01 11:44:11 +00:00
Jérôme Rapinat ee5290e02b start a quick alternative to Makefile builder for API documentations
svn: r20719
2012-12-01 11:35:07 +00:00
Jérôme Rapinat bbcb1dd406 better print statement (if need)
svn: r20718
2012-12-01 10:36:36 +00:00
Jérôme Rapinat 3845dfb304 po files selector for displaying content of translation file
svn: r20717
2012-12-01 10:16:44 +00:00
Jérôme Rapinat 2ca04af319 start to use choice lists (argsparser)
svn: r20716
2012-12-01 10:10:44 +00:00
Jérôme Rapinat f4abcb7f66 check defaults
svn: r20715
2012-12-01 09:45:14 +00:00
Doug Blank f491fcd3f8 Added missing fan.childring initialization (set to false as children are shown in rings)
svn: r20714
2012-12-01 07:32:59 +00:00
Jérôme Rapinat 9e381f2ad5 start to upgrade deprecated "optparse" module to "argparse" (python 2.7/3.2)
svn: r20713
2012-11-30 20:33:44 +00:00
Jérôme Rapinat a87a4f9868 GEP008: update references for documentation
svn: r20711
2012-11-30 10:00:48 +00:00
Paul Franklin dbe7fbc248 revert accidental 20685 regressions (and therefore 20699 corrections)
svn: r20710
2012-11-29 21:37:25 +00:00
Mirko Leonhäuser d1bda1ec09 updated german translation
svn: r20709
2012-11-27 21:33:06 +00:00
Paul Franklin 1c22612f5d for Python files in the "gramps" (only) sub-tree:
1) add SVN svn:keywords "Id" property if it didn't have it
2) add SVN svn:mime-type "text/plain" property if it didn't have it
3) add SVN "Id" line to the file if it had none
4) reformat SVN "Id" line in the file if it needed it


svn: r20708
2012-11-27 04:31:14 +00:00
Paul Franklin 6170e7fcbd add "Id" property
svn: r20707
2012-11-27 03:41:05 +00:00
Jérôme Rapinat deece38ffa typo
svn: r20705
2012-11-26 15:15:28 +00:00
Mirko Leonhäuser 04775cea4e updated german translation
svn: r20703
2012-11-25 13:13:33 +00:00
Mirko Leonhäuser adb6b449ff updated german translation
svn: r20701
2012-11-24 12:39:03 +00:00
Peter Landgren 6a2ca043a4 Fix of minor error i number of unique surnames.
svn: r20700
2012-11-23 18:15:31 +00:00
Benny Malengier a1591a964c python 3 support, avoid use of unicode
svn: r20699
2012-11-23 17:22:00 +00:00
Benny Malengier db6a462bc2 fix writing plugin menu error
svn: r20698
2012-11-23 12:08:27 +00:00
Benny Malengier 755d88fa0e Remove testing label
svn: r20697
2012-11-23 07:43:25 +00:00
Brian Matherly 5b7312f80d Fix ODT output for Python < 3
svn: r20696
2012-11-23 05:06:01 +00:00
Brian Matherly 3c3e5e8248 Tweak docgen registration to specify options class name. Fix CLI reports.
svn: r20695
2012-11-23 04:12:50 +00:00
Jérôme Rapinat bd28665977 try to update warning log according to new translation builder
svn: r20694
2012-11-22 17:45:36 +00:00
Jérôme Rapinat 14dbae104f make relative import more consistent (python3, convension)
svn: r20692
2012-11-21 19:58:30 +00:00
Jérôme Rapinat 7deae0a996 TypeError: GObject.__init__() takes exactly 0 arguments (1 given); see mailing list (Benny)
svn: r20691
2012-11-21 19:49:22 +00:00
Jérôme Rapinat a34af94a40 make it work with python 3 (thank you Benny)
svn: r20690
2012-11-21 16:03:08 +00:00
Jérôme Rapinat 2825502b18 ImportError: No module named constfunc
svn: r20689
2012-11-21 14:31:27 +00:00
Jérôme Rapinat 0710324b05 TypeError: scroll_to_mark() takes exactly 6 arguments (3 given)
svn: r20688
2012-11-21 14:18:37 +00:00
Peter Landgren ee2f5a990d Fix for correct unique surname statistics.
svn: r20686
2012-11-21 12:32:46 +00:00
Brian Matherly ace8790379 0003910: line width in "plain text" reports is constant (patch from Paul Franklin)
svn: r20685
2012-11-21 05:06:46 +00:00
John Ralls c6cbeafb28 Prepare gramps.modules for 4.0 branch
svn: r20682
2012-11-19 13:13:28 +00:00
Tim G L Lyons 200cb60db3 Align gramps34 and trunk (where there is no functional difference) - minor layout changes etc.
svn: r20681
2012-11-18 20:33:09 +00:00
Benny Malengier 7576054885 support python 2 in setup.py also :-)
svn: r20679
2012-11-18 17:31:39 +00:00
Paul Franklin 3e85d2f7c9 6177: Wrong line created by the LaTeX module
svn: r20677
2012-11-18 03:32:09 +00:00
Paul Franklin 28d939cda7 6155: Error when running Detailed Descendant Report
svn: r20674
2012-11-17 21:28:14 +00:00
Gary Burton a760b74252 Python3 changes
svn: r20673
2012-11-17 16:44:45 +00:00
Benny Malengier b2d7d5c0b4 6126: Filter search bar : FamilyModel has no attribute on_get_value
Fixed at same time other uses of on_ methods which are no longer present
  Also removed superfluous Maplists action


svn: r20672
2012-11-17 15:28:18 +00:00
Benny Malengier 0eb5c29989 6127: missing glade files
svn: r20671
2012-11-17 14:54:08 +00:00
Benny Malengier 79491a995c 6171: No icon under Places View for mapservices
* old way of menutoolbutton was depreacated, could not find workaround via uimanager, so 
    deprecated uimanager way, must be added by code now


svn: r20670
2012-11-17 14:37:40 +00:00
Benny Malengier 95e7a74f42 6125: Person cursor under new FanChart views
svn: r20669
2012-11-17 12:21:21 +00:00
Benny Malengier 884d3d8eb2 6113: Cannot print a quadran Fan Chart type
svn: r20668
2012-11-17 11:07:39 +00:00
Benny Malengier 4e8437bae4 python3 requires str (=unicode) to load from file
svn: r20667
2012-11-17 11:05:06 +00:00
Benny Malengier 945819631c python3 cannot compare None with str, so store '' as sortkey instead
svn: r20666
2012-11-17 10:28:35 +00:00
Benny Malengier 22dd2eb45a ignore dist and pycache on .
svn: r20665
2012-11-17 09:36:53 +00:00
Tim G L Lyons 18d11170ab various typos
svn: r20664
2012-11-16 19:21:06 +00:00
Benny Malengier 8c4eb3d171 2620: GEPS 031: Python 3 support - 3.2
* working treeviews in python 3
   * changed conv_to_unicode on python 3 so that it decodes to unicode


svn: r20663
2012-11-16 17:09:26 +00:00
Benny Malengier 2bdf6c8b95 2620: GEPS 031: Python 3 support - 3.2
* working gedcom import
  * fixes in listviews
  * fixes in db managaer and import dialog


svn: r20662
2012-11-16 13:05:56 +00:00
Benny Malengier eb09afbc99 2620: GEPS 031: Python 3 support - 3.2
Python 3 needs absolute import after reload in plugins dir, but a dir may not be called import
So import is renamed to importer


svn: r20660
2012-11-15 10:41:15 +00:00
Benny Malengier 1cad822978 2620: GEPS 031: Python 3 support - 3.2
* fix introduced errors: write of reference in db, check in dbloader on string type
 * working import of xml file in python 3


svn: r20659
2012-11-15 10:28:19 +00:00
Benny Malengier 8b39b80dc8 2620: GEPS 031: Python 3 support - 3.2
round 2 for python 3 support:
* no more cmp, also not in sort and sorted
* bsddb needs bytestring keys
* gtk does not need utf-8 encoded anymore...


svn: r20658
2012-11-15 08:08:31 +00:00
Jérôme Rapinat b9aafe5b49 error with relative path (non-installed gramps package)
svn: r20657
2012-11-15 06:41:41 +00:00
Tim G L Lyons 1babd07b19 Tidy up media pages - remove unused parameters, use list of media items generated in first pass. Should fix bugs 2365, 5905 and 6009.
svn: r20656
2012-11-13 15:53:02 +00:00
Tim G L Lyons 77cfc58259 Tidy up sources pages - fix numbering of repositories, remove unused parameters, fix title of individual source pages
svn: r20654
2012-11-12 18:40:10 +00:00
Tim G L Lyons 5b7d6a3181 Bug: reset NarrWeb navigation menu layout when style sheet doesn't support it
svn: r20652
2012-11-12 12:16:34 +00:00
Tim G L Lyons 15e2743ac4 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.
svn: r20650
2012-11-12 10:47:52 +00:00
Benny Malengier 59e3fe1f46 Fix error if string is already unicode
svn: r20647
2012-11-10 16:53:49 +00:00
Benny Malengier b4ca613e21 Fix some gettext warnings
svn: r20646
2012-11-10 11:26:14 +00:00
Benny Malengier 536d5f4f8b Update install info and manifest.in
svn: r20645
2012-11-10 10:14:55 +00:00
Benny Malengier be52834cd6 Update README to be current
svn: r20644
2012-11-10 08:05:48 +00:00
Benny Malengier a876912059 distutils requires unix filenames
svn: r20643
2012-11-09 16:48:09 +00:00
Benny Malengier dc8339b8d8 distutils needs unix paths as input & correct python version test
svn: r20642
2012-11-09 15:27:03 +00:00
Tim G L Lyons 41ca746143 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.
svn: r20641
2012-11-08 23:56:34 +00:00
Peter Landgren 003098cb01 First Swedish translation update for 4.0
svn: r20639
2012-11-08 15:34:26 +00:00
Benny Malengier 72769f91bf GTK 3 conversion: remove superfluous cellrenderers in editdate.glade
svn: r20638
2012-11-07 21:52:33 +00:00
Benny Malengier 70d50d2fc2 python 3 support: fixes, no longer maxint, missing sys import, next change by 2to3
svn: r20637
2012-11-07 21:20:24 +00:00
Benny Malengier 5326703ef0 python 3: use division from the future
svn: r20636
2012-11-07 20:48:56 +00:00
Benny Malengier bba47e960b python 3.2 support: calendar computation with new division
svn: r20635
2012-11-07 20:18:16 +00:00
Benny Malengier bb5fc7cb7c 2620: GEPS 031: Python 3 support - 3.2
This does patch updates Gramps to the 3.2 syntax, it does not yet mean Gramps works with python 3.2
Expect next day commits to fix further issues, but this is the main 2to3 tool created patch changed
where needed to have python 2.7 work. 
Specific issues might be:
  1. next has been changed, must be checked
  2. new division as on the wiki page listed is to do
  3. ...


svn: r20634
2012-11-07 17:53:14 +00:00
Jérôme Rapinat 3b2a0dbe48 6156: url and Google Map API
svn: r20633
2012-11-05 09:06:31 +00:00
Jérôme Rapinat 2d042b0025 6158: typo, do not display a random place title on warning dialog
svn: r20631
2012-11-05 08:24:09 +00:00
Nick Hall bdb2e632a4 5969: Remove Gramps ID from title of Individual report
svn: r20625
2012-10-28 14:58:13 +00:00
Jérôme Rapinat ad4bf17642 6133: private home note and privacy filter (patch by Serge Noiraud)
svn: r20624
2012-10-28 13:53:50 +00:00
Paul Franklin 410685135e add "Id" property (to write-test the new repo)
svn: r20617
2012-10-27 19:06:01 +00:00
Jérôme Rapinat d6faa8ceb7 replace with a link to GEPS page
svn: r20616
2012-10-27 13:51:56 +00:00
Nick Hall bb679b51a0 5969: Add Gramps ID option to individual report (based on a patch submitted by MathieuMD)
svn: r20613
2012-10-26 23:00:51 +00:00
Jérôme Rapinat 363f6b685a try to update the TODO file according to last improvements and plans
svn: r20609
2012-10-26 13:26:44 +00:00
Jérôme Rapinat 695e6bfa65 6148: OSM layer for OpenStreetMap
svn: r20606
2012-10-26 09:39:48 +00:00
Jérôme Rapinat 80d67a5e11 6002: better rendering by using an other layer than the basic one for openstreetmap
svn: r20603
2012-10-25 18:58:23 +00:00
Jérôme Rapinat f90296bb66 6002: failed to make it more consistent..use a better zoom for openstreetmap on place pages
svn: r20601
2012-10-25 18:33:41 +00:00
Jérôme Rapinat c4304d6ea8 6002: typo on OSM map handler; thank you Midori element inspector
svn: r20596
2012-10-25 13:28:09 +00:00
Tim G L Lyons 715b9ae16d Some untranslated strings
svn: r20593
2012-10-24 18:05:37 +00:00
Tim G L Lyons 5951118ddb 0006078: Narrweb has thumbnail link to missing thumbnails.html
svn: r20591
2012-10-24 17:28:50 +00:00
Tim G L Lyons f36bd3d2cb 0005864: Web Report: Error in showing repositories
svn: r20589
2012-10-24 16:53:03 +00:00
Tim G L Lyons 6c9d7d5eee 0005691: [NarrWeb] family notes have disappeared from individual pages. Family notes output if the Family pages are not being output.
svn: r20586
2012-10-24 14:28:26 +00:00
Tim G L Lyons 35af1c2e41 Fix for part of 0006009: Media objects attached to Marriage events and Sources are not included in Narrative Web Site. Some references show as "Unknown", and family event media are missing if event pages are not generated. (Media objects for sources NOT fixed)
svn: r20584
2012-10-24 12:30:33 +00:00
Jérôme Rapinat 2331392dc0 5621: use bold and italic markups on .rst according to previous layout used by man files; could be tested with python-doctuils
svn: r20581
2012-10-23 14:25:46 +00:00
Tim G L Lyons a82623eca4 0005859: Stepsiblings are NOT correct
0006068: Narrative Web reports two people as step family when one of the parents is unknown for both
0001400: NarrativeWeb lists half-siblings in order

Various fixes for 'Parents' section of 'Individual' pages.

svn: r20579
2012-10-23 12:06:02 +00:00
Jérôme Rapinat 6d63f9be46 6142: set option for using last view to False by default
svn: r20577
2012-10-23 08:50:36 +00:00
Jérôme Rapinat ceb2dc6817 typo
svn: r20574
2012-10-17 17:09:42 +00:00
Benny Malengier 92c5146a4b 5180: ImportProGen fails with "'Name' object has no attribute 'set_patronymic'"
svn: r20571
2012-10-17 09:35:05 +00:00
Benny Malengier b832835a98 5180: ImportProGen fails with "'Name' object has no attribute 'set_patronymic'"
svn: r20570
2012-10-17 09:31:55 +00:00
Jérôme Rapinat db9c52335b 6086 6096: update 'gramps.pot'
svn: r20569
2012-10-16 18:43:40 +00:00
Jérôme Rapinat fc0c5a30e3 typo on revision 20567
svn: r20568
2012-10-16 18:41:09 +00:00
Jérôme Rapinat 1a7862e848 6096: update POTFILES.in, try to handle entries on python script
svn: r20567
2012-10-16 18:39:40 +00:00
Jérôme Rapinat ad01d3fd07 6086 6096: visual improvement
svn: r20566
2012-10-16 16:51:28 +00:00
Jérôme Rapinat 0da8e85157 6086 6096: some skipped modules are not ignored (plugins/tool)!
svn: r20565
2012-10-16 10:20:29 +00:00
Jérôme Rapinat 24862b6ac4 6086 6096: quick test for updating french translation
svn: r20564
2012-10-16 09:47:24 +00:00
Jérôme Rapinat bb3c76a673 6086 6096: add a "trunk" comment on new and modified strings for checking changes
svn: r20563
2012-10-16 09:27:22 +00:00
Jérôme Rapinat 6b485afacd 6086 6096: check and test gramps.pot generation
svn: r20562
2012-10-16 09:09:34 +00:00
Jérôme Rapinat fc4ac6cc7f 6086: minor improvements on translation strings (part3)
svn: r20561
2012-10-16 09:06:46 +00:00
Jérôme Rapinat 1445ea7f0d 6086 6096: add comments about usage
svn: r20560
2012-10-16 08:51:05 +00:00
Jérôme Rapinat 87a99c2e87 6086: minor improvements on translation strings (part2)
svn: r20559
2012-10-16 08:37:27 +00:00
Serge Noiraud 0100acdbf5 Bad number of arguments in progressdialog.
svn: r20557
2012-10-14 22:11:23 +00:00
Serge Noiraud 0e9cb5c7d1 Geography : correction of format requires a mapping error
svn: r20556
2012-10-14 22:08:29 +00:00
Serge Noiraud 72d3f95801 Geography : split messages lines at the beginning of a word when resizing.
svn: r20555
2012-10-14 21:12:56 +00:00
Serge Noiraud 3ca0b86fc4 Geography : bad centering for the selection area
svn: r20554
2012-10-13 21:13:58 +00:00
Serge Noiraud 97e0ce0d4c Geography : added history to places view.
added birth and death date to the reference and other people in the messages of the close view.


svn: r20552
2012-10-12 21:50:45 +00:00
Jérôme Rapinat b1c6d82003 typo
svn: r20550
2012-10-12 17:18:27 +00:00
Serge Noiraud 091b87e70b The gramps command doesn't work with the new architecture
svn: r20549
2012-10-12 10:59:16 +00:00
Gary Burton 436491d048 Update list of dependencies
svn: r20548
2012-10-09 20:09:45 +00:00
Jérôme Rapinat 11aadc005d 6086: minor improvements on translation strings (part1)
svn: r20546
2012-10-09 08:53:47 +00:00
Jérôme Rapinat 0ccc4e1b09 Add Greek translation (contribution by Zissis Papadopoulos)
svn: r20543
2012-10-08 20:01:16 +00:00
Josip Pisoj 1d3a4efc89 support newer version of gtkspell3
svn: r20542
2012-10-08 15:53:09 +00:00
Jérôme Rapinat ec018b8fcc 6096: cleanup
svn: r20541
2012-10-08 14:51:12 +00:00
Jérôme Rapinat 1e88f5ffe5 6086 6096: comment some lines for looking at possible mistake with gettext module (gramps import) or missing references
svn: r20540
2012-10-08 13:24:21 +00:00
Tim G L Lyons 3090a184cf 0005860: The descriptions for events are missing in the webreport.
svn: r20539
2012-10-08 10:04:10 +00:00
Tim G L Lyons c058b1e71b 0005088: Narrated Web Site Report sort order different Windows vs Linux. Fixed to use same Utils routine as person model.
svn: r20537
2012-10-08 09:31:33 +00:00
Jérôme Rapinat 546c591015 6096: typo, do not need to merge const.py.in
svn: r20535
2012-10-08 09:21:11 +00:00
Jérôme Rapinat a9bf135c65 6096: check missing references; ignore "python" comments for translation (update_po)
svn: r20534
2012-10-08 09:17:33 +00:00
Jérôme Rapinat 46f95d9834 6096: fanchart widget has translation strings
svn: r20533
2012-10-08 06:51:54 +00:00
Jérôme Rapinat 98d91fc626 #6086: do not need work around for some tips anymore
svn: r20532
2012-10-07 16:45:58 +00:00
Jérôme Rapinat 96524f06fa #6086: make tips consistent for parsing
svn: r20531
2012-10-07 16:43:14 +00:00
Jérôme Rapinat bba3a2661f #6086: missed cli/plug/__init__ module
svn: r20530
2012-10-07 16:28:32 +00:00
Jérôme Rapinat f3c1d90433 #6086: skipped references are updated
svn: r20529
2012-10-07 16:14:32 +00:00
Jérôme Rapinat 41e9051d19 #6086: start to update POTFILES.skip
svn: r20528
2012-10-07 15:28:20 +00:00
Nick Hall 88e6df595f Fix style sheet bug in books
svn: r20527
2012-10-07 15:05:36 +00:00
Jérôme Rapinat 2658861b18 #6086: start to update index for translation strings
svn: r20526
2012-10-07 13:52:31 +00:00
Nick Hall 759dd6bce5 GEPS 008: Move records report and gramplet into appropriate directories
svn: r20525
2012-10-05 16:50:44 +00:00
Nick Hall 289689ffa8 GEPS 008: Move book code
svn: r20524
2012-10-05 14:58:20 +00:00
Nick Hall c8baa0fcb6 Fix bug when running command line reports
svn: r20523
2012-10-04 23:16:50 +00:00
Jérôme Rapinat 5ac9aaa3f4 get rid of intltool (in progress...)
svn: r20522
2012-10-04 18:35:40 +00:00
Tim G L Lyons 3d172b1972 0005678: Fix Nick Name and Call Name in narrated website. Nickname, callname and associated citations fixed for current name structure.
svn: r20521
2012-10-04 17:28:27 +00:00
Benny Malengier a8f5f13950 5144: Locale not taken into account to sort family list on father or mother name
svn: r20517
2012-10-04 07:59:01 +00:00
Paul Franklin 6bab48a92b 4145: During book report creation
svn: r20515
2012-10-04 00:07:59 +00:00
Nick Hall b74b1ee293 Convert remaining gui files to use relative imports
svn: r20513
2012-10-03 16:14:48 +00:00
Nick Hall 251aff61a0 Convert widgets to use relative imports
svn: r20512
2012-10-03 16:03:49 +00:00
Benny Malengier e97bf17488 update_po: do po correct for glade files
svn: r20511
2012-10-03 15:55:36 +00:00
Nick Hall 2e98c52cd5 Convert views to use relative imports
svn: r20510
2012-10-03 15:55:24 +00:00
Nick Hall 9b3fd50329 Convert filters to use relative imports
svn: r20509
2012-10-03 15:48:07 +00:00
Benny Malengier c754eb02f2 remove tmp file used for translation
svn: r20508
2012-10-03 15:38:42 +00:00
Benny Malengier c87343eb61 update_po: automatically determine py and glade files to translate
svn: r20507
2012-10-03 15:37:44 +00:00
Nick Hall 1cde34b45d Convert gui to use relative imports
svn: r20506
2012-10-03 15:34:50 +00:00
Nick Hall 3a52f3afcb Convert plug to use relative imports
svn: r20505
2012-10-03 15:27:41 +00:00
Nick Hall c8f30e4c3e Convert selectors and merge to use relative imports
svn: r20504
2012-10-03 14:53:24 +00:00
Nick Hall b62adcfeb3 Convert editors to use relative imports
svn: r20503
2012-10-03 14:43:06 +00:00
Benny Malengier 54f78b6358 update_po allow comment in the list of files to translate
svn: r20502
2012-10-03 12:33:32 +00:00
Benny Malengier 2411f22310 update_po, correctly see pt_PT type of languages
svn: r20501
2012-10-03 12:23:31 +00:00
Benny Malengier 6fc289a956 Update po generating file, make sure py.in is present
svn: r20500
2012-10-03 12:16:06 +00:00
Benny Malengier 91e6df28c1 GEPS 026: Replace 'make' for Gramps build
Remove all makefile in gramps code
Still present: make for doc creation and make for webapp


svn: r20499
2012-10-03 08:46:04 +00:00
Benny Malengier 62ac19b895 GEPS 026: Replace 'make' for Gramps build
Removal of make from the top directory


svn: r20498
2012-10-03 08:24:37 +00:00
Benny Malengier fa8af4dbcf Fix forgotten import from previous commit
svn: r20497
2012-10-03 07:47:28 +00:00
Benny Malengier e6cd5b5d2d Coding Guidelines: relative and absolute imports, some fixes and shortenings
svn: r20496
2012-10-03 07:39:26 +00:00
Nick Hall 809c60fd77 Use relative imports in cli module
svn: r20495
2012-10-02 23:24:33 +00:00
Nick Hall dcdb0935d1 Fix import
svn: r20494
2012-10-02 22:58:28 +00:00
Nick Hall 760806a7f9 Changes to imports - part 8
svn: r20493
2012-10-02 21:59:59 +00:00
Nick Hall 55c19e4180 Changes to imports - part 7
svn: r20492
2012-10-02 21:08:19 +00:00
Nick Hall e96d4dd43f Changes to imports - part 6
svn: r20491
2012-10-02 20:49:07 +00:00
Nick Hall 80fbfd4d8c Remove redundant imports
svn: r20490
2012-10-02 20:13:17 +00:00
Nick Hall d696b6be75 Changes to imports - part 5
svn: r20489
2012-10-02 20:04:29 +00:00
Nick Hall 186b27bf34 Changes to imports - part 4
svn: r20488
2012-10-02 19:59:22 +00:00
Nick Hall a5c41d0566 Changes to imports - part 3
svn: r20487
2012-10-02 19:47:38 +00:00
Nick Hall 6b5318fa18 Changes to imports - part 2
svn: r20486
2012-10-02 19:34:37 +00:00
Nick Hall 2f87a2d38a Changes to imports - part 1
svn: r20485
2012-10-02 19:29:32 +00:00
John Ralls 507487f9c4 Update moduleset for Gtk+-3
NOTE: This uses the unstable modulesets which build the Gtk stack from the 
current git masters. Builds may fail from time to time because of bad 
commits. I'll fix this in a week or two after I've updated the stable 
moduleset for Gnome 3.6.


svn: r20484
2012-10-02 18:54:47 +00:00
Serge Noiraud 2924cac09a Geography: import problem from new tree.
svn: r20483
2012-10-02 18:48:16 +00:00
Benny Malengier c7c8d4b0f0 Code guidelines: absolute import outside of submodule
svn: r20482
2012-10-02 11:45:19 +00:00
Benny Malengier 149298c52b GEP 026: replace make
* somewhere along the road, all of plugins dir was added to sys.path, this
   is not ok, we only needed lib on sys.path
 * As due to the GEP we can import from the plugin directory, better just
   import the lib modules needed, and avoid sys.path extension
 * At the same time this fixes a bug due to __init__.py being present, import
   of a file named equal to the plugin directory was importing the __init__.py, 
   not the intended file.
 


svn: r20481
2012-10-02 11:31:00 +00:00
Benny Malengier 0a34aa05b1 Fix error on relative import
svn: r20480
2012-10-02 10:30:52 +00:00
Benny Malengier 9832e6712e Coding Guidelines: relative import of gen in gen submodule
svn: r20479
2012-10-02 08:28:08 +00:00
Benny Malengier 47a612c36a Code guideline: move to relative import within gen module
svn: r20478
2012-10-01 20:53:08 +00:00
Jérôme Rapinat adac46441d try to support python 2.7 for iteration with ElementTree
svn: r20477
2012-10-01 09:51:47 +00:00
Jérôme Rapinat bc06218642 update alternate script for handling template and translations (from 'src' to 'gramps')
svn: r20476
2012-10-01 09:30:35 +00:00
Benny Malengier 7bcccde1a6 Code guideline: relative imports
svn: r20475
2012-10-01 08:36:44 +00:00
Benny Malengier a137276e2b Remove test code still present in setup.py
svn: r20474
2012-10-01 08:31:05 +00:00
Benny Malengier 288f92432e GEPS 026: Replace 'make': update INSTALL with correct execution for Gramps to run the app
svn: r20472
2012-09-30 15:35:31 +00:00
Benny Malengier 52a98c1323 GEPS 026: Replace 'make': fix bug in setup.py, update install notes
svn: r20471
2012-09-30 15:29:37 +00:00
Benny Malengier d0506dfa84 GEPS 026: update install instructions, readme, add build to svn ignore
svn: r20470
2012-09-30 14:59:36 +00:00
Benny Malengier 9a9ba88cdc GEPS 026: convert po from src/ to gramps/
svn: r20469
2012-09-30 14:36:09 +00:00
Benny Malengier 564a2f01f8 GEPS 026: Replace 'make' for Gramps build
support windows, Gramps collides with the directory gramps


svn: r20468
2012-09-30 14:33:28 +00:00
Benny Malengier 4f5f419b78 GEPS 026: Replace 'make' for Gramps build
svn: r20467
2012-09-30 12:19:14 +00:00
Benny Malengier 326d604365 GEPS 026: Replace 'make' for Gramps build
If we want to use Gramps from the code directory, src should be called gramps to allow import


svn: r20466
2012-09-30 11:55:52 +00:00
Benny Malengier e9253804be GEPS 026: Replace 'make' for Gramps build
a/Part 1: import from gen piece works partially
b/Gramps as a stub to start gramps application


svn: r20465
2012-09-30 10:30:08 +00:00
Jérôme Rapinat 7c77224d1a add comments about issue with the workaround for handling space on labels
svn: r20462
2012-09-28 18:27:31 +00:00
Jérôme Rapinat e7f5ac08ad possible context issues with the UK locale
svn: r20461
2012-09-28 15:42:46 +00:00
Jérôme Rapinat 07896227e2 typo (thank you Zissis Papadopoulos)
svn: r20460
2012-09-28 15:27:34 +00:00
Benny Malengier 66a3d2c4d7 5934: How to fix invalid Database Path?
svn: r20456
2012-09-27 09:18:50 +00:00
Zdenek Hatas d3ea18e297 czech translation update
svn: r20452
2012-09-26 09:19:33 +00:00
Tim G L Lyons bb9336c92b 0006069: GEDCOM import does not generally support MULTIMEDIA_LINKs in the embedded form
svn: r20451
2012-09-25 18:16:14 +00:00
Serge Noiraud cb3d94f816 Geography : better place selection if we have a place history. #05742 note 25518
svn: r20448
2012-09-25 17:07:53 +00:00
Tim G L Lyons 0d60717443 0006060: Missing reference in events and citations. Fixed get_handle_referents, which had been disturbed by the fix for bug 6053
svn: r20444
2012-09-25 16:50:59 +00:00
Tim G L Lyons 0842d8def4 0006055: Peculiar title of tip 63. Changed to "Don't speak English?"
svn: r20442
2012-09-25 15:43:27 +00:00
Tim G L Lyons b19a9c5139 0006061: GEDCOM import: link from FAM to child but missing link from child to FAM causes inconsistent displays. Fixed in GEDCOM import, importxml and Check and repair. (Also minor fixes for improved diagnostics when importxml just completely fails and for exportxml illegal characters in mime_type).
svn: r20439
2012-09-23 22:29:51 +00:00
Nick Hall 0ebe837bd7 Fix Gtk3 problem passing unicode to a TreeView
svn: r20437
2012-09-23 14:53:18 +00:00
Serge Noiraud 4c8c703dcf Geography : trying to solve #05742 notes 25518
svn: r20436
2012-09-23 09:21:51 +00:00
Jérôme Rapinat 2ba36c75e4 update polish translation (by Łukasz Rymarczyk)
svn: r20434
2012-09-23 07:28:17 +00:00
Andre Marcelo Varenga 23f56c30d1 Update pt_BR translation
svn: r20433
2012-09-23 01:54:45 +00:00
Benny Malengier ef6b254ba3 GTK3: user_data should be int in future, so no longer convert to str
svn: r20430
2012-09-21 19:38:46 +00:00
Benny Malengier 2aa5848247 GTK3: store integer in user_data of iter:
https://bugzilla.gnome.org/show_bug.cgi?id=683599


svn: r20429
2012-09-21 19:23:50 +00:00
Tim G L Lyons 987be6c408 0006008: Can't edit citation record from source record reference. Explanatory warning message produced.
svn: r20428
2012-09-21 17:47:59 +00:00
Nick Hall be06435c9e Enable pyexiv2 import - bug #6042 now fixed
svn: r20426
2012-09-21 16:59:51 +00:00
Benny Malengier 2e1b94b0d1 GTK3 bug: https://bugzilla.gnome.org/show_bug.cgi?id=684558
Cannot reorder a custom treemodel, no rows_reordered function


svn: r20425
2012-09-21 14:39:29 +00:00
Benny Malengier 9f836a7ee9 icon for fanchartdesc
svn: r20424
2012-09-19 19:59:24 +00:00
Gary Burton 104b16a18a GTK3 fix. Method has changed for removing sub menus from pop-up menus
svn: r20423
2012-09-19 19:50:14 +00:00
Peter Landgren 2e3638d1fd Fix for issue 6056. Coding errors for non-ascii.
svn: r20422
2012-09-19 17:41:46 +00:00
Benny Malengier 789fc4bbed fanchartdesc: bugfixes after stress test with greek gods
svn: r20420
2012-09-19 17:18:13 +00:00
Serge Noiraud 77e8bee449 Geography and Gtk3 : better options popup display.
svn: r20418
2012-09-19 14:10:56 +00:00
Benny Malengier 7b9465098f 6053: Person and Family pass eventref as object with sources, but it has no sources
svn: r20417
2012-09-19 11:31:31 +00:00
Benny Malengier 461f51660d Use Charts instead of Graphs for Ancestry category
svn: r20415
2012-09-19 11:23:12 +00:00
Benny Malengier 7dc043f4a1 fanchart: configure option to set the duplicate color
svn: r20414
2012-09-18 19:51:20 +00:00
Benny Malengier 59bfeb3e70 fanchart feature: when focussed, press e or press f to edit person/family under cursor
svn: r20413
2012-09-18 19:10:28 +00:00
Benny Malengier b22eae6489 fanchart: add option in popup to add a partner to a person
svn: r20412
2012-09-18 16:23:40 +00:00
Benny Malengier fe77240a2f After discussion: People instead of Persons
svn: r20411
2012-09-18 15:39:58 +00:00
Benny Malengier 0478af1335 fanchart: allow reorder on the desc fam chart, improve layout, shorter print string
svn: r20410
2012-09-18 12:04:37 +00:00
Benny Malengier e60b305a0d Reorganization in the toolbar, consistent now with menu, shorter texts
svn: r20409
2012-09-18 08:16:16 +00:00
Benny Malengier 4283ce217b feature: add a fanchart descendant gramplet as the normal fan
svn: r20408
2012-09-17 21:01:28 +00:00
Benny Malengier c2560a2af8 feature: allow edit of family from fanchart descendant when family is defined
svn: r20407
2012-09-17 20:50:16 +00:00
Serge Noiraud f9ff67fde1 Geography : remove all unavailable map providers.
svn: r20406
2012-09-17 19:29:33 +00:00
Jérôme Rapinat 4284da6d8e #6044: typo; should use active place as mark not the first place handle on places list
svn: r20405
2012-09-17 13:00:54 +00:00
Benny Malengier 1c6df8ad46 Feature: a fanchart for descendants. Futher to test with duplicates
svn: r20402
2012-09-16 23:05:37 +00:00
Gary Burton e6864165ee Find favicon.ico in a more OS friendly way.
svn: r20400
2012-09-16 07:58:25 +00:00
Gary Burton 36228d2808 favicon.ico has moved from IMAGE-DIR to WEBSTUFF/imagesi, so get the file from the correct location when writing reports to HTML.
svn: r20399
2012-09-15 21:02:34 +00:00
Serge Noiraud 49e89808c9 Geography : update map providers.
svn: r20398
2012-09-15 20:51:45 +00:00
Gary Burton d51ee0219a GTK3 fix. Fix PDF mark up issues.
svn: r20397
2012-09-15 20:39:31 +00:00
Serge Noiraud c7d196f387 Geography and Gtk3 : some cleaning.
correction for bug #06044 and #05975
          popup for button 1 in all views
          color change for the reference person or family
          remove Hscale and use Scale with orientation
          selection layer works for rectangle selection.
          You need to use the last osm-gps-map.


svn: r20396
2012-09-15 19:42:12 +00:00
Jérôme Rapinat 0af3930f62 5993: RegEx in Filter "person has name" can not handle non-ASCII characters (patch by Benny)
svn: r20394
2012-09-15 13:32:44 +00:00
Benny Malengier bbd1617d66 Give a descriptive first error line on startup crash, which are probably due to bad view
svn: r20392
2012-09-15 08:52:42 +00:00
Nick Hall ebf197ad8e Tidy up quick report and webconnect menu code (fix Gtk3 bug)
svn: r20390
2012-09-14 22:44:32 +00:00
Serge Noiraud 7c1e29aa60 Geography : Some cleaning, ImageSurface needs an utf-8 path
messagelayer : get the real window size.
            osmgpsmap must be >= 0.8


svn: r20389
2012-09-14 20:29:48 +00:00
Gary Burton 0d9f926a43 GTK3 fix. Fix pack_start and pack_end issues when starting place report
svn: r20388
2012-09-14 16:58:34 +00:00
Benny Malengier ed6f1c5672 fanchart: refactor of text drawing, fix bug on transparent box text not showing
svn: r20387
2012-09-14 14:11:56 +00:00
Benny Malengier 7348f5ee79 fanchart: factor out drag methods
svn: r20386
2012-09-14 12:24:17 +00:00
Benny Malengier a9acb0bbeb fanchart: factor out the mouse movement routines
svn: r20385
2012-09-14 12:14:31 +00:00
Benny Malengier 51d5ea5643 fanchart: factor out inner ring drawing
svn: r20384
2012-09-14 11:09:21 +00:00
Benny Malengier 5a2ec9a3f2 fanchart: simplify angle structure, some refactor
svn: r20383
2012-09-14 09:19:11 +00:00
Nick Hall 1c61414a02 Fix problem with duplicate action group name
svn: r20382
2012-09-13 21:46:25 +00:00
Nick Hall 919b71a121 Missing import
svn: r20381
2012-09-13 20:30:48 +00:00
Benny Malengier 0fe1e20f70 bugfix: popup was not showing anymore
svn: r20380
2012-09-13 20:05:44 +00:00
Nick Hall c02cd679e1 Gtk3 fixes for undo history
svn: r20379
2012-09-13 19:01:00 +00:00
Nick Hall 80dc80ec35 Gtk3 fix for family tree manager
svn: r20378
2012-09-13 19:00:29 +00:00
Jérôme Rapinat 8feeceda88 merging (new strings, from 3.4.2 to trunk), cleanup
svn: r20377
2012-09-13 18:23:26 +00:00
Benny Malengier 4848aaaa7d avoid crash due to plugin code at all cost
svn: r20376
2012-09-13 12:01:55 +00:00
Benny Malengier 516916cb5c Fanchart: code reorganization to allow reuse by a descendant fanchart
svn: r20375
2012-09-13 11:58:28 +00:00
Nick Hall 6708e3b6b5 Disable loading of pyexiv2 - see bug #6042
svn: r20374
2012-09-12 21:35:11 +00:00
Nick Hall 078c5eda3f Missing import
svn: r20373
2012-09-12 15:58:46 +00:00
Benny Malengier 1e639caa40 Feature Fanchart: an add button to add parents in the fanchart view
svn: r20372
2012-09-11 21:08:20 +00:00
Benny Malengier b76f1e9c44 GTK3: avoid appending paths if not needed
svn: r20371
2012-09-11 19:57:45 +00:00
Benny Malengier 2066135e7d GTK3: allow button press on empty boxes so as to see popup menu
svn: r20370
2012-09-11 17:33:10 +00:00
Benny Malengier e020136c73 5992: Crash when using a not allowed string as regex in Person with name filter
svn: r20368
2012-09-11 11:54:50 +00:00
Zdenek Hatas 55af9b7ce3 czech translation update
svn: r20365
2012-09-11 10:18:55 +00:00
Serge Noiraud 8df38776a5 Geography: the menu is coming back.
svn: r20362
2012-09-10 21:42:20 +00:00
Serge Noiraud 83ca2b4969 Geography: color badly formated.
svn: r20361
2012-09-10 20:47:56 +00:00
Benny Malengier 39707ac885 Feature: all drop on family father/mother to set
svn: r20359
2012-09-10 20:12:47 +00:00
Serge Noiraud 1fe42b7f49 Geography: convert to gtk3 and some cleaning. not finished, but it works.
svn: r20358
2012-09-10 18:55:23 +00:00
Benny Malengier 136438c5c5 bugfix: new hascitation filter does not show in the list
svn: r20357
2012-09-10 11:28:06 +00:00
Benny Malengier 7825638ce5 bugfix fanchart: empty childring pieces in background color of the widget
svn: r20355
2012-09-08 22:47:45 +00:00
Benny Malengier 320044c377 Fix two bugs in fanchart: crash on empty famtree, empty events show year 0
svn: r20354
2012-09-08 22:22:43 +00:00
Benny Malengier 1ce04c4874 Fanchart, last feature I wanted: time period coloring of the boxes
svn: r20353
2012-09-08 12:17:20 +00:00
Benny Malengier e56fc52e95 Fanchart Feature: allow halfcircle and quadrant like in the drawreport
svn: r20352
2012-09-07 20:11:17 +00:00
Benny Malengier 4cc2af5eb6 fanchart feature: single color background + filter improvement: bold text
svn: r20351
2012-09-07 13:29:45 +00:00
Benny Malengier ca4127b003 fanchart: constant on module level, nicer gradient
svn: r20350
2012-09-07 13:09:13 +00:00
Benny Malengier b00da4a099 fanchart: deprecate radialtext options as something user sees
svn: r20349
2012-09-07 12:31:57 +00:00
Benny Malengier 889644df6e Bugfix: fix drawing issue with copy_path
svn: r20347
2012-09-07 08:05:33 +00:00
Benny Malengier 29ea43cfe4 Fanchart: less default transparency
svn: r20345
2012-09-06 22:06:12 +00:00
Benny Malengier 3d6f43134c Feature: filtered Fanchart working. This now is a really usefull view !
svn: r20344
2012-09-06 21:41:08 +00:00
Benny Malengier f36a7c9b66 Bugfix to print fanchart
svn: r20343
2012-09-06 20:06:38 +00:00
Benny Malengier 672a96b94d Fanchart: bug fix with children color + nicer layout on rotate/expand for text
svn: r20341
2012-09-06 11:37:35 +00:00
Julio Sánchez 0bdee9f99a Reworked rel_es.py as evolution of some uncompleted code for 3.2 that never made it to svn
svn: r20340
2012-09-06 10:09:38 +00:00
Benny Malengier aab1e24b32 GTK3: convert get_dest_row_at_pos function
svn: r20338
2012-09-06 09:02:36 +00:00
Benny Malengier 6ff34a87ee Feature Fanchart: allow box color based on age. This enables coloring based on other scales also
svn: r20336
2012-09-05 23:59:18 +00:00
John Ralls d8ccf0de9b Bug 4310: Ancestry>Pedigree View is largely broken with Gtk-OSX
Don't retain a reference to the CairoContext by setting self.context (or
self.cairocontext). That context is invalidated on the return from the 
handler anyway with a context.restore(), so there's no benefit to 
keeping it around.



svn: r20335
2012-09-05 21:16:45 +00:00
Benny Malengier 09806437b8 Fanchart: allow reorder of background combo, default color as gradient
svn: r20334
2012-09-05 18:36:15 +00:00
Benny Malengier 0250908e2a Fix some tabs in the source code
svn: r20333
2012-09-05 18:17:41 +00:00
Peter Landgren e2d684ebdb Three .py were missing.
svn: r20332
2012-09-05 14:39:59 +00:00
Benny Malengier bccc6f4d75 Fanchart: a single function to compute box and font color
svn: r20331
2012-09-05 08:32:11 +00:00
Benny Malengier 781cdcb6f4 Fanchart: nice gradient when used based on hsv
svn: r20330
2012-09-04 20:44:24 +00:00
Benny Malengier 4379726f75 Fanchart Feature, allow gradient. Must be changed to HSV values, and white text if needed
svn: r20329
2012-09-04 20:10:42 +00:00
Peter Landgren d95af110e8 Fixed a typo.
svn: r20325
2012-09-04 14:40:13 +00:00
Benny Malengier d14bdeb262 6014: Citation view crash
svn: r20324
2012-09-04 11:35:37 +00:00
Benny Malengier 1b09094916 Feature Fanchart: allow to set font type used in graph
svn: r20322
2012-09-03 22:38:45 +00:00
Benny Malengier 9321422b48 Feature Fanchart:
1. radial text in later generation
 2. correct positioning for all fonts
 3  adapting size of font to box height


svn: r20321
2012-09-03 22:09:47 +00:00
Julio Sánchez beed421150 Forward ported 3.4 svn changes
svn: r20320
2012-09-03 18:44:07 +00:00
Benny Malengier 6de280afb5 Fanchart feature: drag and drop person in center or gen 0 to goto this person
svn: r20319
2012-09-03 09:01:34 +00:00
Peter Landgren eebcec8cc2 Fix graphviz 2.28.0 and multiple pages.
svn: r20318
2012-09-03 08:53:49 +00:00
Benny Malengier 87a5da6135 Fanchart: New feature, a childring can be added to indicate the children
This prepares drag and drop to move, so will allow fast navigation


svn: r20314
2012-09-02 14:10:11 +00:00
Benny Malengier 5f74964ec5 GTK3: convert glade files of merge to correct expand
svn: r20313
2012-09-02 11:38:53 +00:00
Benny Malengier 9734eba3ca GTK3: convert merge person dialog
svn: r20312
2012-09-02 10:24:19 +00:00
Serge Noiraud 6a9cb1694e Geography : solved the get_degrees and get_bbox python calls. ( osmgpsmap changes )
svn: r20311
2012-09-02 09:11:55 +00:00
Benny Malengier 9b42432844 Correct query for osmgpsmap. glib import removed, is not used
svn: r20310
2012-09-02 09:08:31 +00:00
Serge Noiraud 14c05dcba3 Geography : gramps --version reports unknown version.
svn: r20309
2012-09-02 08:01:55 +00:00
Benny Malengier c86f383122 Refractor so common base fan chart gramplet and view are shared
Fan chart view allows now configuration: max generation to set, 4 color schemes


svn: r20307
2012-09-01 15:13:44 +00:00
Benny Malengier 455d077c2c Fanchartview: activate the bookmarks menu
svn: r20306
2012-09-01 10:46:47 +00:00
Benny Malengier c233adcd64 Addition of a print action on the fanchart
svn: r20305
2012-09-01 10:11:07 +00:00
Benny Malengier 86c4e407e9 GTK3: conversion of method custom
svn: r20304
2012-09-01 09:45:48 +00:00
Benny Malengier 7d96db40ed Gender stats are wrong on some imports. Added tool to rebuild the gender statistics
svn: r20302
2012-08-31 13:35:14 +00:00
Benny Malengier 6a76f51f75 GTK3: enable double click to edit person in descendant browser
svn: r20301
2012-08-31 11:06:34 +00:00
Benny Malengier 43b2d6831a GTK3: correct link colors in linktag for all gramplets
svn: r20300
2012-08-31 09:36:56 +00:00
Gary Burton 5f469a7948 GTK3 fix. Fix pack_start and pack_end issues in quick backup dialog
svn: r20299
2012-08-30 22:31:13 +00:00
Benny Malengier 8126eb8f51 Avoid crash on no database loaded when moving to listviews. Unset previous model on change db
svn: r20298
2012-08-30 22:01:54 +00:00
Gary Burton 5bcef2615a GTK3 fix. Fix cursor positioning bug on adding and editing in name display editor
svn: r20297
2012-08-30 21:12:45 +00:00
Benny Malengier 2527c24014 GTK3: errors in callbacks when changing family trees.
This was very hard to debug, the signalling at the moment seems inconsistent. 
Committing this patch now to avoid problems testing further


svn: r20296
2012-08-30 21:05:00 +00:00
Benny Malengier 8c092746f0 Fanchart should be redrawn empty if database changes to nothing
svn: r20295
2012-08-30 20:46:21 +00:00
Benny Malengier cc58908d34 GTK3: adjustment value via get and set
svn: r20294
2012-08-30 20:34:42 +00:00
Benny Malengier 2ed067932e GTK3: obtain window via get_window -- this caused strange errors...
svn: r20293
2012-08-30 20:19:21 +00:00
Benny Malengier 527ac4be59 Fix bug in trunk that prevents rename of family trees
svn: r20292
2012-08-30 17:58:34 +00:00
Benny Malengier 0847d42cd4 5061: enhancement of the FanChart plugin (patch)
* more generations
  * attempt to scale font down if not fitting
  * empty boxes not print option
  * style for every generation


svn: r20291
2012-08-30 13:25:10 +00:00
Benny Malengier 3d473d7062 3442: Fan chart report might use ReportUtils.get_birth_or_fallback and get_death_or_fallback for years
svn: r20289
2012-08-30 10:23:52 +00:00
Benny Malengier 39dba1ffd0 GTK3: working print preview
svn: r20288
2012-08-30 09:40:17 +00:00
Benny Malengier 8dc900e046 Improvements in fanchartwidget, fixed to use as gramplet, preparation for a config dialog
svn: r20287
2012-08-30 08:56:09 +00:00
Serge Noiraud 232e76520e Geography : gtk3 migration. several corrections.
svn: r20286
2012-08-29 22:13:09 +00:00
Benny Malengier e1a53fe353 GTK3: convert print things
svn: r20285
2012-08-29 17:46:58 +00:00
Benny Malengier c87bbda04e GTK3: request sufficient width for scrolledview in styleeditor
svn: r20284
2012-08-29 17:23:59 +00:00
Benny Malengier 97a7b690ac GTK3: pdf out conversion, avoid segfault in pdf report write,
svn: r20283
2012-08-29 12:58:22 +00:00
Benny Malengier 6536b74a59 GTK3: avoid crash in style editor
svn: r20282
2012-08-29 12:53:36 +00:00
Benny Malengier 185883c0ab Avoid show of errordialog if osmgpsmap is not present.
No need to check GTK, GTK3 is required for GUI


svn: r20281
2012-08-29 10:03:17 +00:00
Serge Noiraud 6227383508 Geography : first try for gobject introspection. partial map, no zoom, no menu, ...
svn: r20280
2012-08-28 20:30:31 +00:00
Jérôme Rapinat fe38fb66fc #5991: typo on docstrings; crash was already fixed by Doug on rev19498...
svn: r20279
2012-08-28 17:53:04 +00:00
Jérôme Rapinat a125f69502 #5991: typo on docstrings
svn: r20278
2012-08-28 17:45:10 +00:00
Gary Burton 9f14e7c7c7 GTK3 fix. Added missing Gdk import. Colour picker on note editor now works.
svn: r20272
2012-08-27 12:08:09 +00:00
Benny Malengier 734b6dff3c 6003: Not all sourcebase objects have the same source filter
svn: r20271
2012-08-27 09:39:02 +00:00
Andre Marcelo Varenga 091eaea9a6 Update pt_BR translation
svn: r20269
2012-08-26 22:44:59 +00:00
Benny Malengier 2031f90e12 Fanchart: code cleanup, translate only on black dot, drag of center person possible
svn: r20267
2012-08-26 19:56:44 +00:00
Benny Malengier c1fd5d258a Fanchart: allow drag of a person to the clipboard
svn: r20266
2012-08-26 19:25:24 +00:00
Jérôme Rapinat 7fe3808f5f update with 3.4.1 section
svn: r20260
2012-08-24 04:18:45 +00:00
Benny Malengier f9f9109072 Needed single place where colors boxes are defined, have put it in config, with a color tab in
preferences


svn: r20258
2012-08-23 21:19:55 +00:00
Benny Malengier 3aefa46059 GTK3: fix expand of windows issues
svn: r20257
2012-08-23 19:36:03 +00:00
Benny Malengier 869777a651 GTK3: working fanchart gramplet. moved reused part to gui.widgets
svn: r20252
2012-08-22 15:50:34 +00:00
Benny Malengier e42a90f3b1 GTK3: converted fanchart, added tooltip over a person.
svn: r20251
2012-08-22 15:24:26 +00:00
Benny Malengier 908d287477 GTK3: set correct back/forward icons
svn: r20250
2012-08-22 12:49:11 +00:00
Benny Malengier fdd1b1f6b1 GTK3: working drawing of pedigreeview, also fix bug #5756 and #5757
svn: r20249
2012-08-22 11:56:59 +00:00
Zdenek Hatas 8d3f87270e czech translation update
svn: r20246
2012-08-22 09:25:54 +00:00
Benny Malengier edd1ef1920 GTK3: drag and drop from pedigreeview working. Draging to text editor supported too.
svn: r20245
2012-08-22 08:57:11 +00:00
Doug Blank 59ad97eb16 5990: order of families not preserved across XML export-import
svn: r20243
2012-08-21 18:28:59 +00:00
Benny Malengier b06ca70730 GTK3: Working filter editor
svn: r20241
2012-08-21 14:20:41 +00:00
Doug Blank 1c05e4a214 5990: order of families not preserved across XML export-import
svn: r20240
2012-08-21 12:42:34 +00:00
Benny Malengier 1ce27ee12b GTK3: working select person dialog
svn: r20237
2012-08-20 22:10:36 +00:00
Benny Malengier 0ea744e5e5 put different hex to color functions in the same place: utils.py
svn: r20236
2012-08-20 15:42:23 +00:00
Benny Malengier 61738c91b6 GTK3: forgotten util functions hex to rgb from previous commit, correct link color in notes
svn: r20235
2012-08-20 15:37:57 +00:00
Benny Malengier da05263402 GTK3: use style_context to draw correct link color, and to set shade color (not ideal, but better)
svn: r20234
2012-08-20 15:20:33 +00:00
Nick Hall 885523602d Gtk3: Fix Report and Tool selection dialogs
svn: r20231
2012-08-18 23:13:28 +00:00
Nick Hall 379fc274ad Gtk3: Convert remaining glade files
svn: r20230
2012-08-18 22:03:01 +00:00
Nick Hall c0d1cfc4bc Convert Assistants to Gtk3
svn: r20228
2012-08-18 21:05:33 +00:00
Nick Hall 5c6f4cf551 Gtk3 fixes for tagging
svn: r20226
2012-08-16 20:44:36 +00:00
Nick Hall 5c754506e0 Gtk3 conversion fixes for editors
svn: r20225
2012-08-16 20:20:52 +00:00
Nick Hall b7ab76bcf6 Improve busy cursor code for Gtk3
svn: r20224
2012-08-16 18:39:21 +00:00
Doug Blank 7b1d5c3859 Added stock_index icon so that the webapp can also use it; Added add-parent-existing-family.svg for webapp since Gramps Gtk does not have this capability
svn: r20218
2012-08-15 23:48:32 +00:00
Nick Hall feb5721eae Fix Gtk3 conversion error
svn: r20216
2012-08-15 20:51:24 +00:00
Andre Marcelo Varenga f4ccd053d3 Update pt_BR translation
svn: r20215
2012-08-15 03:06:04 +00:00
Nick Hall 5ef40c7b50 Set svn:ignore property
svn: r20213
2012-08-14 22:50:56 +00:00
Gary Burton aa1729d364 GTK3 fix. Workaround for bug https://bugzilla.gnome.org/show_bug.cgi?id=679654 which prevents list_families() being called more than once to generate a list of fonts. Text reports and anything else which uses the PDF backend now works
svn: r20212
2012-08-14 21:58:29 +00:00
Doug Blank ea5dcfd4ae Refined docstrings
svn: r20211
2012-08-14 12:59:19 +00:00
Doug Blank 22867c8090 Changes to work with new to_struct
svn: r20209
2012-08-13 23:52:39 +00:00
Doug Blank 8dddccf6b6 Added to_struct methods to all gen.lib objects; 2623: Import Export Merge (GEPS 009)
svn: r20205
2012-08-13 23:45:19 +00:00
Nick Hall 35bc7024d0 Fix Gtk3 conversion error
svn: r20203
2012-08-13 22:55:21 +00:00
Nick Hall f5895ebb73 Fix Gtk3 conversion error
svn: r20202
2012-08-13 22:39:05 +00:00
Gary Burton 0360335899 Just log a warning rather than show an error dialog if webkit cannot be imported
svn: r20198
2012-08-08 21:51:27 +00:00
Gary Burton 97f26ed118 Just log a warning rather than show an error dialog if spell checker cannot be imported
svn: r20197
2012-08-08 21:50:38 +00:00
Jérôme Rapinat b4ee8915d6 minor improvement
svn: r20190
2012-08-06 09:11:54 +00:00
Jérôme Rapinat dbacf33834 typo
svn: r20189
2012-08-06 09:08:58 +00:00
Andre Marcelo Varenga aae6ed5a39 update pt_BR translation
svn: r20187
2012-08-06 03:25:19 +00:00
Andre Marcelo Varenga 0ed251f6ce add pt_BR man page
svn: r20185
2012-08-06 02:09:07 +00:00
Andre Marcelo Varenga 1a2940192c pt_BR dir for man pages
svn: r20184
2012-08-06 02:03:54 +00:00
Andre Marcelo Varenga 0c189bf4e6 update pt_BR translation
svn: r20181
2012-08-05 03:28:25 +00:00
Andre Marcelo Varenga bcbaf8fe25 update pt_BR translation
svn: r20179
2012-08-04 17:32:32 +00:00
Benny Malengier 31e3fbc70e GTK3: avoid fanchartview from crashing, does not work yet however
svn: r20177
2012-08-04 09:52:18 +00:00
Benny Malengier e351f60398 GTK3: fully working Pedigreeview, bugs #5757 #4310 with display present
svn: r20176
2012-08-04 09:11:19 +00:00
Gary Burton e16c439e46 GTK3 fix relationship view
svn: r20175
2012-08-04 06:07:15 +00:00
Andre Marcelo Varenga ed74f6e1b3 update pt_BR translation
svn: r20174
2012-08-03 03:10:19 +00:00
Benny Malengier e4b5e4e7b2 GTK3: PedigreeView, show boxes again. Lines still to do.
svn: r20172
2012-08-02 21:23:47 +00:00
Craig J. Anderson 740da0aedc fix for:
http://www.gramps-project.org/bugs/view.php?id=5960
http://www.gramps-project.org/bugs/view.php?id=5958
an event crashed when the person was not known.


svn: r20171
2012-08-01 18:58:53 +00:00
Benny Malengier ca4f62cd37 GTK3: validated entry: fix last issues, icon showing, some color change always
svn: r20169
2012-08-01 18:16:21 +00:00
Benny Malengier 6686435b19 GTK3: remove gtkmozembed and make htmlview work with webktview in a scrolled window
svn: r20168
2012-08-01 14:44:55 +00:00
Andre Marcelo Varenga 72e956b1db update pt_BR translation
svn: r20167
2012-08-01 02:11:41 +00:00
Gary Burton e72e446759 GTK3 fix for gender dialog
svn: r20165
2012-07-31 21:55:20 +00:00
Doug Blank 55685f32b6 Merge branches/gramps35 with trunk
svn: r20164
2012-07-31 20:49:19 +00:00
Gary Burton 3158247c90 GTK3 fixes book report
svn: r20161
2012-07-31 14:12:55 +00:00
Gary Burton 5f92d658dc GTK3 fixes for narrative web report
svn: r20159
2012-07-31 12:37:36 +00:00
Gary Burton ecbcea50af GTK3 fixes for media manager tool
svn: r20158
2012-07-31 12:13:33 +00:00
Gary Burton dc78c76176 GTK3 fixes filter editor. Rule tree is not sizing correctly yet.
svn: r20153
2012-07-30 21:05:43 +00:00
Gary Burton 1fe0a00747 GTK3 fixes for 'Not related' tool.
svn: r20151
2012-07-30 20:02:54 +00:00
Benny Malengier b61e83c621 GTK3: update README for WebKit
svn: r20150
2012-07-30 18:58:38 +00:00
Benny Malengier 130b987367 GTK3: Htmlview working again based on WebKit gobject instrospection
svn: r20149
2012-07-30 18:54:41 +00:00
Benny Malengier f080cb1b3c GTK3: working plugin manager
svn: r20148
2012-07-30 18:36:21 +00:00
Gary Burton 36d3973984 GTK3 fix to prevent missing media dialog filling screen when running check and repair tool.
svn: r20143
2012-07-30 13:26:39 +00:00
Gary Burton 636d9b2be9 GTK3 fixes for rename events tool
svn: r20142
2012-07-30 13:06:52 +00:00
Gary Burton d0a1cdfb25 Signal and callback fixes for find duplicates tool. GTK3 issues still to be fixed when merging people
svn: r20141
2012-07-30 09:06:35 +00:00
Gary Burton 192e9080c5 GTK3 fixes for verify data tool
svn: r20140
2012-07-30 08:52:34 +00:00
Andre Marcelo Varenga 5764b374b3 update pt_BR translation
svn: r20135
2012-07-30 03:00:12 +00:00
Benny Malengier fca59a15a7 GTK3: gtkspell dependency in README
svn: r20131
2012-07-29 20:59:19 +00:00
Benny Malengier e908a84b1e GTK3: Working spellcheck using changes branch of:
https://github.com/manisandro/gtkspell3/tree/changes


svn: r20130
2012-07-29 19:41:26 +00:00
Craig J. Anderson f1ccd09cfc fix for
http://www.gramps-project.org/bugs/view.php?id=5221#c24809


svn: r20127
2012-07-29 00:37:24 +00:00
Doug Blank 8798f77a3d New Family data structures
svn: r20125
2012-07-28 15:01:25 +00:00
Gary Burton 71852fce07 GTK3 fixes for wrongly formatted pack_start methods.
svn: r20123
2012-07-28 11:23:25 +00:00
Gary Burton 169d8a8635 Missing Gdk import. Required for various tools.
svn: r20122
2012-07-28 11:12:00 +00:00
Doug Blank f2eacf6125 Remove tag complexity: tags are not ordered
svn: r20121
2012-07-27 23:28:49 +00:00
Gary Burton bcfdeecdab GTK3 fixes for remove unused object plugin.
svn: r20119
2012-07-27 22:09:01 +00:00
Gary Burton 6f89360ee0 Fixes to get Family Lines plugin dialog working. Boxes now size correctly
svn: r20118
2012-07-27 21:17:15 +00:00
Gary Burton 103184ceb6 Fixes to get Family Lines plugin dialog working. Family colours and people of interest boxes not sizing correctly yet. Other plugins may work
svn: r20117
2012-07-27 20:08:07 +00:00
Doug Blank 8247c24e3e Missing has_data line
svn: r20116
2012-07-27 15:48:58 +00:00
Benny Malengier 371f34bb75 GTK3: pedigreeview, fix drag and drop partially, fix popup menus not showing
svn: r20114
2012-07-27 15:44:13 +00:00
Doug Blank bdaee91064 Added User when drag/drop filename on Family Tree manager; added comments in cli interface
svn: r20113
2012-07-27 15:31:24 +00:00
Doug Blank 13a1e7e412 Added class id to all tab labels
svn: r20111
2012-07-27 15:07:36 +00:00
Benny Malengier 3d189e8f60 GTK3: fix drag and drop on dbman
svn: r20109
2012-07-27 15:05:46 +00:00
Doug Blank ee0e6681ac Added has_data interface for setting tabs to bold/italic if there is data in the tab
svn: r20108
2012-07-27 14:57:49 +00:00
Benny Malengier 1d21989810 GTK3: allow drag and drop of files on mediaview, fix metadata gramplet
svn: r20106
2012-07-27 14:47:09 +00:00
Benny Malengier f21dd31e91 GTK3: placeview drag drop, avoid crash on drag of a place leave from treeview
svn: r20105
2012-07-27 14:38:52 +00:00
Benny Malengier a3c7409bcd GTK3: quicktable drag and drop working
svn: r20104
2012-07-27 14:16:19 +00:00
Benny Malengier 2d787397b0 GTK3: fix all unicode str conversions with common hack for now
svn: r20103
2012-07-27 13:56:01 +00:00
Benny Malengier 1682fb6945 GTK3: Working Grampletpane in the GrampletView. For right click, eventbox added
Some Gramplets fixed at same time


svn: r20102
2012-07-27 13:39:29 +00:00
Doug Blank 1f47ab637f Django Database changes to allow ordered items (families, tags, etc); everything which is import/export is 100% correct
svn: r20101
2012-07-27 06:37:54 +00:00
Doug Blank 8262134f5d Django Database changes to allow ordered items (families, tags, etc); everything which is import/export is 100% correct
svn: r20100
2012-07-27 06:25:59 +00:00
Doug Blank e5ebd81b2a Sort the citation handles to keep the files idempotent (compare easily)
svn: r20098
2012-07-27 04:27:22 +00:00
Gary Burton 08a00f49cd Fix pop up menu on right mouse button click on gallery images. The menu variable must be declared as an instance variable to prevent the Gtk.Menu object from being garbage collected, otherwise the menu fails to appear.
svn: r20095
2012-07-26 20:57:05 +00:00
Benny Malengier 871b58ae3d Gtk3: drag and drop in grampletpane fixed
svn: r20094
2012-07-26 20:22:46 +00:00
Gary Burton ad424628a4 Put back a copy of document.png in IMAGE_DIR as it is required as the default thumbnail for documents.
svn: r20093
2012-07-26 19:41:41 +00:00
Benny Malengier ae50a76405 GTK3: placeentry recognizes drop again
svn: r20092
2012-07-26 18:25:57 +00:00
Benny Malengier 2deef77d79 GTK3: working gallerytab with drag and drop, working editmediaref
svn: r20091
2012-07-26 18:00:37 +00:00
Benny Malengier a81ec4fc74 GTK3: allow copy from clipboard to embeddedlist
GTK3: convert remaining ComboboxEntry
GTK3: child ref editor works


svn: r20090
2012-07-26 16:59:25 +00:00
Benny Malengier 28a20116b5 GTK3 port, reenable ctrl+C copy behavior on listvie
svn: r20089
2012-07-26 15:57:05 +00:00
Benny Malengier e44e69b0dc set select function now needs two arguments
svn: r20088
2012-07-26 13:55:45 +00:00
Benny Malengier d9710bdcc2 Working drag and drop from listviews to clipboard
svn: r20087
2012-07-26 13:42:10 +00:00
Doug Blank bd15d69989 Refactor to allow references to be viewed/edited
svn: r20086
2012-07-26 13:27:49 +00:00
Zdenek Hatas 6c4f7b5699 czech translation update
svn: r20084
2012-07-26 11:23:07 +00:00
Doug Blank d8b0d5ba5e Working on remove, up, down of references
svn: r20083
2012-07-26 06:11:01 +00:00
Doug Blank c40e01b987 Fixed birth/death updating when editing/deleting an event
svn: r20081
2012-07-26 01:18:39 +00:00
Gary Burton 0a10eed5a3 Fix thumbnailing when the thumbnail is a crop of an image
svn: r20079
2012-07-25 22:18:54 +00:00
Doug Blank 3593c775e6 Add probably_alive to person view/editor
svn: r20076
2012-07-25 05:16:37 +00:00
Doug Blank 6ebcc8624e Better support for report options; added missing tag db functions;
svn: r20075
2012-07-25 05:02:02 +00:00
Doug Blank 4168033f83 Refinements in tab visuals; fixed adding tag cache error
svn: r20074
2012-07-25 00:47:09 +00:00
Doug Blank 26a211d715 Second thought, there is no reason why configure needs gobject
svn: r20073
2012-07-24 21:50:59 +00:00
Doug Blank 30d3379626 Initial fixes
svn: r20072
2012-07-24 20:35:22 +00:00
Doug Blank 5bff535428 New functionality: remove, and re-order children from/in family
svn: r20071
2012-07-24 20:34:10 +00:00
Benny Malengier 8d29bb62e4 GTK3: make sure clipboard opens correctly. Still crashes on use.
svn: r20070
2012-07-24 19:34:28 +00:00
Benny Malengier 768278d6a7 GTK3: pixbuf.save is not available via gi, use savev. Like this scaling works again
svn: r20069
2012-07-24 19:14:23 +00:00
Benny Malengier e6474051cf GTK3: warnbutton should show warn dialog with expanded textview
svn: r20068
2012-07-24 19:00:47 +00:00
Jérôme Rapinat a404c93276 fix number of arguments on some editors, complete version bumping on plugins, temp work around on repository details gramplet; see http://sourceforge.net/mailarchive/message.php?msg_id=29521703
svn: r20067
2012-07-24 18:43:24 +00:00
Benny Malengier 43e7edd99f Infodialog sufficiently large
Add easy test of dialogs to dialog.py


svn: r20066
2012-07-24 18:29:17 +00:00
Doug Blank 868d00a67f Added check for pygobject >= 3.3.2
svn: r20065
2012-07-24 15:36:06 +00:00
Doug Blank d57b63ac6d More changes for version change
svn: r20064
2012-07-24 12:26:36 +00:00
Doug Blank 011afd5ea6 Missing module, os
svn: r20063
2012-07-24 07:35:30 +00:00
Doug Blank b9d5ea797e Bump Gramps version up to 4.0
svn: r20062
2012-07-24 07:10:31 +00:00
Doug Blank 59307c6268 typo: get_unicode_path_from_env_var
svn: r20061
2012-07-24 00:42:47 +00:00
Benny Malengier 4ac709f104 Fixes for GTK3, on_ method changed in do_ method
svn: r20060
2012-07-23 21:20:50 +00:00
Benny Malengier 1992256b02 GTK3 conversion of the gramplet
svn: r20059
2012-07-23 21:20:04 +00:00
Benny Malengier b2623e454b Start of GTK3 conversion, rest is teamwork ...
svn: r20057
2012-07-23 20:54:57 +00:00
Benny Malengier 64d2de4dbd merged r19899 through r20053 of trunk
svn: r20056
2012-07-23 13:42:56 +00:00
Paul Franklin 8bb7e19145 remove "dead" code, approved by BrianM
svn: r20055
2012-07-23 13:15:13 +00:00
Paul Franklin 032516c774 remove "dead" code, approved by BrianM
svn: r20054
2012-07-23 13:14:20 +00:00
Doug Blank 07942011c1 Adjust links on each child row; fix typo on surname detail page
svn: r20053
2012-07-22 17:30:44 +00:00
Doug Blank 95a604f2c6 allow a cell in table to not have a link; put buttons in cell for children
svn: r20052
2012-07-22 17:07:47 +00:00
Doug Blank 3da425b6c8 Add mouse over for browse
svn: r20051
2012-07-22 15:30:28 +00:00
Doug Blank 15811672a2 Allow events to be searched by desc; added family search on first_name
svn: r20050
2012-07-22 06:17:42 +00:00
Jérôme Rapinat c5061b1bb1 typo; missing gen.utils.alive module
svn: r20049
2012-07-22 05:44:34 +00:00
Jérôme Rapinat 800d6aef45 5914: Cannot save bookmarked citations into Gramps XML file format
svn: r20048
2012-07-22 05:36:13 +00:00
Doug Blank ff5aa4101d Added missing nickname on name form
svn: r20046
2012-07-22 04:10:18 +00:00
Doug Blank 00f3707474 Show Media description in browse view
svn: r20045
2012-07-22 00:14:48 +00:00
Doug Blank 5af4d58ff3 Added ^startswith and endswith$ matching for search
svn: r20044
2012-07-21 23:03:56 +00:00
Doug Blank ea9a8699f7 Default media looks in path, descr, and mime type
svn: r20043
2012-07-21 22:22:32 +00:00
Doug Blank b5bf4a3644 Added ability to search media by path, descr, and mime type
svn: r20042
2012-07-21 22:14:56 +00:00
Doug Blank daaf25867d Added interface to SimpleTable for setting column widths
svn: r20041
2012-07-21 18:00:37 +00:00
Doug Blank 685641ec27 Added functionality to add person to existing/new family as spouse/child
svn: r20040
2012-07-21 17:43:20 +00:00
Doug Blank d944dc918f Renamed variables action -> act to avoid conflict with function
svn: r20039
2012-07-21 15:02:52 +00:00
John Ralls 41e77a23bf Use Gtk3's primary designator to replace all instances of <control> for accelerators and bindings.
svn: r20038
2012-07-20 22:26:10 +00:00
Doug Blank 9295c61005 Typo Media -> Event
svn: r20037
2012-07-20 19:15:21 +00:00
Doug Blank 2b254a9bdd New template for picking from a list of objects
svn: r20036
2012-07-20 17:42:59 +00:00
Doug Blank f383dad6df Move Sources to Citations
svn: r20035
2012-07-20 17:40:54 +00:00
Doug Blank 747c1c8af3 Implement adding refs to shared objects
svn: r20034
2012-07-20 17:11:13 +00:00
John Ralls cf6b91ffe9 Fix up mac integration for introspection
Requires not-yet-released gtk-mac-integration 1.1.0



svn: r20033
2012-07-19 23:55:35 +00:00
Jérôme Rapinat 17350a8c2f update APIs documentation according to last changes (GEPS008)
svn: r20032
2012-07-19 08:55:23 +00:00
Jérôme Rapinat 37e6616185 remove "PluginManagerGramplet" references (see rev20027)
svn: r20031
2012-07-19 05:47:45 +00:00
Doug Blank 828d1cd009 Removed unneeded plugin, now that this is built into Gramps
svn: r20027
2012-07-18 17:23:41 +00:00
Doug Blank aa4276602e 4538: security - information disclosure: export with 'restrict data on living people'on leaks first names when patronymic is present
svn: r20025
2012-07-18 05:19:59 +00:00
Doug Blank 7ba473d4b0 5443: Maximum number of generations (made ranges be able to go as small as 1, which is sometimes useful)
svn: r20022
2012-07-18 04:57:47 +00:00
Doug Blank 94c6d31fa8 5443: Maximum number of generations (fixed slightly different types, such as int to long)
svn: r20021
2012-07-18 04:45:38 +00:00
Doug Blank cd5da12282 Code for Gramps to communicate with Gramps-Connect
svn: r20020
2012-07-17 19:53:55 +00:00
Doug Blank e98c78e136 Was not rebuilding cache when adding a references to an object
svn: r20019
2012-07-17 13:39:10 +00:00
Craig J. Anderson 6d39969056 backed out a parameter passing change I made in commit 19862
svn: r20018
2012-07-17 01:34:54 +00:00
Craig J. Anderson 83058c7e7b Paul found a strange error. Using the book report.
when a self._user.begin_progress is started, it must 
be finished in the same method.  If not, the progress 
box will not go away.



svn: r20015
2012-07-17 00:21:14 +00:00
Tim G L Lyons 7f5f855df1 0005785: print statements in Check.py causing a crash in Windows (pythonw.exe) after outputting 4096 characters. Setup logging in gramps.py before anything else; for Windows divert stderr/stdout to a log file; use logging instead of print for errors or warnings.
svn: r20014
2012-07-16 22:55:36 +00:00
John Ralls ec2367cb66 Fix up setup.py for some moved files
svn: r20012
2012-07-16 19:31:25 +00:00
Tim G L Lyons 679178d3bb 0005785: print statements in Check.py causing a crash in Windows (pythonw.exe) after outputting 4096 characters. Change warning print statements to logging.
svn: r20011
2012-07-16 17:57:01 +00:00
Zdenek Hatas bfc8d16620 czech translation update
svn: r20008
2012-07-16 12:32:29 +00:00
Peter Landgren c9b6f11da2 Partial Swedish update.
svn: r20007
2012-07-16 12:02:54 +00:00
John Ralls e9a2520802 Convert backend determination for pygi and Gtk3 (GEP-029)
svn: r20005
2012-07-15 23:49:11 +00:00
John Ralls 9f3feb9832 Update moduleset for Gtk3 dependencies (GEP-029)
svn: r20004
2012-07-15 23:31:16 +00:00
Jérôme Rapinat 216bbfee1e update POTFILES and Makefile references according to 'po/test/po_test.py'
svn: r20003
2012-07-15 14:42:46 +00:00
Paul Franklin d26a7312d9 5696: clicking the "home" icon should report if no default person has been set
svn: r20000
2012-07-14 14:05:37 +00:00
Doug Blank c2a2343573 Fixed import from exportpkg after it moved
svn: r19998
2012-07-14 03:26:23 +00:00
Doug Blank c5c5e24f7c Fixed error in setting gramps_id when XML importing
svn: r19997
2012-07-13 16:33:36 +00:00
Doug Blank e03eaa26da Error in finding differences
svn: r19996
2012-07-13 04:31:49 +00:00
Doug Blank d6fbdc43db Error in assigning gids
svn: r19995
2012-07-13 04:31:15 +00:00
Tim G L Lyons 3fa004ce98 0005785: print statements in Check.py causing a crash in Windows (pythonw.exe) after outputting 4096 characters. Change to logging.warning and logging.info.
svn: r19994
2012-07-12 22:28:58 +00:00
Paul Franklin 255e51c002 better center the non-glade report dialogs
svn: r19992
2012-07-12 14:01:41 +00:00
Paul Franklin d15031df00 better center the non-glade report dialogs
svn: r19991
2012-07-12 14:00:52 +00:00
Benny Malengier 9e400a2ca3 Fixes in treeview broke listview, now fixed
simplified unicode/str casting
columnorder working


svn: r19990
2012-07-11 17:50:51 +00:00
Paul Franklin e7439e6e23 show the paragraph styles sorted, in the style editor
(e.g. the 65 of them in the text descendant report)


svn: r19989
2012-07-11 15:39:24 +00:00
Paul Franklin 345d80b588 5900: reports should remember their last-used GUI output file name
svn: r19988
2012-07-11 15:04:15 +00:00
Doug Blank fdeac38c04 Initial code for finding differences
svn: r19987
2012-07-11 14:49:24 +00:00
Doug Blank c59fe9fd71 Missing method for tags
svn: r19986
2012-07-11 14:12:37 +00:00
Doug Blank ee1e4eb2f7 Need to be able to sort when getting handles; fixed typo
svn: r19985
2012-07-11 06:53:19 +00:00
Doug Blank f311e3d64a Fixes for tags
svn: r19984
2012-07-11 03:19:56 +00:00
Doug Blank 7b133023ed Added handles_func to db._tables, and added sort to get_X_handles methods in DictionaryDb
svn: r19983
2012-07-11 01:41:52 +00:00
Doug Blank 1f0dc4f799 Missing gettext
svn: r19982
2012-07-11 00:31:27 +00:00
Tim G L Lyons e106cfb7ad 0005735: Custom Source filter missing. Citation filter was not using 'page' and source filter was not using 'Abbreviation'.
svn: r19981
2012-07-10 22:21:28 +00:00
Doug Blank e61df51701 Moved exportxml
svn: r19980
2012-07-10 21:16:37 +00:00
Andre Marcelo Varenga c6e45e6b40 update pt_BR translation
svn: r19977
2012-07-10 18:53:20 +00:00
Doug Blank 996a2cd2a2 5905: Links (other than internet) in Notes don't work in NAVWEB; handle Family
svn: r19975
2012-07-10 17:05:23 +00:00
Paul Franklin e44060f00b 5483: graphic reports should allow indexing (and thus a t.o.c.) -- partial
(this is Craig's 5483-Ancestor-Descendant-libtreebase-trunk.svndiff patch
from 5483, and I am only commiting it; he wrote it and deserves the credit)


svn: r19972
2012-07-10 13:31:13 +00:00
Paul Franklin c52933f9ec 5483: graphic reports should allow indexing (and thus a t.o.c.) -- partial
(this is my patch-5483=drawindexing-20120702.svndiff.trunk -- from 5483)


svn: r19971
2012-07-10 13:29:44 +00:00
Benny Malengier 4c5470492f Since GTK3, unicode and str must be correctly (de)coded
svn: r19970
2012-07-10 12:40:27 +00:00
Benny Malengier 2ff2f4ff57 Edit note working with undo/redo
svn: r19969
2012-07-10 12:32:50 +00:00
Benny Malengier 6955382107 unicode needs encoding since GTK3
svn: r19968
2012-07-10 12:31:47 +00:00
Benny Malengier 318c1def5a persontreeview, insert/delete working
svn: r19967
2012-07-10 12:10:03 +00:00
Benny Malengier 9da71185a6 Working person treeview, insert/add/delete still todo
read/write db, make sure unicode or utf8, nothing else!


svn: r19966
2012-07-10 03:32:08 +00:00
Benny Malengier 0b8d0a1a95 Make clear this warning is understood
svn: r19965
2012-07-09 22:54:45 +00:00
Benny Malengier 3430acd2d5 workaround for bug that leads to segphault
svn: r19964
2012-07-09 22:51:21 +00:00
Benny Malengier 458ac1cdf0 GTK3 does not automatically convert type to str, do ourselves
svn: r19963
2012-07-09 21:58:30 +00:00
Paul Franklin 5696864675 GEPS008 fixes
svn: r19962
2012-07-08 14:02:47 +00:00
Benny Malengier 9a7a6548f3 Workaround to have popup shown in GTK3 on grampsbar, and fixes in gramplets
svn: r19961
2012-07-08 03:09:25 +00:00
Benny Malengier fbe91910dc Editperson opens and editfamily, popup fixes
svn: r19960
2012-07-07 22:33:21 +00:00
Fedik 0cdc51ec04 forgot about --no-wrap :)
svn: r19957
2012-07-07 17:23:28 +00:00
Fedik 123cc33f59 small translation and uptades
svn: r19956
2012-07-07 17:00:29 +00:00
Benny Malengier 49445e948d popup working on listview, cont previous commit
svn: r19955
2012-07-05 14:52:30 +00:00
Benny Malengier 140f23536f Right click for popup working on listviews
svn: r19954
2012-07-05 14:51:14 +00:00
Paul Franklin a4ccd58c09 5765: table-lines out of order in complete-individual-report in LaTeX
(patch by Harald Rosemann <rosemann@imkt.uni-hannover.de>)


svn: r19952
2012-07-05 13:53:20 +00:00
Benny Malengier 2a6790d795 convert KEY_PRESS
svn: r19951
2012-07-05 03:15:26 +00:00
Benny Malengier 5678f5df54 Problems with str and unicode conversion after GTK3 use.
These changes set the encoding explicitly, so as to avoid ascii being used


svn: r19950
2012-07-05 03:12:07 +00:00
Benny Malengier 226a3eee2b merge trunk from 19853 to 19947
svn: r19949
2012-07-05 00:38:18 +00:00
Paul Franklin 3e9cc045eb 5734: have one style file for dual-named reports
svn: r19948
2012-07-04 16:11:51 +00:00
Benny Malengier aba47d38cb Fix in db manager, questiondialog, sidebarfilter
svn: r19947
2012-07-04 12:12:18 +00:00
Nick Hall e73eec36aa 5886: Update Makefile.am and POTFILES.in for r19943
svn: r19946
2012-07-03 12:22:22 +00:00
Paul Franklin 11bfd21e8a give the report options a unique name
svn: r19945
2012-07-02 13:44:39 +00:00
Craig J. Anderson 2580665600 Fixed a small error where $P in a person box when the person has not
been married does not remove the format string.  Found by Adam Stein.


svn: r19944
2012-07-02 13:41:58 +00:00
Paul Franklin f160ba8c64 5886: Calendar report cannot be run
svn: r19943
2012-07-02 13:22:34 +00:00
Doug Blank ff8a9fbbba Error in get_repr
svn: r19942
2012-07-01 03:02:47 +00:00
Doug Blank 40e1821d12 5885: TemplateSyntaxError on person details
svn: r19941
2012-06-30 13:01:53 +00:00
Doug Blank 38f5d57b7f 5868: webapp xml import failed in trunk
svn: r19940
2012-06-30 12:14:23 +00:00
Doug Blank e1247426da Allow Span display as Time or as Age
svn: r19939
2012-06-30 05:04:44 +00:00
Doug Blank 833dfcf7ef 5868: xml import failed in trunk
svn: r19938
2012-06-30 01:00:17 +00:00
Paul Franklin c54a6e582d ConfigParser is in Python, not Gramps
svn: r19937
2012-06-29 14:36:52 +00:00
Nick Hall cdf504dc9d Change format of import
svn: r19936
2012-06-28 17:32:27 +00:00
Nick Hall d1ac573c51 Use constants for Gramps icon and splash file
svn: r19935
2012-06-28 16:21:51 +00:00
Craig J. Anderson 508aefea03 small error fixes to these reports when run in a book report
svn: r19934
2012-06-28 15:42:16 +00:00
Jérôme Rapinat b913cde440 5881: data_item ignored on citation object
svn: r19931
2012-06-28 14:09:13 +00:00
Nick Hall ad66d4ba4c GEPS008: Fix for reports
svn: r19930
2012-06-28 12:58:42 +00:00
Nick Hall 521e053a41 GEPS008: Property changes
svn: r19929
2012-06-27 22:24:47 +00:00
Nick Hall ae1585df82 GEPS008: Move const module
svn: r19928
2012-06-27 17:30:30 +00:00
Benny Malengier 54ed4276a4 Remove deepcopy workaround for old python versions, only python 2.7 now
svn: r19926
2012-06-26 16:25:27 +00:00
Benny Malengier 747c4f2960 import of osmgpsmap crashes in GTK3, so we deactivate it
svn: r19925
2012-06-26 16:22:46 +00:00
Nick Hall f381a707b0 GEPS008: Combine db, name, referent and tree modules
svn: r19924
2012-06-26 14:22:22 +00:00
Nick Hall 449bb71a49 GEPS008: Removed Utils module
svn: r19923
2012-06-25 22:04:16 +00:00
Nick Hall 6f04233439 GEPS008: Move fix_encoding function
svn: r19922
2012-06-25 20:19:34 +00:00
Nick Hall a072c989b2 GEPS008: Create module for database utilities
svn: r19921
2012-06-25 18:44:52 +00:00
Nick Hall cfe03f3b60 GEPS008: Move src/docgen to src/gen/utils
svn: r19920
2012-06-25 00:01:40 +00:00
Nick Hall a164389c6a GEPS008: Remove redundant code
svn: r19919
2012-06-24 22:56:27 +00:00
Nick Hall 7871067d99 GEPS008: Remove unused imports
svn: r19918
2012-06-24 22:05:39 +00:00
Nick Hall 4209730bcb GEPS008: Create new module for string mappings
svn: r19917
2012-06-24 19:14:25 +00:00
Paul Franklin b7d5b91535 5701: configure an existing "book" using saved-away values
svn: r19916
2012-06-24 17:22:53 +00:00
Paul Franklin 063e6504c8 5701: configure an existing "book" using saved-away values
svn: r19915
2012-06-24 17:22:01 +00:00
Nick Hall 4a7623a5ed GEPS008: Change imports for lowercase plugins
svn: r19914
2012-06-24 17:06:50 +00:00
Nick Hall 541887e6ba GEPS008: Create new module for id utilities
svn: r19913
2012-06-24 16:05:56 +00:00
Craig J. Anderson 973f166c99 Added feature of first photo in the gallery information
svn: r19912
2012-06-24 03:17:12 +00:00
Nick Hall bf4685e302 GEPS008: Fix missing import
svn: r19911
2012-06-24 00:46:50 +00:00
Nick Hall ac133984a4 GEPS008: Create new module for utilities to cast types
svn: r19910
2012-06-24 00:35:23 +00:00
Nick Hall 8b297167b1 GEPS008: Create new module for name utilities
svn: r19909
2012-06-24 00:15:17 +00:00
Nick Hall e484d54bd8 GEPS008: Create new module for tree utilities
svn: r19908
2012-06-23 23:37:30 +00:00
Nick Hall 5e1535e125 GEPS008: Create new module for make_unknown functions
svn: r19907
2012-06-23 23:18:27 +00:00
Nick Hall 2a0b009bdf GEPS008: Create new module for file utilities
svn: r19906
2012-06-23 22:13:23 +00:00
Nick Hall 3ec4c0f80c GEPS008: Create new module for keyword translation
svn: r19905
2012-06-23 19:43:18 +00:00
Nick Hall 640e203693 GEPS008: Move format_time into datehandler
svn: r19904
2012-06-23 18:34:50 +00:00
Nick Hall b359b16a21 GEPS008: Moved translation utilities
svn: r19903
2012-06-23 17:36:36 +00:00
Nick Hall e2a80ded2a GEPS008: Moved LdsUtils module
svn: r19902
2012-06-23 16:44:40 +00:00
Nick Hall 742c3d770e GEPS008: Moved ImgManip module
svn: r19901
2012-06-23 16:27:39 +00:00
Nick Hall 010325c23b GEPS008: Change plugin Makefiles to lowercase
svn: r19899
2012-06-23 09:36:29 +00:00
Nick Hall 4f1cfd2718 GEPS008: Convert plugin filenames to lowercase
svn: r19898
2012-06-22 23:59:45 +00:00
Craig J. Anderson 3a82d58838 fixed a reacurring error that was in 19873
svn: r19896
2012-06-21 21:01:38 +00:00
Craig J. Anderson d3c412512b fix for 5851 (part 4)
svn: r19895
2012-06-21 20:52:19 +00:00
Craig J. Anderson e0193098a0 revert to 19873
svn: r19894
2012-06-21 20:50:55 +00:00
Craig J. Anderson d1bef05130 base fix for feature request 5483
svn: r19892
2012-06-21 14:26:05 +00:00
Jérôme Rapinat 6527b43def 5794: Birthday list report has invalid code
svn: r19889
2012-06-21 09:17:44 +00:00
Doug Blank 1194f5afcd Support sorting on handles for get_*_handles() methods
svn: r19888
2012-06-20 12:14:01 +00:00
Doug Blank 7fe31877f0 Need jHTMLArea for notes; border was on too many things; made width a bit wider
svn: r19887
2012-06-20 11:13:11 +00:00
Doug Blank 4b0962fcc9 Show Log history for every object
svn: r19886
2012-06-20 02:34:15 +00:00
Benny Malengier 6dd1c0e3c2 Validatedmaskedentry works somewhat, but no icon to be seen.
ComboxEntry needs focus to work


svn: r19885
2012-06-20 00:17:39 +00:00
Craig J. Anderson 32fbd754fb update for feature 5854.
Added a new Notes style so the user can modify this separately


svn: r19884
2012-06-19 22:21:36 +00:00
Doug Blank 846a46ee7f Generate style for each table (too much style is currently included); set border styles in cells
svn: r19882
2012-06-19 15:42:32 +00:00
Doug Blank 8f012c19b5 Added doc.use_table_headers to use th on first row; allow declaration style to be id-specific
svn: r19881
2012-06-19 15:40:51 +00:00
Doug Blank 75f4cf2ee2 Added set_borders which turns on all cell borders
svn: r19880
2012-06-19 15:39:05 +00:00
Doug Blank e7032c45b6 5794: Birthday list report has invalid code
svn: r19879
2012-06-19 14:15:39 +00:00
Serge Noiraud 9929a355ab Geography : missing convertion to introspection for this file.
svn: r19878
2012-06-19 14:12:27 +00:00
Benny Malengier ab89662e64 Validated masked entry does not crash anymore (does not work correct however)
No separator anymore in dialog
Remove ComboBoxEntry


svn: r19876
2012-06-19 10:36:12 +00:00
Doug Blank 47309dbcfb Need to use png until we get PIL 1.1.7 installed
svn: r19875
2012-06-19 05:47:13 +00:00
Doug Blank 08f380a4ef Pure-Python PNG reader/writer under MIT License
svn: r19874
2012-06-19 03:29:22 +00:00
Craig J. Anderson 8892057886 Error 5851 (part 3)
svn: r19873
2012-06-19 02:56:11 +00:00
Doug Blank 9404e6c1b4 Copy all config default settings to Config; images should use relative path; behavior.addmedia-image-dir should be absolute
svn: r19872
2012-06-19 01:59:37 +00:00
Benny Malengier ff93112221 Working about dialog, preferences, quickview on click in gramplet, event editor opens, and minor things
svn: r19871
2012-06-18 22:56:57 +00:00
Doug Blank 7b4271e6a3 config.config errors, perhaps due to reorg
svn: r19870
2012-06-18 22:52:16 +00:00
Doug Blank daa01defab Added media viewing and editing; gets media from config and creates a /thumbnail/ folder there
svn: r19869
2012-06-18 22:32:22 +00:00
Craig J. Anderson 9841fb79ef Error 5851 (part 2)
svn: r19868
2012-06-18 20:35:05 +00:00
Peter Landgren a0d592a6fc Found a new untranslated word.
svn: r19866
2012-06-18 18:23:06 +00:00
Craig J. Anderson 30b0c044ce Fix for error 5851 in trunk and 3.4.
'&' and '<' give Pango warnings and does not print the desired results
in (most) Graphics reports.


svn: r19862
2012-06-18 17:54:55 +00:00
Doug Blank 1bffd5f2f0 Fixed has_gramps_id, removed dup methods
svn: r19861
2012-06-18 12:29:30 +00:00
Doug Blank 074fef2b21 Dictionary-based database with enough in place to import into
svn: r19860
2012-06-18 12:27:23 +00:00
Benny Malengier 35ccf01827 Convert MenuItem, working styledtexteditor in grampletpane
svn: r19859
2012-06-17 23:04:42 +00:00
Benny Malengier faed8a9f5f Start convertion to introspection. Flat models work, as does relationship view
svn: r19858
2012-06-17 21:25:37 +00:00
Doug Blank 3b9a696f90 Cleanup
svn: r19857
2012-06-17 19:00:40 +00:00
Peter Landgren 7a5348de8a Found an untranslated word.
svn: r19856
2012-06-17 17:21:26 +00:00
Benny Malengier 0c447be83d Conversion to the new version of GTK using the new python bindings based on introspection.
svn: r19853
2012-06-17 09:07:45 +00:00
Serge Noiraud d6b20e48ec Geography : limit the number of places shown to a configurable value.
display a message over the map when this limit is reached.


svn: r19852
2012-06-16 21:12:12 +00:00
Serge Noiraud df06be53df Geography : Add ID property to some new sources.
Add a new layer which permit to display messages over the map
            Modify plugins to use this new functionality
            Remove the person's name in geoclose and geofamclose.


svn: r19851
2012-06-16 17:50:24 +00:00
Jérôme Rapinat 4ae2c9610c 5838: minor visual improvements; Do we need 'jHtmlArea.js'?
svn: r19850
2012-06-16 16:05:42 +00:00
Serge Noiraud 69f7381764 Geography : libraries : performance issue with a lot of places
svn: r19849
2012-06-16 09:31:29 +00:00
Serge Noiraud a884943ece Geography : all geography views : performance issue with a lot of places
svn: r19848
2012-06-16 09:22:33 +00:00
Doug Blank d6f3dfb5dd Changes for Gramps-Connect to work on Windows without using gramps.py
svn: r19846
2012-06-15 19:52:33 +00:00
Doug Blank c7499652d6 5838: Change 'black' color (css) on embedded tabs
svn: r19845
2012-06-15 10:49:46 +00:00
Doug Blank 7cdc5ec0c0 Fixed bug in clearning cache; added Log to Person edit
svn: r19844
2012-06-15 02:30:38 +00:00
Doug Blank 20fd0256bf All forms should have a model
svn: r19843
2012-06-15 01:16:32 +00:00
Doug Blank 37d768e556 Python 2.6 requires str for dict key type not unicode
svn: r19842
2012-06-15 01:04:10 +00:00
Doug Blank 8f3a7f04ff Changes for authenticated-only account
svn: r19841
2012-06-15 00:40:11 +00:00
Doug Blank eb6d9c7b0f 5846: selected tag is not displayed in brackets
svn: r19840
2012-06-13 22:33:48 +00:00
Serge Noiraud 910e59fff3 Geography : some comments changed or added.
avoid divide by zero and try to place the marker at the good position.


svn: r19839
2012-06-13 20:58:05 +00:00
Doug Blank 974312059f Added a Log table to keep track of changes
svn: r19838
2012-06-13 12:15:23 +00:00
Serge Noiraud be81cc1617 Geography : the markers are not removed when we change the database.
svn: r19837
2012-06-13 11:53:21 +00:00
Doug Blank f6d6b9c990 Temp fix for loading too many people for father/mother on Family edit page. Need to have an auto-complete solution
svn: r19836
2012-06-13 01:42:45 +00:00
Serge Noiraud e00296fa98 Geography : the new views uses the new marker layer.
svn: r19835
2012-06-12 21:46:46 +00:00
Serge Noiraud 56f5d50003 Geography : New marker layer with variable marker size.
svn: r19834
2012-06-12 21:27:17 +00:00
Doug Blank 7cc1a962ae Fixes for editing/creating families
svn: r19833
2012-06-12 12:31:58 +00:00
Doug Blank 6c8b83d58b continues should be returns
svn: r19832
2012-06-12 10:27:10 +00:00
Doug Blank d4f92a2943 Added links as search terms
svn: r19831
2012-06-12 03:10:56 +00:00
Doug Blank 1f8f4c6b5c Changes to allow to work with Django 1.2 (don't use 'with transaction:')
svn: r19830
2012-06-12 01:40:13 +00:00
Doug Blank ca26e2aec7 Updated example (Kennedy's)
svn: r19829
2012-06-12 01:26:40 +00:00
Doug Blank dd50e437f7 Adding Children to Families now working
svn: r19828
2012-06-12 01:13:26 +00:00
Doug Blank e3b5f6b3a5 Removed hook defs
svn: r19827
2012-06-11 22:43:50 +00:00
Doug Blank d85c856782 New empty sample, with admin, admin1 passwords
svn: r19826
2012-06-11 21:01:44 +00:00
Doug Blank a6e30ff4a3 Fixed an error with nbsp's; fixed an error that removed families on edit
svn: r19825
2012-06-11 20:46:36 +00:00
Doug Blank ef5c99e015 Protect from a None value
svn: r19824
2012-06-11 20:45:30 +00:00
Rob G. Healey a39e9e057a Adding a temporary file so that I can get the list of packages when Nick Hall has made his changes. It can be used up until or if Distutils deprecates it.
svn: r19823
2012-06-11 04:48:16 +00:00
Doug Blank 717e40170f New CSS theme type
svn: r19822
2012-06-11 02:29:12 +00:00
Rob G. Healey 0d8fbf842f Updated packages list for the movement of the locale directory in rev19819.
svn: r19821
2012-06-11 02:28:38 +00:00
Nick Hall af0b93b069 GEPS008: Move Gramps locale module into the datahandler
svn: r19819
2012-06-10 15:09:49 +00:00
Nick Hall 58d7914312 GEPS008: Fix update_constants call in preferences
svn: r19818
2012-06-10 13:28:10 +00:00
Rob G. Healey 29e96820d9 Updated setup.py packages list to current ecosystem as of rev19816.
svn: r19817
2012-06-10 05:58:35 +00:00
Doug Blank e4faea4cf3 Fix search=None issue
svn: r19816
2012-06-10 03:29:12 +00:00
Nick Hall 120c6b00b9 GEPS008: Forgot to add the new module
svn: r19815
2012-06-10 00:11:47 +00:00
Nick Hall d3fed5963f GEPS008: Create new module for referent functions
svn: r19814
2012-06-10 00:10:28 +00:00
Nick Hall bd6478327c Fix for last update
svn: r19813
2012-06-09 23:42:46 +00:00
Nick Hall 69b9142d36 GEPS008: Create new module for probably alive
svn: r19812
2012-06-09 23:39:19 +00:00
Nick Hall 449448b5fa GEPS008: Modify gen.utils imports
svn: r19811
2012-06-09 23:18:36 +00:00
Nick Hall 9595af1324 GEPS008: Moved constfunc module
svn: r19810
2012-06-09 20:56:43 +00:00
Nick Hall aabc6c05c2 GEPS008: Moved config module
svn: r19809
2012-06-09 20:10:28 +00:00
Rob G. Healey 03608064ef Made corrections for moving the license file up front.
svn: r19807
2012-06-09 01:41:55 +00:00
Rob G. Healey f36e8594f9 Moved GPLv2 License file up front for easier location and reading. Every project that I have seen has it in the main root directory.
svn: r19806
2012-06-09 01:35:37 +00:00
Nick Hall cfd59da40f GEPS008: Moved PlaceUtils module
svn: r19805
2012-06-08 23:56:16 +00:00
Nick Hall 20682993b5 GEPS008: Moved AutoComp module
svn: r19804
2012-06-08 23:37:19 +00:00
Nick Hall fdb3be0ffa GEPS008: Removed obsolete listview tooltips code
svn: r19803
2012-06-08 22:55:38 +00:00
Nick Hall 5f7c31eae8 GEPS008: Moved Spell module
svn: r19802
2012-06-08 21:07:24 +00:00
Nick Hall d13b4e585d GEPS008: Moved Sort module
svn: r19801
2012-06-08 20:58:40 +00:00
Nick Hall a2af7d66b3 GEPS008: Moved soundex module
svn: r19800
2012-06-08 20:37:17 +00:00
Nick Hall aa7ae06f6e GEPS008: Moved ExportAssistant and ExportOptions modules
svn: r19799
2012-06-08 20:18:16 +00:00
Doug Blank e7d4833ea8 Pass in request to check_preferred
svn: r19798
2012-06-08 18:40:21 +00:00
Nick Hall 706ae18795 GEPS008: Moved filter editors
svn: r19797
2012-06-08 18:24:54 +00:00
Nick Hall c6c2fb4611 GEPS008: Moved tag list editor
svn: r19796
2012-06-08 18:04:14 +00:00
Nick Hall 02832006ab GEPS008: Moved DateEdit module
svn: r19795
2012-06-08 17:54:33 +00:00
Nick Hall 01484cc8fb GEPS008: Removed Reorder module (now in relationship view)
svn: r19794
2012-06-08 16:05:34 +00:00
Nick Hall 585d11b0a9 GEPS008: Moved Lru module
svn: r19793
2012-06-08 15:39:39 +00:00
Zdenek Hatas 31e90c52fb czech translation update
svn: r19792
2012-06-08 13:51:33 +00:00
Doug Blank 2baba1dbb3 Unified query builders for all browse views; could still be classes
svn: r19791
2012-06-08 13:16:05 +00:00
Doug Blank 49cf552b3f Protection when no active_person
svn: r19790
2012-06-08 01:19:21 +00:00
Nick Hall d42b5e2a3a GEPS008: Moved Relationship module
svn: r19789
2012-06-07 20:59:32 +00:00
Doug Blank 8b541c3559 5837: typo in Verify.py at line 62
svn: r19788
2012-06-07 20:34:09 +00:00
Nick Hall c559890644 GEPS008: Moved RecentFiles module
svn: r19787
2012-06-07 20:17:11 +00:00
Doug Blank 6bd01cdff1 Working on query builder when not logged in
svn: r19786
2012-06-07 17:37:33 +00:00
Nick Hall 1d6a4e60c4 GEPS008: Moved Errors module
svn: r19785
2012-06-07 17:06:16 +00:00
Nick Hall 1ac34dfeb9 GEPS008: Moved DbState module
svn: r19784
2012-06-07 16:08:40 +00:00
Nick Hall 31bf96496b GEPS008: Correct Rule import in filters
svn: r19783
2012-06-07 14:58:10 +00:00
Doug Blank 8d81b9237f Refactor query builders for Person and Family
svn: r19782
2012-06-07 12:52:20 +00:00
Nick Hall 4f51cfcf92 5834: Fix bug with non-managed windows due to file re-organisation
svn: r19781
2012-06-07 12:00:44 +00:00
Doug Blank 9f6def272f Working on data security; private, living
svn: r19780
2012-06-07 00:49:02 +00:00
Doug Blank 0d3bf6bb16 Protection on living and private when not logged in
svn: r19779
2012-06-06 21:28:44 +00:00
Doug Blank 5f8b823159 Search on gender, id, with safe_int(); citation_table refiniement
svn: r19777
2012-06-06 20:19:52 +00:00
Nick Hall 32b61fc60f GEPS008: Moved Bookmarks module
svn: r19776
2012-06-06 18:36:23 +00:00
Nick Hall 308f2616ba GEPS008: Moved ThumbNails module
svn: r19775
2012-06-06 17:48:55 +00:00
Nick Hall a41b175b09 GEPS008: Moved ListModel module
svn: r19774
2012-06-06 16:59:43 +00:00
Nick Hall 6a15f8fd18 GEPS008: Moved DdTargets module
svn: r19773
2012-06-06 16:00:54 +00:00
Nick Hall 54535a83bd GEPS008: Moved ScratchPad module (renamed as clipboard)
svn: r19772
2012-06-06 13:38:46 +00:00
Nick Hall 33f45cb087 GEPS008: Moved QuestionDialog module
svn: r19771
2012-06-05 23:49:12 +00:00
Nick Hall 77f621ac2a Bug fix for r19769
svn: r19770
2012-06-05 22:59:07 +00:00
Nick Hall ce1bb72219 GEPS008: Moved GrampsDisplay module
svn: r19769
2012-06-05 22:53:35 +00:00
Nick Hall eb369d08dd GEPS008: Moved UndoHistory module
svn: r19768
2012-06-05 22:07:47 +00:00
Nick Hall f74b14c869 GEPS008: Moved TipOfDay module
svn: r19767
2012-06-05 21:57:00 +00:00
Nick Hall 300c65a256 GEPS008: Moved DisplayState module
svn: r19766
2012-06-05 21:44:41 +00:00
Nick Hall e82046018f GEPS008: Moved glade module
svn: r19765
2012-06-05 21:23:06 +00:00
Nick Hall 8949403d63 GEPS008: Moved ManagedWindow module
svn: r19764
2012-06-05 21:05:04 +00:00
Tim G L Lyons 000c2a3be4 0005781: Errors with Merge Citations. Amended so it checks whether the first citation processed for a particular page/volume/confidence/date (as applicable) has notes.
svn: r19763
2012-06-05 18:26:17 +00:00
Nick Hall 25e3f707d2 GEPS008: Remove deprecated Date module
svn: r19761
2012-06-05 18:02:19 +00:00
John Ralls 28b94af257 Sigh. Wrong file.
svn: r19760
2012-06-05 15:42:13 +00:00
John Ralls 2fe3abf433 Add myself (jralls) to AUTHORS per request from Rob Healey
svn: r19759
2012-06-05 04:27:12 +00:00
Doug Blank 9496e097d8 Pass search and page throughout, for going back from what you were doing
svn: r19758
2012-06-05 01:48:39 +00:00
Nick Hall c2de30e2de GEPS008: Remove deprecated Assistant class
svn: r19757
2012-06-04 22:49:01 +00:00
Doug Blank d62afc815f Infrastructure to allow going back to browse page; deleted unneeded templates
svn: r19756
2012-06-04 20:58:05 +00:00
John Ralls 186c686296 Fix typo from r17950
svn: r19755
2012-06-04 17:02:06 +00:00
Nick Hall 6a12e7bfae Remove expand property from columns
svn: r19754
2012-06-04 11:59:33 +00:00
John Ralls 0cc0915c03 Accept control-click as an alternative for right-click when the Gdk
backend is Quartz.


This is a standard behavior on Macs, since they often have single-button 
mice or trackpads.



svn: r19752
2012-06-04 00:47:19 +00:00
John Ralls bb38c5c0ee [Bug 5825] Error in SessionLog
locale.nl_info isn't supported, but we can use an ISO8601-like format 
without localization.



svn: r19750
2012-06-03 21:51:38 +00:00
Michiel Nauta e84f6c41d1 5809: Multisurname editor impossibly narrow
svn: r19748
2012-06-03 20:12:22 +00:00
Nick Hall 87942d80fa 5827: Add missing comma in media view default gramplets list
svn: r19746
2012-06-03 15:06:23 +00:00
Rob G. Healey 0dcd17cefd Updated setup for current directory structure and changed the location of the glade directory.
svn: r19744
2012-06-02 04:42:05 +00:00
Nick Hall 92bc0c7dc0 Return columns widths to usable sizes
svn: r19743
2012-06-01 22:43:14 +00:00
Doug Blank cc3497ad6a Separate start dates are needed for family and person as the two views may not be related
svn: r19742
2012-06-01 21:52:59 +00:00
Doug Blank 398acf6d75 5812: Showing the person age next to its events date
svn: r19741
2012-06-01 21:29:23 +00:00
Doug Blank 2724cf2c7a Allow editing and creation of objects from LinkEditor
svn: r19739
2012-06-01 17:58:21 +00:00
Doug Blank 23ceaabbd4 Add selected text to clipboard when editing a link
svn: r19738
2012-06-01 17:57:28 +00:00
Doug Blank b0e285abfb EditObject can now create a new object
svn: r19737
2012-06-01 17:55:58 +00:00
Nick Hall be6e718433 Remove code no longer required for quick reports
svn: r19736
2012-06-01 17:23:40 +00:00
Doug Blank 5763a57985 Added some Tag support; renamed Report items from textreport to report to be more general; added super user admin return and editing of profile/user
svn: r19735
2012-06-01 16:00:24 +00:00
Doug Blank aaf600985c Every object should return itself on unserialization
svn: r19734
2012-06-01 15:58:45 +00:00
Nick Hall c3fc7a5f70 Update to reflect latest directory changes
svn: r19733
2012-05-31 23:58:31 +00:00
Nick Hall 65d707d649 GEPS008: Re-structure Simple access and Quick Reports
svn: r19732
2012-05-31 23:46:57 +00:00
Craig J. Anderson eba22c4062 fix for 5733. ODT reports were not scaling fonts
svn: r19731
2012-05-31 19:17:56 +00:00
Doug Blank fab55acff2 Testing backreference links on Ref items
svn: r19729
2012-05-31 17:13:35 +00:00
Doug Blank 982fa97fb3 Don't crash on rendering link that doesn't exist in narrative web output
svn: r19728
2012-05-31 17:13:00 +00:00
Nick Hall 40ca28cd60 GEPS008: Re-structure Gramps locale files
svn: r19727
2012-05-31 15:50:40 +00:00
Nick Hall e2fc155240 GEPS008: Re-structure GUI logger files
svn: r19726
2012-05-31 15:22:03 +00:00
Stephen George 5e6f747016 Update windows build script to try and be space tolerant in paths
svn: r19725
2012-05-31 14:27:28 +00:00
Doug Blank d3c03dc11a implement has_object() methods in django db
svn: r19724
2012-05-31 14:08:00 +00:00
Doug Blank 2272661654 Don't check cross references if skip-check-xref is a db-feature; fixed spelling typo;
svn: r19723
2012-05-31 14:07:02 +00:00
Doug Blank 9090d09881 added admin1 to empty DB
svn: r19722
2012-05-31 13:58:59 +00:00
Doug Blank 5e93dddaff Added an interface for databases to implement additional features/values
svn: r19721
2012-05-31 13:57:05 +00:00
Stephen George e5a9d652fa Update build_GrampsWin32.py Popen commands to use .communicate()
svn: r19720
2012-05-31 04:35:23 +00:00
Stephen George 83099375e3 Update build_GrampsWin32.py due to not working
svn: r19719
2012-05-31 01:13:28 +00:00
Doug Blank 33f168ed6e Javascript refinements for tabs
svn: r19718
2012-05-30 23:33:44 +00:00
Doug Blank 1bd9848b1a Added javascript to give a #URL when clicking on tabs (good for backup in browser, and bookmarks)
svn: r19717
2012-05-30 21:39:01 +00:00
Doug Blank 61bd569c29 added missing tables for refs and secondary information
svn: r19716
2012-05-30 21:05:38 +00:00
Doug Blank 83b12cd6b6 Consistent buttons (all buttons are actions, links are navigation) and capitalization (all caps); added highlight to HTML parser
svn: r19715
2012-05-30 19:40:32 +00:00
Doug Blank f14b94dd14 Don't load references when adding a new record
svn: r19714
2012-05-30 17:14:39 +00:00
Paul Franklin 2abf41570c cope with pathological case better
svn: r19713
2012-05-30 16:54:46 +00:00
Paul Franklin db90acb48b typos
svn: r19712
2012-05-30 16:46:29 +00:00
Doug Blank 228cc1d4d5 Changes to stay compatible with Django 1.2
svn: r19711
2012-05-30 16:23:04 +00:00
Doug Blank 1b87f73f5e Added references tab for all objects (except family); some fixes on ref editor
svn: r19710
2012-05-30 15:54:51 +00:00
Doug Blank d746cdb0d7 insert class on table a-href tags
svn: r19709
2012-05-30 13:49:42 +00:00
Doug Blank 321c704cac protection in case quickview fails to load
svn: r19708
2012-05-30 13:49:00 +00:00
Doug Blank 44dd3a049c Added interface to insert global attributes on to a-href tags for HtmlDoc
svn: r19707
2012-05-30 13:47:53 +00:00
Doug Blank f33986204c Infrastructure to add or share references
svn: r19706
2012-05-30 12:54:06 +00:00
Doug Blank ecf49d95e8 Display block on rows in browse views
svn: r19705
2012-05-30 02:52:33 +00:00
Doug Blank 38b50049f2 Working on editing references; fixed an error in ordering of references
svn: r19704
2012-05-30 00:49:43 +00:00
Doug Blank ee794b5077 If an object has get_url, use that for a link
svn: r19703
2012-05-30 00:48:26 +00:00
Rob G. Healey 7e82282c07 Update setup.py to current ecosystem as of rev19701.
svn: r19702
2012-05-29 23:48:28 +00:00
Doug Blank 5da0cc8412 use Python 2.6 rather than dictionary comprehension
svn: r19701
2012-05-29 16:03:47 +00:00
Doug Blank baea5e36b4 Rebuilt sample database
svn: r19700
2012-05-29 15:58:08 +00:00
Doug Blank 554e925944 Finished WYSIWYG editing notes
svn: r19699
2012-05-29 15:54:56 +00:00
Doug Blank a1b06272e2 New database structure, StyledTextTagType
svn: r19698
2012-05-29 14:39:31 +00:00
Doug Blank d28d83354a Working on HTML WYSIWYG editor for notes
svn: r19697
2012-05-29 14:08:56 +00:00
Doug Blank 9212e21eb6 Working on HTML WYSIWYG editor for notes
svn: r19696
2012-05-29 14:08:38 +00:00
Doug Blank abbb02a08e Fixed StyledTextTagType to match grampstype; fixed _DEFAULT on all types; editing notes on web not quite correct (error in DocBackend?)
svn: r19695
2012-05-29 13:39:55 +00:00
Rob G. Healey a8f5d1f8e1 Remove mouse hover blinking text.
svn: r19693
2012-05-29 04:30:18 +00:00
Doug Blank 531fbe6e5a Add forecolor button
svn: r19692
2012-05-29 01:24:23 +00:00
Doug Blank d71494b3d8 Working on formatted notes; everything done but the split into text/tags and save
svn: r19691
2012-05-29 00:32:55 +00:00
Doug Blank 3073f58940 Working on styled text editing on web app
svn: r19690
2012-05-28 22:52:23 +00:00
Doug Blank d7dea255b9 Force style type to int if it should be
svn: r19689
2012-05-28 22:50:51 +00:00
Doug Blank b8416f7d42 All objects should return self on serialize
svn: r19688
2012-05-28 22:49:47 +00:00
Doug Blank bb2b773e6d All objects should return self on serialize
svn: r19687
2012-05-28 22:49:09 +00:00
Doug Blank dcddea249d Get note text as html
svn: r19686
2012-05-28 17:54:22 +00:00
Doug Blank 8bcc160985 Working on note HTML edits
svn: r19685
2012-05-28 17:17:15 +00:00
Craig J. Anderson 9f63d657cd update for feature request 5801
Paul wrote over 70% of this code.  I only got to improve upon it
slightly.

Also fixed a very small error in the descendant tree where the box
shadow was not scaled up/down with the report (if the report was
scaled).



svn: r19684
2012-05-28 15:02:02 +00:00
Rob G. Healey 4a29a99cff Remove setup.cfg as it was not even being used.
svn: r19681
2012-05-28 06:45:10 +00:00
Doug Blank 8f8d80f783 Added link to wiki
svn: r19680
2012-05-27 19:30:16 +00:00
Doug Blank e4b5789396 Updated example
svn: r19679
2012-05-27 19:11:54 +00:00
Doug Blank 396f517548 Refinements on interactive shell
svn: r19677
2012-05-27 19:00:50 +00:00
Doug Blank 685e4c2a46 Reminder to add importing of tags
svn: r19676
2012-05-27 18:52:48 +00:00
Doug Blank b50d9eda8a Fixed two issues with importing via the web
svn: r19675
2012-05-27 18:51:52 +00:00
Doug Blank baf98375f3 Type on mediaobject; set probably alive on person edit
svn: r19673
2012-05-27 14:03:17 +00:00
Doug Blank bbd443ba7d All objects should return themselves on unserialize()
svn: r19672
2012-05-27 14:01:09 +00:00
Paul Franklin 0027f983c0 syncronize user.py abstraction with CLI and GUI reality
svn: r19671
2012-05-27 13:39:40 +00:00
Nick Hall 02d0af7c0a GEPS008: Fix Gedcom Import/Export problem
svn: r19670
2012-05-27 11:33:12 +00:00
Doug Blank e6571398cb Updated example.gramps
svn: r19669
2012-05-27 02:39:31 +00:00
Doug Blank 82dde838e9 Wrestling with Citations with no sources
svn: r19668
2012-05-27 02:38:55 +00:00
Doug Blank 7b97bef883 Use transactions on import; fix for date parser re-location
svn: r19667
2012-05-27 02:13:22 +00:00
Doug Blank 6f6c914649 Import and Export can work for any type
svn: r19666
2012-05-26 23:26:19 +00:00
Nick Hall c2b4f96ddc GEPS008: Re-structure merge files
svn: r19665
2012-05-26 21:24:01 +00:00
Doug Blank b206ade3d3 Refinements on default values for new objects
svn: r19664
2012-05-26 20:56:27 +00:00
Doug Blank 0ba29c2d8b All primary objects can edit, view, create, add, save, add_to, and delete
svn: r19663
2012-05-26 18:48:20 +00:00
Jérôme Rapinat 7035384369 add key for vietnamese into _LANG_MAP (lang selector on some textual reports)
svn: r19661
2012-05-26 17:43:31 +00:00
Nick Hall e99da22e7d GEPS008: Move glade directory
svn: r19659
2012-05-26 17:33:53 +00:00
Doug Blank 6919546a0f Media main parts complete
svn: r19656
2012-05-26 04:32:48 +00:00
Doug Blank c2e5e1741b Notes completed
svn: r19655
2012-05-26 03:10:55 +00:00
Doug Blank ba9c607ae9 Better method for date editing; updates for DateHandler
svn: r19654
2012-05-26 01:48:59 +00:00
Craig J. Anderson e860f32d51 more code clean up. clean up only.
svn: r19653
2012-05-25 23:43:40 +00:00
Doug Blank c0eaa76d68 Editing of Person, Family, and Event main data complete
svn: r19652
2012-05-25 23:41:47 +00:00
Nick Hall 355bbd6d7b GEPS008: Re-structure date handler files
svn: r19651
2012-05-25 23:19:10 +00:00
Craig J. Anderson 7d223409b5 removed a print line
svn: r19650
2012-05-25 22:55:44 +00:00
Craig J. Anderson bea515fc09 Lots of code clean up. one new feature where a separator can be
at the start of a line/group.


svn: r19649
2012-05-25 22:52:42 +00:00
Nick Hall 0d89ea1884 GEPS008: Fix for lower case filenames update
svn: r19648
2012-05-25 22:37:41 +00:00
Peter Landgren e0919026fd Fixed a number of minor typos.
svn: r19647
2012-05-25 19:29:02 +00:00
Doug Blank 47cdbffbb6 Updates last_changed, last_changed_by
svn: r19645
2012-05-25 15:00:39 +00:00
Jérôme Rapinat cfaee2894a 5705: Wrong detection of error (burial before death) when checking data
svn: r19644
2012-05-25 14:02:29 +00:00
Doug Blank 394f9f9d12 Family main fields editing complete
svn: r19643
2012-05-25 13:29:30 +00:00
Doug Blank 961a35b529 Family infrastructure in place
svn: r19642
2012-05-25 12:38:09 +00:00
Doug Blank 9ca1bd92fb Working on Family
svn: r19641
2012-05-25 01:45:16 +00:00
Doug Blank bb1bf9ac7a Working on the rest of the main objects
svn: r19640
2012-05-24 20:51:46 +00:00
Nick Hall b29c7969ed GEPS008: Convert filter filenames to lower case
svn: r19639
2012-05-24 20:11:28 +00:00
Nick Hall a2825098ec GEPS008: Re-structure filter files
svn: r19638
2012-05-24 17:24:47 +00:00
Doug Blank fe01467480 I believe that all Person, Name, and Surname editing is done
svn: r19637
2012-05-24 17:22:14 +00:00
Zdeněk Hataš eadc089835 czech translation update
svn: r19636
2012-05-24 14:39:58 +00:00
Doug Blank b028ce0730 map objects need a db field
svn: r19634
2012-05-24 13:08:57 +00:00
Doug Blank 48ef83fbcc Editing of Person, Name, and surname is nearly complete (need to fix adding second name)
svn: r19633
2012-05-24 12:28:34 +00:00
Nick Hall 50773ebd51 5752: Store tag names as unicode
svn: r19631
2012-05-23 13:21:36 +00:00
Paul Franklin 7af7459eb2 put style names in alphabetical order
svn: r19628
2012-05-22 22:10:12 +00:00
Paul Franklin f471592d68 5718: crashes on startup
svn: r19624
2012-05-22 16:38:24 +00:00
Paul Franklin f23562019e 5755: some report "custom paper" sizes are saved incorrectly
svn: r19623
2012-05-22 15:51:59 +00:00
Paul Franklin 74813da8f0 5754: the book report's "edit" dialog should allow book selection
svn: r19621
2012-05-22 15:35:25 +00:00
Paul Franklin 3e482e9d39 5727: some PDF book reports have extra blank pages between them
svn: r19619
2012-05-22 15:05:54 +00:00
Stéphane Charette 8ce9db4f9a 3.4.0 news
svn: r19617
2012-05-22 08:29:59 +00:00
Doug Blank cd731f1e21 Editing name done; working on surname
svn: r19612
2012-05-21 18:50:03 +00:00
Doug Blank e495bb58df Working on name editing with refactor
svn: r19610
2012-05-20 22:31:11 +00:00
Doug Blank 9e148614c6 refactoring for view, add, edit, delete, save, and create
svn: r19609
2012-05-20 19:22:30 +00:00
Jérôme Rapinat 2fede54efb 'images/splash.jpg' is missing
svn: r19608
2012-05-20 15:29:35 +00:00
Nick Hall 4884a8dcc9 Tidy up code setting permissions
svn: r19606
2012-05-20 13:50:17 +00:00
Nick Hall c92791e4d2 Use logging rather than print statements
svn: r19605
2012-05-20 13:21:47 +00:00
Rob G. Healey 01b6c75f5a Added eXecute bit on gramps script file and set mode 777 on build directory after installation so that the normal user can delete it.
svn: r19604
2012-05-20 07:50:25 +00:00
Rob G. Healey 092d2057ba Removed section [bdist_rpm] from setup.cfg file as it is being deprecated anyways.
svn: r19603
2012-05-20 06:15:47 +00:00
Nick Hall 648c09e10c Add files to test python distribution utilities (distutils)
svn: r19597
2012-05-19 22:56:19 +00:00
Jérôme Rapinat 736c5e0b66 5750: Dutch typos (contribution by 'ennoborg')
svn: r19596
2012-05-19 22:01:08 +00:00
Doug Blank da4981e9a0 5279: i can't export my database
svn: r19592
2012-05-19 17:25:54 +00:00
Doug Blank 6580922960 Completed get_raw for all objects
svn: r19591
2012-05-19 14:49:12 +00:00
Doug Blank 12f00bf61d dji.rebuild_cache(item) where item is Person; need rest of items
svn: r19590
2012-05-19 13:11:36 +00:00
Doug Blank 85dcc46d39 Only superusers can edit/add; registered users can see all data
svn: r19589
2012-05-19 12:24:40 +00:00
Doug Blank 62df43f815 Added sitename to Config; updated sample DBs
svn: r19588
2012-05-19 11:53:38 +00:00
Stéphane Charette 22bcc1858e 3.3.2 news also commited in trunk
svn: r19586
2012-05-19 08:05:00 +00:00
Doug Blank c6db40a14d added sitename to templates, temporarily hardcoded in views.py; should come from config
svn: r19579
2012-05-18 20:05:07 +00:00
Doug Blank 93a57457da Removed ErrorDialog
svn: r19578
2012-05-18 12:23:43 +00:00
Doug Blank f641712353 Don't crash if no sqlite.db
svn: r19577
2012-05-18 11:44:58 +00:00
Doug Blank a6ab4f5f02 make example
svn: r19576
2012-05-18 11:36:17 +00:00
Doug Blank 95be31d84f make example; new example.sql
svn: r19575
2012-05-18 11:35:35 +00:00
Doug Blank 2de079da06 Use correct User() for server
svn: r19574
2012-05-18 11:33:52 +00:00
Doug Blank f199b5782f Change order of targets in Makefile
svn: r19573
2012-05-18 10:13:23 +00:00
Doug Blank b8109ba431 import/export updates; all appear to work on web
svn: r19569
2012-05-18 02:45:36 +00:00
Doug Blank 21abdd5f7f Removed extra text
svn: r19568
2012-05-18 01:30:38 +00:00
Doug Blank de196aea96 5746: Use the new User classes for Importers and Exporters
svn: r19567
2012-05-18 01:21:30 +00:00
Doug Blank 525da42eec 5746: Use the new User classes for Importers; fixed Gedcom import; added user.info()
svn: r19561
2012-05-17 21:19:23 +00:00
Doug Blank 8cebcd57db 5746: Use the new User classes for Importers
svn: r19560
2012-05-17 20:57:23 +00:00
Doug Blank 3721709368 Make an empty base sqlite db quickly
svn: r19557
2012-05-17 18:19:14 +00:00
Doug Blank b551f24962 css adjustments to make look good
svn: r19556
2012-05-17 16:36:21 +00:00
Doug Blank f3c99d6337 Adjust header on screen (-30px); copyright to 2012; margin of header to left
svn: r19554
2012-05-17 14:46:22 +00:00
Doug Blank 00213b2203 Main html table set to 90%; order of choices is based on numeric in Django
svn: r19552
2012-05-17 11:56:59 +00:00
Michiel Nauta 96f9d72540 Add warning on db env opening failure
svn: r19551
2012-05-17 09:53:36 +00:00
Doug Blank 5d6f91a82e gedcom import works on-line
svn: r19546
2012-05-17 02:59:37 +00:00
Doug Blank cb0d0a2c81 Brought json initial data up to date; fixed addition of transaction to database; added gramps_id to reports; can now import gedcom on-line again
svn: r19545
2012-05-16 23:33:19 +00:00
Doug Blank 82bcb4018c Proper editing of person, name, surname; fixed default types
svn: r19544
2012-05-16 21:50:00 +00:00
Doug Blank ba4f791bb7 Working on name_origin_type
svn: r19541
2012-05-16 13:49:53 +00:00
Doug Blank b9eb3cefd3 Can now edit a person
svn: r19540
2012-05-16 12:05:58 +00:00
Serge Noiraud 324544e4b4 Geography : forgot to modify Makefile.am
svn: r19539
2012-05-16 08:52:37 +00:00
Serge Noiraud f4d11153a2 Geography : Adding a new view : all places visited by one person and his descendants
and this by generation.


svn: r19538
2012-05-16 08:44:33 +00:00
Serge Noiraud 77d8e18eb7 Geography : add a new layer to display dates on the map
svn: r19537
2012-05-16 07:45:52 +00:00
Doug Blank c4b84b1e03 Making progress on person edit
svn: r19535
2012-05-16 01:25:58 +00:00
Doug Blank 400ce7de33 New template for surname editing
svn: r19533
2012-05-15 20:28:46 +00:00
Doug Blank 23114ebe86 prefix/suffix updates; working on editing person
svn: r19532
2012-05-15 20:27:53 +00:00
Doug Blank 70b9a8bef0 get_focus on view_person_detail
svn: r19531
2012-05-15 20:25:50 +00:00
Doug Blank 66ecc67627 get_focus changes
svn: r19530
2012-05-15 20:21:45 +00:00
Doug Blank 58c54609df Extension to render to rename id
svn: r19529
2012-05-15 20:16:39 +00:00
Doug Blank 48c1b83e21 paginator text to buttons
svn: r19528
2012-05-15 20:10:02 +00:00
Doug Blank e5b31262ab Links as buttons; working on finishing person and name editing
svn: r19526
2012-05-15 14:45:47 +00:00
Rob G. Healey 215db01776 Added conditional to check for exiv2 is insalled or not?
svn: r19522
2012-05-15 04:01:23 +00:00
Rob G. Healey 6955f6282c pylint cleanup; remove unused imports.
svn: r19521
2012-05-15 02:04:14 +00:00
Zdeněk Hataš 56176e6f04 czech translation update
svn: r19500
2012-05-11 15:44:47 +00:00
Nick Hall 4fac7ed601 Add English (British) translation
svn: r19499
2012-05-11 13:56:00 +00:00
Doug Blank afa2ea05a9 Fix proxy to implement all functionality to use correctly as a real Gramps database
svn: r19498
2012-05-11 13:31:30 +00:00
Doug Blank 6d3b3558bc Allow a proxy to be used on dbstate.db
svn: r19497
2012-05-11 12:31:13 +00:00
Doug Blank 27a66aec72 Fix filter by name
svn: r19496
2012-05-11 12:22:11 +00:00
Doug Blank f1eeb470f3 Proxies not needed
svn: r19493
2012-05-11 12:09:32 +00:00
Zdeněk Hataš cb52407a0b czech translation update
svn: r19491
2012-05-11 11:08:39 +00:00
Serge Noiraud 1fec21ada9 Geography : add and modify some texts.
svn: r19490
2012-05-11 10:49:30 +00:00
Nick Hall dd370f44b5 Change English spellings to American spellings
svn: r19487
2012-05-10 18:52:03 +00:00
Peter Landgren 9369f01ffe Swedish translation uppdated.
svn: r19485
2012-05-10 14:27:54 +00:00
Peter Landgren ec75f84c34 Updated.
svn: r19484
2012-05-10 14:26:45 +00:00
Peter Landgren 88edcd1dad Updated.
svn: r19483
2012-05-10 14:26:03 +00:00
Doug Blank 183f0f2ff5 New filter: Descendant Familes of filter match
svn: r19481
2012-05-10 03:50:23 +00:00
Serge Noiraud b1d7c68a89 Geography : bad color assignment when several life ways.
svn: r19463
2012-05-07 14:34:53 +00:00
Serge Noiraud 3a1093edc4 Geography : I finaly catch this problem : autozoom the first time we click on the map.
svn: r19461
2012-05-07 12:17:02 +00:00
Andre Marcelo Varenga 17791c4b46 update pt_BR translation
svn: r19456
2012-05-06 17:24:01 +00:00
Michiel Nauta 4ac14fbc65 5676: Crashed when verifying data
svn: r19451
2012-05-06 09:47:08 +00:00
Peter Landgren 126a637610 Finally translation of name display editor is OK.
svn: r19442
2012-05-05 16:22:57 +00:00
Craig J. Anderson 342ad20cdd Simple update to help bookreport messages when running this report.
svn: r19438
2012-05-04 18:15:13 +00:00
Serge Noiraud acd641f73e Geography : remove useless statement
svn: r19432
2012-05-03 15:12:24 +00:00
Craig J. Anderson 2bb2b59a90 Fixed a small error were if you added a Descendent Chart, you were
given three option for a title.  Only the first two should be available.


svn: r19429
2012-05-03 01:31:05 +00:00
Peter Landgren 157d32a963 geofamclose.py was missing.
svn: r19425
2012-05-01 19:28:27 +00:00
Doug Blank dff245f684 Changes for Django 1.4
svn: r19424
2012-05-01 14:36:10 +00:00
Andre Marcelo Varenga edc5a2e7a3 update pt_BR translation
svn: r19420
2012-05-01 02:04:52 +00:00
Doug Blank 5bfe83b19f 5708: Confusing results with statistic gramplet and filter; fixes suggested by PeterL's patch
svn: r19415
2012-04-30 13:21:21 +00:00
Doug Blank b557be86d9 5708: Confusing results with statistic gramplet and filter; fixes suggested by PeterL's patch
svn: r19414
2012-04-30 13:13:05 +00:00
Doug Blank 90d3da2e11 5708: Confusing results with statistic gramplet and filter; fix based on PeterL's suggestion
svn: r19413
2012-04-30 12:51:23 +00:00
Doug Blank 56b4bc7700 Show actual name which has missing part
svn: r19410
2012-04-30 01:49:53 +00:00
Doug Blank f6e541c296 Fixed bug in allowing links via list
svn: r19409
2012-04-30 01:49:09 +00:00
Craig J. Anderson e1a5a5f8b9 Fixed an error where a function was not passed
svn: r19406
2012-04-29 13:40:28 +00:00
Doug Blank 17843e1efd Error in logic
svn: r19405
2012-04-29 12:42:45 +00:00
Serge Noiraud 50b3e4b56a Geography : not all places shown in the status bar when the mouse is over one marker.
crash when we change the map provider in geoplace.
            change the icon for geoclose.


svn: r19404
2012-04-29 09:24:40 +00:00
Serge Noiraud 65fe82ae7c Geography : not all places shown in the status bar when the mouse is over one marker.
svn: r19403
2012-04-29 09:21:47 +00:00
Andre Marcelo Varenga d2d73263e5 update pt_BR translation
svn: r19399
2012-04-29 01:44:05 +00:00
Doug Blank 24ac90fde9 Protection for names with no primary name set
svn: r19397
2012-04-28 20:36:00 +00:00
Doug Blank 73a37df305 Bring up to date with Narrative web CSS
svn: r19396
2012-04-28 20:35:16 +00:00
Michiel Nauta 2912e07371 5691: narrative web site regression: blank line
svn: r19395
2012-04-28 19:55:11 +00:00
Doug Blank 0d18eef9ee Image was wrong size for recent Narrative Web
svn: r19392
2012-04-28 13:38:07 +00:00
Serge Noiraud b28730baa3 Geography : geofamclose : Have these two families been able to meet?
svn: r19389
2012-04-27 13:45:29 +00:00
Serge Noiraud 5fc79c4009 Geography : crash with geoclose when we change the database.
svn: r19388
2012-04-27 07:51:08 +00:00
Serge Noiraud 8260f30b94 Geography : force to redraw the layers when we change the map provider.
svn: r19386
2012-04-25 07:17:04 +00:00
Serge Noiraud 2cd6b8a50a Geography : geoclose : better way to show meeting zone.
svn: r19382
2012-04-24 14:55:36 +00:00
Craig J. Anderson 113a8bce3a {} groups were simply forgotten about if they did not contain a
variable that printed.  This does not allow {...}<..>{...} as the
separator will print depending on what is on the other side of the
groups.  

updated the code to add a 'non printed variable' code in place of the
group when it does not print.  So groups are now treated like regular
variables.



svn: r19375
2012-04-22 12:58:42 +00:00
Mirko Leonhäuser 5b8c41bfb1 fixed corrupted po file
svn: r19370
2012-04-20 19:33:54 +00:00
Paul Franklin 4151874ad1 typos
svn: r19368
2012-04-20 16:13:11 +00:00
Vassilii Khachaturov 8eff19ab02 More Russian translation.
svn: r19367
2012-04-20 08:40:34 +00:00
Mirko Leonhäuser ad1704f62f update german translation
svn: r19365
2012-04-19 20:46:18 +00:00
Tim G L Lyons 0515433985 0005687: Can't delete a note, which is a citation.
svn: r19363
2012-04-19 18:40:36 +00:00
Serge Noiraud da3349ff55 Geography : initialization problem in geoclose.
svn: r19360
2012-04-19 15:03:04 +00:00
Jérôme Rapinat 0b447c49a0 5621: minor update on references
svn: r19359
2012-04-19 14:09:31 +00:00
Jérôme Rapinat 0145b5ea22 Use named_arguments for translators (patch by MathieuMD)
svn: r19358
2012-04-19 13:44:56 +00:00
Jérôme Rapinat f7178ecca7 do not need to translate PopulateSources debug tool (patch by MathieuMD), see devel mailing list
svn: r19354
2012-04-19 05:25:55 +00:00
Serge Noiraud 89c94a6fa4 Geography : markers were insensitive for the reference person in geoclose
svn: r19353
2012-04-18 18:05:08 +00:00
Jérôme Rapinat 06c0aa4d54 translation issues (patch by MathieuMD), see devel mailing list
svn: r19352
2012-04-18 17:27:47 +00:00
Serge Noiraud cc709d4c3c Geography : Add the possibility to select the size of the meeting zone with the plugin configuration button.
You can see the area where they been able to meet.
            Add the reference person choice with the right button.
            Change the text position.


svn: r19351
2012-04-18 16:58:23 +00:00
Serge Noiraud 0a9b63bdfd Geography : add the possibility to have a meeting zone and not exactly one meeting place.
svn: r19350
2012-04-18 16:47:39 +00:00
Nick Hall 42071b5050 5655: Fix warnings when tags have duplicate names
svn: r19344
2012-04-16 16:21:48 +00:00
Gary Burton 11f65c4625 Fix crash when copying family objects to the clipboard
svn: r19339
2012-04-15 20:43:37 +00:00
Mirko Leonhäuser e611060c23 typo fixing
svn: r19337
2012-04-15 20:28:32 +00:00
Mirko Leonhäuser a31e6dc92c update german translation
svn: r19330
2012-04-14 15:39:43 +00:00
Jérôme Rapinat 61e68d6ec7 update Makefile.am and POTFILES.in
svn: r19329
2012-04-14 15:10:59 +00:00
Michiel Nauta a5cdd339ed 5466: On import and Check and Repair need to check references to absent objects
svn: r19328
2012-04-14 12:20:10 +00:00
Jérôme Rapinat ac3318e992 move the content of some .gpr.py files into main one for easier maintenance
svn: r19325
2012-04-14 09:10:23 +00:00
Jérôme Rapinat 84d4d1acaf raw_name = key for style (set into _reportdialog.py or specific categories), report_name = translated filename; need to test output into CLI mode
svn: r19324
2012-04-14 08:54:26 +00:00
Rob G. Healey 2485af7689 Updated gramps version to match the change to 3.5.0.
svn: r19321
2012-04-13 22:22:11 +00:00
Rob G. Healey 0271ce7ca1 Fixed a few *.gpr.py files up to 3.5.
svn: r19320
2012-04-13 20:49:44 +00:00
John Ralls 3eb232c1a9 Load a menu accelerator map named gramps.accel if such a file exists in const.DATA_DIR
svn: r19318
2012-04-13 19:53:15 +00:00
Jérôme Rapinat b3b03d4d2b 5654: write all files into one directory for years and months, level issue with NavWeb, patched by MD Nauta
svn: r19316
2012-04-13 16:10:13 +00:00
Jérôme Rapinat 590d836d62 version bump; upgrade "gramps_target_version" (part3)
svn: r19313
2012-04-13 15:59:40 +00:00
Zdeněk Hataš c2271280e5 czech translation update
svn: r19312
2012-04-13 11:22:07 +00:00
Tim G L Lyons 5e17b21594 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: r19311
2012-04-13 10:42:25 +00:00
Tim G L Lyons 03d5c759f4 Change citation gramps_id to default format
svn: r19307
2012-04-12 18:09:28 +00:00
Serge Noiraud 9aaffb82f8 Geography: as geography.gpr.py is only used to load the geography modules if the osmgpsmap library
is present, we can force gramps_target_version to the current version of gramps.


svn: r19300
2012-04-11 17:31:53 +00:00
Serge Noiraud 180861bbee Geography : changes to be conform tu the new version : 3.4 -> 3.5
svn: r19299
2012-04-11 07:34:52 +00:00
John Ralls 37e4824029 Bug #5641: Links to other programs don't work
svn: r19291
2012-04-10 22:58:04 +00:00
Jérôme Rapinat 5237f8dc64 version bump; upgrade "gramps_target_version" (part2)
svn: r19286
2012-04-10 09:19:26 +00:00
Jérôme Rapinat 374e24dc2c version bump; upgrade "gramps_target_version" (part1)
svn: r19285
2012-04-10 09:11:50 +00:00
Andre Marcelo Varenga 30a92809e5 Update pt_BR translation
svn: r19274
2012-04-08 02:18:03 +00:00
Michiel Nauta 707efc0aff 5595: DBError when rebuilding reference maps while Event view row is selected
svn: r19271
2012-04-07 20:35:16 +00:00
Nick Hall 92c3c4e824 5206: Remember size of FilterEditor and EditFilter windows
svn: r19266
2012-04-07 19:03:41 +00:00
Jérôme Rapinat 080f4ee1fa new version number for avoiding conflict with 3.4 features and config keys
svn: r19264
2012-04-07 17:53:51 +00:00
Vassilii Khachaturov 64ba41c5fd geography view plugin: fix l10n call when wrong osmgpsmap version reported
(parameters should be substituted only AFTER _() is called)

svn: r19263
2012-04-07 13:12:54 +00:00
Michiel Nauta 10b88a5cc0 is_equal called on handle
svn: r19262
2012-04-07 11:27:17 +00:00
Vassilii Khachaturov 240a2b712f fuzzies down to 238 from 433
svn: r19260
2012-04-07 10:35:33 +00:00
Vassilii Khachaturov 10ba3a6dc2 sync POTFILES.in with plugin src dir - rm src/plugins/lib/maps/grampsmaps.py
svn: r19259
2012-04-07 09:20:33 +00:00
Serge Noiraud ce3cb64ee9 Geography : geoclose : incorrect title in selection dialog.
svn: r19255
2012-04-06 22:01:37 +00:00
Serge Noiraud 4dc30d6276 Geography : no initialization for geography_path for new users
svn: r19254
2012-04-06 21:57:18 +00:00
Tim G L Lyons 5a642228c8 0005667: Merging notes with citation references fails (also merge media)
svn: r19252
2012-04-06 17:16:54 +00:00
Vassilii Khachaturov 26a8d1bf92 POT merge, new translations
svn: r19250
2012-04-06 16:15:00 +00:00
Jérôme Rapinat 0986741e0c typo on desktop name
svn: r19242
2012-04-05 13:58:44 +00:00
Jérôme Rapinat 013858c4ff 5665: key for Gnome (keep current translations)
svn: r19237
2012-04-05 13:19:54 +00:00
Jérôme Rapinat 77e780167e 5665: remove old 'X-GNOME-DocPath' key
svn: r19236
2012-04-05 07:58:08 +00:00
Tim G L Lyons 6c4dc9c239 0005656: Error during citation merging. get_confidence_level should be set_confidence_level - the classic single character fix!!
svn: r19232
2012-04-04 18:16:14 +00:00
Jérôme Rapinat fe56bef4c8 5665: gramps.desktop file needs to be updated, patch by treacy (debian)
svn: r19230
2012-04-04 15:58:24 +00:00
Rob G. Healey 95b4775c58 Changes necessary to get trunk compiled and installable once again.
svn: r19215
2012-04-03 17:06:11 +00:00
Serge Noiraud 9f28ab87eb Geography : geoclose : force to show one point in case of multiple events
at the same place.


svn: r19213
2012-04-03 14:44:57 +00:00
Serge Noiraud 2bca3eb56f Geography : new geography plugin : geoclose : Have they been able to meet?
svn: r19210
2012-04-03 13:01:09 +00:00
Serge Noiraud 8d4906354d Geography : reorganization, add a life way layer, some cleaning.
svn: r19209
2012-04-03 09:44:44 +00:00
Jérôme Rapinat 47ffcf9bec 5654#c23595, #5193: should not try to copy a style sheet if 'No style sheet' value is set
svn: r19208
2012-04-03 08:48:22 +00:00
Gary Burton ecdb51c9f7 Use replacement refresh_objects method instead of remove_invalid_objects which no longer exists
svn: r19202
2012-04-01 19:23:34 +00:00
Jérôme Rapinat a50f8c9f9b 5648: update and review on french translation by Mathieu MD
svn: r19198
2012-04-01 14:29:00 +00:00
Jérôme Rapinat 0a850ceaf4 improvements on french date handler (by Mathieu MD)
svn: r19195
2012-04-01 10:36:58 +00:00
Jérôme Rapinat 7d4d7735b7 5621: my bad, call of label(s) and category is not always the same (consistency on children rules); thanks Tim
svn: r19194
2012-04-01 10:02:23 +00:00
Jérôme Rapinat 08581e7ca8 5621: do not need to call gettext if strings are not used and displayed (TODO: check strings used on sidebar filters)
svn: r19193
2012-04-01 06:58:00 +00:00
Jérôme Rapinat 6c7f3d65bc better fix for rev19169, 19184 (was IndentationErrors)
svn: r19192
2012-04-01 05:57:49 +00:00
Jérôme Rapinat 675aeb8e21 5648: Submiting French translation completed and updated (new file; review by Mathieu MD)
svn: r19187
2012-03-31 08:11:08 +00:00
Rob G. Healey 596758789a Fixed an error where 'Document' was being used as a key for CSS_FILES. It did not exist in webstuff.py.
svn: r19186
2012-03-31 07:22:48 +00:00
Rob G. Healey 3339a68f80 Fixed IndentationErrors created from rev19169. It is a major one as it crashes Gramps upon trying to loading.
svn: r19183
2012-03-31 05:50:52 +00:00
Rob G. Healey fbafc7e8ef Fixed IndentationError created from rev19169. It is a major one as it crashes Gramps upon trying to loading.
svn: r19182
2012-03-31 05:37:38 +00:00
Rob G. Healey a0cae6a3e0 Removing duplicated files that are for the webstuff only and were in that directory too.
svn: r19180
2012-03-31 04:36:46 +00:00
Jérôme Rapinat da29ed5238 5621: cleanup
svn: r19170
2012-03-29 09:19:54 +00:00
Jérôme Rapinat df071b9009 5621: do not need to call gettext if strings are not used and displayed
svn: r19169
2012-03-29 07:13:06 +00:00
Jérôme Rapinat ac5875c38f 5621: alternative to use of 'intltool-extract'
svn: r19168
2012-03-29 06:29:55 +00:00
Nick Hall 4bbae2d469 5443: Change integer entry fields to use spinner controls
svn: r19157
2012-03-26 18:27:56 +00:00
Jérôme Rapinat 3b962bb977 5532: typo on 'Select Event' string
svn: r19155
2012-03-26 09:12:54 +00:00
Jérôme Rapinat c0acdd678d 5621: add a comment about getiterator if python version > 2.6
svn: r19152
2012-03-25 15:24:14 +00:00
Rob G. Healey 52f8a42312 Removed the Python DistUtils files since we have a GEPS for it now.
svn: r19146
2012-03-24 20:00:43 +00:00
Rob G. Healey 220f4161ba Removed the Python DistUtils since we have a geps for it now.
svn: r19145
2012-03-24 19:58:05 +00:00
Jérôme Rapinat b97ff5fd63 non ASCII characters in a string, see http://www.gramps-project.org/wiki/index.php?title=Coding_for_translation#How_to_allow_translations
svn: r19134
2012-03-24 08:39:15 +00:00
Jérôme Rapinat 502fcaf19d 5648: plurial for given (names)
svn: r19133
2012-03-24 07:50:18 +00:00
Rob G. Healey e383c8fd44 Added encoding for this file so that gramps will work. Non-ASCII character '\xe2' in file /home/Frog/Downloads/gramps-3.4.0/gramps/gen/plug/docgen/graphdoc.py on line 67, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details.
svn: r19129
2012-03-24 05:07:19 +00:00
Jérôme Rapinat 88d9b23ac8 5081: check and use unfiltered persons on private __is_living (by MD Nauta)
svn: r19124
2012-03-23 16:13:40 +00:00
Jérôme Rapinat 612774f11b 5648: improvements, enhancements, more accurate strings
svn: r19120
2012-03-23 15:26:12 +00:00
Rob G. Healey 76ece14d56 Added based uppon use of setup.py
svn: r19115
2012-03-23 05:57:00 +00:00
Rob G. Healey cea1b3ddbd Re- created the Gramps authors list based upon the src/data/authors.xml. Based upon request from Benny Malengier.
svn: r19114
2012-03-23 05:56:05 +00:00
Mirko Leonhäuser a05a3fb060 update german translation
svn: r19110
2012-03-22 19:53:56 +00:00
Jérôme Rapinat 02326d3816 5648: review on french translation (by Mathieu MD)
svn: r19108
2012-03-22 19:31:15 +00:00
Jérôme Rapinat 1722a36829 5621: minor change
svn: r19104
2012-03-20 11:13:39 +00:00
Jérôme Rapinat 30a25b7b7f 5621: add '--skip-fuzzy' flag with check_po; try to get correct path for win32 (Peter contribution)
svn: r19098
2012-03-19 18:46:50 +00:00
Jérôme Rapinat 8161e7a5ff 5621: wrong name for msgattrib under Windows OS
svn: r19097
2012-03-19 16:08:47 +00:00
Tim G L Lyons b1e9f33a60 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: r19096
2012-03-19 16:06:26 +00:00
Jérôme Rapinat cd6a5822a2 I forgot to also modify trunk, sorry Peter
svn: r19095
2012-03-19 16:04:50 +00:00
Jérôme Rapinat ab781b635f 5621: quick XML parsing and tool displays more informations
svn: r19093
2012-03-19 16:00:19 +00:00
Peter Landgren 64e6b23967 Fixed a missing word.
svn: r19092
2012-03-19 14:18:02 +00:00
Rob G. Healey 48205702d2 Bug#0002738: NarrativeWeb: strange behaviour with alphabet navigation when used with narrow browser window --> has now been fixed.
svn: r19089
2012-03-19 06:49:44 +00:00
Rob G. Healey 6bfd0b0e8d Bug#0005274: Narweb - Web Link, showing Url --> has now been fixed.
svn: r19086
2012-03-19 03:35:00 +00:00
John Ralls dcdf119ffa Bug 5429: Fix typo in MacTranslation.py
svn: r19082
2012-03-18 20:10:37 +00:00
Benny Malengier 99ed2483ac 5617: local variable for mother on 'plugins/views/geoperson.py
svn: r19077
2012-03-17 14:09:23 +00:00
Jérôme Rapinat 516f94fdd8 5621: os.unlink sounds better than 'rm' command
svn: r19074
2012-03-17 06:00:16 +00:00
Jérôme Rapinat 8ced6ca00a 5621: cleanup on 'update_po.py'
svn: r19072
2012-03-16 18:35:35 +00:00
Jérôme Rapinat 969cbe93d3 2621: webstuff for webreports too
svn: r19068
2012-03-15 18:10:50 +00:00
Jérôme Rapinat c094b007e0 5621: start an alternative tool for translation stuff
svn: r19067
2012-03-15 17:11:31 +00:00
Michiel Nauta f2ad220878 5632: Objects with references to missing tags not fixed by Check and Repair
svn: r19066
2012-03-14 20:05:47 +00:00
Jérôme Rapinat 1283d9e90e 5621: remove 'extract_messages stuff'
svn: r19063
2012-03-14 15:39:41 +00:00
Jérôme Rapinat 6645dee5dd 5621: improve update_po.py
svn: r19062
2012-03-14 14:10:21 +00:00
Jérôme Rapinat 17b27c8f2d start to test Rob's command for updating without Makefile and specific class for distutils
svn: r19061
2012-03-14 11:28:40 +00:00
Jérôme Rapinat a5076593d3 minor cleanup; no python module on images any more
svn: r19060
2012-03-14 08:33:27 +00:00
Rob G. Healey de0d215ba2 Possible translation generator script for use with setup.py.
svn: r19059
2012-03-14 05:40:56 +00:00
Michiel Nauta 110e6d52de 5629: Citations with reference to missing note/media not fixed by Check and Repair
svn: r19058
2012-03-13 21:40:11 +00:00
Tim G L Lyons 4e7137569f 0005608: GEDCOM import ignores leading 0's in INDI ID's
svn: r19056
2012-03-13 17:47:06 +00:00
Tim G L Lyons 73be67b3f8 0005620: Export name types to GEDCOM. Patch extended following testing against various GEDCOM files from the internet.
svn: r19054
2012-03-13 17:12:23 +00:00
Jérôme Rapinat 44667f7f13 5621: improve comment and docstring
svn: r19052
2012-03-13 08:48:05 +00:00
Jérôme Rapinat 1c89635532 5621: minor issue on references for extracting messages
svn: r19051
2012-03-13 07:10:48 +00:00
Jérôme Rapinat 3de03c51ef 5621: cleanup, add an experimental script for merging translations
svn: r19050
2012-03-12 16:43:12 +00:00
Jérôme Rapinat c2849f8aa3 5621: do not need babel dependency
svn: r19049
2012-03-12 14:37:45 +00:00
Jérôme Rapinat 4010e20cdd 5621: typo
svn: r19048
2012-03-12 10:39:47 +00:00
Jérôme Rapinat fc9a7d08ca 5621: test for retrieving translated strings (extract glade, xml headers)
svn: r19047
2012-03-12 10:21:30 +00:00
Jérôme Rapinat ef12d41aa9 5621: remove translated reStructuredText files
svn: r19046
2012-03-11 18:25:25 +00:00
Jérôme Rapinat 03c8cba91d 5621: typo
svn: r19045
2012-03-11 16:06:45 +00:00
Jérôme Rapinat 977772e076 5621: missing path for one localized man version
svn: r19044
2012-03-11 15:12:01 +00:00
Jérôme Rapinat eb554c0327 5621: remove html samples for man files, see revision for formating
svn: r19043
2012-03-11 15:09:46 +00:00
Jérôme Rapinat 803cf27077 5621: cleanup, documented classes
svn: r19041
2012-03-11 10:52:25 +00:00
Mirko Leonhäuser c37ff11cfa update german translation
svn: r19039
2012-03-10 23:13:32 +00:00
Jérôme Rapinat 9006235aa3 5621: cleanup
svn: r19038
2012-03-10 12:32:54 +00:00
Jérôme Rapinat 76a128bd1e 5621: try to migrate man files to a more general reStructuredText file format
svn: r19037
2012-03-10 10:28:16 +00:00
Rob G. Healey cde90955cb Removed duplicate files that are already in src/plugins/webstuff and its sub-directories.
svn: r19036
2012-03-10 02:14:08 +00:00
Rob G. Healey 31dcf7b990 Removed files that I was working on for setup.py because Jerome Rapinat's work was much better and more complete.
svn: r19035
2012-03-09 23:15:31 +00:00
Rob G. Healey f6b12cfc9a Horizontal alignment for better visual effect.
svn: r19034
2012-03-09 23:12:16 +00:00
Jérôme Rapinat 028dbd80e2 try babel frontend for extracting translation strings (python files only)
svn: r19033
2012-03-09 18:32:23 +00:00
Jérôme Rapinat 8ea689cf6b trunk version
svn: r19032
2012-03-09 16:47:59 +00:00
Jérôme Rapinat 48399325fc 2621: use python-setuptools (draft)
svn: r19031
2012-03-09 16:43:01 +00:00
Jérôme Rapinat b7373e10b3 typo (contribution by Alain Aupeix)
svn: r19030
2012-03-09 16:37:28 +00:00
Rob G. Healey 6313ce7b8d Committing these files as Jerome and I would like to be able to get to use these in this next development version. We are not ready for actual testing though.
svn: r19027
2012-03-09 13:11:15 +00:00
Rob G. Healey cdaaf11964 Adjusted screen width for WebCal pages.
svn: r19026
2012-03-09 07:42:35 +00:00
Rob G. Healey b17cf1f8ff Reverted Source Page Citation Referents' Media section.
svn: r19025
2012-03-09 03:07:50 +00:00
Rob G. Healey c11615fe49 Moved style sheeta from the styles directory to css so as to match changes to NarrativeWeb.
svn: r19024
2012-03-08 15:09:10 +00:00
John Ralls c1ff037027 [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: r19023
2012-03-06 19:10:24 +00:00
Jérôme Rapinat 39f157a104 5554: 'importgedcom.glade' into plugins.import folder
svn: r19019
2012-03-06 16:18:27 +00:00
Zdeněk Hataš ab63ab35ec czech translation update
svn: r19018
2012-03-06 14:06:23 +00:00
Jérôme Rapinat 85a431eb44 5554: 'importgedcom.glade' used with ANSEL encoding
svn: r19017
2012-03-05 19:32:35 +00:00
Jérôme Rapinat af90f9ef06 try to avoid key issue en event
svn: r19012
2012-03-05 19:19:45 +00:00
Jérôme Rapinat cd2c9544cd 5554: Ignore no more used .glade files on installation and translation
svn: r19009
2012-03-05 17:25:00 +00:00
Jérôme Rapinat a54cbac8f3 Enable translation on top object
svn: r19008
2012-03-05 17:20:12 +00:00
Jérôme Rapinat b708b68160 5609: Improvements for Records report (by reinhard)
svn: r19004
2012-03-04 08:34:59 +00:00
Rob G. Healey 154a49bad9 Fixed the Outline Citations display so that it does not do groupings. It still does the groupings if it is in Drop Down mode.
svn: r19003
2012-03-04 03:25:31 +00:00
Jérôme Rapinat 7c8f8a2656 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: r19000
2012-03-03 08:57:41 +00:00
Rob G. Healey f76a460b28 Added option to choose which layout the user wants for the Source Page Citation Referents section as either Outline or Drop Down.
svn: r18997
2012-03-03 08:25:12 +00:00
Rob G. Healey 26bbb654d0 fixed issues regarding to the other style sheet's navigation menu.
svn: r18996
2012-03-02 23:42:20 +00:00
Tim G L Lyons 0427db85d6 0005606: GEDCOM import: NOTE_RECORD is not handled properly
svn: r18994
2012-03-02 18:27:10 +00:00
Tim G L Lyons d4e0017365 0005605: GEDCOM inport: Embedded from of MULTIMEDIA_LINK in INDIVIDUAL_RECORD does not use IdMapper
svn: r18990
2012-03-02 17:13:10 +00:00
Rob G. Healey 5d10b97fb8 Extended the minimum height for the SourcePage citation Referents section to make room for the Citations Drop down menu bar if Basic-Blue style sheet is chosen and Drop Down is selected for menu layout.
svn: r18985
2012-03-02 01:57:03 +00:00
Rob G. Healey a99a124b96 Added word Unknown if the date event was missing for SourcePage's Citation Referents section so that there would be at least something to display.
svn: r18984
2012-03-02 01:51:34 +00:00
Rob G. Healey 900a8f39f1 Finished fixing Events drop down in class SourcePage's Citation Referents section, thank you nitin chandha, for all the help in the conditional loops.
svn: r18983
2012-03-01 16:12:39 +00:00
Nick Hall 08d8cd2535 1446: Fix Clipboard refresh problem
svn: r18982
2012-02-29 23:30:31 +00:00
Rob G. Healey 31647a7a3b People Drop Down Citation Referents section is working perfectly now. Thank you, "nitin chadha" <contact.nitinchadha@gmail.com> for all of your wonderful help.
svn: r18980
2012-02-29 07:54:36 +00:00
Rob G. Healey b4c89cf207 AddingAnimated Citations Drop Down back into Gramps for class SourcePage.
svn: r18979
2012-02-29 01:36:50 +00:00
Doug Blank 1194b9e8ab Missing import
svn: r18976
2012-02-26 13:47:53 +00:00
Tim G L Lyons e516ae592e Disable 'Install Addons' tab in Help->Plugin Manager because it is superseded by the Preferences check for updates features.
svn: r18969
2012-02-24 18:32:38 +00:00
Jérôme Rapinat d54fd2e8f4 5264: missing personref section
svn: r18964
2012-02-24 11:27:43 +00:00
Tim G L Lyons d8c1fae4df 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: r18963
2012-02-23 20:54:09 +00:00
Jérôme Rapinat 94f523dfa2 bug: too complicated translated key for displaying title (name); Thanks Serge
svn: r18959
2012-02-23 14:00:34 +00:00
Jérôme Rapinat a79fb3683b grammar improvement
svn: r18955
2012-02-23 07:19:12 +00:00
Serge Noiraud 4aa0a450ef NarrativeWeb : bug #0005537 : forgot to close the gendex file
svn: r18953
2012-02-22 21:20:52 +00:00
Serge Noiraud 58afe3dfe9 NarrativeWeb : bug #0005537 : Bug creating archive with the option Include Family Map with all places
svn: r18951
2012-02-22 20:27:01 +00:00
Tim G L Lyons 212c752202 0005588: [XML]: Media object handling on citation and private marker on (source reference). Add media object to citation. No change needed for privacy.
svn: r18947
2012-02-21 23:10:30 +00:00
Tim G L Lyons b422c82edb 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: r18945
2012-02-21 15:47:15 +00:00
Tim G L Lyons a5c42e2975 Change gramplet to populate database with sources and citations into a tool under the Tools/Debug menu as I should have created it in the first place. This tool is a test/diagnostic tool.
svn: r18944
2012-02-21 15:08:43 +00:00
Fedik 5f15b64215 small translation and uptades
svn: r18942
2012-02-20 17:53:27 +00:00
Jérôme Rapinat baeee9d079 minor improvements for ordering/grouping index (plugins documentation)
svn: r18941
2012-02-20 17:16:48 +00:00
Jérôme Rapinat e76a52b0bd update API documentation (3.4)
svn: r18938
2012-02-20 15:04:41 +00:00
Tim G L Lyons 2354408e8b GEDCOM import: error handling code moved to one place (no change to effect)
svn: r18935
2012-02-19 16:45:00 +00:00
Tim G L Lyons cfa6d69483 0005202: Failed gedcom file import. Dates too far in the future give OverflowError, allow for this exception.
svn: r18933
2012-02-19 16:20:10 +00:00
Tim G L Lyons 609a276dcb 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: r18931
2012-02-19 16:01:30 +00:00
Jérôme Rapinat 4a3afc5683 use 'ngettext'
svn: r18928
2012-02-19 14:19:21 +00:00
Jérôme Rapinat 78dcfce04a typo
svn: r18927
2012-02-19 14:18:14 +00:00
Jérôme Rapinat e3e772a7a4 updated Hungarian translation (by Lajos Nemeseri)
svn: r18924
2012-02-18 17:03:24 +00:00
Jérôme Rapinat 7fadd0216b try to update API documentation (gen.lib); citations
svn: r18923
2012-02-18 16:57:19 +00:00
Rob G. Healey 9c41947834 Fixed get_citation_links(). Thank you for pointting it out to me. Superscript was removed on purpose at it was sticking the reference into the column header row.
svn: r18920
2012-02-17 22:54:34 +00:00
Gary Burton 9d46f1ac7e Get an instance of GuiPluginManager to report errors loading plugins
svn: r18918
2012-02-17 18:37:02 +00:00
Tim G L Lyons 36f9b37e4e GEDCOM import: make generated GEDCOM notes monospaced
svn: r18917
2012-02-17 18:04:54 +00:00
Jérôme Rapinat b7f7ce860f 2356: add comments about genitive form issues under some locales
svn: r18914
2012-02-17 15:48:43 +00:00
Jérôme Rapinat 6231c38625 2356: add comments about genitive form issues under some locales
svn: r18913
2012-02-17 15:43:02 +00:00
Nick Hall 30389049a4 4774: Bug fix for r17451
svn: r18912
2012-02-17 14:20:01 +00:00
Jérôme Rapinat 7f44897477 update template
svn: r18910
2012-02-17 12:39:39 +00:00
Peter Landgren 943e6ad444 Fix of two typos.
svn: r18908
2012-02-17 10:38:34 +00:00
Tim G L Lyons 6f6e56e924 Typo (inconsistent warning note titles)
svn: r18906
2012-02-17 00:38:51 +00:00
Tim G L Lyons 9c57935c95 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: r18904
2012-02-17 00:25:02 +00:00
Paul Franklin 033919132a 5562: New LaTeXDoc.py -- patch by Harald Rosemann <rosemann@imkt.uni-hannover.de>
svn: r18901
2012-02-16 19:01:07 +00:00
Jérôme Rapinat ff7187bfa0 update polish translation (by Łukasz Rymarczyk)
svn: r18899
2012-02-16 13:12:15 +00:00
Rob G. Healey 395abdce98 Modify style elements for class SourcePage's Citations Referents section.
svn: r18896
2012-02-16 05:16:47 +00:00
Rob G. Healey c914471342 Finished working on class SourcePage's Citations Referents section.
svn: r18895
2012-02-16 04:48:17 +00:00
Gary Burton ff81e2301b Improve error message when a view or plugin fails to load
svn: r18892
2012-02-15 21:17:55 +00:00
Peter Landgren fc40da01b0 First version of Swedish translation of trunk.
svn: r18891
2012-02-15 19:26:00 +00:00
Nick Hall fc3d17f1df 5326: Add table of contents and index support for ODF documents
svn: r18887
2012-02-14 23:14:57 +00:00
Jérôme Rapinat 3a6f1e69f5 use translated string for custom attribute type after merging
svn: r18885
2012-02-14 14:03:53 +00:00
Jérôme Rapinat 7d2278674e typos
svn: r18883
2012-02-14 12:25:52 +00:00
Jérôme Rapinat 7856971064 use translated stringfor custom attribute type after merging
svn: r18882
2012-02-14 12:23:32 +00:00
Jérôme Rapinat 2f8ffdb8b2 1571: use translated strings
svn: r18881
2012-02-14 12:22:11 +00:00
Rob G. Healey e8567ae608 Possible biological, half, and step siblings into NarrativeWeb.
svn: r18877
2012-02-14 02:33:08 +00:00
Nick Hall c8048fed81 5326: Bug fix for table of contents and index in pdf reports
svn: r18876
2012-02-13 18:38:43 +00:00
Jérôme Rapinat 9e043eeb2a 1571: use translated strings
svn: r18873
2012-02-13 17:53:38 +00:00
1799 changed files with 465182 additions and 237092 deletions
+11
View File
@@ -0,0 +1,11 @@
import os
from distutils2.util import find_packages
exclude_list = ('src.gui.glade', 'src.guiQML', 'src.guiQML.views', 'src.images', 'src.plugins',
'src.webapp', 'src.webapp.grampsdb', 'src.webapp.grampsdb.templatetags', 'src.webapp.grampsdb.view', )
packages = sorted(find_packages(exclude=exclude_list))
for package in packages:
print(" '%s'," % package)
+12
View File
@@ -0,0 +1,12 @@
# Python
*.py[cod]
# Distutils
build/
sdist/
# Gramps
gramps/data/tips.xml
gramps/gen/const.py
gramps/plugins/lib/holidays.xml
po/.intltool-merge-cache
+86 -9
View File
@@ -1,17 +1,94 @@
Donald N. Allingham ** Concept and main design
<!-- $Id$ -->
David Hampton ** Autocomp.py and Report.py
Donald A. Peterson ** Makefiles, LaTeXDoc.py
Alex Roitman shura@gramps-project.org
Alex Roitman ** BookReport, command line, Gramps manual, bugfixes
Arturas Sleinius asleinius@users.sourceforge.net
Tim Waugh ** Comprehensive Ancestor report, docgen, Makefiles, bugfixes
Benny Malengier benny.malengier@gramps-project.org
Martin Hawlisch - Filters
Boril Gourinov boril.gourinov@gmail.com
Richard Taylor - ScratchPad.py, GrampsDBCallback.py
Brian Matherly brian@gramps-project.org
Brian Matherly - Reports
Craig J. Anderson ander882@hotmail.com
$Id$
Don Allingham don@gramps-project.org
Donald A. Peterson
Doug Blank doug.blank@gmail.com
Eero Tamminen eerot@users.sourceforge.net
Erik De Richter erikdrgm@users.sourceforge.net
Espen Berg espenbe@gmail.com
Gary Burton gary.burton@zen.co.uk
Gerald Britton gerald.britton@gmail.com
James G Sack jgsack@san.rr.com
Janne Kovesjärvi janne.kovesjarvi@gmail.com
Jason Simanek jsimanek@gmail.com
Jérôme Rapinat romjerome@yahoo.fr
Joan Creus joan.creus@gmail.com
Josip Pisoj josip@pisoj.com
Julio Sánchez julio.sanchez@gmail.com
Kees Bakker kees.bakker@xs4all.nl
Konstantin Dorichev kdorichev@gmail.com
Lubo Vasko pgval@inMail.sk
Luigi Toscano luigi.toscano@tiscali.it
Luiz Gonzaga dos Santos Filho lfilho@gmail.com
Łukasz Rymarczyk yenidai@poczta.onet.pl
Michiel Nauta m.d.nauta@hetnet.nl
Mirko Leonhäuser mirko@leonhaeuser.de
Morten Bo Johansen mbj@spamcop.net
Martin Hawlisch martin.hawlisch@gmx.de
Nick Hall nick__hall@hotmail.com
Peter Landgren peter.talken@telia.com
Raphael Ackermann raphael.ackermann@gmail.com
Richard Taylor rjt-gramps@thegrindstone.me.uk
Rob G. Healey robhealey1@gmail.com
Serge Noiraud Serge.Noiraud@free.fr
Sigmund Lorentsen sigmund.lorentsen@tele2.no
Stefan Bjork betula@users.sourceforge.net
Stéphane Charette stephanecharette@gmail.com
Tim G L Lyons tim.g.lyons@gmail.com
Tim Waugh twaugh@redhat.com
Vassilii Khachaturov vassilii@tarunz.org
Zdeněk Hataš zdenek.hatas@gmail.com
Zsolt Foldvari zfoldvar@users.sourceforge.net
John Ralls jralls@ceridwen.us
+30
View File
@@ -0,0 +1,30 @@
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Id$
"""
This is a stub to start Gramps. It is provided for the sole reason of being
able to run gramps from the source directory without setting PYTHONPATH
From this position, import gramps works great
"""
import gramps.grampsapp as app
app.main()
+69 -82
View File
@@ -8,107 +8,94 @@ Uninstall old version
---------------------
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:
version by deleting the installed directories (for example,
/usr/share/gramps
/usr/local/lib/pythonx.x/site-packages/gramps
/usr/local/lib/pythonx.x/dist-packages/gramps
/usr/lib/pythonx.x/site-packages/gramps
/usr/lib/pythonx.x/dist-packages/gramps
where pythonx.x is python2.7 or whatever version you installed gramps with.
Also remove the gramps .egg files that are installed along the gramps directory.
* 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
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!
Configure vs autogen scripts
----------------------------
Configure does not check all dependencies of Gramps, see README for a
list of all required and optional dependencies.
distutils install
-----------------
We do not check all dependencies of Gramps, see README for a
list of all required and optional dependencies. On running Gramps, errors will
be returned if dependencies are missing.
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".
run
python setup.py build
python setup.py install
where the last must be done as root. You can work with Gramps if you only build
it by pointing the PYTHONPATH to the build directory, but things like MIME type
and desktop entries will not be created then.
Typical install directories in linux (ubuntu) are:
* /usr/local/lib/python2.7/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.
First, copy/rename the gramps/gen/const.py.in to gramps/gen/const.py.
Edit this file if needed. Now you can start Gramps from the source code
directory with
python Gramps.py
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 --prefix argument to autogen
or configure.
alternative location on windows, supply the --root argument to setup.py
For example:
./autogen.sh --prefix=$HOME/my_gramps_path
python setup.py install --root ~/test
or
./autogen.sh --prefix=/cygdrive/c/Projects/gramps
python setup.py install --root ~/test --enable-packager-mode
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.
The last option, --enable-packager-mode, is needed if you want to disable
execution of post-install mime processing. If you don't have root/admin
access, this will be needed
Packager's issues
------------------
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.
There is a MANIFEST.in file to indicate the work needed.
To create a source distribution run:
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.
python setup.py sdist
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.
View File
+44
View File
@@ -0,0 +1,44 @@
include AUTHORS
include COPYING
include FAQ
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 help *
recursive-include mac *
recursive-include po *
recursive-include gramps *
recursive-include test *
recursive-include windows *
# Remove files created in the build
exclude data/gramps.desktop
exclude data/gramps.keys
exclude data/gramps.xml
recursive-exclude data/man *.1
recursive-exclude data/man *.1.gz
exclude gramps/const.py
exclude gramps/data/tips.xml
exclude gramps/plugins/lib/holidays.xml
exclude po/*.gmo
exclude po/.intltool-merge-cache
exclude po/stamp-it
exclude po/POTFILES
global-exclude *.pyc
global-exclude *.py~
global-exclude *.pyo
global-exclude *.bak
# Remove directories which should not be included in the distribution
prune gramps/guiQML
prune gramps/webapp
# Remove Makefiles used by autotools
global-exclude Makefile*
-35
View File
@@ -1,35 +0,0 @@
# 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
+59
View File
@@ -1,3 +1,62 @@
2012-10-28
Version 3.4.2 -- the "We're all individuals!" bug fix release.
* Some fixes on NarrativeWeb report
* Some fixes on book report
* Improvement on database path interface and user's preferences
* Consistency on Name display and regex support
* Some platform-specific fixes for Windows system environment
* Better support for media links on Gedcom file format
* Fix possible incorrect family relations on Gedcom file format
* Various fixes on citation records
* Fix and improve places handling on Geography views
* Fix on command line arguments
* Consistency on PDF file format
* New language: Greek
* Various updated translations
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=32
2012-08-23
Version 3.4.1 -- The "A tiger? In Africa?!" bug fix release.
Mention in the release that upgrading is advised for two critical issues:
-> error in export to xml of family order in 3.4.0, now fixed
-> crash in windows after some use due to too much terminal output in 3.4.0, now fixed
* Some platform-specific fixes (Windows, OSX)
* Bug fixes
* Translation updates
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=31
2012-05-21
Version 3.4.0 -- The "always look on the bright side of life" feature release.
* Lots of changes and bug fixes to every part of Gramps, including XML
import/export, image handling, gedom handling, Gramplets, date handling,
citations, reports, more!
* Some platform-specific fixes (Windows, OSX, Linux)
* What's new (and what to do before you upgrade): http://goo.gl/K3RDV
* Roadmap: http://goo.gl/GJhjH
* Many translation updates
2012-05-18
Version 3.3.2 -- "The Knights who say 'Ni'" bug fix release.
* Expressive error when trying to load familytree with downgraded Berkeley db
* Fix in the image offset calculation (MediaRef Editor)
* Improved focus and bug fixes on Editors
* Enhancements on ODT file format
* Improved synchronization on gramplets
* Export, filtering and database log improvements
* Call of living proxy is more accurate when using NarrativeWeb report
* Fixes on Check and Repair, Sort Events and Clipboard tools
* Fix automate version
* Fixes on PedigreeView (database state and mouse events)
* Various fixes and improvements on merge code
* Minor fixes on report interface and output
* Various fixes on Narrative and Web Calendar reports
* Minor issues on Gedcom handling
* Cleanup
* Add Japanese holidays (reports)
* Add a Relationship calculator for Catalan
* More than 50 bug fixes and improvements
* Translations update: ca, cs, de, es, fr, hr, hu, it, nb, nl, nn, pl, sv, zh
2011-10-01
Version 3.3.1 -- "The Tenth Anniversary Edition" bug fix release.
* translation updates: ca, cs, de, fr, hr, it, nb, nl, pl, pt_br, sk, sl, sv, uk, zh_cn
+17 -31
View File
@@ -5,8 +5,9 @@ If building from source, also read the INSTALL file (at least through the
Requirements
--------------------------------
The following packages *MUST* be installed in order for Gramps to work:
Python 2.6 or greater
PyGTK2 2.16 or greater
Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
GTK 3.0 or greater
pygobject 3.3.2 or greater
librsvg2 (svg icon view)
xdg-utils
@@ -33,36 +34,27 @@ The following packages are *STRONGLY RECOMMENDED* to be installed:
Obtain it from: http://tilloy.net/dev/pyexiv2/download.html
The following packages are optional
python gtkspell Enable spell checking in the notes, gtkspell contains the
libraries.
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
ttf-freefont More font support in the reports
PyWebKitGtk or python-gtkmozembed:
The hidden view 'Htmlview' allows websites to be opened in
gir-webkit GObject introspection data of WebKit is required for the
hidden view 'Htmlview', which 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.
from gi.repository import WebKit as webkit
python-pygoocanvas:
Required for the experimental Graphview plugin
goocanvas2:
Required for the Graphview plugin
No longer needed in 4.0:
pygoocanvas, pygtk
No longer needed in 3.3:
python-enchant Enchant
No longer needed in 3.2:
@@ -70,20 +62,14 @@ No longer needed in 3.2:
No longer needed in 3.1:
yelp Gnome help browser. At the moment no help is shipped
Remark: There is a conflict when using python-gnome2 in Ubuntu. This is evident
with the error: TypeError: Error when calling the metaclass bases
metaclass conflict
Documentation
---------------------------------
The User Manual is now maintained on the gramps website,
http://www.gramps-project.org/wiki/index.php?title=User_manual
We might in the future distribute again a manual via gnome-doc-utils, this has not
been decided yet though.
Building on non-Linux systems: i18n support and GNU make
--------------------------------------------------------
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
You might need a patch also. FreeBSD has in ports a patch ( /usr/ports/science/gramps/files)
you need to apply to po/Makefile.in.in
--------------------------------
The Gramps Project
+26 -17
View File
@@ -1,24 +1,33 @@
Gramps 3.2 Release Notes
"UNSTABLE Gramps 4.0.0 Alpha2 release.
General Improvements
This is a technology preview to allow plugin writers and packagers-installer
writers to update their plugins and scripts. This release is not production
ready, so use for testing!"
* 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.
It is recommended to use Gramps 4.0.0 with python 3.2 so as to be ready
for the future (python 2.7 works though).
* 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.
The dependencies for Gramps 4.0.0 are _completely_ different than 3.4 due
to the switch to GObject introspection, and the removal of autotools. So
only install 4.0.0 if you are certain you can obtain the dependencies,
see README and INSTALL.
*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
For linux, in Ubuntu 12.10 you can install 4.0.0, but you will need to
compile and install osmgpsmap manually to have the maps working (see
http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography )
Other Improvements
Major enhancements in Gramps 4.0.0:
* 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)
* GEP 8: code reorganization: http://www.gramps-project.org/wiki/index.php?title=GEPS_008:_File_Organization
* GEP 26: Replace make: http://www.gramps-project.org/wiki/index.php?title=GEPS_026:_Replace_%27make%27_for_Gramps_build
* GEP 29: Gtk 3 :http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion
* GEP 31: Python 3 support: http://www.gramps-project.org/wiki/index.php?title=GEPS_031:_Python_3_support
More info in the manual
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_What%27s_new%3F
Everybody is invited to update the manual to make it current!
+1 -76
View File
@@ -1,76 +1 @@
* 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....
http://gramps-project.org/wiki/index.php?title=Category:GEPS
-54
View File
@@ -1,54 +0,0 @@
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
])
-102
View File
@@ -1,102 +0,0 @@
#!/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
-571
View File
@@ -1,571 +0,0 @@
#! /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
@@ -1,175 +0,0 @@
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
@@ -1,83 +0,0 @@
# 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)
+3 -2
View File
@@ -1,11 +1,12 @@
[Desktop Entry]
_Name=Gramps Genealogy System
_Name=Gramps
_GenericName=Genealogy System
_X-GNOME-FullName=Gramps Genealogy System
_Comment=Manage genealogical information, perform genealogical research and analysis
Icon=gramps
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;Office;
X-GNOME-DocPath=gramps/gramps-manual.xml
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
Exec=gramps %F
+1 -1
View File
@@ -383,7 +383,7 @@ BOOKMARKS
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark
target (person|family|event|source|place|media|repository|
target (person|family|event|source|citation|place|media|repository|
note) #REQUIRED
hlink IDREF #REQUIRED
>
+15
View File
@@ -546,6 +546,7 @@
<value>family</value>
<value>event</value>
<value>source</value>
<value>citation</value>
<value>place</value>
<value>media</value>
<value>repository</value>
@@ -610,6 +611,20 @@
<define name="citationref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="personref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="rel"><text/></attribute>
<optional><zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore></optional>
<optional><zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore></optional>
</define>
<define name="sourceref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
+1 -1
View File
@@ -1,7 +1,7 @@
# This is the data/man level Makefile for Gramps
# $Id$
SUBDIRS = fr sv nl pl cs
SUBDIRS = fr sv nl pl cs pt_BR
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0-alpha2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#locale_dirs = './locale'
#gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('en', 'gramps', u'Gramps Documentation',
['Gramps project'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.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
@@ -0,0 +1,282 @@
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
@@ -0,0 +1,299 @@
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
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.
**-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)
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0-alpha2'
# 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
@@ -0,0 +1,300 @@
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 temporaire
est utilisée; elle sera effacée quand vous quitterez gramps.
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 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 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)
+329 -277
View File
@@ -1,290 +1,342 @@
.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,
.TH "GRAMPS" "1" "28 December 2012" "4.0" "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]
..
\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,
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
\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
.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 reStructuredText.
.
.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
Imprime une liste des arbres familiaux disponibles.
.TP
.BI \-u,\-\^\-force-unlock
.B \fB\-u\fP , \fB\-\-force\-unlock\fP
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
.BI \-\^\-version
.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 temporaire
est utilisée; elle sera effacée quand vous quitterez gramps.
.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
Imprime le numéro de version pour gramps puis quitte.
\" 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.
.UNINDENT
.TP
.BI \-\^\-disable-sound
Désactive l'utilisation du server son
.B \fBOpération\fP
Si le premier 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.
.TP
.BI \-\^\-enable-sound
Active l'utilisation du server son
.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
.TP
.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
.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).
.TP
Pour ouvrir un arbre familial et y importer un fichier XML, on peut saisir:
\fBgramps\fR \fB\-O\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Ceci ouvre un arbre familal, pour faire la même chose, mais importer dans un arbre familial temporaire et démarrer une session interactive, on peut saisir:
\fBgramps\fR \fB\-i\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options \fB\-f\fR appropriées:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Pour enregistrer le résultat des lectures, donnez l'option \fB\-e\fR (utiliser \fB\-f\fR si le nom de fichier ne permet pas à gramps de deviner le format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Pour lancer l'outil de vérification de la base de données depuis la ligne de commande et obtenir le résultat:
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.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
.TP
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
.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>
pour Debian GNU/Linux système.
.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.
.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
2012, Gramps project
.\" Generated by docutils manpage writer.
.
+15 -3
View File
@@ -1,4 +1,4 @@
.TH gramps 1 "@VERSION@" "January 2008" "@VERSION@"
.TH gramps 1 "@VERSION@" "December 2012" "@VERSION@"
.SH NAME
gramps \- Genealogical Research and Analysis Management Programming System.
@@ -113,6 +113,16 @@ 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
@@ -288,9 +298,11 @@ 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}/share/gramps\fP
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
.br
\fI${PREFIX}/share/\fP
.br
\fI${HOME}/.gramps\fP
+22
View File
@@ -0,0 +1,22 @@
.. 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
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.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
@@ -0,0 +1,266 @@
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)
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.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
@@ -0,0 +1,308 @@
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)
+14
View File
@@ -0,0 +1,14 @@
# This is the data/pt_BR level Makefile for Gramps
# $Id: Makefile.am 16377 2011-01-13 18:32:42Z matlas $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/pt_BR
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/pt_BR/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.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
@@ -0,0 +1,325 @@
.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
@@ -0,0 +1,293 @@
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)
+243
View File
@@ -0,0 +1,243 @@
# -*- 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'2012, 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.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.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
@@ -0,0 +1,281 @@
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
@@ -0,0 +1,183 @@
#! /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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.0.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 == 'linux2' or os.name == 'darwin':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
sphinxCmd = SPHINXBUILD
else:
print ("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()
+1 -1
View File
@@ -15,6 +15,7 @@ Contents:
:maxdepth: 2
gen/gen_lib
gen/gen
gen/gen_db
gen/gen_display
gen/gen_plug
@@ -34,7 +35,6 @@ Contents:
date
relationship
simple
utils
Usefull snippets
===================
+4 -4
View File
@@ -19,7 +19,7 @@ import sys, os
#sys.path.append(os.path.abspath('.'))
#documentation in root/docs, allow import from root/src where GRAMPS modules life
sourcedir = (os.path.abspath('.')).split(os.sep)[:-1] + ['src']
sourcedir = (os.path.abspath('.')).split(os.sep)[:-1] + ['gramps']
sys.path.append((os.sep).join(sourcedir))
#make it possible to add plugins --> walk the plugin dir and add to sys.path.append
for (dirpath, dirnames, filenames) in os.walk((os.sep).join(sourcedir + ['plugins'])):
@@ -46,16 +46,16 @@ master_doc = 'index'
# General information about the project.
project = u'Gramps'
copyright = u'2011, The Gramps Project'
copyright = u'2012, The 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 = '3.3'
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '3.3.0'
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
+9
View File
@@ -43,3 +43,12 @@ Gramps CLI
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: cli.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:
+86 -11
View File
@@ -1,13 +1,22 @@
##########################
The :mod:`gui` Module
The :mod:`gramps.gui` Module
##########################
.. automodule:: gui
.. automodule:: gramps.gui
*****************************
Gramps
*****************************
.. automodule:: gramps.gui.grampsgui
.. autoclass:: Gramps
:members:
:undoc-members:
:show-inheritance:
*****************************
About Dialog
*****************************
.. automodule:: gui.aboutdialog
.. automodule:: gramps.gui.aboutdialog
.. autoclass:: AuthorParser
:members:
:undoc-members:
@@ -20,7 +29,7 @@ About Dialog
*****************************
Base Sidebar
*****************************
.. automodule:: gui.basesidebar
.. automodule:: gramps.gui.basesidebar
.. autoclass:: BaseSidebar
:members:
:undoc-members:
@@ -29,7 +38,7 @@ Base Sidebar
*****************************
Column Order
*****************************
.. automodule:: gui.columnorder
.. automodule:: gramps.gui.columnorder
.. autoclass:: ColumnOrder
:members:
:undoc-members:
@@ -38,7 +47,7 @@ Column Order
*****************************
Configuration
*****************************
.. automodule:: gui.configure
.. automodule:: gramps.gui.configure
.. autoclass:: ConfigureDialog
:members:
:undoc-members:
@@ -55,7 +64,7 @@ Configuration
*****************************
GUI Element (DB)
*****************************
.. automodule:: gui.dbguielement
.. automodule:: gramps.gui.dbguielement
.. autoclass:: DbGUIElement
:members:
:undoc-members:
@@ -64,7 +73,7 @@ GUI Element (DB)
*****************************
DB Loader
*****************************
.. automodule:: gui.dbloader
.. automodule:: gramps.gui.dbloader
.. autoclass:: DbLoader
:members:
:undoc-members:
@@ -77,7 +86,7 @@ DB Loader
*****************************
DB Manager
*****************************
.. automodule:: gui.dbman
.. automodule:: gramps.gui.dbman
.. autoclass:: DbManager
:members:
:undoc-members:
@@ -86,7 +95,7 @@ DB Manager
*****************************
Filter Editor
*****************************
.. automodule:: gui.filtereditor
.. automodule:: gramps.gui.editors.filtereditor
.. autoclass:: EditFilter
:members:
:undoc-members:
@@ -145,5 +154,71 @@ Filter Editor
:show-inheritance:
*****************************
Todo
Gramps Bar
*****************************
.. automodule:: gramps.gui.grampsbar
.. autoclass:: DetachedWindow
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: GrampsBar
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: TabGramplet
:members:
:undoc-members:
:show-inheritance:
*****************************
Navigator
*****************************
.. automodule:: gramps.gui.navigator
.. autoclass:: Navigator
:members:
:undoc-members:
:show-inheritance:
*****************************
Plugins Manager
*****************************
.. automodule:: gramps.gui.pluginmanager
.. autoclass:: GuiPluginManager
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: gramps.gui.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:
*****************************
Utils
*****************************
.. automodule:: gramps.gui.utils
.. autoclass:: CLIDialog
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: CLIVbox
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: ProgressMeter
:members:
:undoc-members:
:show-inheritance:
*****************************
Views Manager
*****************************
.. automodule:: gramps.gui.viewmanager
.. autoclass:: ViewManager
:members:
:undoc-members:
:show-inheritance:
+43 -43
View File
@@ -4,7 +4,7 @@ The :class:`Date Handler` Classes
DateParser
====================================
.. automodule:: DateHandler._DateParser
.. automodule:: gen.datehandler._dateparser
.. autoclass:: DateParser
:members:
:undoc-members:
@@ -12,7 +12,7 @@ DateParser
DateDisplay
====================================
.. automodule:: DateHandler._DateDisplay
.. automodule:: gen.datehandler._datedisplay
.. autoclass:: DateDisplay
:members:
:undoc-members:
@@ -24,14 +24,14 @@ DateDisplay
DateUtils
====================================
.. automodule:: DateHandler._DateUtils
.. automodule:: gen.datehandler._dateutils
:members:
:undoc-members:
:show-inheritance:
DateHandler
====================================
.. automodule:: DateHandler._DateHandler
.. automodule:: gen.datehandler._datehandler
:members:
:undoc-members:
:show-inheritance:
@@ -42,11 +42,11 @@ Localized Date Handlers
*****************************
DateHandler (Bulgarian)
*****************************
.. autoclass:: DateHandler._Date_bg.DateParserBG
.. autoclass:: gen.datehandler._date_bg.DateParserBG
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_bg.DateDisplayBG
.. autoclass:: gen.datehandler._date_bg.DateDisplayBG
:members:
:undoc-members:
:show-inheritance:
@@ -54,11 +54,11 @@ DateHandler (Bulgarian)
*****************************
DateHandler (Catalan)
*****************************
.. autoclass:: DateHandler._Date_ca.DateParserCA
.. autoclass:: gen.datehandler._date_ca.DateParserCA
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_ca.DateDisplayCA
.. autoclass:: gen.datehandler._date_ca.DateDisplayCA
:members:
:undoc-members:
:show-inheritance:
@@ -66,11 +66,11 @@ DateHandler (Catalan)
*****************************
DateHandler (Czech)
*****************************
.. autoclass:: DateHandler._Date_cs.DateParserCZ
.. autoclass:: gen.datehandler._date_cs.DateParserCZ
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_cs.DateDisplayCZ
.. autoclass:: gen.datehandler._date_cs.DateDisplayCZ
:members:
:undoc-members:
:show-inheritance:
@@ -78,11 +78,11 @@ DateHandler (Czech)
*****************************
DateHandler (German)
*****************************
.. autoclass:: DateHandler._Date_de.DateParserDE
.. autoclass:: gen.datehandler._date_de.DateParserDE
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_de.DateDisplayDE
.. autoclass:: gen.datehandler._date_de.DateDisplayDE
:members:
:undoc-members:
:show-inheritance:
@@ -90,11 +90,11 @@ DateHandler (German)
*****************************
DateHandler (Spanish)
*****************************
.. autoclass:: DateHandler._Date_es.DateParserES
.. autoclass:: gen.datehandler._date_es.DateParserES
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_es.DateDisplayES
.. autoclass:: gen.datehandler._date_es.DateDisplayES
:members:
:undoc-members:
:show-inheritance:
@@ -102,11 +102,11 @@ DateHandler (Spanish)
*****************************
DateHandler (Finnish)
*****************************
.. autoclass:: DateHandler._Date_fi.DateParserFI
.. autoclass:: gen.datehandler._date_fi.DateParserFI
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_fi.DateDisplayFI
.. autoclass:: gen.datehandler._date_fi.DateDisplayFI
:members:
:undoc-members:
:show-inheritance:
@@ -114,11 +114,11 @@ DateHandler (Finnish)
*****************************
DateHandler (French)
*****************************
.. autoclass:: DateHandler._Date_fr.DateParserFR
.. autoclass:: gen.datehandler._date_fr.DateParserFR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_fr.DateDisplayFR
.. autoclass:: gen.datehandler._date_fr.DateDisplayFR
:members:
:undoc-members:
:show-inheritance:
@@ -126,11 +126,11 @@ DateHandler (French)
*****************************
DateHandler (Croatian)
*****************************
.. autoclass:: DateHandler._Date_hr.DateParserHR
.. autoclass:: gen.datehandler._date_hr.DateParserHR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_hr.DateDisplayHR
.. autoclass:: gen.datehandler._date_hr.DateDisplayHR
:members:
:undoc-members:
:show-inheritance:
@@ -138,11 +138,11 @@ DateHandler (Croatian)
*****************************
DateHandler (Italian)
*****************************
.. autoclass:: DateHandler._Date_it.DateParserIT
.. autoclass:: gen.datehandler._date_it.DateParserIT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_it.DateDisplayIT
.. autoclass:: gen.datehandler._date_it.DateDisplayIT
:members:
:undoc-members:
:show-inheritance:
@@ -150,11 +150,11 @@ DateHandler (Italian)
*****************************
DateHandler (Lituanian)
*****************************
.. autoclass:: DateHandler._Date_lt.DateParserLT
.. autoclass:: gen.datehandler._date_lt.DateParserLT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_lt.DateDisplayLT
.. autoclass:: gen.datehandler._date_lt.DateDisplayLT
:members:
:undoc-members:
:show-inheritance:
@@ -162,11 +162,11 @@ DateHandler (Lituanian)
*****************************
DateHandler (Norwegian)
*****************************
.. autoclass:: DateHandler._Date_nb.DateParserNb
.. autoclass:: gen.datehandler._date_nb.DateParserNb
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_nb.DateDisplayNb
.. autoclass:: gen.datehandler._date_nb.DateDisplayNb
:members:
:undoc-members:
:show-inheritance:
@@ -174,11 +174,11 @@ DateHandler (Norwegian)
*****************************
DateHandler (Dutch)
*****************************
.. autoclass:: DateHandler._Date_nl.DateParserNL
.. autoclass:: gen.datehandler._date_nl.DateParserNL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_nl.DateDisplayNL
.. autoclass:: gen.datehandler._date_nl.DateDisplayNL
:members:
:undoc-members:
:show-inheritance:
@@ -186,11 +186,11 @@ DateHandler (Dutch)
*****************************
DateHandler (Polish)
*****************************
.. autoclass:: DateHandler._Date_pl.DateParserPL
.. autoclass:: gen.datehandler._date_pl.DateParserPL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_pl.DateDisplayPL
.. autoclass:: gen.datehandler._date_pl.DateDisplayPL
:members:
:undoc-members:
:show-inheritance:
@@ -198,11 +198,11 @@ DateHandler (Polish)
*****************************
DateHandler (Portuguese)
*****************************
.. autoclass:: DateHandler._Date_pt.DateParserPT
.. autoclass:: gen.datehandler._date_pt.DateParserPT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_pt.DateDisplayPT
.. autoclass:: gen.datehandler._date_pt.DateDisplayPT
:members:
:undoc-members:
:show-inheritance:
@@ -210,11 +210,11 @@ DateHandler (Portuguese)
*****************************
DateHandler (Russian)
*****************************
.. autoclass:: DateHandler._Date_ru.DateParserRU
.. autoclass:: gen.datehandler._date_ru.DateParserRU
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_ru.DateDisplayRU
.. autoclass:: gen.datehandler._date_ru.DateDisplayRU
:members:
:undoc-members:
:show-inheritance:
@@ -222,11 +222,11 @@ DateHandler (Russian)
*****************************
DateHandler (Slovak)
*****************************
.. autoclass:: DateHandler._Date_sk.DateParserSK
.. autoclass:: gen.datehandler._date_sk.DateParserSK
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_sk.DateDisplaySK
.. autoclass:: gen.datehandler._date_sk.DateDisplaySK
:members:
:undoc-members:
:show-inheritance:
@@ -234,11 +234,11 @@ DateHandler (Slovak)
*****************************
DateHandler (Slovenian)
*****************************
.. autoclass:: DateHandler._Date_sl.DateParserSL
.. autoclass:: gen.datehandler._date_sl.DateParserSL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_sl.DateDisplaySL
.. autoclass:: gen.datehandler._date_sl.DateDisplaySL
:members:
:undoc-members:
:show-inheritance:
@@ -246,11 +246,11 @@ DateHandler (Slovenian)
*****************************
DateHandler (Serbian)
*****************************
.. autoclass:: DateHandler._Date_sr.DateParserSR
.. autoclass:: gen.datehandler._date_sr.DateParserSR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_sr.DateDisplaySR_latin
.. autoclass:: gen.datehandler._date_sr.DateDisplaySR_latin
:members:
:undoc-members:
:show-inheritance:
@@ -258,11 +258,11 @@ DateHandler (Serbian)
*****************************
DateHandler (Swedish)
*****************************
.. autoclass:: DateHandler._Date_sv.DateParserSv
.. autoclass:: gen.datehandler._date_sv.DateParserSv
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateHandler._Date_sv.DateDisplaySv
.. autoclass:: gen.datehandler._date_sv.DateDisplaySv
:members:
:undoc-members:
:show-inheritance:
@@ -273,7 +273,7 @@ The :class:`Date Edition` Classes
DateEdit
====================================
.. automodule:: DateEdit
.. automodule:: gramps.gui.editors.editdate
:members:
:undoc-members:
:show-inheritance:
+77
View File
@@ -0,0 +1,77 @@
##########################
The :mod:`gen` Module
##########################
.. automodule:: gen
*****************************
Database State
*****************************
.. automodule:: gen.dbstate
.. autoclass:: DbState
:members:
:undoc-members:
:show-inheritance:
*****************************
Errors
*****************************
.. automodule:: gen.errors
.. autoclass:: DatabaseError
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateError
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DbError
:members:
:undoc-members:
:show-inheritance:
TODO
*****************************
Recent Files
*****************************
.. automodule:: gen.recentfiles
.. autoclass:: RecentFiles
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: RecentItem
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: RecentParser
:members:
:undoc-members:
:show-inheritance:
*****************************
Sort
*****************************
.. automodule:: gen.sort
.. autoclass:: Sort
:members:
:undoc-members:
:show-inheritance:
*****************************
Update callback
*****************************
.. automodule:: gen.updatecallback
.. autoclass:: UpdateCallback
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: gen.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:
+29 -16
View File
@@ -31,6 +31,14 @@ AttributeBase
:members:
:undoc-members:
:show-inheritance:
CitationBase
====================================
.. automodule:: gen.lib.citationbase
.. autoclass:: CitationBase
:members:
:undoc-members:
:show-inheritance:
DateBase
====================================
@@ -96,14 +104,6 @@ RefBase
:undoc-members:
:show-inheritance:
SourceBase
====================================
.. automodule:: gen.lib.srcbase
.. autoclass:: SourceBase
:members:
:undoc-members:
:show-inheritance:
SurnameBase
====================================
.. automodule:: gen.lib.surnamebase
@@ -187,6 +187,14 @@ Source
:undoc-members:
:show-inheritance:
Citation
====================================
.. automodule:: gen.lib.citation
.. autoclass:: Citation
:members:
:undoc-members:
:show-inheritance:
Media Object
====================================
.. automodule:: gen.lib.mediaobj
@@ -323,14 +331,6 @@ RepoRef
:undoc-members:
:show-inheritance:
SourceRef
====================================
.. automodule:: gen.lib.srcref
.. autoclass:: SourceRef
:members:
:undoc-members:
:show-inheritance:
*****************************
Table object
*****************************
@@ -513,3 +513,16 @@ UrlType
:members:
:undoc-members:
:show-inheritance:
*****************************
Privacy
*****************************
PrivateSourceNote
============
.. automodule:: gen.lib.privsrcnote
.. autoclass:: PrivateSourceNote
:members:
:undoc-members:
:show-inheritance:
+99 -87
View File
@@ -18,13 +18,6 @@ BaseManager
:undoc-members:
:show-inheritance:
Docgen
====================================
.. automodule:: gen.plug._docgenplugin
:members:
:undoc-members:
:show-inheritance:
Export
====================================
.. automodule:: gen.plug._export
@@ -46,87 +39,12 @@ Import
:undoc-members:
:show-inheritance:
Options
====================================
.. automodule:: gen.plug._options
:members:
:undoc-members:
:show-inheritance:
Register
====================================
.. automodule:: gen.plug._pluginreg
:members:
:undoc-members:
:show-inheritance:
Utils
====================================
.. automodule:: gen.plug.utils
:members:
:undoc-members:
:show-inheritance:
Docbackend
====================================
.. automodule:: gen.plug.docbackend.cairobackend
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docbackend.docbackend
:members:
:undoc-members:
:show-inheritance:
DocGen
====================================
.. automodule:: gen.plug.docgen.basedoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.drawdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontscale
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphicstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paperstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paragraphstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.stylesheet
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.tablestyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.textdoc
:members:
:undoc-members:
:show-inheritance:
Menu
====================================
.. automodule:: gen.plug.menu._menu
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._boolean
:members:
:undoc-members:
@@ -200,8 +118,20 @@ Menu
:undoc-members:
:show-inheritance:
Report
*****************************
Options
*****************************
.. automodule:: gen.plug._options
:members:
:undoc-members:
:show-inheritance:
Reports
====================================
.. automodule:: gen.plug.report._options
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report._bibliography
:members:
:undoc-members:
@@ -227,3 +157,85 @@ Report
:undoc-members:
:show-inheritance:
*****************************
Docgen
*****************************
.. automodule:: gen.plug._docgenplugin
:members:
:undoc-members:
:show-inheritance:
*****************************
Generators
*****************************
.. automodule:: gen.plug.docgen.basedoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.drawdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontscale
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphicstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paperstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paragraphstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.stylesheet
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.tablestyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.textdoc
:members:
:undoc-members:
:show-inheritance:
*****************************
Doc Backend
*****************************
.. automodule:: gen.plug.docbackend.cairobackend
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docbackend.docbackend
:members:
:undoc-members:
:show-inheritance:
Register
====================================
.. automodule:: gen.plug._pluginreg
:members:
:undoc-members:
:show-inheritance:
Utils
====================================
.. automodule:: gen.plug.utils
:members:
:undoc-members:
:show-inheritance:
-4
View File
@@ -34,10 +34,6 @@ Private
References
====================================
.. automodule:: gen.proxy.referenced
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.proxy.referencedbyselection
:members:
:undoc-members:
+53 -1
View File
@@ -6,6 +6,10 @@ The :mod:`gen.utils` Module
Utils
====================================
.. automodule:: gen.utils.alive
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.callback
:members:
:undoc-members:
@@ -14,11 +18,59 @@ Utils
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.cast
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.config
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.configmanager
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.fallback
.. automodule:: gen.utils.db
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.file
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.id
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.image
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.keyword
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.lds
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.mactrans
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.place
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.string
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.trans
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.unknown
:members:
:undoc-members:
:show-inheritance:
+1 -1
View File
@@ -2,7 +2,7 @@
The :class:`RelationshipCalculator` Class
#########################################
.. automodule:: Relationship
.. automodule:: gen.relationship
.. autoclass:: RelationshipCalculator
:members:
:undoc-members:
+4 -4
View File
@@ -2,25 +2,25 @@
The :class:`Simple` Classes
###########################
.. automodule:: Simple
.. automodule:: gen.simple
Simple Access
====================================
.. automodule:: Simple._SimpleAccess
.. automodule:: gen.simple._simpleaccess
:members:
:undoc-members:
:show-inheritance:
Simple Doc
====================================
.. automodule:: Simple._SimpleDoc
.. automodule:: gen.simple._simpledoc
:members:
:undoc-members:
:show-inheritance:
Simple Table
====================================
.. automodule:: Simple._SimpleTable
.. automodule:: gen.simple._simpletable
:members:
:undoc-members:
:show-inheritance:
+109
View File
@@ -0,0 +1,109 @@
#! /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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
update_doc.py for Gramps API(s) documentation.
Examples:
python update_doc.py -t
Tests if 'sphinx' and 'python' are well configured.
"""
from __future__ import print_function
import os
import sys
from argparse import ArgumentParser
# 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 == 'linux2' or os.name == 'darwin':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
sphinxCmd = SPHINXBUILD
else:
print ("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')
def main():
"""
The utility for handling documentation stuff.
What is need by Gramps, nothing more.
"""
parser = ArgumentParser(
description='This program aims to handle manual'
' and translated version.',
)
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=True,
help="build documentation")
args = parser.parse_args()
if args.test:
tests()
if args.build:
build()
def build():
"""
Build documentation.
"""
# testing stage
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
os.system('''%(program)s -b changes . _build/changes''' % {'program': sphinxCmd})
os.system('''%(program)s -b linkcheck . _build/linkcheck''' % {'program': sphinxCmd})
if __name__ == "__main__":
main()
-12
View File
@@ -1,12 +0,0 @@
############################
The :mod:`Utils` Module
############################
Contents:
.. automodule:: Utils
:members:
:undoc-members:
:show-inheritance:
-1
View File
@@ -1 +0,0 @@
SUBDIRS = gramps
-12
View File
@@ -1,12 +0,0 @@
# This is the src/data/templates level Makefile
pkgdata_DATA = \
data.gramps\
O0.jpg\
O1.jpg\
O2.jpg\
O3.jpg\
O4.jpg\
O5.jpg
pkgdatadir = ${datadir}/@PACKAGE@/example
EXTRA_DIST = ${pkgdata_DATA}
+2854 -2854
View File
File diff suppressed because it is too large Load Diff
-316
View File
@@ -1,316 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
# $Id$
#name of package
PKG_NAME=${PKG_NAME:-Package}
srcdir=${srcdir:-.}
# default version requirements ...
REQUIRED_AUTOCONF_VERSION=${REQUIRED_AUTOCONF_VERSION:-2.53}
REQUIRED_AUTOMAKE_VERSION=${REQUIRED_AUTOMAKE_VERSION:-1.4}
REQUIRED_GLIB_GETTEXT_VERSION=${REQUIRED_GLIB_GETTEXT_VERSION:-2.2.0}
REQUIRED_INTLTOOL_VERSION=${REQUIRED_INTLTOOL_VERSION:-0.25}
# a list of required m4 macros. Package can set an initial value
REQUIRED_M4MACROS=${REQUIRED_M4MACROS:-}
FORBIDDEN_M4MACROS=${FORBIDDEN_M4MACROS:-}
# Not all echo versions allow -n, so we check what is possible. This test is
# based on the one in autoconf.
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ;;
*c*,* ) ECHO_N=-n ;;
*) ECHO_N= ;;
esac
# some terminal codes ...
boldface="`tput bold 2>/dev/null`"
normal="`tput sgr0 2>/dev/null`"
printbold() {
echo $ECHO_N "$boldface"
echo "$@"
echo $ECHO_N "$normal"
}
printerr() {
echo "$@" >&2
}
autogen_options ()
{
if test "x$1" = "x"; then
return 0
fi
printbold "Checking command line options..."
while test "x$1" != "x" ; do
optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
case "$1" in
--noconfigure)
NOCONFIGURE=defined
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --noconfigure"
echo " configure run disabled"
shift
;;
--nocheck)
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --nocheck"
NOCHECK=defined
echo " autotools version check disabled"
shift
;;
--debug)
DEBUG=defined
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --debug"
echo " debug output enabled"
shift
;;
-h|--help)
echo "autogen.sh (autogen options) -- (configure options)"
echo "autogen.sh help options: "
echo " --noconfigure don't run the configure script"
# echo " --nocheck don't do version checks"
echo " --debug debug the autogen process"
echo
echo " --with-autoconf PATH use autoconf in PATH"
echo " --with-automake PATH use automake in PATH"
echo
echo "Any argument either not in the above list or after a '--' will be "
echo "passed to ./configure."
exit 1
;;
--with-automake=*)
AUTOMAKE=$optarg
echo " using alternate automake in $optarg"
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-automake=$AUTOMAKE"
shift
;;
--with-autoconf=*)
AUTOCONF=$optarg
echo " using alternate autoconf in $optarg"
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF"
shift
;;
--) shift ; break ;;
*)
echo " passing argument $1 to configure"
CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1"
shift
;;
esac
done
for arg do CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $arg"; done
if test ! -z "$CONFIGURE_EXT_OPT"
then
echo " options passed to configure: $CONFIGURE_EXT_OPT"
fi
}
# Usage:
# compare_versions MIN_VERSION ACTUAL_VERSION
# returns true if ACTUAL_VERSION >= MIN_VERSION
compare_versions() {
ch_min_version=$1
ch_actual_version=$2
ch_status=0
IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="."
set $ch_actual_version
for ch_min in $ch_min_version; do
ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
if [ -z "$ch_min" ]; then break; fi
if [ -z "$ch_cur" ]; then ch_status=1; break; fi
if [ $ch_cur -gt $ch_min ]; then break; fi
if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
done
IFS="$ch_save_IFS"
return $ch_status
}
# Usage:
# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE
# checks to see if the package is available
version_check() {
vc_package=$1
vc_variable=$2
vc_checkprogs=$3
vc_min_version=$4
vc_source=$5
vc_status=1
vc_checkprog=`eval echo "\\$$vc_variable"`
if [ -n "$vc_checkprog" ]; then
printbold "using $vc_checkprog for $vc_package"
return 0
fi
if test "x$vc_package" = "xautomake" -a "x$vc_min_version" = "x1.4"; then
vc_comparator="="
else
vc_comparator=">="
fi
printbold "Checking for $vc_package $vc_comparator $vc_min_version..."
for vc_checkprog in $vc_checkprogs; do
echo $ECHO_N " testing $vc_checkprog... "
if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then
vc_actual_version=`$vc_checkprog --version | head -n 1 | \
sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
if compare_versions $vc_min_version $vc_actual_version; then
echo "found $vc_actual_version"
# set variables
eval "$vc_variable=$vc_checkprog; \
${vc_variable}_VERSION=$vc_actual_version"
vc_status=0
break
else
echo "too old (found version $vc_actual_version)"
fi
else
echo "not found."
fi
done
if [ "$vc_status" != 0 ]; then
printerr "***Error***: You must have $vc_package $vc_comparator $vc_min_version installed"
printerr " to build $PKG_NAME. Download the appropriate package for"
printerr " from your distribution or get the source tarball at"
printerr " $vc_source"
printerr
fi
return $vc_status
}
debug ()
# print out a debug message if DEBUG is a defined variable
{
if test ! -z "$DEBUG"
then
echo "DEBUG: $1"
fi
}
# Usage:
# require_m4macro filename.m4
# adds filename.m4 to the list of required macros
require_m4macro() {
case "$REQUIRED_M4MACROS" in
$1\ * | *\ $1\ * | *\ $1) ;;
*) REQUIRED_M4MACROS="$REQUIRED_M4MACROS $1" ;;
esac
}
forbid_m4macro() {
case "$FORBIDDEN_M4MACROS" in
$1\ * | *\ $1\ * | *\ $1) ;;
*) FORBIDDEN_M4MACROS="$FORBIDDEN_M4MACROS $1" ;;
esac
}
# Usage:
# add_to_cm_macrodirs dirname
# Adds the dir to $cm_macrodirs, if it's not there yet.
add_to_cm_macrodirs() {
case $cm_macrodirs in
"$1 "* | *" $1 "* | *" $1") ;;
*) cm_macrodirs="$cm_macrodirs $1";;
esac
}
# Usage:
# check_m4macros
# Checks that all the requested macro files are in the aclocal macro path
# Uses REQUIRED_M4MACROS and ACLOCAL variables.
check_m4macros() {
# construct list of macro directories
cm_macrodirs=`$ACLOCAL --print-ac-dir`
# aclocal also searches a version specific dir, eg. /usr/share/aclocal-1.9
# but it contains only Automake's own macros, so we can ignore it.
# Read the dirlist file, supported by Automake >= 1.7.
if compare_versions 1.7 $AUTOMAKE_VERSION && [ -s $cm_macrodirs/dirlist ]; then
cm_dirlist=`sed 's/[ ]*#.*//;/^$/d' $cm_macrodirs/dirlist`
if [ -n "$cm_dirlist" ] ; then
for cm_dir in $cm_dirlist; do
if [ -d $cm_dir ]; then
add_to_cm_macrodirs $cm_dir
fi
done
fi
fi
# Parse $ACLOCAL_FLAGS
set - $ACLOCAL_FLAGS
while [ $# -gt 0 ]; do
if [ "$1" = "-I" ]; then
add_to_cm_macrodirs "$2"
shift
fi
shift
done
cm_status=0
if [ -n "$REQUIRED_M4MACROS" ]; then
printbold "Checking for required M4 macros..."
# check that each macro file is in one of the macro dirs
for cm_macro in $REQUIRED_M4MACROS; do
cm_macrofound=false
for cm_dir in $cm_macrodirs; do
if [ -f "$cm_dir/$cm_macro" ]; then
cm_macrofound=true
break
fi
# The macro dir in Cygwin environments may contain a file
# called dirlist containing other directories to look in.
if [ -f "$cm_dir/dirlist" ]; then
for cm_otherdir in `cat $cm_dir/dirlist`; do
if [ -f "$cm_otherdir/$cm_macro" ]; then
cm_macrofound=true
break
fi
done
fi
done
if $cm_macrofound; then
:
else
printerr " $cm_macro not found"
cm_status=1
fi
done
fi
if [ -n "$FORBIDDEN_M4MACROS" ]; then
printbold "Checking for forbidden M4 macros..."
# check that each macro file is in one of the macro dirs
for cm_macro in $FORBIDDEN_M4MACROS; do
cm_macrofound=false
for cm_dir in $cm_macrodirs; do
if [ -f "$cm_dir/$cm_macro" ]; then
cm_macrofound=true
break
fi
done
if $cm_macrofound; then
printerr " $cm_macro found (should be cleared from macros dir)"
cm_status=1
fi
done
fi
if [ "$cm_status" != 0 ]; then
printerr "***Error***: some autoconf macros required to build $PKG_NAME"
printerr " were not found in your aclocal path, or some forbidden"
printerr " macros were found. Perhaps you need to adjust your"
printerr " ACLOCAL_FLAGS?"
printerr
fi
return $cm_status
}
toplevel_check()
{
srcfile=$1
test -f $srcfile || {
echo "You must run this script in the top-level $PKG_NAME directory"
exit 1
}
}
-28
View File
@@ -1,28 +0,0 @@
#! /bin/sh
# @configure_input@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# 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
#
prefix=@prefix@
PACKAGE=@PACKAGE@
export GRAMPSDIR=@datadir@/@PACKAGE@
exec @PYTHON@ -O $GRAMPSDIR/gramps.py "$@"
@@ -17,14 +17,14 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# webapp/grampsdb/admin.py
# gen/__init__.py
# $Id$
#
from webapp.grampsdb.models import *
from django.contrib import admin
"""
The core gramps module provides the different packages
for type_name in get_tables("all"):
admin.site.register(type_name[1])
Plugins are loaded dynamically, so they the plugin directory is not included
"""
admin.site.register(Profile)
__all__ = ["gen", "cli", "gui"]
@@ -36,23 +36,26 @@ Module responsible for handling the command line arguments for GRAMPS.
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import os
import sys
from gen.ggettext import gettext as _
from gramps.gen.ggettext import gettext as _
#-------------------------------------------------------------------------
#
# gramps modules
#
#-------------------------------------------------------------------------
import RecentFiles
import Utils
import gen
from clidbman import CLIDbManager, NAME_FILE, find_locker_name
from gramps.gen.recentfiles import recent_files
from gramps.gen.utils.file import (rm_tempdir, get_empty_tempdir,
get_unicode_path_from_env_var)
from gramps.gen.db import DbBsddb
from .clidbman import CLIDbManager, NAME_FILE, find_locker_name
from gen.plug import BasePluginManager
from gen.plug.report import CATEGORY_BOOK, CATEGORY_CODE
from cli.plug import cl_report
from gramps.gen.plug import BasePluginManager
from gramps.gen.plug.report import CATEGORY_BOOK, CATEGORY_CODE, BookList
from .plug import cl_report, cl_book
from .user import User
#-------------------------------------------------------------------------
#
@@ -182,9 +185,9 @@ class ArgHandler(object):
else:
# Need to convert to system file encoding before printing
# For non latin characters in path/file/user names
print >> sys.stderr, msg1.encode(sys.getfilesystemencoding())
print(msg1.encode(sys.getfilesystemencoding()), file=sys.stderr)
if msg2 is not None:
print >> sys.stderr, msg2.encode(sys.getfilesystemencoding())
print(msg2.encode(sys.getfilesystemencoding()), file=sys.stderr)
#-------------------------------------------------------------------------
# Argument parser: sorts out given arguments
@@ -206,7 +209,7 @@ class ArgHandler(object):
"""
if value is None:
return None
value = Utils.get_unicode_path_from_env_var(value)
value = get_unicode_path_from_env_var(value)
db_path = self.__deduce_db_path(value)
if db_path:
@@ -236,7 +239,7 @@ class ArgHandler(object):
"""
# Need to convert path/filename to unicode before opening
# For non latin characters in Windows path/file/user names
value = Utils.get_unicode_path_from_env_var(value)
value = get_unicode_path_from_env_var(value)
fname = value
fullpath = os.path.abspath(os.path.expanduser(fname))
if fname != '-' and not os.path.exists(fullpath):
@@ -273,7 +276,7 @@ class ArgHandler(object):
return
# Need to convert path/filename to unicode before opening
# For non latin characters in Windows path/file/user names
value = Utils.get_unicode_path_from_env_var(value)
value = get_unicode_path_from_env_var(value)
fname = value
if fname == '-':
fullpath = '-'
@@ -286,16 +289,21 @@ class ArgHandler(object):
answer = None
while not answer:
try:
ans = raw_input(_('OK to overwrite? (yes/no) ') \
if sys.version_info[0] < 3:
ask = raw_input
else:
ask = input
ans = ask(_('OK to overwrite? (yes/no) ') \
.encode(sys.getfilesystemencoding()))
except EOFError:
print
print()
sys.exit(0)
if ans.upper() in ('Y', 'YES', _('YES').upper()):
self.__error( _("Will overwrite the existing file: %s")
% fullpath)
answer = "ok"
else:
sys.exit(0)
if ans.upper() in ('Y', 'YES', _('YES').upper()):
self.__error( _("Will overwrite the existing file: %s")
% fullpath)
else:
sys.exit(0)
if family_tree_format is None:
# Guess the file format based on the file extension.
@@ -376,7 +384,7 @@ class ArgHandler(object):
ifile.close()
except:
title = db_path
RecentFiles.recent_files(db_path, title)
recent_files(db_path, title)
self.open = db_path
self.__open_action()
else:
@@ -399,32 +407,36 @@ class ArgHandler(object):
"""
if self.list:
print _('List of known family trees in your database path\n')
print(_('List of known family trees in your database path\n').\
encode(sys.getfilesystemencoding()))
for name, dirname in sorted(self.dbman.family_tree_list(),
key=lambda pair: pair[0].lower()):
print _("%(full_DB_path)s with name \"%(f_t_name)s\"") % \
print((_("%(full_DB_path)s with name \"%(f_t_name)s\"") % \
{'full_DB_path' : dirname,
'f_t_name' : name.encode(sys.getfilesystemencoding())}
'f_t_name' : name}).encode(sys.getfilesystemencoding()))
sys.exit(0)
if self.list_more:
print _('Gramps Family Trees:')
print(_('Gramps Family Trees:').encode(sys.getfilesystemencoding()))
summary_list = self.dbman.family_tree_summary()
for summary in sorted(summary_list,
key=lambda sum: sum["Family tree"].lower()):
print _("Family Tree \"%s\":") % summary["Family tree"]
print(_("Family Tree \"%s\":").\
encode(sys.getfilesystemencoding()) % summary["Family tree"])
for item in sorted(summary):
if item != "Family tree":
print " %s: %s" % (item, summary[item])
print((" %s: %s" % (item, summary[item])).\
encode(sys.getfilesystemencoding()))
sys.exit(0)
self.__open_action()
self.__import_action()
for (action, op_string) in self.actions:
print >> sys.stderr, _("Performing action: %s.") % action
print(_("Performing action: %s.") % action, file=sys.stderr)
if op_string:
print >> sys.stderr, _("Using options string: %s") % op_string
print(_("Using options string: %s") % op_string, file=sys.stderr)
self.cl_action(action, op_string)
for expt in self.exports:
@@ -432,23 +444,23 @@ class ArgHandler(object):
# For non latin characters in Windows path/file/user names
fn = expt[0].encode(sys.getfilesystemencoding())
fmt = str(expt[1])
print >> sys.stderr, _("Exporting: file %(filename)s, "
print(_("Exporting: file %(filename)s, "
"format %(format)s.") % \
{'filename' : fn,
'format' : fmt}
'format' : fmt}, file=sys.stderr)
self.cl_export(expt[0], expt[1])
if cleanup:
self.cleanup()
print >> sys.stderr, _("Exiting.")
print(_("Exiting."), file=sys.stderr)
sys.exit(0)
def cleanup(self):
print >> sys.stderr, _("Cleaning up.")
print(_("Cleaning up."), file=sys.stderr)
# remove files in import db subdir after use
self.dbstate.db.close()
if self.imp_db_path:
Utils.rm_tempdir(self.imp_db_path)
rm_tempdir(self.imp_db_path)
def __import_action(self):
"""
@@ -467,18 +479,18 @@ class ArgHandler(object):
if self.gui:
self.imp_db_path, title = self.dbman.create_new_db_cli()
else:
self.imp_db_path = Utils.get_empty_tempdir("import_dbdir") \
self.imp_db_path = get_empty_tempdir("import_dbdir") \
.encode(sys.getfilesystemencoding())
newdb = gen.db.DbBsddb()
newdb = DbBsddb()
newdb.write_version(self.imp_db_path)
try:
self.sm.open_activate(self.imp_db_path)
msg = _("Created empty family tree successfully")
print >> sys.stderr, msg
print(msg, file=sys.stderr)
except:
print >> sys.stderr, _("Error opening the file.")
print >> sys.stderr, _("Exiting...")
print(_("Error opening the file."), file=sys.stderr)
print(_("Exiting..."), file=sys.stderr)
sys.exit(0)
for imp in self.imports:
@@ -486,7 +498,7 @@ class ArgHandler(object):
fmt = str(imp[1])
msg = _("Importing: file %(filename)s, format %(format)s.") % \
{'filename' : fn, 'format' : fmt}
print >> sys.stderr, msg
print(msg, file=sys.stderr)
self.cl_import(imp[0], imp[1])
def __open_action(self):
@@ -502,10 +514,10 @@ class ArgHandler(object):
# we load this file for use
try:
self.sm.open_activate(self.open)
print >> sys.stderr, _("Opened successfully!")
print(_("Opened successfully!"), file=sys.stderr)
except:
print >> sys.stderr, _("Error opening the file.")
print >> sys.stderr, _("Exiting...")
print(_("Error opening the file."), file=sys.stderr)
print(_("Exiting..."), file=sys.stderr)
sys.exit(0)
def check_db(self, dbpath, force_unlock = False):
@@ -538,7 +550,7 @@ class ArgHandler(object):
for plugin in pmgr.get_import_plugins():
if family_tree_format == plugin.get_extension():
import_function = plugin.get_import_function()
import_function(self.dbstate.db, filename, None)
import_function(self.dbstate.db, filename, User())
if not self.cl:
if self.imp_db_path:
@@ -560,7 +572,7 @@ class ArgHandler(object):
for plugin in pmgr.get_export_plugins():
if family_tree_format == plugin.get_extension():
export_function = plugin.get_export_function()
export_function(self.dbstate.db, filename, self.__error)
export_function(self.dbstate.db, filename, User(error=self.__error))
#-------------------------------------------------------------------------
#
@@ -577,7 +589,7 @@ class ArgHandler(object):
options_str_dict = _split_options(options_str)
except:
options_str_dict = {}
print >> sys.stderr, _("Ignoring invalid options string.")
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
_cl_list = pmgr.get_reg_reports(gui=False)
@@ -606,25 +618,24 @@ class ArgHandler(object):
"Please use one of %(donottranslate)s=reportname") % \
{'donottranslate' : '[-p|--options] name'}
print >> sys.stderr, _("%s\n Available names are:") % msg
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for pdata in sorted(_cl_list, key= lambda pdata: pdata.id.lower()):
# Print cli report name ([item[0]), GUI report name (item[4])
if len(pdata.id) <= 25:
print >> sys.stderr, \
" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding()))
print(" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
else:
print >> sys.stderr, " %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding()))
print(" %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
elif action == "tool":
from gui.plug import tool
from gramps.gui.plug import tool
try:
options_str_dict = dict( [ tuple(chunk.split('=')) for
chunk in options_str.split(',') ] )
except:
options_str_dict = {}
print >> sys.stderr, _("Ignoring invalid options string.")
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
_cli_tool_list = pmgr.get_reg_tools(gui=False)
@@ -647,17 +658,41 @@ class ArgHandler(object):
"Please use one of %(donottranslate)s=toolname.") % \
{'donottranslate' : '[-p|--options] name'}
print >> sys.stderr, _("%s\n Available names are:") % msg
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for pdata in sorted(_cli_tool_list,
key=lambda pdata: pdata.id.lower()):
# Print cli report name ([item[0]), GUI report name (item[4])
if len(pdata.id) <= 25:
print >> sys.stderr, \
" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding()))
print(" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
else:
print >> sys.stderr, " %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding()))
print(" %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
elif action == "book":
try:
options_str_dict = _split_options(options_str)
except:
options_str_dict = {}
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
book_list = BookList('books.xml', self.dbstate.db)
if name:
if name in book_list.get_book_names():
cl_book(self.dbstate.db, name, book_list.get_book(name),
options_str_dict)
return
msg = _("Unknown book name.")
else:
msg = _("Book name not given. "
"Please use one of %(donottranslate)s=bookname.") % \
{'donottranslate' : '[-p|--options] name'}
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for name in sorted(book_list.get_book_names()):
print(" %s" % name, file=sys.stderr)
else:
print >> sys.stderr, _("Unknown action: %s.") % action
print(_("Unknown action: %s.") % action, file=sys.stderr)
sys.exit(0)
@@ -36,9 +36,10 @@ Module responsible for handling the command line arguments for GRAMPS.
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import sys
import getopt
from gen.ggettext import gettext as _
from gramps.gen.ggettext import gettext as _
import logging
#-------------------------------------------------------------------------
@@ -46,10 +47,10 @@ import logging
# gramps modules
#
#-------------------------------------------------------------------------
import const
import config
from gen.utils.configmanager import safe_eval
import Utils
from gramps.gen.const import LONGOPTS, SHORTOPTS
from gramps.gen.config import config
from gramps.gen.utils.configmanager import safe_eval
from gramps.gen.utils.file import get_unicode_path_from_env_var
# Note: Make sure to edit const.py.in POPT_TABLE too!
_HELP = _("""
@@ -216,10 +217,10 @@ class ArgParser(object):
# -Ärik is '-\xc3\x84rik' and getopt will respond :
# option -\xc3 not recognized
for arg in range(len(self.args) - 1):
self.args[arg+1] = Utils.get_unicode_path_from_env_var(self.args[arg + 1])
self.args[arg+1] = get_unicode_path_from_env_var(self.args[arg + 1])
options, leftargs = getopt.getopt(self.args[1:],
const.SHORTOPTS, const.LONGOPTS)
except getopt.GetoptError, msg:
SHORTOPTS, LONGOPTS)
except getopt.GetoptError as msg:
# Extract the arguments in the list.
# The % operator replaces the list elements with repr() of the list elemements
# which is OK for latin characters, but not for non latin characters in list elements
@@ -228,7 +229,7 @@ class ArgParser(object):
cliargs += self.args[arg + 1] + " "
cliargs += "]"
# Must first do str() of the msg object.
msg = unicode(str(msg))
msg = str(msg)
self.errors += [(_('Error parsing the arguments'),
msg + '\n' +
_("Error parsing the arguments: %s \n"
@@ -240,7 +241,7 @@ class ArgParser(object):
# if there were an argument without option,
# use it as a file to open and return
self.open_gui = leftargs[0]
print >> sys.stderr, "Trying to open: %s ..." % leftargs[0]
print ("Trying to open: %s ..." % leftargs[0], file=sys.stderr)
#see if force open is on
for opt_ix in range(len(options)):
option, value = options[opt_ix]
@@ -272,8 +273,8 @@ class ArgParser(object):
self.exports.append((value, family_tree_format))
elif option in ( '-a', '--action' ):
action = value
if action not in ( 'report', 'tool' ):
print >> sys.stderr, "Unknown action: %s. Ignoring." % action
if action not in ('report', 'tool', 'book'):
print ("Unknown action: %s. Ignoring." % action, file=sys.stderr)
continue
options_str = ""
if opt_ix < len(options)-1 \
@@ -281,7 +282,7 @@ class ArgParser(object):
options_str = options[opt_ix+1][1]
self.actions.append((action, options_str))
elif option in ('-d', '--debug'):
print >> sys.stderr, 'setup debugging', value
print ('setup debugging', value, file=sys.stderr)
logger = logging.getLogger(value)
logger.setLevel(logging.DEBUG)
cleandbg += [opt_ix]
@@ -290,14 +291,14 @@ class ArgParser(object):
elif option in ('-L'):
self.list_more = True
elif option in ('-s','--show'):
print "Gramps config settings from %s:" % \
config.config.filename.encode(sys.getfilesystemencoding())
for section in config.config.data:
for setting in config.config.data[section]:
print "%s.%s=%s" % (
print ("Gramps config settings from %s:" % \
config.filename.encode(sys.getfilesystemencoding()))
for section in config.data:
for setting in config.data[section]:
print ("%s.%s=%s" % (
section, setting,
repr(config.config.data[section][setting]))
print
repr(config.data[section][setting])))
print ('')
sys.exit(0)
elif option in ('-c', '--config'):
setting_name = value
@@ -308,24 +309,24 @@ class ArgParser(object):
set_value = True
if config.has_default(setting_name):
setting_value = config.get(setting_name)
print >> sys.stderr, "Current Gramps config setting: " \
"%s:%s" % (setting_name, repr(setting_value))
print ("Current Gramps config setting: " \
"%s:%s" % (setting_name, repr(setting_value)), file=sys.stderr)
if set_value:
if new_value == "DEFAULT":
new_value = config.get_default(setting_name)
else:
new_value = safe_eval(new_value)
config.set(setting_name, new_value)
print >> sys.stderr, " New Gramps config " \
"setting: %s:%s" % (
print (" New Gramps config " \
"setting: %s:%s" % (
setting_name,
repr(config.get(setting_name))
)
), file=sys.stderr)
else:
need_to_quit = True
else:
print >> sys.stderr, "Gramps: no such config setting:" \
" '%s'" % setting_name
print ("Gramps: no such config setting:" \
" '%s'" % setting_name, file=sys.stderr)
need_to_quit = True
cleandbg += [opt_ix]
elif option in ('-h', '-?', '--help'):
@@ -350,7 +351,7 @@ class ArgParser(object):
# but not for non-latin characters in list elements
cliargs = "[ "
for arg in range(len(self.args) - 1):
cliargs += Utils.get_unicode_path_from_env_var(self.args[arg + 1]) + " "
cliargs += get_unicode_path_from_env_var(self.args[arg + 1]) + " "
cliargs += "]"
self.errors += [(_('Error parsing the arguments'),
_("Error parsing the arguments: %s \n"
@@ -401,7 +402,7 @@ class ArgParser(object):
"""
if self.help:
# Convert Help messages to file system encoding before printing
print _HELP.encode(sys.getfilesystemencoding())
print (_HELP.encode(sys.getfilesystemencoding()))
sys.exit(0)
def print_usage(self):
@@ -410,5 +411,5 @@ class ArgParser(object):
"""
if self.usage:
# Convert Help messages to file system encoding before printing
print _USAGE.encode(sys.getfilesystemencoding())
print (_USAGE.encode(sys.getfilesystemencoding()))
sys.exit(0)
+70 -45
View File
@@ -32,13 +32,19 @@ creating, and deleting of databases.
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import os
import sys
import time
import urllib2
import urlparse
if sys.version_info[0] < 3:
from urlparse import urlparse
from urllib2 import urlopen, url2pathname
else:
from urllib.parse import urlparse
from urllib.request import urlopen, url2pathname
import tempfile
from gen.ggettext import gettext as _
from gramps.gen.ggettext import gettext as _
#-------------------------------------------------------------------------
#
# set up logging
@@ -52,10 +58,10 @@ LOG = logging.getLogger(".clidbman")
# gramps modules
#
#-------------------------------------------------------------------------
import gen.db
from gen.plug import BasePluginManager
import config
import constfunc
from gramps.gen.db import DbBsddb
from gramps.gen.plug import BasePluginManager
from gramps.gen.config import config
from gramps.gen.constfunc import win, conv_to_unicode
#-------------------------------------------------------------------------
#
# constants
@@ -75,7 +81,9 @@ def _errordialog(title, errormessage):
"""
Show the error. A title for the error and an errormessage
"""
print _('ERROR: %s \n %s') % (title, errormessage)
print(_('ERROR: %(title)s \n %(message)s') % {
'title': title,
'message': errormessage})
sys.exit()
#-------------------------------------------------------------------------
@@ -132,11 +140,11 @@ class CLIDbManager(object):
Returns (people_count, version_number) of current DB.
Returns ("Unknown", "Unknown") if invalid DB or other error.
"""
if config.get('preferences.use-bsddb3'):
if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
from bsddb3 import dbshelve, db
else:
from bsddb import dbshelve, db
from gen.db import META, PERSON_TBL
from gramps.gen.db import META, PERSON_TBL
env = db.DBEnv()
flags = db.DB_CREATE | db.DB_PRIVATE |\
db.DB_INIT_MPOOL | db.DB_INIT_LOCK |\
@@ -182,7 +190,10 @@ class CLIDbManager(object):
else:
retval["Locked?"] = "no"
retval["DB version"] = version
retval["Family tree"] = name.encode(sys.getfilesystemencoding())
if sys.version_info[0] < 3:
retval["Family tree"] = name.encode(sys.getfilesystemencoding())
else:
retval["Family tree"] = name
retval["Path"] = dirpath
retval["Last accessed"] = time.strftime('%x %X',
time.localtime(tval))
@@ -194,27 +205,29 @@ class CLIDbManager(object):
"""
# make the default directory if it does not exist
dbdir = os.path.expanduser(config.get('behavior.database-path'))
dbdir = dbdir.encode(sys.getfilesystemencoding())
make_dbdir(dbdir)
if sys.version_info[0] < 3:
dbdir = dbdir.encode(sys.getfilesystemencoding())
db_ok = make_dbdir(dbdir)
self.current_names = []
for dpath in os.listdir(dbdir):
dirpath = os.path.join(dbdir, dpath)
path_name = os.path.join(dirpath, NAME_FILE)
if os.path.isfile(path_name):
name = file(path_name).readline().strip()
if db_ok:
for dpath in os.listdir(dbdir):
dirpath = os.path.join(dbdir, dpath)
path_name = os.path.join(dirpath, NAME_FILE)
if os.path.isfile(path_name):
file = open(path_name)
name = file.readline().strip()
(tval, last) = time_val(dirpath)
(enable, stock_id) = self.icon_values(dirpath, self.active,
self.dbstate.db.is_open())
(tval, last) = time_val(dirpath)
(enable, stock_id) = self.icon_values(dirpath, self.active,
self.dbstate.db.is_open())
if (stock_id == 'gramps-lock'):
last = find_locker_name(dirpath)
if (stock_id == 'gramps-lock'):
last = find_locker_name(dirpath)
self.current_names.append(
(name, os.path.join(dbdir, dpath), path_name,
last, tval, enable, stock_id))
self.current_names.append(
(name, os.path.join(dbdir, dpath), path_name,
last, tval, enable, stock_id))
self.current_names.sort()
@@ -238,13 +251,13 @@ class CLIDbManager(object):
"""
Do needed things to start import visually, eg busy cursor
"""
print _('Starting Import, %s') % msg
print(_('Starting Import, %s') % msg)
def __end_cursor(self):
"""
Set end of a busy cursor
"""
print _('Import finished...')
print(_('Import finished...'))
def create_new_db_cli(self, title=None):
"""
@@ -264,7 +277,7 @@ class CLIDbManager(object):
name_file.close()
# write the version number into metadata
newdb = gen.db.DbBsddb()
newdb = DbBsddb()
newdb.write_version(new_path)
(tval, last) = time_val(new_path)
@@ -279,23 +292,29 @@ class CLIDbManager(object):
"""
return self.create_new_db_cli(title)
def import_new_db(self, filename, callback):
def import_new_db(self, filename, user):
"""
Attempt to import the provided file into a new database.
A new database will only be created if an appropriate importer was
found.
@param filename: a fully-qualified path, filename, and
extension to open.
@param user: a cli.User or gui.User instance for managing user
interaction.
@return: A tuple of (new_path, name) for the new database
or (None, None) if no import was performed.
"""
pmgr = BasePluginManager.get_instance()
# Allow URL names here; make temp file if necessary
url = urlparse.urlparse(filename)
url = urlparse(filename)
if url.scheme != "":
if url.scheme == "file":
filename = urllib2.url2pathname(filename[7:])
filename = url2pathname(filename[7:])
else:
url_fp = urllib2.urlopen(filename) # open URL
url_fp = urlopen(filename) # open URL
# make a temp local file:
ext = os.path.splitext(url.path)[1]
fd, filename = tempfile.mkstemp(suffix=ext)
@@ -317,12 +336,12 @@ class CLIDbManager(object):
# Create a new database
self.__start_cursor(_("Importing data..."))
dbclass = gen.db.DbBsddb
dbclass = DbBsddb
dbase = dbclass()
dbase.load(new_path, callback)
dbase.load(new_path, user.callback)
import_function = plugin.get_import_function()
import_function(dbase, filename, callback)
import_function(dbase, filename, user)
# finish up
self.__end_cursor()
@@ -359,7 +378,7 @@ class CLIDbManager(object):
name_file = open(filepath, "w")
name_file.write(new_text)
name_file.close()
except (OSError, IOError), msg:
except (OSError, IOError) as msg:
CLIDbManager.ERROR(_("Could not rename family tree"),
str(msg))
return None, None
@@ -393,9 +412,13 @@ def make_dbdir(dbdir):
try:
if not os.path.isdir(dbdir):
os.makedirs(dbdir)
except (IOError, OSError), msg:
msg = unicode(str(msg), sys.getfilesystemencoding())
LOG.error(_("Could not make database directory: ") + msg)
except (IOError, OSError) as msg:
msg = conv_to_unicode(str(msg), sys.getfilesystemencoding())
LOG.error(_("\nERROR: Wrong database path in Edit Menu->Preferences.\n"
"Open preferences and set correct database path.\n\n"
"Details: Could not make database directory:\n %s\n\n") % msg)
return False
return True
def find_next_db_name(name_list):
"""
@@ -418,7 +441,8 @@ def find_next_db_dir():
while True:
base = "%x" % int(time.time())
dbdir = os.path.expanduser(config.get('behavior.database-path'))
dbdir = dbdir.encode(sys.getfilesystemencoding())
if sys.version_info[0] < 3:
dbdir = dbdir.encode(sys.getfilesystemencoding())
new_path = os.path.join(dbdir, base)
if not os.path.isdir(new_path):
break
@@ -434,7 +458,7 @@ def time_val(dirpath):
if os.path.isfile(meta):
tval = os.stat(meta)[9]
# This gives creation date in Windows, but correct date in Linux
if constfunc.win():
if win():
# Try to use last modified date instead in Windows
# and check that it is later than the creation date.
tval_mod = os.stat(meta)[8]
@@ -456,12 +480,13 @@ def find_locker_name(dirpath):
"""
try:
fname = os.path.join(dirpath, "lock")
ifile = open(fname)
ifile = open(fname, 'rb')
username = ifile.read().strip()
# Convert username to unicode according to system encoding
# Otherwise problems with non ASCII characters in
# username in Windows
username = unicode(username, sys.getfilesystemencoding())
username = conv_to_unicode(username, sys.getfilesystemencoding())
# feature request 2356: avoid genitive form
last = _("Locked by %s") % username
ifile.close()
except (OSError, IOError):
@@ -33,7 +33,9 @@ Provides also two small base classes: CLIDbLoader, CLIManager
# Python modules
#
#-------------------------------------------------------------------------
from gen.ggettext import gettext as _
from __future__ import print_function
from gramps.gen.ggettext import gettext as _
import os
import sys
@@ -45,16 +47,17 @@ LOG = logging.getLogger(".grampscli")
# GRAMPS modules
#
#-------------------------------------------------------------------------
from gen.display.name import displayer as name_displayer
import config
import const
import Errors
import DbState
from gen.db import DbBsddb
import gen.db.exceptions
from gen.plug import BasePluginManager
from Utils import get_researcher
import RecentFiles
from gramps.gen.display.name import displayer as name_displayer
from gramps.gen.config import config
from gramps.gen.const import PLUGINS_DIR, USER_PLUGINS
from gramps.gen.errors import DbError
from gramps.gen.dbstate import DbState
from gramps.gen.db import DbBsddb
from gramps.gen.db.exceptions import (DbUpgradeRequiredError,
DbVersionError)
from gramps.gen.plug import BasePluginManager
from gramps.gen.utils.config import get_researcher
from gramps.gen.recentfiles import recent_files
#-------------------------------------------------------------------------
#
@@ -73,14 +76,14 @@ class CLIDbLoader(object):
"""
Issue a warning message. Inherit for GUI action
"""
print _('WARNING: %s') % warnmessage
print(_('WARNING: %s') % warnmessage)
def _errordialog(self, title, errormessage):
"""
Show the error. A title for the error and an errormessage
Inherit for GUI action
"""
print _('ERROR: %s') % errormessage
print(_('ERROR: %s') % errormessage)
sys.exit(1)
def _dberrordialog(self, msg):
@@ -154,17 +157,17 @@ class CLIDbLoader(object):
try:
self.dbstate.db.load(filename, self._pulse_progress, mode)
self.dbstate.db.set_save_path(filename)
except gen.db.exceptions.DbUpgradeRequiredError, msg:
except gen.db.exceptions.DbUpgradeRequiredError as msg:
self.dbstate.no_database()
self._errordialog( _("Cannot open database"), str(msg))
except gen.db.exceptions.DbVersionError, msg:
except gen.db.exceptions.DbVersionError as msg:
self.dbstate.no_database()
self._errordialog( _("Cannot open database"), str(msg))
except OSError, msg:
except OSError as msg:
self.dbstate.no_database()
self._errordialog(
_("Could not open file: %s") % filename, str(msg))
except Errors.DbError, msg:
except Errors.DbError as msg:
self.dbstate.no_database()
self._dberrordialog(msg)
except Exception:
@@ -204,7 +207,7 @@ class CLIManager(object):
"""
Show the error. A title for the error and an errormessage
"""
print _('ERROR: %s') % errormessage
print(_('ERROR: %s') % errormessage)
sys.exit(1)
def _read_recent_file(self, filename):
@@ -213,7 +216,7 @@ class CLIManager(object):
"""
# A recent database should already have a directory If not, do nothing,
# just return. This can be handled better if family tree delete/rename
# also updated the recent file menu info in DisplayState.py
# also updated the recent file menu info in displaystate.py
if not os.path.isdir(filename):
self._errordialog(
_("Could not load a recent Family Tree."),
@@ -273,16 +276,15 @@ class CLIManager(object):
config.set('paths.recent-file', filename)
RecentFiles.recent_files(filename, name)
recent_files(filename, name)
self.file_loaded = True
def do_reg_plugins(self, dbstate, uistate):
"""
Register the plugins at initialization time.
"""
self._pmgr.reg_plugins(const.PLUGINS_DIR, dbstate, uistate)
self._pmgr.reg_plugins(const.USER_PLUGINS, dbstate, uistate,
append=False, load_on_reg=True)
self._pmgr.reg_plugins(PLUGINS_DIR, dbstate, uistate)
self._pmgr.reg_plugins(USER_PLUGINS, dbstate, uistate, load_on_reg=True)
def startcli(errors, argparser):
"""
@@ -295,10 +297,10 @@ def startcli(errors, argparser):
# Convert error message to file system encoding before print
errmsg = _('Error encountered: %s') % errors[0][0]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print errmsg
print(errmsg)
errmsg = _(' Details: %s') % errors[0][1]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print errmsg
print(errmsg)
sys.exit(1)
if argparser.errors:
@@ -306,20 +308,20 @@ def startcli(errors, argparser):
errmsg = _('Error encountered in argument parsing: %s') \
% argparser.errors[0][0]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print errmsg
print(errmsg)
errmsg = _(' Details: %s') % argparser.errors[0][1]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print errmsg
print(errmsg)
sys.exit(1)
#we need to keep track of the db state
dbstate = DbState.DbState()
dbstate = DbState()
#we need a manager for the CLI session
climanager = CLIManager(dbstate, True)
#load the plugins
climanager.do_reg_plugins(dbstate, uistate=None)
# handle the arguments
from arghandler import ArgHandler
from .arghandler import ArgHandler
handler = ArgHandler(dbstate, argparser, climanager)
# create a manager to manage the database
@@ -6,7 +6,7 @@
# Copyright (C) 2008 Raphael Ackermann
# Copyright (C) 2008-2011 Brian G. Matherly
# Copyright (C) 2010 Jakim Friant
# Copyright (C) 2011 Paul Franklin
# Copyright (C) 2011-2012 Paul Franklin
#
# 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
@@ -33,7 +33,9 @@
# Python modules
#
#-------------------------------------------------------------------------
from gen.ggettext import gettext as _
from __future__ import print_function
from gramps.gen.ggettext import gettext as _
import traceback
import os
import sys
@@ -46,23 +48,24 @@ log = logging.getLogger(".")
# Gramps modules
#
#-------------------------------------------------------------------------
import Utils
from gen.plug import BasePluginManager
from gen.plug.docgen import (StyleSheet, StyleSheetList, PaperStyle,
from gramps.gen.plug import BasePluginManager
from gramps.gen.plug.docgen import (StyleSheet, StyleSheetList, PaperStyle,
PAPER_PORTRAIT, PAPER_LANDSCAPE, graphdoc)
from gen.plug.menu import (FamilyOption, PersonOption, NoteOption,
from gramps.gen.plug.menu import (FamilyOption, PersonOption, NoteOption,
MediaOption, PersonListOption, NumberOption,
BooleanOption, DestinationOption, StringOption,
TextOption, EnumeratedListOption, Option)
from gen.display.name import displayer as name_displayer
from Errors import ReportError
from gen.plug.report import (CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK,
CATEGORY_GRAPHVIZ, CATEGORY_CODE)
from gen.plug.report._paper import paper_sizes
import const
import DbState
from cli.grampscli import CLIManager
import cli.user
from gramps.gen.display.name import displayer as name_displayer
from gramps.gen.errors import ReportError, FilterError
from gramps.gen.plug.report import (CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK,
CATEGORY_GRAPHVIZ, CATEGORY_CODE,
ReportOptions, create_style_sheet)
from gramps.gen.plug.report._paper import paper_sizes
from gramps.gen.const import USER_HOME
from gramps.gen.dbstate import DbState
from gramps.gen.constfunc import STRTYPE, conv_to_unicode_direct
from ..grampscli import CLIManager
from ..user import User
#------------------------------------------------------------------------
#
@@ -76,26 +79,26 @@ def _convert_str_to_match_type(str_val, type_val):
str_val = str_val.strip()
ret_type = type(type_val)
if ret_type in (str, unicode):
if isinstance(type_val, STRTYPE):
if ( str_val.startswith("'") and str_val.endswith("'") ) or \
( str_val.startswith('"') and str_val.endswith('"') ):
# Remove enclosing quotes
return unicode(str_val[1:-1])
return conv_to_unicode_direct(str_val[1:-1])
else:
return unicode(str_val)
return conv_to_unicode_direct(str_val)
elif ret_type == int:
if str_val.isdigit():
return int(str_val)
else:
print "'%s' is not an integer number" % str_val
print("'%s' is not an integer number" % str_val)
return 0
elif ret_type == float:
try:
return float(str_val)
except ValueError:
print "'%s' is not a decimal number" % str_val
print("'%s' is not a decimal number" % str_val)
return 0.0
elif ret_type == bool:
@@ -104,13 +107,13 @@ def _convert_str_to_match_type(str_val, type_val):
elif str_val == str(False):
return False
else:
print "'%s' is not a boolean-- try 'True' or 'False'" % str_val
print("'%s' is not a boolean-- try 'True' or 'False'" % str_val)
return False
elif ret_type == list:
ret_val = []
if not ( str_val.startswith("[") and str_val.endswith("]") ):
print "'%s' is not a list-- try: [%s]" % (str_val, str_val)
print("'%s' is not a list-- try: [%s]" % (str_val, str_val))
return ret_val
entry = ""
@@ -160,12 +163,12 @@ def _validate_options(options, dbase):
person = dbase.get_default_person()
if not person:
try:
phandle = dbase.iter_person_handles().next()
phandle = next(dbase.iter_person_handles())
except StopIteration:
phandle = None
person = dbase.get_person_from_handle(phandle)
if not person:
print _("ERROR: Please specify a person")
print(_("ERROR: Please specify a person"))
if person:
option.set_value(person.get_gramps_id())
@@ -182,14 +185,14 @@ def _validate_options(options, dbase):
family_handle = family_list[0]
else:
try:
family_handle = dbase.iter_family_handles().next()
family_handle = next(dbase.iter_family_handles())
except StopIteration:
family_handle = None
if family_handle:
family = dbase.get_family_from_handle(family_handle)
option.set_value(family.get_gramps_id())
else:
print _("ERROR: Please specify a family")
print(_("ERROR: Please specify a family"))
#------------------------------------------------------------------------
#
@@ -221,6 +224,7 @@ class CommandLineReport(object):
self.database = database
self.category = category
self.format = None
self.raw_name = name
self.option_class = option_class(name, database)
if category == CATEGORY_GRAPHVIZ:
# Need to include GraphViz options
@@ -238,6 +242,7 @@ class CommandLineReport(object):
self.init_standard_options(noopt)
self.init_report_options()
self.parse_options()
self.init_report_options_help()
self.show_options()
def init_standard_options(self, noopt):
@@ -275,7 +280,7 @@ class CommandLineReport(object):
if noopt:
return
self.options_help['of'][2] = os.path.join(const.USER_HOME,
self.options_help['of'][2] = os.path.join(USER_HOME,
"whatever_name")
if self.category == CATEGORY_TEXT:
@@ -305,7 +310,7 @@ class CommandLineReport(object):
"%d\tPortrait" % PAPER_PORTRAIT,
"%d\tLandscape" % PAPER_LANDSCAPE ]
self.options_help['css'][2] = os.path.join(const.USER_HOME,
self.options_help['css'][2] = os.path.join(USER_HOME,
"whatever_name.css")
if self.category in (CATEGORY_TEXT, CATEGORY_DRAW):
@@ -337,6 +342,17 @@ class CommandLineReport(object):
for name in menu.get_all_option_names():
option = menu.get_option_by_name(name)
self.options_dict[name] = option.get_value()
def init_report_options_help(self):
"""
Initialize help for the options that are defined by each report.
(And also any docgen options, if defined by the docgen.)
"""
if not hasattr(self.option_class, "menu"):
return
menu = self.option_class.menu
for name in menu.get_all_option_names():
option = menu.get_option_by_name(name)
self.options_help[name] = [ "", option.get_help() ]
if isinstance(option, PersonOption):
@@ -400,12 +416,12 @@ class CommandLineReport(object):
elif isinstance(option, Option):
self.options_help[name].append(option.get_help())
else:
print _("Unknown option: %s") % option
print _(" Valid options are:"), ", ".join(
self.options_dict.keys())
print (_(" Use '%(donottranslate)s' to see description "
print(_("Unknown option: %s") % option)
print(_(" Valid options are:"),
", ".join(list(self.options_dict.keys())))
print((_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"})
{'donottranslate' : "show=option"}))
def parse_options(self):
"""
@@ -416,56 +432,33 @@ class CommandLineReport(object):
else:
menu = self.option_class.menu
menu_opt_names = menu.get_all_option_names()
for opt in self.options_str_dict:
if opt in self.options_dict:
self.options_dict[opt] = \
_convert_str_to_match_type(self.options_str_dict[opt],
self.options_dict[opt])
self.option_class.handler.options_dict[opt] = \
self.options_dict[opt]
if menu and opt in menu_opt_names:
option = menu.get_option_by_name(opt)
option.set_value(self.options_dict[opt])
else:
print _("Ignoring unknown option: %s") % opt
print _(" Valid options are:"), ", ".join(
self.options_dict.keys())
print (_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"})
_format_str = self.options_str_dict.pop('off', None)
if _format_str:
self.options_dict['off'] = _format_str
self.option_class.handler.output = self.options_dict['of']
self.css_filename = None
_chosen_format = None
if self.category == CATEGORY_TEXT:
for plugin in self.__textdoc_plugins:
if plugin.get_extension() == self.options_dict['off']:
self.format = plugin.get_basedoc()
self.css_filename = self.options_dict['css']
self.doc_option_class = None
if self.category in [CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK]:
if self.category == CATEGORY_TEXT:
plugins = self.__textdoc_plugins
self.css_filename = self.options_dict['css']
elif self.category == CATEGORY_DRAW:
plugins = self.__drawdoc_plugins
elif self.category == CATEGORY_BOOK:
plugins = self.__bookdoc_plugins
for plugin in plugins:
if plugin.get_extension() == self.options_dict['off']:
self.format = plugin.get_basedoc()
self.doc_option_class = plugin.get_doc_option_class()
if self.format is None:
# Pick the first one as the default.
self.format = self.__textdoc_plugins[0].get_basedoc()
_chosen_format = self.__textdoc_plugins[0].get_extension()
elif self.category == CATEGORY_DRAW:
for plugin in self.__drawdoc_plugins:
if plugin.get_extension() == self.options_dict['off']:
self.format = plugin.get_basedoc()
if self.format is None:
# Pick the first one as the default.
self.format = self.__drawdoc_plugins[0].get_basedoc()
_chosen_format = self.__drawdoc_plugins[0].get_extension()
elif self.category == CATEGORY_BOOK:
for plugin in self.__bookdoc_plugins:
if plugin.get_extension() == self.options_dict['off']:
self.format = plugin.get_basedoc()
if self.format is None:
# Pick the first one as the default.
self.format = self.__bookdoc_plugins[0].get_basedoc()
_chosen_format = self.__bookdoc_plugins[0].get_extension()
plugin = plugins[0]
self.format = plugin.get_basedoc()
self.doc_option_class = plugin.get_doc_option_class()
_chosen_format = plugin.get_extension()
elif self.category == CATEGORY_GRAPHVIZ:
for graph_format in graphdoc.FORMATS:
if graph_format['ext'] == self.options_dict['off']:
@@ -477,14 +470,39 @@ class CommandLineReport(object):
_chosen_format = graphdoc.FORMATS[0]["ext"]
else:
self.format = None
if _chosen_format and self.options_str_dict.has_key('off'):
print (_("Ignoring '%(notranslate1)s=%(notranslate2)s' "
if _chosen_format and _format_str:
print((_("Ignoring '%(notranslate1)s=%(notranslate2)s' "
"and using '%(notranslate1)s=%(notranslate3)s'.") %
{'notranslate1' : "off",
'notranslate2' : self.options_dict['off'],
'notranslate3' : _chosen_format})
print (_("Use '%(notranslate)s' to see valid values.") %
{'notranslate' : "show=off"})
'notranslate3' : _chosen_format}))
print((_("Use '%(notranslate)s' to see valid values.") %
{'notranslate' : "show=off"}))
self.do_doc_options()
for opt in self.options_str_dict:
if opt in self.options_dict:
self.options_dict[opt] = \
_convert_str_to_match_type(self.options_str_dict[opt],
self.options_dict[opt])
self.option_class.handler.options_dict[opt] = \
self.options_dict[opt]
if menu and opt in menu_opt_names:
option = menu.get_option_by_name(opt)
option.set_value(self.options_dict[opt])
else:
print(_("Ignoring unknown option: %s") % opt )
print(_(" Valid options are:"),
", ".join(list(self.options_dict.keys())))
print(_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"})
self.option_class.handler.output = self.options_dict['of']
for paper in paper_sizes:
if paper.get_name() == self.options_dict['papers']:
@@ -510,6 +528,34 @@ class CommandLineReport(object):
style_name = self.option_class.handler.get_default_stylesheet_name()
self.selected_style = self.style_list.get_style_sheet(style_name)
def do_doc_options(self):
self.doc_options = None
if not self.doc_option_class:
return # this docgen type has no options
try:
if issubclass(self.doc_option_class, object):
self.doc_options = self.doc_option_class(self.raw_name,
self.database)
doc_options_dict = self.doc_options.options_dict
except TypeError:
self.doc_options = self.doc_option_class
self.doc_options.load_previous_values()
docgen_menu = self.doc_options.menu
report_menu = self.option_class.menu # "help" checks the option type
for oname in docgen_menu.get_option_names('Document Options'):
docgen_opt = docgen_menu.get_option('Document Options', oname)
if oname in self.options_str_dict and oname in doc_options_dict:
doc_options_dict[oname] = \
_convert_str_to_match_type(self.options_str_dict[oname],
doc_options_dict[oname])
self.options_str_dict.pop(oname)
if oname in doc_options_dict:
docgen_opt.set_value(doc_options_dict[oname])
report_menu.add_option('Document Options', oname, docgen_opt)
for oname in doc_options_dict: # enable "help"
self.options_dict[oname] = doc_options_dict[oname]
self.options_help[oname] = self.doc_options.options_help[oname][:3]
def show_options(self):
"""
Print available options on the CLI.
@@ -517,39 +563,40 @@ class CommandLineReport(object):
if not self.show:
return
elif self.show == 'all':
print _(" Available options:")
print(_(" Available options:"))
for key in sorted(self.options_dict.keys()):
if key in self.options_help:
opt = self.options_help[key]
# Make the output nicer to read, assume a tab has 8 spaces
tabs = '\t\t' if len(key) < 10 else '\t'
optmsg = " %s%s%s (%s)" % (key, tabs, opt[1], opt[0])
print optmsg.encode(sys.getfilesystemencoding())
print(optmsg.encode(sys.getfilesystemencoding()))
else:
optmsg = " %s" % key
print optmsg.encode(sys.getfilesystemencoding())
print (_(" Use '%(donottranslate)s' to see description "
optmsg = " %s%s%s" % (key, tabs,
_('(no help available)'))
print(optmsg.encode(sys.getfilesystemencoding()))
print((_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"})
{'donottranslate' : "show=option"}))
elif self.show in self.options_help:
opt = self.options_help[self.show]
tabs = '\t\t' if len(self.show) < 10 else '\t'
print ' %s%s%s (%s)' % (self.show, tabs, opt[1], opt[0])
print _(" Available values are:")
print(' %s%s%s (%s)' % (self.show, tabs, opt[1], opt[0]))
print(_(" Available values are:"))
vals = opt[2]
if isinstance(vals, (list, tuple)):
for val in vals:
optmsg = " %s" % val
print optmsg.encode(sys.getfilesystemencoding())
print(optmsg.encode(sys.getfilesystemencoding()))
else:
optmsg = " %s" % opt[2]
print optmsg.encode(sys.getfilesystemencoding())
print(optmsg.encode(sys.getfilesystemencoding()))
else:
#there was a show option given, but the option is invalid
print (_("option '%(optionname)s' not valid. "
print((_("option '%(optionname)s' not valid. "
"Use '%(donottranslate)s' to see all valid options.") %
{'optionname' : self.show, 'donottranslate' : "show=all"})
{'optionname' : self.show, 'donottranslate' : "show=all"}))
#------------------------------------------------------------------------
#
@@ -570,10 +617,17 @@ def cl_report(database, name, category, report_class, options_class,
# write report
try:
if category in [CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK]:
clr.option_class.handler.doc = clr.format(
clr.selected_style,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb))
if clr.doc_options:
clr.option_class.handler.doc = clr.format(
clr.selected_style,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb),
clr.doc_options)
else:
clr.option_class.handler.doc = clr.format(
clr.selected_style,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb))
elif category == CATEGORY_GRAPHVIZ:
clr.option_class.handler.doc = clr.format(
clr.option_class,
@@ -582,23 +636,23 @@ def cl_report(database, name, category, report_class, options_class,
if clr.css_filename is not None and \
hasattr(clr.option_class.handler.doc, 'set_css_filename'):
clr.option_class.handler.doc.set_css_filename(clr.css_filename)
MyReport = report_class(database, clr.option_class, cli.user.User())
MyReport = report_class(database, clr.option_class, User())
MyReport.doc.init()
MyReport.begin_report()
MyReport.write_report()
MyReport.end_report()
return clr
except ReportError, msg:
except ReportError as msg:
(m1, m2) = msg.messages()
print err_msg
print m1
print(err_msg)
print(m1)
if m2:
print m2
print(m2)
except:
if len(log.handlers) > 0:
log.error(err_msg, exc_info=True)
else:
print >> sys.stderr, err_msg
print(err_msg, file=sys.stderr)
## Something seems to eat the exception above.
## Hack to re-get the exception:
try:
@@ -627,7 +681,7 @@ def run_report(db, name, **options_str_dict):
options and values used in clr.option_class.options_dict
filename in clr.option_class.get_output()
"""
dbstate = DbState.DbState()
dbstate = DbState()
climanager = CLIManager(dbstate, False) # don't load db
climanager.do_reg_plugins(dbstate, None)
pmgr = BasePluginManager.get_instance()
@@ -651,3 +705,73 @@ def run_report(db, name, **options_str_dict):
options_str_dict)
return clr
return clr
#------------------------------------------------------------------------
#
# Function to write books from command line
#
#------------------------------------------------------------------------
def cl_book(database, name, book, options_str_dict):
clr = CommandLineReport(database, name, CATEGORY_BOOK,
ReportOptions, options_str_dict)
# Exit here if show option was given
if clr.show:
return
# write report
doc = clr.format(None,
PaperStyle(clr.paper, clr.orien, clr.marginl,
clr.marginr, clr.margint, clr.marginb))
user = User()
rptlist = []
for item in book.get_item_list():
# The option values were loaded magically by the book parser.
# But they still need to be applied to the menu options.
opt_dict = item.option_class.options_dict
menu = item.option_class.menu
for optname in opt_dict:
menu_option = menu.get_option_by_name(optname)
if menu_option:
menu_option.set_value(opt_dict[optname])
item.option_class.set_document(doc)
report_class = item.get_write_item()
obj = write_book_item(database,
report_class, item.option_class, user)
style_sheet = create_style_sheet(item)
rptlist.append((obj, style_sheet))
doc.open(clr.option_class.get_output())
doc.init()
newpage = 0
for rpt, style_sheet in rptlist:
doc.set_style_sheet(style_sheet)
if newpage:
doc.page_break()
newpage = 1
rpt.begin_report()
rpt.write_report()
doc.close()
#------------------------------------------------------------------------
#
# Generic task function for book
#
#------------------------------------------------------------------------
def write_book_item(database, report_class, options, user):
"""Write the report using options set.
All user dialog has already been handled and the output file opened."""
try:
return report_class(database, options, user)
except ReportError as msg:
(m1, m2) = msg.messages()
print("ReportError", m1, m2)
except FilterError as msg:
(m1, m2) = msg.messages()
print("FilterError", m1, m2)
except:
log.error("Failed to write book item.", exc_info=True)
return None
+60 -15
View File
@@ -29,6 +29,8 @@ The User class provides basic interaction with the user.
# Python Modules
#
#------------------------------------------------------------------------
from __future__ import print_function
import sys
#------------------------------------------------------------------------
@@ -36,7 +38,8 @@ import sys
# Gramps Modules
#
#------------------------------------------------------------------------
import gen.user
from gramps.gen.ggettext import gettext as _
from gramps.gen.user import User
#------------------------------------------------------------------------
#
@@ -50,14 +53,16 @@ _SPINNER = ['|', '/', '-', '\\']
# User class
#
#-------------------------------------------------------------------------
class User(gen.user.User):
class User(User):
"""
This class provides a means to interact with the user via CLI.
It implements the interface in gen.user.User()
It implements the interface in gramps.gen.user.User()
"""
def __init__(self):
def __init__(self, callback=None, error=None):
self.steps = 0;
self.current_step = 0;
self.callback_function = callback
self.error_function = error
def begin_progress(self, title, message, steps):
"""
@@ -67,13 +72,13 @@ class User(gen.user.User):
@type title: str
@param message: the message associated with the progress meter
@type message: str
@param steps: the total number of steps for the progress meter. a value
of 0 indicates that the ending is unknown and the meter should just
show activity.
@param steps: the total number of steps for the progress meter.
a value of 0 indicates that the ending is unknown and the
meter should just show activity.
@type steps: int
@returns: none
"""
print message
print(message)
self.steps = steps
self.current_step = 0;
if self.steps == 0:
@@ -92,7 +97,22 @@ class User(gen.user.User):
else:
percent = int((float(self.current_step) / self.steps) * 100)
sys.stdout.write("\r%02d%%" % percent)
def callback(self, percentage, text=None):
"""
Display the precentage.
"""
if self.callback_function:
if text:
self.callback_function(percentage, text)
else:
self.callback_function(percentage)
else:
if text is None:
sys.stdout.write("\r%02d%%" % percentage)
else:
sys.stdout.write("\r%02d%% %s" % (percentage, text))
def end_progress(self):
"""
Stop showing the progress indicator to the user.
@@ -101,8 +121,8 @@ class User(gen.user.User):
def prompt(self, title, question):
"""
Ask the user a question. The answer must be "yes" or "no". The user will
be forced to answer the question before proceeding.
Ask the user a question. The answer must be "yes" or "no".
The user will be forced to answer the question before proceeding.
@param title: the title of the question
@type title: str
@@ -113,7 +133,7 @@ class User(gen.user.User):
"""
return False
def warn(self, title, warning):
def warn(self, title, warning=""):
"""
Warn the user.
@@ -123,9 +143,9 @@ class User(gen.user.User):
@type warning: str
@returns: none
"""
print "%s %s" % (title, warning)
print("%s %s" % (title, warning))
def notify_error(self, title, error):
def notify_error(self, title, error=""):
"""
Notify the user of an error.
@@ -135,4 +155,29 @@ class User(gen.user.User):
@type error: str
@returns: none
"""
print "%s %s" % (title, warning)
if self.error_function:
self.error_function(title, error)
else:
print("%s %s" % (title, error))
def notify_db_error(self, error):
"""
Notify the user of a DB error.
@param error: the error message
@type error: str
@returns: none
"""
self.notify_error(
_("Low level database corruption detected"),
_("Gramps has detected a problem in the underlying "
"Berkeley database. This can be repaired from "
"the Family Tree Manager. Select the database and "
'click on the Repair button') + '\n\n' + error)
def info(self, msg1, infotext, parent=None, monospaced=False):
"""
Displays information to the CLI
"""
print(msg1)
print(infotext)
@@ -136,4 +136,7 @@
<author uid="kulath" 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 uid="jralls" title="author">
John Ralls &lt;<html:a href="mailto:jralls@ceridwen.us">jralls@ceridwen.us</html:a>&gt;
</author>
</authors>
@@ -0,0 +1,22 @@
{% extends "admin/base.html" %}
{% load i18n %}
{% block title %}{{ title }} | My New Title{% endblock %}
{% block branding %}
<h1 id="site-name">My new title for the Admin site!</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">Website home</a>
<a href="/admin/" class="ml">Admin home</a>
<a href="/admin/members/invoice/" class="ml">Invoices</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 %}
@@ -1,8 +1,8 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}Gramps-Connect{% endblock %}
{% block heading %}Gramps-Connect{% endblock %}
{% block title %}{{sitename}}{% endblock %}
{% block heading %}{{sitename}}{% endblock %}
{% block content %}
@@ -0,0 +1,12 @@
{% 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
@@ -0,0 +1,399 @@
{% 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-2012 <a href="http://www.gramps-project.org/">www.gramps-project.org</a>
</p>
{% endblock %}
</div>
</body>
</html>
@@ -1,14 +1,14 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}Gramps-Connect{% endblock %}
{% block heading %}Gramps-Connect{% endblock %}
{% block title %}{{sitename}}{% endblock %}
{% block heading %}{{sitename}}{% endblock %}
{% block content %}
<p> &nbsp; </p>
<p id="description">Welcome to Gramps-Connect, a new web-based collaboration tool.
<p id="description">Welcome to <b>{{sitename}}</b>, a new web-based collaboration tool.
{% if user.is_authenticated %}
You are now logged in
+36
View File
@@ -0,0 +1,36 @@
<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
@@ -0,0 +1,51 @@
{% 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
@@ -0,0 +1,34 @@
{% 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 %}
@@ -1,7 +1,8 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}Gramps-Connect - user page {% endblock %}
{% block heading %}Gramps-Connect - user page {% endblock %}
{% block title %}{{sitename}} - user page {% endblock %}
{% block heading %}{{sitename}} - user page {% endblock %}
{% block content %}
@@ -32,6 +33,14 @@
</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 %}
@@ -0,0 +1,179 @@
{% 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 %}
+48
View File
@@ -0,0 +1,48 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="90%">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>Title</th>
<th>Pub Info</th>
<th>Author</th>
</tr>
</thead>
<tbody>
{% for source in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
>
<span class="grampsid">[{{source.gramps_id}}]</span></a>
{% if user.is_authenticated or source.public %}
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
>{{source.title|escape|nbsp}}</a>
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
>{{source.pubinfo|nbsp}}</a>
<td><a href="/{{view}}/{{source.handle|escape}}{{args}}" class="browsecell"
>{{source.author|nbsp}}</a>
{% else %}
<td></td>
<td></td>
<td></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Citation" "/citation/add" args %}
</div>
{% endif %}
{% endblock %}
@@ -0,0 +1,135 @@
{% 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%;">
<trbody>
{% if eventform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{eventform.errors}}</div>
<hr>
{% endif %}
<form method="post" onsubmit="setReturnValues()">{% csrf_token %}
<tr>
<td class="ColumnAttribute">{{eventform.event_type.label}}:</td>
<td class="ColumnValue" id="data"> {% render eventform.event_type user action %}</td>
<td class="ColumnAttribute">{{eventform.text.label}}:</td>
<td class="ColumnValue" id="data">{% render eventform.text user action %}</td>
<td></td>
</tr>
<tr>
<td class="ColumnAttribute">Description:</td>
<td class="ColumnValue" id="data" colspan="3">{% render eventform.description user action %}</td>
<td></td>
</tr>
<tr>
<td class="ColumnAttribute">ID:</td>
<td class="ColumnValue" id="data" colspan="3">{% render eventform.gramps_id user action %}</td>
<td></td>
</tr>
<tr>
<td class="ColumnAttribute">Place:</td>
<td class="ColumnValue" id="data" colspan="3">
{% if action != "view" %}
<script type="text/javascript">
$(function() {
$('#place').flexbox('/json/?field=place', {
watermark: 'Place',
width: 600,
paging: {
pageSize: 10
},
initialValue: '{{event.place.get_selection_string}}',
initialId: '{{event.place.handle}}'
});
});
// </script>
<div id="place"></div>
{% else %}
<a href="/place/?search={{event.place}}">{{event.place}}</a>
{% endif %}
</td>
<td>
<td class="ColumnValue" id="data" colspan="3">{% render eventform.private user action %}
</td>
</tr>
</table>
</div>
</div>
<!-- Tabs -->
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs" style="border: none;">
<ul class="ui-tab-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tab-selected ui-state-active"><a class="tab-sources" href="#tab-sources">Citation</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-attributes" href="#tab-attributes">Attribute</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-tab-panel ui-widget-content ui-corner-bottom" id="tab-sources" style="background-color: #f4f0ec;">
{% citation_table event user action "/citation/$act/event/%s" event.handle %}
</div>
<div class="ui-tab-panel ui-widget-content ui-corner-bottom ui-tab-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table event user action "/note/$act/event/%s" event.handle %}
</div>
<div class="ui-tab-panel ui-widget-content ui-corner-bottom ui-tab-hide" id="tab-media" style="background-color: #f4f0ec;">
{% media_table event user action "/media/$act/event/%s" event.handle %}
</div>
<div class="ui-tab-panel ui-widget-content ui-corner-bottom ui-tab-hide" id="tab-attributes" style="background-color: #f4f0ec;">
{% attribute_table event user action "/attribute/$act/event/%s" event.handle %}
</div>
<div class="ui-tab-panel ui-widget-content ui-corner-bottom ui-tab-hide" id="tab-references" style="background-color: #f4f0ec;">
{% event_reference_table event 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 event user action %}
</div>
</div>
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/event/%s" event.handle args %}
<input type="hidden" id="place_return" name="place_return" value=""/>
<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" "/event/" args %}
<input type="hidden" id="place_return" name="place_return" value=""/>
<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 Event" "/event/add" args %}
{% make_button "?Edit Event" "/event/%s/edit" event.handle args %}
{% make_button "-Delete Event" "/event/%s/delete" event.handle args %}
</div>
{% endifequal %}
{% endif %}
{% else %}
{% endif %}
</form>
{% endblock %}
+48
View File
@@ -0,0 +1,48 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="95%">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>Event Type</th>
<th>Description</th>
<th>Date</th>
<th>Place</th>
</tr>
</thead>
<tbody>
{% for event in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="noThumb browsecell">
<span class="grampsid">[{{event.gramps_id}}]</span></a>
{% if user.is_authenticated or event.public %}
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">{{event.event_type|nbsp}}</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">{{event.description|nbsp}}</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">{{event|date_as_text:user}}</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">{{event.place.title|nbsp}}</a>
{% else %}
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">[Private]</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">[Private]</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">[Private]</a>
<td><a href="/{{view}}/{{event.handle|escape}}{{args}}" class="browsecell">[Private]</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Event" "/event/add" args %}
</div>
{% endif %}
{% endblock %}
+71
View File
@@ -0,0 +1,71 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="95%">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>Father</th>
<th>Mother</th>
<th>Relationship</th>
</tr>
</thead>
<tbody>
{% for family in page.object_list %}
<tr class="{% cycle odd,even %}">
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
>{{ forloop.counter|row_count:page }}</a></td>
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
><span class="grampsid">[{{family.gramps_id}}]</span></a>
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
>{{family.father|make_name:user|nbsp}}</a>
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
>{{family.mother|make_name:user|nbsp}}</a>
{% if user.is_authenticated or family.public %}
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
>{{family.family_rel_type|escape|nbsp}}</a>
{% else %}
<td><a href="/{{view}}/{{family.handle|escape}}{{args}}" class="browsecell"
{% if family.tags.all %}
style="color: {{family.tags.all.0.color|format_color}};"
{% endif %}
>
{% if not family.public %}
[Private]
{% else %}
{{family.family_rel_type}}
{% endif %}
</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Family" "/family/add" args %}
</div>
{% endif %}
{% endblock %}
@@ -0,0 +1,204 @@
{% 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" %}
<h2><a href="/person/{{family.father.handle}}">{{family.father|render_name:user}}</a> and <a href="/person/{{family.mother.handle}}">{{family.mother|render_name:user}}</a></h2>
<div id="summaryarea">
<table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %}
<tbody>
{% if familyform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{familyform.errors}}</div>
<hr>
{% endif %}
<form method="post" onsubmit="setReturnValues()">{% csrf_token %}
<tr>
<th colspan="2">Father</th>
<th colspan="2">Mother</th>
</tr>
<tr>
<td class="ColumnAttribute">Name:</td>
{% if user.is_authenticated or father.probably_alive %}
<td class="ColumnValue" id="data">
{% if action != "view" %}
<script type="text/javascript">
$(function() {
$('#father').flexbox('/json/?field=father', {
watermark: 'Father',
width: 300,
paging: {
pageSize: 10
},
initialValue: '{{family.father.get_selection_string}}',
initialId: '{{family.father.handle}}'
});
});
// </script>
<div id="father"></div>
{% else %}
{{family.father|render_name:user}}
{% endif %}
</td>
{% else %}
{{family.father|render_name:user}}
{% endif %}
</td>
<td class="ColumnAttribute">Name:</td>
{% if user.is_authenticated or family.mother.probably_alive %}
<td class="ColumnValue" id="data">
{% if action != "view" %}
<script type="text/javascript">
$(function() {
$('#mother').flexbox('/json/?field=mother', {
watermark: 'Mother',
width: 300,
paging: {
pageSize: 10
},
initialValue: '{{family.mother.get_selection_string}}',
initialId: '{{family.mother.handle}}'
});
});
// </script>
<div id="mother"></div>
{% else %}
{{family.mother|render_name:user}}
{% endif %}
{% else %}
{{family.mother|render_name:user}}
{% endif %}
</td>
</tr>
{% if user.is_authenticated or not familyform.father.probably_alive %}
<tr>
<td class="ColumnAttribute">Birth:</td>
<td class="ColumnValue" id="data">{{familyform.father.birth|date_as_text:user}}</td>
<td class="ColumnAttribute">Birth:</td>
<td class="ColumnValue" id="data">{{familyform.mother.birth|date_as_text:user}}</td>
</tr>
{% else %}
<tr>
<td class="ColumnAttribute">Death:</td>
<td class="ColumnValue" id="data">{{familyform.father.death|date_as_text:user}}</td>
<td class="ColumnAttribute">Death:</td>
<td class="ColumnValue" id="data">{{familyform.mother.death|date_as_text:user}}</td>
</tr>
{% endif %}
<tr>
<td class="ColumnAttribute">Death:</td>
<td class="ColumnValue" id="data">{{familyform.father.death|date_as_text:user}}</td>
<td class="ColumnAttribute">Death:</td>
<td class="ColumnValue" id="data">{{familyform.mother.death|date_as_text:user}}</td>
</tr>
</tbody>
</table>
<table class="infolist">
<tbody>
<tr>
<th colspan="4">Relationship information</th>
</tr>
<tr>
<td class="ColumnAttribute">{{familyform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data">{% render familyform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{familyform.family_rel_type.label}}:</td>
<td class="ColumnValue" id="data">{% render familyform.family_rel_type user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{familyform.tags.label}}:</td>
<td class="ColumnValue" id="data">{% render familyform.tags user action %}</td>
<td class="ColumnAttribute">{{familyform.private.label}}:</td>
<td class="ColumnValue" id="data">{% render familyform.private user action %}</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Tabs -->
<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-children" href="#tab-children">Children</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-events" href="#tab-events">Event</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-citations" href="#tab-citations">Citation</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-attributes" href="#tab-attributes">Attribute</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-lds" href="#tab-lds">LDS</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-children" style="background-color: #f4f0ec;">
<!-- Events -->
{% children_table family user action "/person/$act/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-events" style="background-color: #f4f0ec;">
{% event_table family user action "/event/$act/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-citations" style="background-color: #f4f0ec;">
{% citation_table family user action "/citation/$act/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-attributes" style="background-color: #f4f0ec;">
{% attribute_table family user action "/attribute/add/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table family user action "/note/$act/family/%s" family.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 family user action "/media/$act/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-lds" style="background-color: #f4f0ec;">
{% lds_table family user action "/lds/add/family/%s" family.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-history" style="background-color: #f4f0ec;">
{% history_table family user action %}
</div>
</div>
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/family/%s" family.handle args %}
<input type="hidden" id="father_return" name="father_return" value=""/>
<input type="hidden" id="mother_return" name="mother_return" value=""/>
<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" "/family/" args %}
<input type="hidden" id="father_return" name="father_return" value=""/>
<input type="hidden" id="mother_return" name="mother_return" value=""/>
<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 Family" "/family/add" args %}
{% make_button "?Edit Family" "/family/%s/edit" family.handle args %}
{% make_button "-Delete Family" "/family/%s/delete" family.handle args %}
</div>
{% endifequal %}
{% endif %}
{% else %}
{% endif %}
</form>
{% endblock %}
+53
View File
@@ -0,0 +1,53 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="95%">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>Description</th>
<th>File</th>
</tr>
</thead>
<tbody>
{% for media in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{media.handle|escape}}{{args}}" class="noThumb browsecell"
{% if media.tags.all %}
style="color: {{media.tags.all.0.color|format_color}};"
{% endif %}
>
<span class="grampsid">[{{media.gramps_id}}]</span></a>
{% if user.is_authenticated or media.public %}
<td><a href="/{{view}}/{{media.handle|escape}}{{args}}" class="browsecell"
{% if media.tags.all %}
style="color: {{media.tags.all.0.color|format_color}};"
{% endif %}
>{{media.desc|escape}}</a>
<td><a href="/{{view}}/{{media.handle|escape}}{{args}}" class="browsecell"
{% if media.tags.all %}
style="color: {{media.tags.all.0.color|format_color}};"
{% endif %}
>{{media.path|escape}}</a>
{% else %}
<td></td>
<td></td>
<td></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Media" "/media/add" args %}
</div>
{% endif %}
{% endblock %}
@@ -0,0 +1,109 @@
{% 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%;">
<tbody>
{% if mediaform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{mediaform.errors}}</div>
<hr>
{% endif %}
<form method="post">{% csrf_token %}
<tr>
<td class="ColumnAttribute">{{mediaform.desc.label}}:</td>
<td class="ColumnValue" id="data" colspan="3">{% render mediaform.desc user action %}</td>
<td rowspan="5">{% media_link media.handle user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{mediaform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data">{% render mediaform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{mediaform.private.label}}:</td>
<td class="ColumnValue" id="data">{% render mediaform.private user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{mediaform.text.label}}:</td>
<td class="ColumnValue" id="data" colspan="3">{% render mediaform.text user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{mediaform.path.label}}:</td>
<td class="ColumnValue" id="data" colspan="3">{% render mediaform.path user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{mediaform.tags.label}}:</td>
<td class="ColumnValue" id="data" colspan="3">{% render mediaform.tags user action %}</td>
</tr>
</table>
<!-- Tabs -->
<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-sources" href="#tab-sources" style=":hover {color: black;}">Citation</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-attributes" href="#tab-attributes">Attribute</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-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 ui-tabs-hide" id="tab-sources" style="background-color: #f4f0ec;">
{% citation_table media user action "/citation/$act/media/%s" media.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table media user action "/note/$act/media/%s" media.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-attributes" style="background-color: #f4f0ec;">
{% attribute_table media user action "/attribute/add/media/%s" media.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tab-references" style="background-color: #f4f0ec;">
{% media_reference_table media 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 media user action %}
</div>
</div>
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/media/%s" media.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" "/media/" 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 Media" "/media/add" args %}
{% make_button "?Edit Media" "/media/%s/edit" media.handle args %}
{% make_button "-Delete Media" "/media/%s/delete" media.handle args %}
</div>
{% endifequal %}
{% endif %}
{% else %}
{% endif %}
</form>
{% endblock %}
+148
View File
@@ -0,0 +1,148 @@
{% 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">
{% filter breadcrumb %}
{% format "/browse|Browse" %} ||
{% format "/person|People" %} ||
{% format "/person/%s|Person [%s]" object.handle object.gramps_id %} ||
{% format "/person/%s/name/%s|Name #%s" object.handle order order %}
{% endfilter %}
<h3>{{nameform.model|make_name:user}} [{{person.gramps_id}}]</h3>
<div id="summaryarea">
<table class="infolist" style="width:90%;"> {% comment %} 4 cols {% endcomment %}
<tbody>
{% for error in nameform.errors %}
<p id="error">{{error}}</a><br>
{% endfor %}
<form method="post">{% csrf_token %}
<tr>
<td class="ColumnAttribute">{{surnameform.name_origin_type.label}}:</td>
<td class="ColumnValue" id="data">{% render surnameform.name_origin_type user action %}</td>
<td class="ColumnAttribute">{{nameform.name_type.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.name_type user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{surnameform.surname.label}}:</td>
<td class="ColumnValue" id="data">{% render surnameform.surname user action "get_focus" %}</td>
<td class="ColumnAttribute">{{surnameform.prefix.label}}:</td>
<td class="ColumnValue" id="data">{% render surnameform.prefix user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{nameform.first_name.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.first_name user action %}</td>
<td class="ColumnAttribute">{{nameform.nick.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.nick user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{nameform.title.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.title user action %}</td>
<td class="ColumnAttribute">{{nameform.suffix.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.suffix user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute"></td>
<td class="ColumnValue" id="data"></td>
<td class="ColumnAttribute">{{nameform.call.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.call user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{nameform.preferred.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.preferred user action %}</td>
<td class="ColumnAttribute">{{nameform.private.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.private user action %}</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Tabs -->
<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-surnames" href="#tab-surnames">Surname</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-names" href="#tab-names">Alternate Names</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-citations" href="#tab-citations">Citation</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-notes" href="#tab-notes">Note</a></li>
</ul>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom"
id="tab-general" style="background-color: #f4f0ec;">
<div style="overflow: auto; height:150px;">
<table border="1">
<tr><td style="background-color: #FFF2C5;">{{nameform.group_as.label}}: </td>
<td>{% render nameform.group_as user action %}</td>
</tr>
<tr><td style="background-color: #FFF2C5;">{{nameform.sort_as.label}}: </td>
<td>{% render nameform.sort_as user action %}</td>
</tr>
<tr><td style="background-color: #FFF2C5;">{{nameform.display_as.label}}: </td>
<td>{% render nameform.display_as user action %}</td>
</tr>
<tr><td style="background-color: #FFF2C5;">{{nameform.text.label}}: </td>
<td>{% render nameform.text user action %}</td>
</tr>
</table>
</div>
&nbsp;
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-surnames" style="background-color: #f4f0ec;">
{% surname_table person user action "/person/%s/name/%s/surname/add" person.handle nameform.model.order %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-names" style="background-color: #f4f0ec;">
{% name_table person user action "/person/%s/name" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-citations" style="background-color: #f4f0ec;">
{% citation_table nameform.model user action "/citation/add/person/%s/name/%s" person.handle nameform.model.order %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom
ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table nameform.model user action "/note/$act/person/%s/name/%s" person.handle nameform.model.order %}
</div>
</div>
{% if user.is_superuser %}
{% ifequal action "add" %}
{% make_button "Cancel" "/person/%s" person.handle args "#tab-names" %}
<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 %}
{% ifequal action "edit" %}
{% make_button "Cancel" "/person/" args "#tab-names" %}
<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 %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px; clear: both;">
{% make_button "+Add Name" "/person/%s/name/add" person.handle args %}
{% make_button "?Edit Name" "/person/%s/name/%s/edit" person.handle order args %}
{% make_button "-Delete Name" "/person/%s/name/%s/delete" person.handle order args %}
</div>
{% endifequal %}
{% endifequal %}
{% else %}
{% endif %}
</form>
{% endblock %}
+116
View File
@@ -0,0 +1,116 @@
{% 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;
}
});
$('.wysiwyg').htmlarea({
toolbar: [
"bold", "italic", "underline",
"|", "forecolor", "superscript", "p",
"|", "link", "unlink",
"|", "html"
]
});
// FIXME: add font, fontsize, backcolor
// FIXME: find easier way:
$('.jHtmlArea').contents().find('iframe').contents().find('body').css({"background-color": "white"});
});
function setnotetext() {
document.getElementById('notetext').value = $('.jHtmlArea').contents().find('iframe').contents().find('body').html();
}
</script>
<div class="content" id="IndividualDetail">
{% include "detail_breadcrumb.html" %}
<div id="summaryarea">
<table class="infolist" style="width:90%;">
<tbody>
{% if noteform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">{{noteform.errors}}</div>
<hr>
{% endif %}
<form method="post" onsubmit="setnotetext()">{% csrf_token %}
<tr>
<td class="ColumnAttribute">{{noteform.notetext.label}}:</td>
<td class="ColumnValue" id="data" colspan="3">
{% if action == "edit" or action == "add" %}
<input type="hidden" id="notetext" name="notetext" value=""></input>
{% render noteform.notetext user action %}
{% else %}
<div style="overflow-y: scroll; height: 100px;">{{notetext|safe}}</div>
{% endif %}
</td>
</tr>
</tr>
<tr>
<td></td>
<td></td>
<td class="ColumnAttribute">{{noteform.preformatted.label}}:</td>
<td class="ColumnValue" id="data">{% render noteform.preformatted user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{noteform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data"> {% render noteform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{noteform.note_type.label}}:</td>
<td class="ColumnValue" id="data">{% render noteform.note_type user action %}</td>
</tr>
<tr>
<td class="ColumnAttribute">{{noteform.tags.label}}:</td>
<td class="ColumnValue" id="data" colspan="4">{% render noteform.tags user action %}</td>
</tr>
</table>
<!-- Tabs -->
<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-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 ui-tabs-hide" id="tab-references" style="background-color: #f4f0ec;">
{% note_reference_table note 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 note user action %}
</div>
</div>
</div>
</div>
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/note/%s" note.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" "/note/" 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 Note" "/note/add" args %}
{% make_button "?Edit Note" "/note/%s/edit" note.handle args %}
{% make_button "-Delete Note" "/note/%s/delete" note.handle args %}
</div>
{% endifequal %}
{% endif %}
{% else %}
{% endif %}
</form>
{% endblock %}
+53
View File
@@ -0,0 +1,53 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="95%">
<thead>
<tr>
<th>#</th>
<th>ID</th>
<th>Note Type</th>
<th>Text</th>
</tr>
</thead>
<tbody>
{% for note in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{note.handle|escape}}{{args}}" class="noThumb browsecell"
{% if note.tags.all %}
style="color: {{note.tags.all.0.color|format_color}};"
{% endif %}
>
<span class="grampsid">[{{note.gramps_id}}]</span></a>
{% if user.is_authenticated or note.public %}
<td><a href="/{{view}}/{{note.handle|escape}}{{args}}" class="browsecell"
{% if note.tags.all %}
style="color: {{note.tags.all.0.color|format_color}};"
{% endif %}
>{{note.note_type|escape|nbsp}}</a>
<td><a href="/{{view}}/{{note.handle|escape}}{{args}}" class="browsecell"
{% if note.tags.all %}
style="color: {{note.tags.all.0.color|format_color}};"
{% endif %}
>{{note.text|preview:70|nbsp}}</a>
{% else %}
<td>[Private]</td>
<td>[Private]</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Note" "/note/add" args %}
</div>
{% endif %}
{% endblock %}
@@ -1,8 +1,8 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}Gramps-Connect: {{tview}} view {% endblock %}
{% block heading %}Gramps-Connect: {{tview}} view {% endblock %}
{% block title %}{{sitename}}: {{tview}} view {% endblock %}
{% block heading %}{{sitename}}: {{tview}} view {% endblock %}
{% block content %}
@@ -10,22 +10,19 @@
<form name="SearchForm">
{% if tview != "Report" %}
{% filter breadcrumb %}
{% format "/browse|Browse,/%s|%s" view tviews %}
{% format "/browse|Browse" %} ||
{% format "/%s|%s" view tviews %}
{% endfilter %}
{% endif %}
<input type="submit" value="Search:"></input>
<input autocomplete="off" name="search" id="get_focus" type="text" size="50" value="{{search}}"></input>
<br/><i>Available search terms</i>: <b>{{search_terms}}</b>
</form>
</div>
{% paginator %}
<div style="overflow:auto; height:500px;width:800px;">
<div style="overflow:auto; height:300px;width:800px;">
{% block table_data %} <table></table> {% endblock %}
</div>
{% include "paginator.html" %}
{% block admin_functions %}{% endblock %}
{% endblock %}
@@ -0,0 +1,6 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}{{sitename}}: {{tview}} detail {% endblock %}
{% block heading %}{{sitename}}: {{tview}} detail {% endblock %}
{% block content %}
{% endblock %}
+68
View File
@@ -0,0 +1,68 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname" width="95%">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>ID</th>
<th>Gender</th>
<th>Birth Date</th>
<th>Death Date</th>
</tr>
</thead>
<tbody>
{% for name in page.object_list %}
<tr class="{% cycle odd,even %}" style="">
{% if name.person %}
<td><a href="{{name.person.handle}}/{{args}}" class="noThumb browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>{{ forloop.counter|row_count:page }}</a>
</td>
<td><a href="{{name.person.handle}}/{{args}}" class="noThumb browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>{{name|make_name:user}} &nbsp;</a>
</td>
<td><a href="{{name.person.handle}}/{{args}}" class="grampsid browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>[{{name.person.gramps_id}}]</a></td>
<td><a href="{{name.person.handle}}/{{args}}" class="noThumb browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>{{name.person.gender_type}} &nbsp;</a></td>
<td><a href="{{name.person.handle}}/{{args}}" class="noThumb browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>{{name.person.birth|date_as_text:user}} &nbsp;</a></td>
<td><a href="{{name.person.handle}}/{{args}}" class="noThumb browsecell"
{% if name.person.tags.all %}
style="color: {{name.person.tags.all.0.color|format_color}};"
{% endif %}
>{{name.person.death|date_as_text:user}} &nbsp;</a></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}
{% block admin_functions %}
{% if user.is_superuser %}
<div style="background-color: lightgray; padding: 2px 0px 0px 2px">
{% make_button "+Add Person" "/person/add" args %}
</div>
{% endif %}
{% endblock %}
@@ -0,0 +1,173 @@
{% 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 %} 5 cols {% endcomment %}
<tbody>
{% if personform.errors or nameform.errors or surnameform.errors or logform.errors %}
<hr>
<p id="error">The following fields have errors. Please correct and try again.</p>
<div id="error">
{{personform.errors}}
{{nameform.errors}}
{{surnameform.errors}}
{{logform.errors}}
</div>
<hr>
{% endif %}
<form method="post">{% csrf_token %}
<tr>
<td colspan="4" id="subtitle">{{nameform|render_name:user}}</td>
<td class="ColumnAttribute">{{nameform.name_type.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.name_type user action %}</td>
</tr>
<tr><td id="rowspace"></td></tr>
<tr>
<td class="ColumnAttribute">{{nameform.title.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.title user action "get_focus" %}</td>
<td class="ColumnAttribute">{{nameform.nick.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.nick user action %}</td>
<td class="ColumnAttribute">{{nameform.call.label}}:</td>
<td class="ColumnValue" id="data">{% render nameform.call user action %}</td>
</tr>
<tr><td id="rowspace"></td></tr>
<tr>
<td class="ColumnAttribute">{{nameform.first_name.label}}:</td>
<td class="ColumnValue" id="data" colspan="4">{% render nameform.first_name user action None "/person/?search=given%%3D%s" nameform.model.first_name %}</td>
<td class="ColumnValue" id="data">{% render nameform.suffix user action %}</td>
</tr>
<tr><td id="rowspace"></td></tr>
<tr>
<td class="ColumnAttribute">{{surnameform.surname.label}}:</td>
<td class="ColumnValue" id="data">{% render surnameform.prefix user action %}
<td class="ColumnValue" id="data" colspan="2">{% render surnameform.surname user action None "/person/?search=surname%%3D%s" surnameform.model.surname %}</td>
<td class="ColumnAttribute">{{surnameform.name_origin_type.label}}:</td>
<td class="ColumnValue" id="data" colspan="2">{% render surnameform.name_origin_type user action %}</td>
</tr>
<tr><td id="rowspace"></td></tr>
<tr>
<td class="ColumnAttribute">{{personform.gender_type.label}}:</td>
<td class="ColumnValue" id="data">{% render personform.gender_type user action None "/person/?search=gender%%3D%s" personform.model.gender_type %}</td>
<td class="ColumnAttribute">{{personform.gramps_id.label}}:</td>
<td class="ColumnValue" id="data">{% render personform.gramps_id user action %}</td>
<td class="ColumnAttribute">{{personform.tags.label}}:</td>
<td class="ColumnValue" id="data" rowspan="3">{% render personform.tags user action %}</td>
</tr>
<tr><td id="rowspace"></td></tr>
<tr>
<td class="ColumnAttribute">{{personform.private.label}}:</td>
<td class="ColumnValue" id="data">{% render personform.private user action %}</td>
<td class="ColumnAttribute">{{personform.probably_alive.label}}:</td>
<td class="ColumnValue" id="data">{% if person.probably_alive %}Yes{% else %}No{% endif %}</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Tabs -->
<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-events" href="#tab-events">Event</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-references" href="#tab-references">Family</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-names" href="#tab-names">Name</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-citations" href="#tab-citations">Citation</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-attributes" href="#tab-attributes">Attribute</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-addresses" href="#tab-addresses">Address</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-internet" href="#tab-internet">Internet</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-association" href="#tab-association">Association</a></li>
<li class="ui-corner-top ui-state-default"><a class="tab-lds" href="#tab-lds">LDS</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-events" style="background-color: #f4f0ec;">
<!-- Events -->
{% event_table person user action "/event/$act/person/%s" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-names" style="background-color: #f4f0ec;">
{% name_table person user action "/person/%s/name" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-citations" style="background-color: #f4f0ec;">
{% citation_table person user action "/citation/$act/person/%s" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-attributes" style="background-color: #f4f0ec;">
{% attribute_table person user action "/attribute/$act/person/%s" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-addresses" style="background-color: #f4f0ec;">
{% address_table person user action "/place/$act/person/%s" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom
ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
{% note_table person user action "/note/$act/person/%s" person.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 person user action "/media/$act/person/%s" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-internet" style="background-color: #f4f0ec;">
{% internet_table person user action "/person/%s/$act/internet" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-association" style="background-color: #f4f0ec;">
{% association_table person user action "/person/%s/$act/association" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-lds" style="background-color: #f4f0ec;">
{% lds_table person user action "/person/%s/$act/lds" person.handle %}
</div>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide" id="tab-references" style="background-color: #f4f0ec;">
{% person_reference_table person 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 person user action %}
</div>
</div>
{% if logform %}
<table>
{{logform.as_table}}
</table>
{% endif %}
{% if user.is_superuser %}
{% if action == "edit" %}
{% make_button "Cancel" "/person/%s" person.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" "/person/" 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 Person" "/person/add" args %}
{% make_button "?Edit Person" "/person/%s/edit" person.handle args %}
{% make_button "-Delete Person" "/person/%s/delete" person.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