Compare commits
254 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4370fa29ad | |||
| 20bb38de62 | |||
| 7c3073c54a | |||
| f96c6ce2a0 | |||
| 5c88ccfe7a | |||
| 93197c4677 | |||
| 9b0145d050 | |||
| 2b9efedd41 | |||
| 9a8af2289a | |||
| 58d30e6ded | |||
| b656d55364 | |||
| 2fc6750867 | |||
| 44d9578622 | |||
| 78c79202de | |||
| df1ffe06e1 | |||
| c46f7dde41 | |||
| e9c3ca1620 | |||
| 46cf600fac | |||
| 3246bf77d3 | |||
| 3501a9666c | |||
| ee0bc905da | |||
| 8be01ff00e | |||
| 5c278cfc36 | |||
| 915522c989 | |||
| e4ebeb247a | |||
| e6c7a53580 | |||
| 10aca55568 | |||
| 5fc71a7923 | |||
| d25385328b | |||
| 5c6259edbc | |||
| 1452b499ff | |||
| 63a8a2955d | |||
| 97762815bc | |||
| fed7d5e5b8 | |||
| d3f346808f | |||
| c1e356769e | |||
| 31a222a754 | |||
| bbe5e0ec84 | |||
| 57209001cb | |||
| 7c3094b5b5 | |||
| 489d12d484 | |||
| a6659515d5 | |||
| b094b4b7a7 | |||
| bf20905761 | |||
| 555a244a45 | |||
| 78ec6a26a2 | |||
| 942b51945c | |||
| 6a5b630a05 | |||
| c97aeb0f1a | |||
| 503d3bf6ca | |||
| 951e9341cf | |||
| c864804eac | |||
| 87a5ae428e | |||
| 6b55af1e03 | |||
| 9dc8e62951 | |||
| e398d3db2d | |||
| 320bbeb0b6 | |||
| 7af4bf5d5f | |||
| 9fb493415a | |||
| 7c35586ae2 | |||
| 82294e6a82 | |||
| 2203f28b28 | |||
| 7c27167042 | |||
| 6cb766326f | |||
| 716096be44 | |||
| 58d5d61789 | |||
| 01ee2d9a30 | |||
| 755eeaf1dc | |||
| fd2db583c1 | |||
| 16cbe024ec | |||
| 97a1419281 | |||
| 2d4e36a074 | |||
| f2c9e7cfc8 | |||
| a006b930d9 | |||
| 29dc9bdc54 | |||
| af39c293b7 | |||
| a2f8526bb7 | |||
| 803e515afa | |||
| 32cb8f4e63 | |||
| 9b91f40c28 | |||
| 1daa4b0493 | |||
| 73d9c3052e | |||
| 630351daa5 | |||
| 679dcf1b6e | |||
| 89d6a819d7 | |||
| ce9753fe99 | |||
| 14eb354a4b | |||
| e5ba3d1894 | |||
| 33dc25a323 | |||
| d4c3cfaac2 | |||
| fd62969f5a | |||
| e84aff4c0e | |||
| 2a9a6a4373 | |||
| 69a8ebb61c | |||
| 419bf93d42 | |||
| f09c5d1a69 | |||
| 17e7135d93 | |||
| 114a8ff173 | |||
| c74c91a9e0 | |||
| 64d87eaeb2 | |||
| f8f4ab1751 | |||
| 8129b4036b | |||
| 08d8124bc3 | |||
| e7ca43f996 | |||
| 5576b266d3 | |||
| 2ddcb79a2f | |||
| ba1eafdf44 | |||
| 34df591118 | |||
| 7a713e84d2 | |||
| 3d64617ca1 | |||
| ee80c46747 | |||
| a9407cd4f5 | |||
| b729a2f0c5 | |||
| 6b96dbbf17 | |||
| 3d3a7d4115 | |||
| 93f724bc47 | |||
| 4d8b2bb7bc | |||
| 042e599d8b | |||
| aac85d6b57 | |||
| 82078e6956 | |||
| bfcf062368 | |||
| 17ca1443fb | |||
| c9c8d31902 | |||
| 7ecc9a7f8c | |||
| c2965640a4 | |||
| 0d5c20db79 | |||
| 9bd9d118d0 | |||
| 56c67576d5 | |||
| b971373182 | |||
| ed65d4e7df | |||
| a0bb7ddfd1 | |||
| da3bff2ec4 | |||
| 591263e4bb | |||
| 04f9d46451 | |||
| 17a4147644 | |||
| 7f2bd919a1 | |||
| 8ee6525f06 | |||
| 4ede3aa4ab | |||
| 567a526857 | |||
| 574124a688 | |||
| a588afb395 | |||
| 3e8ca5613e | |||
| 5a1694b981 | |||
| 7434da9f63 | |||
| 67b5308f6f | |||
| 2c2f42be55 | |||
| ca8f2626c4 | |||
| 7f757e0304 | |||
| e4abd21dae | |||
| 4fbcb530cf | |||
| 2215416396 | |||
| 600043913b | |||
| c31dfcb767 | |||
| 27c25b876d | |||
| ed8847b3d9 | |||
| 1baa31be41 | |||
| abc534ee44 | |||
| f277f6c00c | |||
| 427a47b642 | |||
| f25cd60b64 | |||
| 6e3d087d55 | |||
| f093950351 | |||
| 05f72293de | |||
| b8fa348621 | |||
| f5b57d71fe | |||
| 0972d72079 | |||
| e22bd2bfcb | |||
| a4a24ca233 | |||
| 2717b1f826 | |||
| c606c1f11b | |||
| 19249844a1 | |||
| bb9e1d2f52 | |||
| 68e8759a65 | |||
| fc8404d9bc | |||
| f12304adb7 | |||
| 39e03dbcca | |||
| 71b3de2e7b | |||
| 569b7482f2 | |||
| c4186b916a | |||
| aa9deb6a3d | |||
| 50c5cd9a9a | |||
| 8b30ade6a4 | |||
| ecdccaf351 | |||
| 8bc6336e27 | |||
| f25ce97653 | |||
| 3c67dea703 | |||
| 195eb00f34 | |||
| 6618cdcfb2 | |||
| 6b98ad9319 | |||
| 6da6c61c7c | |||
| 57e408ada5 | |||
| d538fe6ebc | |||
| c0770988c6 | |||
| fe71887ad1 | |||
| e2b1a6e568 | |||
| 429c18af6a | |||
| eb44633c42 | |||
| dd2a5c4a35 | |||
| e4df103e39 | |||
| b22ae317ae | |||
| d8b2349a6c | |||
| 6b0b9f209f | |||
| 0c80c5eeea | |||
| 86b0a3800a | |||
| 0fc8b6b1c4 | |||
| 6caf08659e | |||
| d98e63d0e0 | |||
| fff1f21ab3 | |||
| c7c0b2c6bd | |||
| 10954921ef | |||
| 4f86a36090 | |||
| 0021e8cec2 | |||
| c32160b254 | |||
| 2eca306acf | |||
| 2f5e221711 | |||
| 36f84e1d0d | |||
| 161ce3b66e | |||
| 460e631e5b | |||
| a8a38ff87d | |||
| 0d61bb01ab | |||
| 08814624b6 | |||
| 76df5d703a | |||
| 7a154fa680 | |||
| 3d02d6b4a3 | |||
| 67be5f3714 | |||
| d6e1ada425 | |||
| ee9a23715e | |||
| 5c467c3bb3 | |||
| 3a5b0bca9a | |||
| b14eb08727 | |||
| bf6219e3a9 | |||
| efb318b433 | |||
| 91424cfec7 | |||
| 0753f87630 | |||
| d8f5d40c4c | |||
| 88d2a2b84c | |||
| 80fa9b19b8 | |||
| 36d91fc68b | |||
| f527a82380 | |||
| a00b413906 | |||
| d96b01318a | |||
| 62cd754ef4 | |||
| 5e78d54c9c | |||
| 2cb90d353f | |||
| d49dbfcc08 | |||
| 2646a39ac6 | |||
| 4594f754a0 | |||
| a3bf964f96 | |||
| 5c1f0b6924 | |||
| 2eb8b98f8f | |||
| 59470368d3 | |||
| 227a1e6378 | |||
| 3059382574 | |||
| 18119b6eb8 |
@@ -2,7 +2,7 @@
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
SUBDIRS = m4 po src data example
|
||||
|
||||
EXTRA_DIST = \
|
||||
config.rpath autogen.sh \
|
||||
config.rpath autogen.sh gramps-autogen.sh \
|
||||
FAQ COPYING \
|
||||
intltool-extract.in intltool-merge.in intltool-update.in
|
||||
|
||||
|
||||
@@ -1,6 +1,107 @@
|
||||
2014-04-30
|
||||
Version 3.4.9 of Gramps! "I am no longer infected", a maintenance release.
|
||||
* Error converting python2 utf-8 strings to python3 str when loading data from database
|
||||
* Gedcom input: SUBN and SUBM record handling
|
||||
* [Gedcom] import/export round trip causes lost information
|
||||
* [Gedcom] Gramps can't import estim. date period exported by itself
|
||||
* [Gedcom] import deletes first char of notes
|
||||
* [Gedcom] import of embedded notes attached to media does not work
|
||||
* [Gedcom] NameError in importer
|
||||
* [Gedcom] export does not export media attached to citations
|
||||
* [Gedcom] Errors handling owner/submitter information
|
||||
* [Gedcom] Event address is lost on import, i.e. disconnected from event
|
||||
* [Gedcom] Entering a witness to an event such as marriage might be ignored
|
||||
* [Gedcom] Importing file containing multibyte UTF-8 characters fails
|
||||
* Event list in editors does not display content into 'Main Participants' column
|
||||
* Fix 'Last Change' column into Person Selector
|
||||
* Support creating directories in various scenarios
|
||||
* tag_map is not initialized
|
||||
* Fix bad handle in explanation note for unknown event
|
||||
* Narrative website: Missing webpage for media with missing thumbnail on person page
|
||||
* Enable the "default" CSS choice for the narrated web report
|
||||
* Crash while scrolling in person view
|
||||
* Crash when attempting to create Places Report
|
||||
* Error in Session Log gramplet with no active person
|
||||
* In Ahnentafel Report, Use Christening Date if no Birth Date Present
|
||||
* Family with children but no parents is lost on filtered export
|
||||
* Some labels now fit better on citations sidebar filter
|
||||
* Can't disable box shadow in SVG descendant tree
|
||||
* Descendant tree graphical report, syntax error in svg output
|
||||
* Various problems with docgen.TextDoc.add_media_object
|
||||
* Spurious spaces in CLI List Family Trees, tab delimited output. Print statements changed to assemble the whole line before output.
|
||||
* GuiColorOption missing avail-changed event handler
|
||||
* Regression: running gramps from crontab fails
|
||||
* Better support for handling custom media attributes on edition
|
||||
* DB lock not checked when opening database from the recent opened trees menu item
|
||||
* List index out of range" on [initial CLI "gramps -t"]
|
||||
* HTML View fails to load on Debian unstable
|
||||
* Fix unknown gender relationships hander for the french locale
|
||||
* Can't fill in calculated and estimated dates in czech locale
|
||||
* Enhance Serbian date handler to handle Cyrillic dates
|
||||
* Updated translations: cs, de, fr, hu, it
|
||||
* Fix mac menubar setting
|
||||
* Fix mac OsmGpsMaps setting
|
||||
* Enable PIL with Freetype2 support on mac
|
||||
|
||||
2014-05-29
|
||||
Version 3.4.8 of Gramps! "Forget about your sin, give the audience a grin", a maintenance release.
|
||||
* Database corrupted - TypeError: unhashable type: 'list'
|
||||
* Fix bug in abandon changes and quit
|
||||
* Fix error when importing database from the CLI
|
||||
* 'Display as' field in Name Editor reverts to Preferences default
|
||||
* Geography does not communicate over proxy server with autorisation
|
||||
* Event gramplet filter does not have field for primary role
|
||||
* New HasDayOfWeek filter rule
|
||||
* Error when leaving a Gramps type field blank in an editor
|
||||
* Fix creation of events with same Gramps-ID
|
||||
* Enhancements and consitency on events gramplet, selector and view
|
||||
* Enhanced Citation Editor
|
||||
* Fix update of active object after merge
|
||||
* Do not drag and drop more than one data into editor tabs
|
||||
* Media Editor error if Path value was changed to a non existing file
|
||||
* Register history objects at startup
|
||||
* Users should not be allowed to edit and delete 'default' style into Style Editor
|
||||
* Missing closing bracket in Web_Basic-Spruce.css
|
||||
* Some temporary files remains in /tmp with NarrativeWeb report
|
||||
* Some fixes and enhancements
|
||||
* No narrative.css File After Running Narrated Website Report
|
||||
* Paper names and Styles values are now translated
|
||||
* Translate some punctuation marks
|
||||
* Fix Relationships handler for Portuguese
|
||||
* Updated translations: ar, cs, de, es, fr, he, it, ru, sk, sv
|
||||
|
||||
2014-01-27
|
||||
Version 3.4.7 of Gramps! "Ask me tomorrow, but not today", a maintenance release.
|
||||
* Gramps project web hosting now has an HTTPS interface; the old HTTP URLs redirect to it.
|
||||
* Development switched from SVN to git.
|
||||
* Add new filter rule matching citations having a source with a <text> on a note
|
||||
* Add primary role option to event filter
|
||||
* Add Groups support and reduce number of lines in Event types selector
|
||||
* Add 'Last Change' column on selectors, when missing
|
||||
* Fix a filter rule on citation sidebar (Source:Note)
|
||||
* Fix url in Welcome gramplet when detached
|
||||
* Fix bug in associations filter
|
||||
* Better support for objects having citations as subobjects
|
||||
* Check Tag handling on people views
|
||||
* Keep at least one column on views
|
||||
* Reorder tool now updates citation IDs
|
||||
* Performance improvement in ancestor filter
|
||||
* Reduce number of columns in LDS temple selector
|
||||
* Fix menu action for last recently opened family trees
|
||||
* Fix minor visual issue on Merge Person dialog
|
||||
* Use 'Bat Mitzvah' (en_US event name)
|
||||
* "Add citation" missing in pop-up menu
|
||||
* Fix HTML spacing on GraphViz output
|
||||
* Enhancement on date validation into Date Editor
|
||||
* Invalid dates (like 2013-02-30) no longer crash the date editor or file import.
|
||||
* Fixed image handling in ODF docgen, thanks to Matthias Basler for the initial patch.
|
||||
* Fixed GEDCOM export for family _UID, added support for _FSFTID, by Enno Borgsteede.
|
||||
* Fixed bookmark handling in navigation views.
|
||||
* Multiple maintainability and usability improvements.
|
||||
* Translation updates and translation-related fixes.
|
||||
|
||||
2013-10-28
|
||||
Version 3.4.6 of Gramps! "The Answer to the Ultimate Question", a maintenance release.
|
||||
|
||||
* Citation merge works better for all objects with citations
|
||||
* Fixed citations attached to family events
|
||||
* Fixed several crashes, hangs, and data corruption scenarios
|
||||
|
||||
+3
-3
@@ -5,16 +5,16 @@ 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.6, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_INIT(gramps, 3.4.9, [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=$(git log -1 --format=%h .)
|
||||
dnl RELEASE=0beta
|
||||
dnl RELEASE=0rc1
|
||||
dnl RELEASE=1
|
||||
RELEASE=1
|
||||
|
||||
VERSIONSTRING=$VERSION
|
||||
if test x"$RELEASE" != "x"
|
||||
|
||||
Vendored
+3
-16
@@ -1,19 +1,6 @@
|
||||
gramps for Debian
|
||||
----------------------
|
||||
-----------------
|
||||
|
||||
This is the Debian package of GRAMPS.
|
||||
python-webkit is "Suggested" as upstream states it as optional in their README file. According to upstream, webkit needs to be tested for stability for Gramps (it is used in the hidden HTML View). If it is unstable, it may be necessary to revert to gecko (python-gtkmozembed).
|
||||
|
||||
Regarding the extra dependencies:
|
||||
|
||||
Recommends: graphviz
|
||||
Enable creation of graphs
|
||||
Recommends: python-gtkmozembed
|
||||
Recommends: python-webkit
|
||||
Enable html rendering for Geographic view and Web view. If both
|
||||
are installed webkit will be used. python-gtkmozembed may be more
|
||||
stable.
|
||||
Recommends: python-pyicu
|
||||
Suggests: ttf-freefont
|
||||
Allows more fonts in reports
|
||||
Suggests: python-gtkspell python-enchant
|
||||
allows spell checking in the notes. Both need to be installed.
|
||||
-- Ross Gammon <rossgammon@mail.dk> Wed, 23 Oct 2013 21:24:00 +0200
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
7
|
||||
9
|
||||
|
||||
Vendored
+9
-12
@@ -1,20 +1,19 @@
|
||||
Source: gramps
|
||||
Section: gnome
|
||||
Priority: optional
|
||||
Maintainer: Stéphane Charette <stephanecharette@gmail.com>
|
||||
Build-Depends-Indep: libxml-parser-perl, python-gtk2, gettext, python-central (>= 0.5.6), python, intltool
|
||||
Build-Depends: debhelper (>= 7)
|
||||
Standards-Version: 3.8.3
|
||||
Maintainer: Ross Gammon <rossgammon@mail.dk>
|
||||
Build-Depends-Indep: libxml-parser-perl, python-gtk2, gettext, python, intltool
|
||||
Build-Depends: debhelper (>= 9.0.0)
|
||||
Standards-Version: 3.9.5
|
||||
Vcs-Git: git://anonscm.debian.org/collab-maint/gramps.git
|
||||
Vcs-browser: http://anonscm.debian.org/git/collab-maint/gramps.git
|
||||
Homepage: http://www.gramps-project.org/
|
||||
XS-Python-Version: >=2.5
|
||||
|
||||
Package: gramps
|
||||
Architecture: all
|
||||
Depends: ${python:Depends}, librsvg2-common, python-gtk2, xdg-utils, graphviz, python-osmgpsmap ${misc:Depends}
|
||||
Replaces: gramps-manual, gramps-extending-doc
|
||||
Conflicts: gramps-manual, gramps-extending-doc, gramps-common, python-gtk-1.2
|
||||
Recommends: python-pyicu
|
||||
Suggests: ttf-freefont, python-enchant, python-gtkspell, python-pyexiv2
|
||||
Depends: ${python:Depends}, librsvg2-common, python-gtk2, xdg-utils, ${misc:Depends}
|
||||
Recommends: graphviz, python-pyicu, python-pyexiv2, python-osmgpsmap,
|
||||
Suggests: ttf-freefont, python-gtkspell, python-pygoocanvas, python-webkit
|
||||
Description: Genealogical research program
|
||||
GRAMPS is an Open Source genealogy program written in Python, using
|
||||
the GTK/GNOME interface. It is an extremely flexible program fitting
|
||||
@@ -23,5 +22,3 @@ Description: Genealogical research program
|
||||
GRAMPS has the ability to import GEDCOM files exported from many
|
||||
proprietary genealogy programs and can produce a large number of
|
||||
reports in many popular formats.
|
||||
XB-Python-Version: ${python:Versions}
|
||||
|
||||
|
||||
Vendored
+136
-243
@@ -1,251 +1,144 @@
|
||||
This package was originally debianized by Brandon L. Griffith
|
||||
<brandon@debian.org> on Sat, 19 May 2001 13:37:24 -0400.
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: Gramps
|
||||
Source: http://gramps-project.org
|
||||
|
||||
The current Debian maintainer is James A. Treacy <treacy@debian.org>
|
||||
Files: *
|
||||
Copyright: 2000-2002, Bruce J. DeGrasse
|
||||
2000-2008, Donald N. Allingham
|
||||
2000-2007, Martin Hawlisch
|
||||
2001, Andrés Sepúlveda
|
||||
2001, David R. Hampton
|
||||
2001-2013, Free Software Foundation, Inc.
|
||||
2001, Jesper Zedlitz
|
||||
2001-2013, the Gramps Project
|
||||
2002, Gary Shao
|
||||
2003-2006, Josiah Carlson
|
||||
2004-2006, Eero Tamminen
|
||||
2004-2013, Julio Sánchez
|
||||
2004, Toshio Kuratomi
|
||||
2005-2011, Serge Noiraud
|
||||
2000-2007, Alex Roitman
|
||||
2006-2011, Brian G. Matherly
|
||||
2007-2011, Benny Malengier
|
||||
2007-2012, Douglas S. Blank
|
||||
2007-2012, Gary Burton
|
||||
2007-2011, Jerome Rapinat
|
||||
2007, Johan Gronqvist
|
||||
2007, Robert Cawley
|
||||
2007-2009, Stephane Charette
|
||||
2007, Thom Sturgill
|
||||
2007-2008, Zsolt Foldvari
|
||||
2008-2010, 2012, Craig J. Anderson
|
||||
2008-2009, James Friedmann
|
||||
2008-2009, Jason Simanek
|
||||
2008-2011, Kees Bakker
|
||||
2008, Lukasz Rymarczyk
|
||||
2008-2010, Peter G. Landgren
|
||||
2008, 2010, Raphael Ackermann
|
||||
2008-2011, Reinhard Mueller
|
||||
2008, 2011, Robert Cheramy
|
||||
2008-2012, Rob G. Healey
|
||||
2008, Stefan Siegel
|
||||
2009-2010, Andrew I Baznikin
|
||||
2009, 2011, The Dojo Foundation
|
||||
2009, Florian Heinle
|
||||
2009, Gerald W. Britton
|
||||
2009, 2011, John Resig
|
||||
2009-2013, Nick Hall
|
||||
2009, Pander Musubi
|
||||
2009, Robert Ham
|
||||
2009-2010, Stephen George
|
||||
2009, Swoon on bug tracker
|
||||
2009, Yevgeny Zegzda
|
||||
2010, Gramps
|
||||
2010, Jakim Friant
|
||||
2010, Josip
|
||||
2010, lcc & Robert Jerome
|
||||
2010-2012, Michiel D. Nauta
|
||||
2010-2013, Tim G L Lyons
|
||||
2010-2011, Vlada Perić
|
||||
2011, Adam Stein
|
||||
2011, 2013 Heinz Brinker
|
||||
2011, Helge Herz
|
||||
2011, John Ralls
|
||||
2011, Matt Keenan
|
||||
2011-2013, Paul Franklin
|
||||
2012, Mathieu MD
|
||||
2013, Fedir Zinchuk
|
||||
2013, Oleh Petrivk
|
||||
2013, Vassilii Khachaturov
|
||||
2013, Zissis Papadopoulos
|
||||
License: GPL-2+
|
||||
|
||||
It was downloaded from http://gramps-project.org
|
||||
Files: debian/*
|
||||
Copyright: 2001-2002, Brandon L. Griffith
|
||||
2002, Alex Roitman
|
||||
2002-2012, James A. Treacy
|
||||
2013, Ross Gammon
|
||||
License: GPL-2+
|
||||
|
||||
Upstream Authors:
|
||||
Donald N. Allingham, Alexander Roitman, Martin Hawlisch, Richard Taylor,
|
||||
Brian Matherly, Tim Waugh, Donald A. Peterson, David Hampton
|
||||
Files: src/plugins/webstuff/js/jquery-ui-1.7.2.custom.min.js
|
||||
Copyright: 2009, jQuery UI Team (http://jqueryui.com/about/)
|
||||
License: MIT and GPL-2
|
||||
|
||||
========================================================
|
||||
Copyright: 2001-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.
|
||||
Files: src/plugins/webstuff/js/jquery-1.7.1.js
|
||||
Copyright: 2009, jQuery UI Team (http://jqueryui.com/about/)
|
||||
License: MIT and GPL-2
|
||||
|
||||
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.
|
||||
Files: src/plugins/webstuff/js/jquery-1.3.2.min.js
|
||||
Copyright: 2009, jQuery UI Team (http://jqueryui.com/about/)
|
||||
License: MIT and GPL-2
|
||||
|
||||
You should have received a copy of the GNU General Public License with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
License: GPL-2
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 only of the License.
|
||||
.
|
||||
This package 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 package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL-2'.
|
||||
|
||||
On Debian systems, the complete text of the GNU General Public
|
||||
License can be found in /usr/share/common-licenses/GPL
|
||||
License: GPL-2+
|
||||
This package 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 package 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 package; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in `/usr/share/common-licenses/GPL-2'.
|
||||
|
||||
========================================================
|
||||
The files in help/C directory are Copyright 2006 Alexander Roitman
|
||||
This documentation 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 documentation 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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The files in help/fr directory are Copyright 2003-2006 Jerome Rapinat
|
||||
This documentation 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 documentation 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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The data/grampsxml.dtd file is Copyright 2001 Graham J. William
|
||||
and Copyright 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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The src/TreeTips.py file is Copyright 2004 Toshio Kuratomi
|
||||
|
||||
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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The src/data/fdl.txt file is Copyright 2000,2001,2002
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
========================================================
|
||||
The file src/docgen/ODFDoc.py file is Copyright 2005-2006 Serge Noiraud
|
||||
and Copyright 2005-2006 Donald N. Allingham
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The file src/Mime/_WinMime.py file is Copyright 2006 Brian Matherly
|
||||
and Copyright 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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The src/plugins/Ancestors.py file is Copyright 2003 Tim Waugh
|
||||
and Copyright 2003-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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The src/plugins/CountAncestors.py file is Copyright 2001 Jesper Zedlitz
|
||||
and Copyright 2001-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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The files:
|
||||
src/plugins/DetAncestralReport.py
|
||||
src/plugins/DetDescendantReport.py
|
||||
are Copyright 2000-2002 Bruce J. DeGrasse
|
||||
and Copyright 2002-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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The files:
|
||||
src/date_test.py
|
||||
src/DataViews/_PedigreeView.py
|
||||
src/plugins/DumpGenderStats.py
|
||||
src/plugins/ExportVCalendar.py
|
||||
src/plugins/ExportVCard.py
|
||||
src/plugins/ImportGeneWeb.py
|
||||
src/plugins/ImportvCard.py
|
||||
src/plugins/TestcaseGenerator.py
|
||||
src/plugins/WriteGeneWeb.py
|
||||
are Copyright 2001-2006 Martin Hawlisch, 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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
========================================================
|
||||
The files:
|
||||
src/ReportBase/__init__.py
|
||||
src/ReportBase/_Report.py
|
||||
are Copyright 2001 David R. Hampton
|
||||
and Copyright 2001-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 with
|
||||
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
|
||||
if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
||||
Suite 330, Boston, MA 02111-1307 USA
|
||||
License: MIT
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Vendored
-1
@@ -1,5 +1,4 @@
|
||||
AUTHORS
|
||||
FAQ
|
||||
NEWS
|
||||
README
|
||||
TODO
|
||||
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
debian/gramps.xpm usr/share/pixmaps/
|
||||
Vendored
+7
-1
@@ -1,3 +1,9 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Update mime database postinst
|
||||
if [ -x /usr/sbin/update-mime-database ]; then
|
||||
update-mime-database /usr/share/mime
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
Vendored
+7
-1
@@ -1,3 +1,9 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Update mime database postrm
|
||||
if [ -x /usr/sbin/update-mime-database ]; then
|
||||
update-mime-database /usr/share/mime
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
Vendored
+13
-69
@@ -1,73 +1,17 @@
|
||||
#!/usr/bin/make -f
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
#export DH_OPTIONS=-v
|
||||
|
||||
build: build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
%:
|
||||
dh $@ --with python2
|
||||
|
||||
#./autogen.sh --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc
|
||||
./configure --enable-packager-mode --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc
|
||||
# ./configure --prefix=`pwd`/debian/tmp/usr --mandir=\$${prefix}/share/man
|
||||
$(MAKE)
|
||||
# $(MAKE) html
|
||||
# Remove COPYING file (duplicates standard copyright)
|
||||
override_dh_install:
|
||||
dh_install
|
||||
# Need COPYING file into About dialog
|
||||
#rm debian/gramps/usr/share/gramps/COPYING
|
||||
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
|
||||
# [ ! -f Makefile ] || $(MAKE) distclean
|
||||
# -rm -f src/*.pyo src/*/*.pyo
|
||||
# -rm -f config.status config.log
|
||||
|
||||
dh_auto_clean
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/tmp.
|
||||
# GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
|
||||
$(MAKE) install DESTDIR=`pwd`/debian/gramps
|
||||
-rm -f debian/gramps/usr/share/gramps/COPYING
|
||||
ln -s /usr/share/common-licenses/GPL-2 debian/gramps/usr/share/gramps/COPYING
|
||||
-rm -rf debian/gramps/usr/var
|
||||
# cp src/data/gramps.xml debian/gramps/usr/share/mime/packages
|
||||
-find debian/gramps/usr/share/ -name "*.pyo" -exec rm -f '{}' ';'
|
||||
|
||||
cp debian/gramps.xpm debian/gramps/usr/share/pixmaps/
|
||||
# cp src/gramps.xpm debian/tmp/usr/share/pixmaps/
|
||||
# cp src/images/gramps.svg debian/gramps/usr/share/pixmaps/
|
||||
# chmod 644 debian/gramps/usr/share/pixmaps/gramps.svg
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs FAQ
|
||||
dh_installmenu
|
||||
# dh_installman
|
||||
dh_installmime -i
|
||||
# dh_installchangelogs ChangeLog
|
||||
dh_installchangelogs
|
||||
dh_icons
|
||||
# dh_movefiles -i
|
||||
# dh_gconf -i
|
||||
dh_link -i
|
||||
dh_compress -i
|
||||
dh_fixperms -i
|
||||
dh_pycentral -i
|
||||
dh_installdeb -i
|
||||
dh_gencontrol -i
|
||||
dh_md5sums -i
|
||||
dh_builddeb -i
|
||||
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install
|
||||
# Test packager mode to avoid installing mime type
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- --enable-packager-mode
|
||||
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
version=3
|
||||
|
||||
http://sf.net/gramps/gramps-(.+)\.tar\.gz
|
||||
+32
-32
@@ -25,7 +25,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Anna Hansdotter
|
||||
2 DATE 2 OCT 1864
|
||||
2 PLAC Loderup, Malmous Lan, Sweden
|
||||
2 PLAC Löderup, Malmöhus Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Anna Hansdotter
|
||||
2 DATE 29 SEP 1945
|
||||
@@ -55,7 +55,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Hans Peter Smith
|
||||
2 DATE 17 APR 1904
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Hans Peter Smith
|
||||
2 DATE 29 JAN 1977
|
||||
@@ -74,7 +74,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Hanna Smith
|
||||
2 DATE 29 JAN 1821
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMC @F0@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -87,7 +87,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Herman Julius Nielsen
|
||||
2 DATE 31 AUG 1889
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Herman Julius Nielsen
|
||||
2 DATE 1945
|
||||
@@ -128,7 +128,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Gus Smith
|
||||
2 DATE 11 SEP 1897
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Gus Smith
|
||||
2 DATE 21 OCT 1963
|
||||
@@ -146,7 +146,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Jennifer Anderson
|
||||
2 DATE 5 NOV 1907
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Jennifer Anderson
|
||||
2 DATE 29 MAY 1985
|
||||
@@ -163,7 +163,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Lillie Harriet Jones
|
||||
2 DATE 2 MAY 1910
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Lillie Harriet Jones
|
||||
2 DATE 26 JUN 1990
|
||||
@@ -227,7 +227,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Carl Emil Smith
|
||||
2 DATE 20 DEC 1899
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Carl Emil Smith
|
||||
2 DATE 28 JAN 1959
|
||||
@@ -245,11 +245,11 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Hjalmar Smith
|
||||
2 DATE 31 JAN 1893
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Hjalmar Smith
|
||||
2 DATE 25 SEP 1894
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 FAMC @F3@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -262,7 +262,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Martin Smith
|
||||
2 DATE 19 NOV 1830
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Martin Smith
|
||||
2 DATE BET 1899 AND 1905
|
||||
@@ -270,7 +270,7 @@
|
||||
1 BAPM
|
||||
2 TYPE Baptism of Martin Smith
|
||||
2 DATE 23 NOV 1830
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMC @F0@
|
||||
1 FAMS @F2@
|
||||
1 NOTE @N0002@
|
||||
@@ -285,7 +285,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Astrid Shermanna Augusta Smith
|
||||
2 DATE 31 JAN 1889
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Astrid Shermanna Augusta Smith
|
||||
2 DATE 21 DEC 1963
|
||||
@@ -304,7 +304,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Gustaf Smith, Sr.
|
||||
2 DATE 28 NOV 1862
|
||||
2 PLAC Grostorp, Kristianstad Lan, Sweden
|
||||
2 PLAC Grostorp, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Gustaf Smith, Sr.
|
||||
2 DATE BEF 23 JUL 1930
|
||||
@@ -316,7 +316,7 @@
|
||||
1 CHR
|
||||
2 TYPE Christening of Gustaf Smith, Sr.
|
||||
2 DATE 7 DEC 1862
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMC @F2@
|
||||
1 FAMS @F3@
|
||||
1 CHAN
|
||||
@@ -343,7 +343,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Kirsti Marie Smith
|
||||
2 DATE 15 DEC 1886
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Kirsti Marie Smith
|
||||
2 DATE 18 JUL 1966
|
||||
@@ -378,7 +378,7 @@
|
||||
1 DEAT
|
||||
2 TYPE Death of Anna Streiffert
|
||||
2 DATE 2 FEB 1927
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 FAMS @F11@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -407,11 +407,11 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Magnes Smith
|
||||
2 DATE 6 OCT 1858
|
||||
2 PLAC Simrishamn, Kristianstad Lan, Sweden
|
||||
2 PLAC Simrishamn, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Magnes Smith
|
||||
2 DATE 20 FEB 1910
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 FAMC @F2@
|
||||
1 FAMS @F11@
|
||||
1 CHAN
|
||||
@@ -515,14 +515,14 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Elna Jefferson
|
||||
2 DATE 14 SEP 1800
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Elna Jefferson
|
||||
2 PLAC Sweden
|
||||
1 CHR
|
||||
2 TYPE Christening of Elna Jefferson
|
||||
2 DATE 16 SEP 1800
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMS @F0@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -560,7 +560,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Kerstina Hansdotter
|
||||
2 DATE 29 NOV 1832
|
||||
2 PLAC Smestorp, Kristianstad Lan, Sweden
|
||||
2 PLAC Smestorp, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Kerstina Hansdotter
|
||||
2 DATE BEF 1908
|
||||
@@ -577,7 +577,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Martin Smith
|
||||
2 DATE BET 1794 AND 1796
|
||||
2 PLAC Tommarp, Kristianstad Lan, Sweden
|
||||
2 PLAC Tommarp, Kristianstad Län, Sweden
|
||||
1 DEAT
|
||||
2 TYPE Death of Martin Smith
|
||||
2 PLAC Sweden
|
||||
@@ -594,7 +594,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Ingeman Smith
|
||||
2 DATE 29 JAN 1826
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMC @F0@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -661,7 +661,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Ingar Smith
|
||||
2 DATE AFT 1823
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 FAMC @F0@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -674,7 +674,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Hjalmar Smith
|
||||
2 DATE 7 APR 1895
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 DEAT
|
||||
2 TYPE Death of Hjalmar Smith
|
||||
2 DATE 26 JUN 1975
|
||||
@@ -682,7 +682,7 @@
|
||||
1 BAPM
|
||||
2 TYPE Baptism of Hjalmar Smith
|
||||
2 DATE 3 JUN 1895
|
||||
2 PLAC Ronne Bornholm, Denmark
|
||||
2 PLAC Rønne Bornholm, Denmark
|
||||
1 EVEN
|
||||
2 TYPE Immi
|
||||
2 DATE 14 NOV 1912
|
||||
@@ -701,7 +701,7 @@
|
||||
1 BIRT
|
||||
2 TYPE Birth of Emil Smith
|
||||
2 DATE 27 SEP 1860
|
||||
2 PLAC Simrishamn, Kristianstad Lan, Sweden
|
||||
2 PLAC Simrishamn, Kristianstad Län, Sweden
|
||||
1 FAMC @F2@
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
@@ -712,7 +712,7 @@
|
||||
1 MARR
|
||||
2 TYPE Marriage of Martin Smith and Elna Jefferson
|
||||
2 DATE ABT 1816
|
||||
2 PLAC Gladsax, Kristianstad Lan, Sweden
|
||||
2 PLAC Gladsax, Kristianstad Län, Sweden
|
||||
1 CHIL @I11@
|
||||
1 CHIL @I7@
|
||||
1 CHIL @I4@
|
||||
@@ -748,7 +748,7 @@
|
||||
1 MARR
|
||||
2 TYPE Marriage of Magnes Smith and Anna Streiffert
|
||||
2 DATE 24 AUG 1884
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
3 TIME 01:35:26
|
||||
@@ -805,7 +805,7 @@
|
||||
1 MARR
|
||||
2 TYPE Marriage of Gustaf Smith, Sr. and Anna Hansdotter
|
||||
2 DATE 27 NOV 1885
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 CHIL @I26@
|
||||
1 CHIL @I23@
|
||||
1 CHIL @I21@
|
||||
@@ -831,7 +831,7 @@
|
||||
1 MARR
|
||||
2 TYPE Marriage of Herman Julius Nielsen and Astrid Shermanna Augusta Smith
|
||||
2 DATE 30 NOV 1912
|
||||
2 PLAC Ronne, Bornholm, Denmark
|
||||
2 PLAC Rønne, Bornholm, Denmark
|
||||
1 CHAN
|
||||
2 DATE 21 DEC 2007
|
||||
3 TIME 01:35:26
|
||||
|
||||
@@ -17848,6 +17848,16 @@
|
||||
<dateval val="1974-03-30"/>
|
||||
<description>Marriage of Peters, John C. and Cruz, Joyce Marie</description>
|
||||
</event>
|
||||
<event handle="_c99c56a20172a29cfe0" change="1185458159" id="E3403">
|
||||
<type>Birth</type>
|
||||
<datestr val="1975-02-29"/>
|
||||
<description>obviously invalid date, preserved as text in ISO fmt style</description>
|
||||
</event>
|
||||
<event handle="_E3404" change="1185458159" id="E3404">
|
||||
<type>Death</type>
|
||||
<datestr val="29 FEB 1995"/>
|
||||
<description>obviously invalid date, preserved as text in Gedcom fmt style</description>
|
||||
</event>
|
||||
</events>
|
||||
<people home="_GNUJQCL9MD64AM56OH">
|
||||
<person handle="_004KQCGYT27EEPQHK" change="1185438865" id="I0552">
|
||||
@@ -40063,6 +40073,15 @@
|
||||
<parentin hlink="_F0WKQCXB6Y8RVGHIC7"/>
|
||||
<citationref hlink="_c140d280aa7494978c4"/>
|
||||
</person>
|
||||
<person handle="_c99c56aa6b6598272c0" change="1185458163" id="I0000">
|
||||
<gender>M</gender>
|
||||
<name type="Birth Name">
|
||||
<first>Вася</first>
|
||||
<surname>Пупкин</surname>
|
||||
</name>
|
||||
<eventref hlink="_c99c56a20172a29cfe0" role="Primary"/>
|
||||
<eventref hlink="_E3404" role="Primary"/>
|
||||
</person>
|
||||
</people>
|
||||
<families>
|
||||
<family handle="_03GKQCH37C1SL9C5B3" change="1185438865" id="F0372">
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
*** a/_imagingft.c Sat Oct 31 17:44:12 2009
|
||||
--- b/_imagingft.c Thu May 22 12:30:02 2014
|
||||
***************
|
||||
*** 70,76 ****
|
||||
--- 70,80 ----
|
||||
const char* message;
|
||||
} ft_errors[] =
|
||||
|
||||
+ #if defined(USE_FREETYPE_2_1)
|
||||
+ #include <freetype2/fterrors.h>
|
||||
+ #else
|
||||
#include <freetype/fterrors.h>
|
||||
+ #endif
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* font objects */
|
||||
--- a/setup.py Sun Nov 15 08:06:10 2009
|
||||
+++ b/setup.py Fri May 23 11:26:20 2014
|
||||
@@ -348,7 +348,7 @@
|
||||
dir = os.path.join(root, "Tk.framework", "Headers")
|
||||
add_directory(self.compiler.include_dirs, dir, 1)
|
||||
break
|
||||
- if frameworks:
|
||||
+ if False:
|
||||
exts.append(Extension(
|
||||
"_imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
|
||||
extra_compile_args=frameworks, extra_link_args=frameworks
|
||||
+4
-4
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Gramps</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Gramps 3.4.5-1, (C) 1997-2013 The Gramps Team http://www.gramps-project.org</string>
|
||||
<string>Gramps 3.4.9-1, (C) 1997-2015 The Gramps Team http://www.gramps-project.org</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>gramps.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@@ -17,15 +17,15 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.4.5-1</string>
|
||||
<string>3.4.9-1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Gramps</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.4.5-1</string>
|
||||
<string>3.4.9-1</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 1997 - 2013 The Gramps Team, GNU General Public License.</string>
|
||||
<string>Copyright 1997 - 2015 The Gramps Team, GNU General Public License.</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.5</string>
|
||||
</dict>
|
||||
|
||||
+40
-40
@@ -5,23 +5,23 @@
|
||||
; (gtk_accel_path "<Actions>/FileWindow/PluginStatus" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/place_report" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/ViewMenu" "")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/birthday_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/marker_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Graphs" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/FAQ" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/mediaman" "")
|
||||
(gtk_accel_path "<Actions>/Families/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Events/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Families/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Events/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/det_descendant_report" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/statistics_chart" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonAll/FilterEdit" "")
|
||||
(gtk_accel_path "<Actions>/Events/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Events/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/rebuild_refmap" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Database-Processing" "")
|
||||
(gtk_accel_path "<Actions>/Events/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonEdit/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Notes/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Notes/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Undo/Undo" "<Meta>z")
|
||||
(gtk_accel_path "<Actions>/MainWindow/Import" "<Meta>i")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Filter" "")
|
||||
@@ -32,40 +32,40 @@
|
||||
(gtk_accel_path "<Actions>/Repositories/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/book" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/FileMenu" "")
|
||||
(gtk_accel_path "<Actions>/Person View/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Person View/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/records" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/ancestor_report" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/chname" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/FastMerge" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Relationships/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/ExportTab" "")
|
||||
(gtk_accel_path "<Actions>/Notes/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/editowner" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/hourglass_graph" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Media/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Repositories/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Media/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>Delete" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Toolbar" "")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/number_of_ancestors_report" "")
|
||||
(gtk_accel_path "<Actions>/Families/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Families/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Relationships/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/familylines_graph" "")
|
||||
(gtk_accel_path "<Actions>/Person View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Person View/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Place View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Sources/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Person View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/relcalc" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/Export" "<Meta>e")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Backward/Back" "<Alt>Left")
|
||||
(gtk_accel_path "<Actions>/Relationships/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/reorder_ids" "")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/RecentFiles/RecentMenu0" "")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonAll/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/MailingLists" "")
|
||||
(gtk_accel_path "<Actions>/Place View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Place View/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/kinship_report" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/BookMenu" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/evname" "")
|
||||
@@ -75,23 +75,23 @@
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F11" "F11")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/sortevents" "")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Backward/Back" "<Mod5>Left")
|
||||
; (gtk_accel_path "<Actions>/Media/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/Media/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/Fan Chart/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonEdit/CmpMerge" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/ToolsMenu" "")
|
||||
(gtk_accel_path "<Actions>/Events/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Families/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Place View/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Events/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Families/Backward/Back" "<Alt>Left")
|
||||
(gtk_accel_path "<Actions>/Place View/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/descend_chart" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/dupfind" "")
|
||||
; (gtk_accel_path "<Actions>/MainWindow/EditMenu" "")
|
||||
(gtk_accel_path "<Actions>/UndoHistory/UndoHistory" "<Meta>h")
|
||||
(gtk_accel_path "<Actions>/Sources/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/ReportBug" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>Insert" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>Insert" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Notes/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/People Tree View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/People Tree View/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Sidebar" "")
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonAll/Dummy" "")
|
||||
(gtk_accel_path "<Actions>/Redo/Redo" "<Shift><Meta>z")
|
||||
@@ -99,11 +99,11 @@
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/family_group" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/excity" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/Repositories/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Repositories/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/UserManual" "F1")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/OpenRecent" "")
|
||||
(gtk_accel_path "<Actions>/Families/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/rel_graph" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Web-Pages" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/WebCal" "")
|
||||
@@ -112,7 +112,7 @@
|
||||
; (gtk_accel_path "<Actions>/FileWindow/HomePage" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Family/Edit" "<Meta>Return")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/patchnames" "")
|
||||
(gtk_accel_path "<Actions>/Relationships/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Relationships/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/det_ancestor_report" "")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>BackSpace" "<Meta>BackSpace")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Utilities" "")
|
||||
@@ -128,12 +128,12 @@
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F3" "F3")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/F2" "F2")
|
||||
(gtk_accel_path "<Actions>/Notes/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Sources/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Sources/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Books" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/About" "")
|
||||
(gtk_accel_path "<Actions>/Notes/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Notes/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/endofline_report" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonEdit/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/People Tree View/PersonEdit/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/dbrowse" "")
|
||||
(gtk_accel_path "<Actions>/Pedigree/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/soundgen" "")
|
||||
@@ -150,12 +150,12 @@
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/timeline" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/Database-Repair" "")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/Graphical-Reports" "")
|
||||
(gtk_accel_path "<Actions>/Person View/HomePerson" "<Mod5>Home")
|
||||
(gtk_accel_path "<Actions>/Person View/HomePerson" "<Alt>Home")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/ancestor_chart" "")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/check" "")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Forward/Forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/chtype" "")
|
||||
(gtk_accel_path "<Actions>/Notes/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Notes/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
; (gtk_accel_path "<Actions>/ReportWindow/calendar" "")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Fullscreen" "F11")
|
||||
(gtk_accel_path "<Actions>/Fan Chart/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
@@ -163,26 +163,26 @@
|
||||
(gtk_accel_path "<Actions>/Repositories/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Families/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/verify" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Sources/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Sources/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ToolWindow/not_related" "")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/TipOfDay" "")
|
||||
(gtk_accel_path "<Actions>/Media/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Media/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/FileWindow/Quit" "<Meta>q")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/Backward/Back" "<Alt>Left")
|
||||
(gtk_accel_path "<Actions>/FileWindow/Open" "<Meta>o")
|
||||
(gtk_accel_path "<Actions>/Place View/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/Media/Bookmark/EditBook" "<Shift><Meta>b")
|
||||
(gtk_accel_path "<Actions>/MainWindow/ConfigView" "<Shift><Meta>c")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/People Tree View/Backward/Back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/KeyBindings" "")
|
||||
(gtk_accel_path "<Actions>/Repositories/Backward/Back" "<Mod5>Left")
|
||||
(gtk_accel_path "<Actions>/Repositories/Backward/Back" "<Alt>Left")
|
||||
(gtk_accel_path "<Actions>/Events/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/People Tree View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>P" "<Meta>p")
|
||||
(gtk_accel_path "<Actions>/Person View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/AllMainWindow/<CONTROL>N" "<Meta>n")
|
||||
(gtk_accel_path "<Actions>/Place Tree View/ChangeOrder/Remove" "<Meta>Delete")
|
||||
; (gtk_accel_path "<Actions>/AllMainWindow/Abandon" "")
|
||||
@@ -193,8 +193,8 @@
|
||||
; (gtk_accel_path "<Actions>/Person View/PersonOther/SetActive" "")
|
||||
(gtk_accel_path "<Actions>/categoryviews/personview_1" "<Meta>2")
|
||||
(gtk_accel_path "<Actions>/Sources/Bookmark/AddBook" "<Meta>d")
|
||||
(gtk_accel_path "<Actions>/Place View/ChangeOrder/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonEdit/Add" "<Mod5><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Sources/Forward/Forward" "<Mod5>Right")
|
||||
(gtk_accel_path "<Actions>/Place View/ChangeOrder/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Person View/PersonEdit/Add" "<Alt><Meta>i")
|
||||
(gtk_accel_path "<Actions>/Sources/Forward/Forward" "<Alt>Right")
|
||||
(gtk_accel_path "<Actions>/Person View/Bookmark/AddBook" "<Meta>d")
|
||||
; (gtk_accel_path "<Actions>/FileWindow/Preferences" "")
|
||||
|
||||
+6
-6
@@ -72,7 +72,7 @@
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libgtkmacintegration.2.dylib
|
||||
${prefix}/lib/libgtkmacintegration-gtk2.2.dylib
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
@@ -100,7 +100,7 @@
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libtiff.3.dylib
|
||||
${prefix}/lib/libtiff.5.dylib
|
||||
</binary>
|
||||
|
||||
<binary dest="${bundle}/Contents/MacOS/">
|
||||
@@ -138,10 +138,6 @@
|
||||
${prefix}/include/python2.7/pyconfig.h
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/etc/pango/
|
||||
</data>
|
||||
|
||||
<data recurse="True">
|
||||
${prefix}/share/gramps/*.py
|
||||
</data>
|
||||
@@ -158,6 +154,10 @@
|
||||
${prefix}/share/gramps/images/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/share/gramps/plugins/webstuff/
|
||||
</data>
|
||||
|
||||
<!--data>
|
||||
${prefix}/share/webkit-1.0/
|
||||
</data-->
|
||||
|
||||
+6
-3
@@ -23,8 +23,10 @@ export GTK_PATH="$bundle_res"
|
||||
export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
|
||||
export PANGO_SYSCONFDIR="$bundle_etc"
|
||||
export PANGO_LIBDIR="$bundle_lib"
|
||||
export GDK_PIXBUF_MODULE_FILE="$bundle_etc/gtk-2.0/gdk-pixbuf.loaders"
|
||||
export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
|
||||
export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
||||
if [ `uname -r | cut -d . -f 1` -ge 10 ]; then
|
||||
export GTK_IM_MODULE_FILE="$bundle_etc/gtk-2.0/gtk.immodules"
|
||||
fi
|
||||
export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc"
|
||||
export GVBINDIR="$bundle_lib/graphviz"
|
||||
|
||||
@@ -38,7 +40,8 @@ export PYTHONPATH="$bundle_lib/python$PYVER/site-packages/gtk-2.0:$PYTHONPATH"
|
||||
|
||||
export GRAMPSDIR="$bundle_data"/gramps
|
||||
export GRAMPSI18N="$bundle_data"/locale
|
||||
export GRAMPSHOME="$HOME/Library/Application Support"
|
||||
export USERPROFILE="$HOME"
|
||||
export APPDATA="$HOME/Library/Application Support"
|
||||
|
||||
# Strip out the argument added by the OS.
|
||||
if /bin/expr "x$1" : '^x-psn_' > /dev/null; then
|
||||
|
||||
+22
-36
@@ -13,14 +13,16 @@
|
||||
href="http://www.gnome.org/~fpeters/pyxdg/"/>
|
||||
<repository type="tarball" name="xdg-utils"
|
||||
href="http://portland.freedesktop.org/download/"/>
|
||||
<repository type="svn" name="gramps"
|
||||
href="http://svn.code.sf.net/p/gramps/code/"/>
|
||||
<repository type="git" name="gramps"
|
||||
href="git://git.code.sf.net/p/gramps/"/>
|
||||
<repository type="svn" name="gramps-addons"
|
||||
href="https://gramps-addons.svn.sourceforge.net/svnroot/gramps-addons/"/>
|
||||
<repository type="tarball" name="oracle"
|
||||
href="http://download.oracle.com/"/>
|
||||
<repository type="tarball" name="stowers"
|
||||
href="http://www.johnstowers.co.nz/files/"/>
|
||||
<repository type="tarball" name="pymodules"
|
||||
href="http://pypi.python.org/packages/source/"/>
|
||||
<repository type="git" name="github"
|
||||
href="git://github.com/"/>
|
||||
<repository type="tarball" name="graphviz"
|
||||
href="http://www.graphviz.org/pub/graphviz/stable/SOURCES/"/>
|
||||
<repository type="tarball" name="launchpad"
|
||||
@@ -57,12 +59,11 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
|
||||
|
||||
|
||||
<include href="https://raw.github.com/jralls/gtk-osx-build/master/modulesets-stable/gtk-osx.modules"/>
|
||||
<include href="http://git.gnome.org/browse/gtk-osx/plain/modulesets-stable/gtk-osx.modules"/>
|
||||
<!--include href="/Users/john/Development/GTK-OSX/gtk-osx-build/modulesets-stable/gtk-osx.modules"/-->
|
||||
|
||||
|
||||
<autotools id="gramps" autogen-sh="configure">
|
||||
<branch module="gramps/gramps-3.4.5.tar.gz" version="3.4.5"
|
||||
<branch module="gramps/gramps-3.4.9.tar.gz" version="3.4.9"
|
||||
repo="sourceforge">
|
||||
</branch>
|
||||
<dependencies>
|
||||
@@ -73,7 +74,7 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
<dep package="shared-mime-info"/>
|
||||
<dep package="hunspell"/>
|
||||
<dep package="pygtk-extras"/>
|
||||
<dep package="osmgpsmap-py"/>
|
||||
<dep package="osmgpsmap"/>
|
||||
<dep package="graphviz"/>
|
||||
<dep package="pyicu"/>
|
||||
</dependencies>
|
||||
@@ -82,8 +83,9 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</after>
|
||||
</autotools>
|
||||
|
||||
<autotools id="gramps-34" >
|
||||
<branch module="code" revision="maintenance/gramps34" repo="gramps" />
|
||||
<autotools id="gramps-git" supports-non-srcdir-builds="no">
|
||||
<branch module="source" repo="gramps" revision="maintenance/gramps34"
|
||||
checkoutdir="gramps-git"/>
|
||||
<dependencies>
|
||||
<dep package="meta-gtk-osx-python"/>
|
||||
<dep package="librsvg"/>
|
||||
@@ -91,7 +93,7 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
<dep package="shared-mime-info"/>
|
||||
<dep package="hunspell"/>
|
||||
<dep package="pygtk-extras"/>
|
||||
<dep package="osmgpsmap-py"/>
|
||||
<dep package="osmgpsmap"/>
|
||||
<dep package="graphviz"/>
|
||||
</dependencies>
|
||||
<after>
|
||||
@@ -136,27 +138,15 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
<branch module="xdg-utils-1.0.2.tgz" version="1.0.2" repo="xdg-utils"/>
|
||||
</autotools>
|
||||
|
||||
<autotools id="osmgpsmap" autogenargs="--disable-introspection"
|
||||
autogen-sh="configure">
|
||||
<branch module="osm-gps-map/osm-gps-map-0.7.3.tar.gz" repo="stowers"
|
||||
version="0.7.3"/>
|
||||
<autotools id="osmgpsmap" skip-autogen="never"
|
||||
supports-non-srcdir-builds="no">
|
||||
<branch module="nzjrs/osm-gps-map" revision="gtk2" repo="github"/>
|
||||
<dependencies>
|
||||
<dep package="gtk+"/>
|
||||
<dep package="libsoup"/>
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<distutils id="osmgpsmap-py" autogen-sh="gnome-autogen.sh">
|
||||
<branch module="osm-gps-map/python-osmgpsmap-0.7.3.tar.gz" repo="stowers"
|
||||
version="0.7.3"/>
|
||||
<dependencies>
|
||||
<dep package="osmgpsmap"/>
|
||||
<dep package="pygtk"/>
|
||||
<dep package="pycairo-python2.6"/>
|
||||
<dep package="pygobject"/>
|
||||
</dependencies>
|
||||
</distutils>
|
||||
|
||||
<autotools id="graphviz" autogen-sh="configure"
|
||||
autogenargs="--disable-sharp --disable-guile --disable-java --disable-lua --disable-ocaml --disable-perl --disable-php --disable-r --disable-ruby --disable-tcl --without-x --with-pangocairo --with-included-ltdl=yes">
|
||||
<branch module="graphviz-2.28.0.tar.gz" version="2.28.0" repo="graphviz"/>
|
||||
@@ -167,11 +157,11 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<autotools id="exiv2">
|
||||
<autotools id="exiv2" supports-non-srcdir-builds="no">
|
||||
<branch module="exiv2-0.21.1.tar.gz" repo="exiv2.org" version="0.21.1"/>
|
||||
</autotools>
|
||||
|
||||
<autotools id="boost">
|
||||
<autotools id="boost" supports-non-srcdir-builds="no">
|
||||
<branch module="boost/boost_1_46_1.tar.bz2" repo="sourceforge"
|
||||
version="1.46.1"/>
|
||||
</autotools>
|
||||
@@ -180,7 +170,7 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
<branch repo="sourceforge" module="scons/scons-2.0.1.tar.gz" version="2.0.1"/>
|
||||
</distutils>
|
||||
|
||||
<autotools id="pyexiv2">
|
||||
<autotools id="pyexiv2" supports-non-srcdir-builds="no">
|
||||
<branch module="pyexiv2/0.3.x/0.3/+download/pyexiv2-0.3.0.tar.bz2"
|
||||
repo="launchpad" version="0.3.0"/>
|
||||
<dependencies>
|
||||
@@ -194,15 +184,11 @@ ige-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</autotools>
|
||||
|
||||
<distutils id="pil">
|
||||
<branch module="Imaging-1.1.7.tar.gz" version="1.1.7" repo="pythonware"/>
|
||||
<branch module="Imaging-1.1.7.tar.gz" version="1.1.7" repo="pythonware">
|
||||
<patch file="Imaging-Freetype2.patch" strip="1"/>
|
||||
</branch>
|
||||
</distutils>
|
||||
|
||||
<autotools id='icu' autogen-sh='source/configure'
|
||||
makeargs='CFLAGS="$CFLAGS -DU_CHARSET_IS_UTF8=1 -DU_USING_ICU_NAMESPACE=0"'>
|
||||
<branch repo='icu' version='50.1.2' checkoutdir='icu'
|
||||
module='icu4c/50.1.2/icu4c-50_1_2-src.tgz'/>
|
||||
</autotools>
|
||||
|
||||
<distutils id='pyicu'>
|
||||
<branch version='1.5' repo='pymodules'
|
||||
module='P/PyICU/PyICU-1.5.tar.gz'/>
|
||||
|
||||
@@ -50,6 +50,7 @@ src/gen/lib/familyreltype.py
|
||||
src/gen/lib/grampstype.py
|
||||
src/gen/lib/ldsord.py
|
||||
src/gen/lib/markertype.py
|
||||
src/gen/lib/name.py
|
||||
src/gen/lib/nametype.py
|
||||
src/gen/lib/nameorigintype.py
|
||||
src/gen/lib/notetype.py
|
||||
@@ -72,6 +73,7 @@ src/gen/plug/utils.py
|
||||
|
||||
# gen docgen API
|
||||
src/gen/plug/docgen/graphdoc.py
|
||||
src/gen/plug/docgen/paperstyle.py
|
||||
|
||||
# plugin report base API (was ReportBase)
|
||||
src/gen/plug/report/_constants.py
|
||||
@@ -116,6 +118,7 @@ src/gui/editors/editperson.py
|
||||
src/gui/editors/editpersonref.py
|
||||
src/gui/editors/editplace.py
|
||||
src/gui/editors/editprimary.py
|
||||
src/gui/editors/editreference.py
|
||||
src/gui/editors/editreporef.py
|
||||
src/gui/editors/editrepository.py
|
||||
src/gui/editors/editsource.py
|
||||
@@ -576,6 +579,7 @@ src/Filters/Rules/Event/_EventPrivate.py
|
||||
src/Filters/Rules/Event/_HasAttribute.py
|
||||
src/Filters/Rules/Event/_HasCitation.py
|
||||
src/Filters/Rules/Event/_HasData.py
|
||||
src/Filters/Rules/Event/_HasDayOfWeek.py
|
||||
src/Filters/Rules/Event/_HasGallery.py
|
||||
src/Filters/Rules/Event/_HasIdOf.py
|
||||
src/Filters/Rules/Event/_HasNote.py
|
||||
@@ -642,6 +646,7 @@ src/Filters/Rules/Citation/_HasNoteRegexp.py
|
||||
src/Filters/Rules/Citation/_HasReferenceCountOf.py
|
||||
src/Filters/Rules/Citation/_HasSource.py
|
||||
src/Filters/Rules/Citation/_HasSourceIdOf.py
|
||||
src/Filters/Rules/Citation/_HasSourceNoteRegexp.py
|
||||
src/Filters/Rules/Citation/_MatchesFilter.py
|
||||
src/Filters/Rules/Citation/_MatchesPageSubstringOf.py
|
||||
src/Filters/Rules/Citation/_RegExpIdOf.py
|
||||
|
||||
+1
-3
@@ -124,7 +124,6 @@ src/gen/lib/locationbase.py
|
||||
src/gen/lib/mediaobj.py
|
||||
src/gen/lib/mediabase.py
|
||||
src/gen/lib/mediaref.py
|
||||
src/gen/lib/name.py
|
||||
src/gen/lib/note.py
|
||||
src/gen/lib/notebase.py
|
||||
src/gen/lib/personref.py
|
||||
@@ -186,7 +185,6 @@ src/gen/plug/docgen/fontscale.py
|
||||
src/gen/plug/docgen/fontstyle.py
|
||||
src/gen/plug/docgen/graphdoc.py
|
||||
src/gen/plug/docgen/graphicstyle.py
|
||||
src/gen/plug/docgen/paperstyle.py
|
||||
src/gen/plug/docgen/paragraphstyle.py
|
||||
src/gen/plug/docgen/stylesheet.py
|
||||
src/gen/plug/docgen/tablestyle.py
|
||||
@@ -222,7 +220,6 @@ src/gui/user.py
|
||||
|
||||
# gui/editors - the GUI editors package
|
||||
src/gui/editors/__init__.py
|
||||
src/gui/editors/editreference.py
|
||||
src/gui/editors/editsecondary.py
|
||||
|
||||
# gui/editors/displaytabs - the GUI display tabs package
|
||||
@@ -237,6 +234,7 @@ src/gui/editors/displaytabs/grampstab.py
|
||||
src/gui/editors/displaytabs/groupembeddedlist.py
|
||||
src/gui/editors/displaytabs/ldsmodel.py
|
||||
src/gui/editors/displaytabs/locationmodel.py
|
||||
src/gui/editors/displaytabs/mediaattrembedlist.py
|
||||
src/gui/editors/displaytabs/mediabackreflist.py
|
||||
src/gui/editors/displaytabs/notebackreflist.py
|
||||
src/gui/editors/displaytabs/personrefmodel.py
|
||||
|
||||
@@ -2857,7 +2857,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Бар Мицва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Бас Мицва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3065,7 +3065,7 @@ msgstr "род"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "род"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -2824,8 +2824,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3022,7 +3022,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -3095,8 +3095,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3293,7 +3293,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13994,8 +13994,10 @@ msgstr "No heu especificat ningú"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d fills"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d fill"
|
||||
msgstr[1] "%d fills"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
Executable → Regular
+33
@@ -115,6 +115,38 @@ class Check_named_fmt( Check ):
|
||||
msgstr = msg.msgstr[1]
|
||||
self.__process( msg, msgid, msgstr )
|
||||
|
||||
class Check_mapping_fmt( Check ):
|
||||
# A pattern to find all {}
|
||||
find_map_pat = re.compile('\{ \w+ \}', re.VERBOSE)
|
||||
|
||||
def __init__( self ):
|
||||
Check.__init__( self )
|
||||
self.diag_header = "-------- {} name mismatches --------------"
|
||||
self.summary_text = "{} name mismatches:"
|
||||
|
||||
def __process( self, msg, msgid, msgstr ):
|
||||
# Same number of named formats?
|
||||
fmts1 = self.find_map_pat.findall( msgid )
|
||||
fmts2 = self.find_map_pat.findall( msgstr )
|
||||
if len( fmts1 ) != len( fmts2 ):
|
||||
self.msgs.append( msg )
|
||||
else:
|
||||
# Do we have the same named formats?
|
||||
fmts1.sort()
|
||||
fmts2.sort()
|
||||
if fmts1 != fmts2:
|
||||
self.msgs.append( msg )
|
||||
|
||||
def process( self, msg ):
|
||||
msgid = msg.msgid
|
||||
msgstr = msg.msgstr[0]
|
||||
self.__process( msg, msgid, msgstr )
|
||||
|
||||
if msg.msgidp and len(msg.msgstr) >= 2:
|
||||
msgid = msg.msgidp
|
||||
msgstr = msg.msgstr[1]
|
||||
self.__process( msg, msgid, msgstr )
|
||||
|
||||
class Check_missing_sd( Check ):
|
||||
# A pattern to find %() without s or d
|
||||
# Here is a command to use for testing
|
||||
@@ -512,6 +544,7 @@ def analyze_msgs( options, fname, msgs, nr_templates = None, nth = 0 ):
|
||||
checks.append( Check_fmt( '%s' ) )
|
||||
checks.append( Check_fmt( '%d' ) )
|
||||
checks.append( Check_named_fmt() )
|
||||
checks.append( Check_mapping_fmt() )
|
||||
checks.append( Check_missing_sd() )
|
||||
checks.append( Check_runaway() )
|
||||
checks.append( Check_xml_chars() )
|
||||
|
||||
@@ -3027,8 +3027,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3225,7 +3225,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13258,8 +13258,10 @@ msgstr "Du angav ikke nogen"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d børn"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d barn"
|
||||
msgstr[1] "%d børn"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3140,8 +3140,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3344,7 +3344,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14140,8 +14140,10 @@ msgstr "Δεν προσδιορίσατε κανέναν"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d τέκνα"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d τέκνο"
|
||||
msgstr[1] "%d τέκνα"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -2893,8 +2893,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3103,7 +3103,7 @@ msgstr "Kremacio"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "Kremacio"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -3313,8 +3313,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3514,7 +3514,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14362,8 +14362,10 @@ msgstr "No especificó ninguna persona"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d hijos"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d hijo"
|
||||
msgstr[1] "%d hijos"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
@@ -31128,7 +31130,7 @@ msgstr ""
|
||||
"resuelve un problema persistente en genealogía: cómo manejar las variaciones "
|
||||
"ortográficas. La utilidad SoundEx toma un apellido y genera una forma "
|
||||
"simplificada que es equivalente para dos apellidos que suenan parecido. "
|
||||
"Conocer el Código SoundEx de un apellido es muy útil al inverstigar datos "
|
||||
"Conocer el Código SoundEx de un apellido es muy útil al investigar datos "
|
||||
"del censo (en microficha) en una biblioteca u otro local de investigación. "
|
||||
"Para obtener los códigos SoundEx de los apellidos de su base de datos, vaya "
|
||||
"a "Herramientas > Utilidades > Generar códigos SoundEx..."."
|
||||
|
||||
@@ -2853,8 +2853,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3061,7 +3061,7 @@ msgstr "Lyhennys"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "Lyhennys"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13416,8 +13416,10 @@ msgstr ""
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d lasta"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d lapsi"
|
||||
msgstr[1] "%d lasta"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -2695,7 +2695,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -2894,7 +2894,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
+2267
-2032
File diff suppressed because it is too large
Load Diff
@@ -3058,7 +3058,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3259,7 +3259,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13419,8 +13419,11 @@ msgstr "Niste nikoga odabrali"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d djece"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d dijete"
|
||||
msgstr[1] "%d djece"
|
||||
msgstr[2] "%d djece"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3008,7 +3008,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "バルミツヴァ"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "バトミツヴァ"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3209,7 +3209,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "バルミツヴァ."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "バトミツヴァ."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13287,8 +13287,10 @@ msgstr ""
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d 人の子供"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d 人の子供"
|
||||
msgstr[1] "%d 人の子供"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3387,7 +3387,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3598,7 +3598,7 @@ msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14337,8 +14337,11 @@ msgstr "Nieko nenurodėte!"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d vaikai"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d vaikas"
|
||||
msgstr[1] "%d vaikai"
|
||||
msgstr[2] "%d vaikų"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
@@ -23706,9 +23709,9 @@ msgstr "Prašom paleisti \"Tikrinti ir Taisyti duomenų bazę\" įrankį"
|
||||
#, python-format
|
||||
msgid " (%d child)"
|
||||
msgid_plural " (%d children)"
|
||||
msgstr[0] "(%d vaikas)"
|
||||
msgstr[1] "(%d vaikai)"
|
||||
msgstr[2] "(%d vaikų)"
|
||||
msgstr[0] " (%d vaikas)"
|
||||
msgstr[1] " (%d vaikai)"
|
||||
msgstr[2] " (%d vaikų)"
|
||||
|
||||
#: ../src/plugins/view/relview.py:1328
|
||||
#: ../src/plugins/view/relview.py:1375
|
||||
|
||||
@@ -2904,7 +2904,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Бар Мицва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Бас Мицва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3115,7 +3115,7 @@ msgstr "Кратенка"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "Кратенка"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -3042,8 +3042,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3240,7 +3240,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "barm."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "basm."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13319,8 +13319,10 @@ msgstr "Du valgte ingen"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d barn"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d barn"
|
||||
msgstr[1] "%d barn"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3338,8 +3338,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
# Huwelijkszegen?
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3550,7 +3550,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14463,8 +14463,10 @@ msgstr "U heeft niemand opgegeven"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d kinderen"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d kind"
|
||||
msgstr[1] "%d kinderen"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -2957,8 +2957,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3155,7 +3155,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "barm."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "basm."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13161,8 +13161,10 @@ msgstr "Du spesifiserte ingen"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d barn"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d barn"
|
||||
msgstr[1] "%d barn"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3047,7 +3047,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar micwa"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat micwa"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3245,7 +3245,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13347,8 +13347,11 @@ msgstr "Nie określiłeś nikogo"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d dzieci"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d dziecko"
|
||||
msgstr[1] "%d dzieci"
|
||||
msgstr[2] "%d dzieci"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
@@ -22435,9 +22438,9 @@ msgstr "Proszę najpierw uruchomić narzędzie Sprawdź i napraw bazę danych"
|
||||
#, python-format
|
||||
msgid " (%d child)"
|
||||
msgid_plural " (%d children)"
|
||||
msgstr[0] "(%d dziecko)"
|
||||
msgstr[1] "(%d dzieci)"
|
||||
msgstr[2] "(%d dzieci)"
|
||||
msgstr[0] " (%d dziecko)"
|
||||
msgstr[1] " (%d dzieci)"
|
||||
msgstr[2] " (%d dzieci)"
|
||||
|
||||
#: ../src/plugins/view/relview.py:1328 ../src/plugins/view/relview.py:1375
|
||||
msgid " (no children)"
|
||||
|
||||
+7
-5
@@ -3189,8 +3189,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3387,7 +3387,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14111,8 +14111,10 @@ msgstr "Você não especificou ninguém"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d filhos"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d filho(a)"
|
||||
msgstr[1] "%d filhos(as)"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
+7
-5
@@ -2980,8 +2980,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3180,7 +3180,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13201,8 +13201,10 @@ msgstr "Você não especificou ninguém"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d filhos"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d filho"
|
||||
msgstr[1] "%d filhos"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -2893,8 +2893,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3103,7 +3103,7 @@ msgstr "Cremare"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "Cremare"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -3188,8 +3188,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3386,7 +3386,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -14020,8 +14020,10 @@ msgstr "Nevybrali ste nikoho"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "Počet detí %d"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d dieťa"
|
||||
msgstr[1] "%d detí"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
@@ -24092,7 +24094,7 @@ msgstr "Zrakovo postihnutí"
|
||||
#: ../src/plugins/webreport/NarrativeWeb.py:1754
|
||||
#: ../src/plugins/webreport/NarrativeWeb.py:1904
|
||||
msgid "Html|Home"
|
||||
msgstr "Domovská Htnl"
|
||||
msgstr "Domovská Html"
|
||||
|
||||
#: ../src/plugins/webreport/NarrativeWeb.py:1755
|
||||
#: ../src/plugins/webreport/NarrativeWeb.py:1861
|
||||
|
||||
@@ -2822,7 +2822,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Micva"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bas Micva"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3020,7 +3020,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "bas."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13099,8 +13099,12 @@ msgstr ""
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "Št. otrok: %d"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d otrok"
|
||||
msgstr[1] "%d otrok"
|
||||
msgstr[2] "%d otroka"
|
||||
msgstr[3] "%d otroci"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -2875,8 +2875,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Bar Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Bat Mitzvah"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3078,7 +3078,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -2683,7 +2683,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -2881,7 +2881,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -2884,7 +2884,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3094,7 +3094,7 @@ msgstr "kisaltma"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
#, fuzzy
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "kisaltma"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
|
||||
@@ -3072,7 +3072,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Бар-міцва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Бас-міцва"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3270,7 +3270,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "бар.Міц."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "бас.Міц."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13391,8 +13391,11 @@ msgstr "Ви нікого не вказали"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d дітей"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d дитина"
|
||||
msgstr[1] "%d дитини"
|
||||
msgstr[2] "%d дітей"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
@@ -3076,8 +3076,8 @@ msgid "Bar Mitzvah"
|
||||
msgstr "Lễ Thành nhân (Bar Mitzvah)"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgstr "Lễ Thành nhân (Bas Mitzvah)"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "Lễ Thành nhân (Bat Mitzvah)"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
msgid "Blessing"
|
||||
@@ -3277,7 +3277,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "Viết tắt lễ thành nhân Do Thái|bar."
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "Viết tắt lễ thành nhân|bas. "
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13466,8 +13466,9 @@ msgstr "Bạn chưa nêu một người nào"
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d con cái "
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d con cái "
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
|
||||
+6
-5
@@ -2860,7 +2860,7 @@ msgid "Bar Mitzvah"
|
||||
msgstr "男孩成人13岁成人礼"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:151
|
||||
msgid "Bas Mitzvah"
|
||||
msgid "Bat Mitzvah"
|
||||
msgstr "女孩成人13岁成人礼"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:152
|
||||
@@ -3058,7 +3058,7 @@ msgid "Bar Mitzvah abbreviation|bar."
|
||||
msgstr "犹太受戒礼"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:201
|
||||
msgid "Bas Mitzvah abbreviation|bas."
|
||||
msgid "Bat Mitzvah abbreviation|bat."
|
||||
msgstr "犹太女孩成人仪式"
|
||||
|
||||
#: ../src/gen/lib/eventtype.py:202
|
||||
@@ -13208,8 +13208,9 @@ msgstr ""
|
||||
|
||||
#: ../src/plugins/graph/GVFamilyLines.py:921
|
||||
#, python-format
|
||||
msgid "%d children"
|
||||
msgstr "%d 子女"
|
||||
msgid "%d child"
|
||||
msgid_plural "%d children"
|
||||
msgstr[0] "%d 子女"
|
||||
|
||||
#: ../src/plugins/graph/GVHourGlass.py:57
|
||||
#: ../src/plugins/graph/GVRelGraph.py:68
|
||||
@@ -21889,7 +21890,7 @@ msgstr "请运行检查和修复数据库工具"
|
||||
#, python-format
|
||||
msgid " (%d child)"
|
||||
msgid_plural " (%d children)"
|
||||
msgstr[0] "(%d 子女)"
|
||||
msgstr[0] " (%d 子女)"
|
||||
|
||||
#: ../src/plugins/view/relview.py:1328 ../src/plugins/view/relview.py:1375
|
||||
msgid " (no children)"
|
||||
|
||||
+66
-25
@@ -30,6 +30,7 @@ Provide autocompletion functionality.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import locale
|
||||
from gen.ggettext import sgettext as _
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -110,7 +111,7 @@ class StandardCustomSelector(object):
|
||||
|
||||
"""
|
||||
def __init__(self, mapping, cbe=None, custom_key=None, active_key=None,
|
||||
additional=None):
|
||||
additional=None, menu=None):
|
||||
"""
|
||||
Constructor for the StandardCustomSelector class.
|
||||
|
||||
@@ -130,57 +131,85 @@ class StandardCustomSelector(object):
|
||||
self.active_key = active_key
|
||||
self.active_index = 0
|
||||
self.additional = additional
|
||||
|
||||
# make model
|
||||
self.store = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING)
|
||||
|
||||
# fill it up using mapping
|
||||
self.fill()
|
||||
self.menu = menu
|
||||
|
||||
# create combo box entry
|
||||
if cbe:
|
||||
self.selector = cbe
|
||||
self.selector.set_model(self.store)
|
||||
self.selector.set_text_column(1)
|
||||
else:
|
||||
self.selector = gtk.ComboBoxEntry(self.store, 1)
|
||||
if self.active_key is not None:
|
||||
self.selector.set_active(self.active_index)
|
||||
self.selector = gtk.ComboBoxEntry()
|
||||
|
||||
# create models
|
||||
if menu:
|
||||
self.store = self.create_menu()
|
||||
completion_store = self.create_list()
|
||||
else:
|
||||
self.store = self.create_list()
|
||||
completion_store = self.store
|
||||
|
||||
self.selector.set_model(self.store)
|
||||
self.selector.set_text_column(1)
|
||||
|
||||
if menu:
|
||||
for cell in self.selector.get_cells():
|
||||
self.selector.add_attribute(cell, 'sensitive', 2)
|
||||
|
||||
#if self.active_key is not None:
|
||||
#self.selector.set_active(self.active_index)
|
||||
|
||||
# make autocompletion work
|
||||
completion = gtk.EntryCompletion()
|
||||
completion.set_model(self.store)
|
||||
completion.set_model(completion_store)
|
||||
completion.set_minimum_key_length(1)
|
||||
completion.set_text_column(1)
|
||||
self.selector.child.set_completion(completion)
|
||||
|
||||
def fill(self):
|
||||
def create_menu(self):
|
||||
"""
|
||||
Fill with data
|
||||
Create a model and fill it with a two-level tree corresponding to the
|
||||
menu.
|
||||
"""
|
||||
store = gtk.TreeStore(int, str, bool)
|
||||
for heading, items in self.menu:
|
||||
if self.active_key in items:
|
||||
parent = None
|
||||
else:
|
||||
parent = store.append(None, row=[-999, heading, False])
|
||||
for item in items:
|
||||
store.append(parent, row=[item, self.mapping[item], True])
|
||||
|
||||
if self.additional:
|
||||
parent = store.append(None, row=[-999, _('Custom'), False])
|
||||
for event_type in self.additional:
|
||||
key, value = self.get_key_and_value(event_type)
|
||||
store.append(parent, row=[key, value, True])
|
||||
|
||||
return store
|
||||
|
||||
def create_list(self):
|
||||
"""
|
||||
Create a model and fill it with a sorted flat list.
|
||||
"""
|
||||
store = gtk.ListStore(int, str)
|
||||
keys = sorted(self.mapping, self.by_value)
|
||||
index = 0
|
||||
for key in keys:
|
||||
if key != self.custom_key:
|
||||
self.store.append(row=[key, self.mapping[key]])
|
||||
store.append(row=[key, self.mapping[key]])
|
||||
if key == self.active_key:
|
||||
self.active_index = index
|
||||
index += 1
|
||||
|
||||
if self.additional:
|
||||
for event_type in self.additional:
|
||||
if isinstance(event_type, basestring):
|
||||
if event_type:
|
||||
self.store.append(row=[self.custom_key, event_type])
|
||||
elif isinstance(event_type, tuple):
|
||||
if event_type[1]:
|
||||
self.store.append(row=[event_type[0], event_type[1]])
|
||||
else:
|
||||
self.store.append(row=[int(event_type), str(event_type)])
|
||||
key, value = self.get_key_and_value(event_type)
|
||||
store.append(row=[key, value])
|
||||
if key == self.active_key:
|
||||
self.active_index = index
|
||||
index += 1
|
||||
|
||||
return store
|
||||
|
||||
def by_value(self, first, second):
|
||||
"""
|
||||
Method for sorting keys based on the values.
|
||||
@@ -235,4 +264,16 @@ class StandardCustomSelector(object):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def get_key_and_value(self, event_type):
|
||||
"""
|
||||
Return the key and value for the given event type. The event type may be
|
||||
a string representing a custom type, an (int, str) tuple or an EventType
|
||||
instance.
|
||||
"""
|
||||
if isinstance(event_type, basestring):
|
||||
return (self.custom_key, event_type)
|
||||
elif isinstance(event_type, tuple):
|
||||
if event_type[1]:
|
||||
return (event_type[0], event_type[1])
|
||||
else:
|
||||
return(int(event_type), str(event_type))
|
||||
|
||||
+21
-21
@@ -304,22 +304,22 @@ class Bookmarks :
|
||||
|
||||
class ListBookmarks(Bookmarks):
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
self.goto_handle = goto_handle
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
self.change_active = change_active
|
||||
Bookmarks.__init__(self, dbstate, uistate, bookmarks)
|
||||
|
||||
def callback(self, handle):
|
||||
return make_callback(handle, self.do_callback)
|
||||
|
||||
def do_callback(self, handle):
|
||||
self.goto_handle(handle)
|
||||
self.change_active(handle)
|
||||
|
||||
class PersonBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Person', handle)
|
||||
@@ -330,9 +330,9 @@ class PersonBookmarks(ListBookmarks) :
|
||||
class FamilyBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Family', handle)
|
||||
@@ -343,9 +343,9 @@ class FamilyBookmarks(ListBookmarks) :
|
||||
class EventBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Event', handle)
|
||||
@@ -355,9 +355,9 @@ class EventBookmarks(ListBookmarks) :
|
||||
|
||||
class SourceBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Source', handle)
|
||||
@@ -367,9 +367,9 @@ class SourceBookmarks(ListBookmarks) :
|
||||
|
||||
class CitationBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Citation', handle)
|
||||
@@ -403,9 +403,9 @@ class CitationBookmarks(ListBookmarks) :
|
||||
class MediaBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Media', handle)
|
||||
@@ -416,9 +416,9 @@ class MediaBookmarks(ListBookmarks) :
|
||||
class RepoBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Repository', handle)
|
||||
@@ -429,9 +429,9 @@ class RepoBookmarks(ListBookmarks) :
|
||||
class PlaceBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Place', handle)
|
||||
@@ -442,9 +442,9 @@ class PlaceBookmarks(ListBookmarks) :
|
||||
class NoteBookmarks(ListBookmarks) :
|
||||
"Handle the bookmarks interface for Gramps."
|
||||
|
||||
def __init__(self, dbstate, uistate, bookmarks, goto_handle):
|
||||
def __init__(self, dbstate, uistate, bookmarks, change_active):
|
||||
ListBookmarks.__init__(self, dbstate, uistate, bookmarks,
|
||||
goto_handle)
|
||||
change_active)
|
||||
|
||||
def make_label(self, handle):
|
||||
return Utils.navigation_label(self.dbstate.db, 'Note', handle)
|
||||
|
||||
+76
-26
@@ -24,9 +24,8 @@
|
||||
"""
|
||||
Date editing module for GRAMPS.
|
||||
|
||||
The DateEdit.DateEdit provides visual feedback to the user via a pixamp
|
||||
to indicate if the associated GtkEntry box contains a valid date. Green
|
||||
means complete and regular date. Yellow means a valid, but not a regular date.
|
||||
The DateEdit.DateEdit provides visual feedback to the user
|
||||
to indicate if the associated GtkEntry box contains a valid date.
|
||||
Red means that the date is not valid, and will be viewed as a text string
|
||||
instead of a date.
|
||||
|
||||
@@ -47,7 +46,7 @@ unambiguously built using UI controls such as menus and spin buttons.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import logging
|
||||
__LOG = logging.getLogger(".DateEdit")
|
||||
LOG = logging.getLogger(".DateEdit")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -62,7 +61,7 @@ import gtk
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from gen.ggettext import sgettext as _
|
||||
from gen.lib.date import Date, NextYear
|
||||
from gen.lib.date import Date, DateError, NextYear
|
||||
import DateHandler
|
||||
import const
|
||||
import GrampsDisplay
|
||||
@@ -201,6 +200,9 @@ class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||
self.top.get_object('title'),
|
||||
_('Date selection'))
|
||||
|
||||
self.statusbar = self.top.get_object('statusbar')
|
||||
|
||||
self.ok_button = self.top.get_object('ok_button')
|
||||
self.calendar_box = self.top.get_object('calendar_box')
|
||||
for name in Date.ui_calendar_names:
|
||||
self.calendar_box.get_model().append([name])
|
||||
@@ -273,8 +275,15 @@ class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||
# want to have several open dialogs, since then the user will
|
||||
# loose track of which is which. Much like opening files.
|
||||
|
||||
self.return_date = None
|
||||
self.validated_date = self.return_date = None
|
||||
|
||||
for o in self.top.get_objects():
|
||||
try:
|
||||
if o != self.ok_button:
|
||||
o.connect_after('changed', self.revalidate)
|
||||
except TypeError:
|
||||
pass # some of them don't support the signal, ignore them...
|
||||
self.revalidate()
|
||||
self.show()
|
||||
|
||||
while True:
|
||||
@@ -286,19 +295,53 @@ class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||
break
|
||||
else:
|
||||
if response == gtk.RESPONSE_OK:
|
||||
(the_quality, the_modifier, the_calendar,
|
||||
the_value, the_text, the_newyear) = self.build_date_from_ui()
|
||||
self.return_date = Date(self.date)
|
||||
self.return_date.set(
|
||||
quality=the_quality,
|
||||
modifier=the_modifier,
|
||||
calendar=the_calendar,
|
||||
value=the_value,
|
||||
text=the_text,
|
||||
newyear=the_newyear)
|
||||
# if the user pressed OK/enter while inside an edit field,
|
||||
# e.g., the year,
|
||||
# build_date_from_ui won't pick up the new text in the
|
||||
# run of revalidate that allowed the OK!
|
||||
if not self.revalidate():
|
||||
continue
|
||||
self.return_date = Date()
|
||||
self.return_date.copy(self.validated_date)
|
||||
self.close()
|
||||
break
|
||||
|
||||
def revalidate(self, obj = None):
|
||||
"""
|
||||
If anything changed, revalidate the date and
|
||||
enable/disable the "OK" button based on the result.
|
||||
"""
|
||||
(the_quality, the_modifier, the_calendar, the_value,
|
||||
the_text, the_newyear) = self.build_date_from_ui()
|
||||
LOG.debug("revalidate: {0} changed, value: {1}".format(
|
||||
obj, the_value))
|
||||
d = Date(self.date)
|
||||
if not self.ok_button.get_sensitive():
|
||||
self.statusbar.pop(1)
|
||||
try:
|
||||
d.set(
|
||||
quality=the_quality,
|
||||
modifier=the_modifier,
|
||||
calendar=the_calendar,
|
||||
value=the_value,
|
||||
text=the_text,
|
||||
newyear=the_newyear)
|
||||
# didn't throw yet?
|
||||
self.validated_date = d
|
||||
LOG.debug("validated_date set to: {0}".format(d.dateval))
|
||||
self.ok_button.set_sensitive(1)
|
||||
self.calendar_box.set_sensitive(1)
|
||||
return True
|
||||
except DateError as e:
|
||||
self.ok_button.set_sensitive(0)
|
||||
self.calendar_box.set_sensitive(0)
|
||||
self.statusbar.push(1,
|
||||
_("Correct the date or switch from `{cur_mode}' to `{text_mode}'"
|
||||
).format(
|
||||
cur_mode = MOD_TEXT[self.type_box.get_active()][1],
|
||||
text_mode = MOD_TEXT[-1][1]))
|
||||
return False
|
||||
|
||||
def build_menu_names(self, obj):
|
||||
"""
|
||||
Define the menu entry for the ManagedWindows
|
||||
@@ -394,19 +437,24 @@ class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||
|
||||
old_cal = self.date.get_calendar()
|
||||
new_cal = self.calendar_box.get_active()
|
||||
LOG.debug(">>>switch_calendar: {0} changed, {1} -> {2}".format(
|
||||
obj, old_cal, new_cal))
|
||||
|
||||
(the_quality, the_modifier, the_calendar,
|
||||
the_value, the_text, the_newyear) = self.build_date_from_ui()
|
||||
self.date.set(
|
||||
quality=the_quality,
|
||||
modifier=the_modifier,
|
||||
calendar=old_cal,
|
||||
value=the_value,
|
||||
text=the_text,
|
||||
newyear=the_newyear)
|
||||
|
||||
if not self.date.is_empty():
|
||||
self.date.convert_calendar(new_cal)
|
||||
try:
|
||||
self.date.set(
|
||||
quality=the_quality,
|
||||
modifier=the_modifier,
|
||||
calendar=old_cal,
|
||||
value=the_value,
|
||||
text=the_text,
|
||||
newyear=the_newyear)
|
||||
except DateError:
|
||||
pass
|
||||
else:
|
||||
if not self.date.is_empty():
|
||||
self.date.convert_calendar(new_cal)
|
||||
|
||||
self.start_month_box.get_model().clear()
|
||||
self.stop_month_box.get_model().clear()
|
||||
@@ -421,3 +469,5 @@ class DateEditorDialog(ManagedWindow.ManagedWindow):
|
||||
self.stop_day.set_value(self.date.get_stop_day())
|
||||
self.stop_month_box.set_active(self.date.get_stop_month())
|
||||
self.stop_year.set_value(self.date.get_stop_year())
|
||||
LOG.debug("<<<switch_calendar: {0} changed, {1} -> {2}".format(
|
||||
obj, old_cal, new_cal))
|
||||
|
||||
@@ -166,8 +166,10 @@ class DateParserCZ(DateParser):
|
||||
}
|
||||
|
||||
quality_to_int = {
|
||||
u'přibližně' : Date.QUAL_ESTIMATED,
|
||||
u'odhadované' : Date.QUAL_ESTIMATED,
|
||||
u'odh.' : Date.QUAL_ESTIMATED,
|
||||
u'vypočteno' : Date.QUAL_CALCULATED,
|
||||
u'vypočtené' : Date.QUAL_CALCULATED,
|
||||
u'vyp.' : Date.QUAL_CALCULATED,
|
||||
}
|
||||
@@ -238,14 +240,14 @@ class DateDisplayCZ(DateDisplay):
|
||||
return date.get_text()
|
||||
elif start == Date.EMPTY:
|
||||
return ""
|
||||
elif mod == Date.MOD_NONE:
|
||||
date_decl_string = self.display_cal[cal](start)
|
||||
date_decl_string = date_decl_string.replace(u"den ", u"dna ")
|
||||
date_decl_string = date_decl_string.replace(u"or ", u"ora ")
|
||||
date_decl_string = date_decl_string.replace(u"en ", u"na ")
|
||||
date_decl_string = date_decl_string.replace(u"ad ", u"adu ")
|
||||
date_decl_string = date_decl_string.replace(u"ec ", u"ce ")
|
||||
return date_decl_string
|
||||
# elif mod == Date.MOD_NONE:
|
||||
# date_decl_string = self.display_cal[cal](start)
|
||||
# date_decl_string = date_decl_string.replace(u"den ", u"dna ")
|
||||
# date_decl_string = date_decl_string.replace(u"or ", u"ora ")
|
||||
# date_decl_string = date_decl_string.replace(u"en ", u"na ")
|
||||
# date_decl_string = date_decl_string.replace(u"ad ", u"adu ")
|
||||
# date_decl_string = date_decl_string.replace(u"ec ", u"ce ")
|
||||
# return date_decl_string
|
||||
elif mod == Date.MOD_SPAN:
|
||||
dat1 = self.display_cal[cal](start)
|
||||
dat2 = self.display_cal[cal](date.get_stop_date())
|
||||
|
||||
@@ -51,6 +51,7 @@ class DateParserRU(DateParser):
|
||||
|
||||
modifier_to_int = {
|
||||
u'перед' : Date.MOD_BEFORE,
|
||||
u'до' : Date.MOD_BEFORE,
|
||||
u'по' : Date.MOD_BEFORE,
|
||||
u'после' : Date.MOD_AFTER,
|
||||
u'п.' : Date.MOD_AFTER,
|
||||
@@ -257,7 +258,7 @@ class DateDisplayRU(DateDisplay):
|
||||
|
||||
_mod_str = (
|
||||
u"",
|
||||
u"перед ",
|
||||
u"до ",
|
||||
u"после ",
|
||||
u"около ",
|
||||
u"", u"", u"")
|
||||
|
||||
+235
-178
@@ -16,10 +16,7 @@
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# DateHandler/_Date_sr.py
|
||||
# $Id$
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
# Serbian version by Vlada Perić <vlada.peric@gmail.com>, 2009.
|
||||
@@ -28,7 +25,7 @@
|
||||
"""
|
||||
Serbian-specific classes for parsing and displaying dates.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Python modules
|
||||
@@ -57,153 +54,153 @@ class DateParserSR(DateParser):
|
||||
"""
|
||||
month_to_int = DateParser.month_to_int
|
||||
|
||||
month_to_int[u"januar"] = 1
|
||||
month_to_int[u"januara"] = 1
|
||||
month_to_int[u"jan"] = 1
|
||||
month_to_int[u"јан"] = 1
|
||||
month_to_int[u"јануара"] = 1
|
||||
month_to_int[u"јануар"] = 1
|
||||
month_to_int[u"i"] = 1
|
||||
month_to_int["januar"] = 1
|
||||
month_to_int["januara"] = 1
|
||||
month_to_int["jan"] = 1
|
||||
month_to_int["јан"] = 1
|
||||
month_to_int["јануара"] = 1
|
||||
month_to_int["јануар"] = 1
|
||||
month_to_int["i"] = 1
|
||||
|
||||
month_to_int[u"februar"] = 2
|
||||
month_to_int[u"februara"] = 2
|
||||
month_to_int[u"feb"] = 2
|
||||
month_to_int[u"феб"] = 2
|
||||
month_to_int[u"фебруар"] = 2
|
||||
month_to_int[u"фебруара"] = 2
|
||||
month_to_int[u"ii"] = 2
|
||||
month_to_int["februar"] = 2
|
||||
month_to_int["februara"] = 2
|
||||
month_to_int["feb"] = 2
|
||||
month_to_int["феб"] = 2
|
||||
month_to_int["фебруар"] = 2
|
||||
month_to_int["фебруара"] = 2
|
||||
month_to_int["ii"] = 2
|
||||
|
||||
month_to_int[u"mart"] = 3
|
||||
month_to_int[u"marta"] = 3
|
||||
month_to_int[u"mar"] = 3
|
||||
month_to_int[u"мар"] = 3
|
||||
month_to_int[u"март"] = 3
|
||||
month_to_int[u"марта"] = 3
|
||||
month_to_int[u"iii"] = 3
|
||||
month_to_int["mart"] = 3
|
||||
month_to_int["marta"] = 3
|
||||
month_to_int["mar"] = 3
|
||||
month_to_int["мар"] = 3
|
||||
month_to_int["март"] = 3
|
||||
month_to_int["марта"] = 3
|
||||
month_to_int["iii"] = 3
|
||||
|
||||
month_to_int[u"april"] = 4
|
||||
month_to_int[u"aprila"] = 4
|
||||
month_to_int[u"apr"] = 4
|
||||
month_to_int[u"апр"] = 4
|
||||
month_to_int[u"април"] = 4
|
||||
month_to_int[u"априла"] = 4
|
||||
month_to_int[u"iv"] = 4
|
||||
month_to_int["april"] = 4
|
||||
month_to_int["aprila"] = 4
|
||||
month_to_int["apr"] = 4
|
||||
month_to_int["апр"] = 4
|
||||
month_to_int["април"] = 4
|
||||
month_to_int["априла"] = 4
|
||||
month_to_int["iv"] = 4
|
||||
|
||||
month_to_int[u"maj"] = 5
|
||||
month_to_int[u"maja"] = 5
|
||||
month_to_int[u"мај"] = 5
|
||||
month_to_int[u"маја"] = 5
|
||||
month_to_int[u"v"] = 5
|
||||
month_to_int["maj"] = 5
|
||||
month_to_int["maja"] = 5
|
||||
month_to_int["мај"] = 5
|
||||
month_to_int["маја"] = 5
|
||||
month_to_int["v"] = 5
|
||||
|
||||
month_to_int[u"jun"] = 6
|
||||
month_to_int[u"juna"] = 6
|
||||
month_to_int[u"јун"] = 6
|
||||
month_to_int[u"јуна"] = 6
|
||||
month_to_int[u"vi"] = 6
|
||||
month_to_int["jun"] = 6
|
||||
month_to_int["juna"] = 6
|
||||
month_to_int["јун"] = 6
|
||||
month_to_int["јуна"] = 6
|
||||
month_to_int["vi"] = 6
|
||||
|
||||
month_to_int[u"jul"] = 7
|
||||
month_to_int[u"jula"] = 7
|
||||
month_to_int[u"јул"] = 7
|
||||
month_to_int[u"јула"] = 7
|
||||
month_to_int[u"vii"] = 7
|
||||
month_to_int["jul"] = 7
|
||||
month_to_int["jula"] = 7
|
||||
month_to_int["јул"] = 7
|
||||
month_to_int["јула"] = 7
|
||||
month_to_int["vii"] = 7
|
||||
|
||||
month_to_int[u"avgust"] = 8
|
||||
month_to_int[u"avgusta"] = 8
|
||||
month_to_int[u"avg"] = 8
|
||||
month_to_int[u"авг"] = 8
|
||||
month_to_int[u"август"] = 8
|
||||
month_to_int[u"августа"] = 8
|
||||
month_to_int[u"viii"] = 8
|
||||
month_to_int["avgust"] = 8
|
||||
month_to_int["avgusta"] = 8
|
||||
month_to_int["avg"] = 8
|
||||
month_to_int["авг"] = 8
|
||||
month_to_int["август"] = 8
|
||||
month_to_int["августа"] = 8
|
||||
month_to_int["viii"] = 8
|
||||
|
||||
month_to_int[u"septembar"] = 9
|
||||
month_to_int[u"septembra"] = 9
|
||||
month_to_int[u"sep"] = 9
|
||||
month_to_int[u"сеп"] = 9
|
||||
month_to_int[u"септембар"] = 9
|
||||
month_to_int[u"септембра"] = 9
|
||||
month_to_int[u"ix"] = 9
|
||||
month_to_int["septembar"] = 9
|
||||
month_to_int["septembra"] = 9
|
||||
month_to_int["sep"] = 9
|
||||
month_to_int["сеп"] = 9
|
||||
month_to_int["септембар"] = 9
|
||||
month_to_int["септембра"] = 9
|
||||
month_to_int["ix"] = 9
|
||||
|
||||
month_to_int[u"oktobar"] = 10
|
||||
month_to_int[u"oktobra"] = 10
|
||||
month_to_int[u"okt"] = 10
|
||||
month_to_int[u"окт"] = 10
|
||||
month_to_int[u"октобар"] = 10
|
||||
month_to_int[u"октобра"] = 10
|
||||
month_to_int[u"x"] = 10
|
||||
month_to_int["oktobar"] = 10
|
||||
month_to_int["oktobra"] = 10
|
||||
month_to_int["okt"] = 10
|
||||
month_to_int["окт"] = 10
|
||||
month_to_int["октобар"] = 10
|
||||
month_to_int["октобра"] = 10
|
||||
month_to_int["x"] = 10
|
||||
|
||||
month_to_int[u"novembar"] = 11
|
||||
month_to_int[u"novembra"] = 11
|
||||
month_to_int[u"nov"] = 11
|
||||
month_to_int[u"нов"] = 11
|
||||
month_to_int[u"новембар"] = 11
|
||||
month_to_int[u"новембра"] = 11
|
||||
month_to_int[u"xi"] = 11
|
||||
month_to_int["novembar"] = 11
|
||||
month_to_int["novembra"] = 11
|
||||
month_to_int["nov"] = 11
|
||||
month_to_int["нов"] = 11
|
||||
month_to_int["новембар"] = 11
|
||||
month_to_int["новембра"] = 11
|
||||
month_to_int["xi"] = 11
|
||||
|
||||
month_to_int[u"decembar"] = 12
|
||||
month_to_int[u"decembra"] = 12
|
||||
month_to_int[u"dec"] = 12
|
||||
month_to_int[u"дец"] = 12
|
||||
month_to_int[u"децембар"] = 12
|
||||
month_to_int[u"децембра"] = 12
|
||||
month_to_int[u"xii"] = 12
|
||||
month_to_int["decembar"] = 12
|
||||
month_to_int["decembra"] = 12
|
||||
month_to_int["dec"] = 12
|
||||
month_to_int["дец"] = 12
|
||||
month_to_int["децембар"] = 12
|
||||
month_to_int["децембра"] = 12
|
||||
month_to_int["xii"] = 12
|
||||
|
||||
modifier_to_int = {
|
||||
u'pre' : Date.MOD_BEFORE,
|
||||
u'posle' : Date.MOD_AFTER,
|
||||
u'oko' : Date.MOD_ABOUT,
|
||||
u'cca' : Date.MOD_ABOUT,
|
||||
'pre' : Date.MOD_BEFORE,
|
||||
'posle' : Date.MOD_AFTER,
|
||||
'oko' : Date.MOD_ABOUT,
|
||||
'cca' : Date.MOD_ABOUT,
|
||||
|
||||
u'пре' : Date.MOD_BEFORE,
|
||||
u'после' : Date.MOD_AFTER,
|
||||
u'око' : Date.MOD_ABOUT,
|
||||
'пре' : Date.MOD_BEFORE,
|
||||
'после' : Date.MOD_AFTER,
|
||||
'око' : Date.MOD_ABOUT,
|
||||
}
|
||||
|
||||
calendar_to_int = {
|
||||
u'gregorijanski' : Date.CAL_GREGORIAN,
|
||||
u'greg.' : Date.CAL_GREGORIAN,
|
||||
u'julijanski' : Date.CAL_JULIAN,
|
||||
u'jul.' : Date.CAL_JULIAN,
|
||||
u'hebrejski' : Date.CAL_HEBREW,
|
||||
u'hebr.' : Date.CAL_HEBREW,
|
||||
u'islamski' : Date.CAL_ISLAMIC,
|
||||
u'isl.' : Date.CAL_ISLAMIC,
|
||||
u'francuski republikanski': Date.CAL_FRENCH,
|
||||
u'franc.' : Date.CAL_FRENCH,
|
||||
u'persijski' : Date.CAL_PERSIAN,
|
||||
u'pers. ' : Date.CAL_PERSIAN,
|
||||
u'švedski' : Date.CAL_SWEDISH,
|
||||
u'šv.' : Date.CAL_SWEDISH,
|
||||
'gregorijanski' : Date.CAL_GREGORIAN,
|
||||
'greg.' : Date.CAL_GREGORIAN,
|
||||
'julijanski' : Date.CAL_JULIAN,
|
||||
'jul.' : Date.CAL_JULIAN,
|
||||
'hebrejski' : Date.CAL_HEBREW,
|
||||
'hebr.' : Date.CAL_HEBREW,
|
||||
'islamski' : Date.CAL_ISLAMIC,
|
||||
'isl.' : Date.CAL_ISLAMIC,
|
||||
'francuski republikanski': Date.CAL_FRENCH,
|
||||
'franc.' : Date.CAL_FRENCH,
|
||||
'persijski' : Date.CAL_PERSIAN,
|
||||
'pers. ' : Date.CAL_PERSIAN,
|
||||
'švedski' : Date.CAL_SWEDISH,
|
||||
'šv.' : Date.CAL_SWEDISH,
|
||||
|
||||
u'грегоријански' : Date.CAL_GREGORIAN,
|
||||
u'грег.' : Date.CAL_GREGORIAN,
|
||||
u'јулијански' : Date.CAL_JULIAN,
|
||||
u'јул.' : Date.CAL_JULIAN,
|
||||
u'хебрејски' : Date.CAL_HEBREW,
|
||||
u'хебр.' : Date.CAL_HEBREW,
|
||||
u'исламски' : Date.CAL_ISLAMIC,
|
||||
u'исл.' : Date.CAL_ISLAMIC,
|
||||
u'француски републикански': Date.CAL_FRENCH,
|
||||
u'франц.' : Date.CAL_FRENCH,
|
||||
u'персијски' : Date.CAL_PERSIAN,
|
||||
u'перс. ' : Date.CAL_PERSIAN,
|
||||
u'шведски' : Date.CAL_SWEDISH,
|
||||
u'шв' : Date.CAL_SWEDISH,
|
||||
'грегоријански' : Date.CAL_GREGORIAN,
|
||||
'грег.' : Date.CAL_GREGORIAN,
|
||||
'јулијански' : Date.CAL_JULIAN,
|
||||
'јул.' : Date.CAL_JULIAN,
|
||||
'хебрејски' : Date.CAL_HEBREW,
|
||||
'хебр.' : Date.CAL_HEBREW,
|
||||
'исламски' : Date.CAL_ISLAMIC,
|
||||
'исл.' : Date.CAL_ISLAMIC,
|
||||
'француски републикански': Date.CAL_FRENCH,
|
||||
'франц.' : Date.CAL_FRENCH,
|
||||
'персијски' : Date.CAL_PERSIAN,
|
||||
'перс. ' : Date.CAL_PERSIAN,
|
||||
'шведски' : Date.CAL_SWEDISH,
|
||||
'шв' : Date.CAL_SWEDISH,
|
||||
}
|
||||
|
||||
quality_to_int = {
|
||||
u'procenjeno' : Date.QUAL_ESTIMATED,
|
||||
u'pro.' : Date.QUAL_ESTIMATED,
|
||||
u'izračunato' : Date.QUAL_CALCULATED,
|
||||
u'izr.' : Date.QUAL_CALCULATED,
|
||||
'procenjeno' : Date.QUAL_ESTIMATED,
|
||||
'pro.' : Date.QUAL_ESTIMATED,
|
||||
'izračunato' : Date.QUAL_CALCULATED,
|
||||
'izr.' : Date.QUAL_CALCULATED,
|
||||
|
||||
u'процењено' : Date.QUAL_ESTIMATED,
|
||||
u'про.' : Date.QUAL_ESTIMATED,
|
||||
u'израчунато' : Date.QUAL_CALCULATED,
|
||||
u'изр.' : Date.QUAL_CALCULATED,
|
||||
'процењено' : Date.QUAL_ESTIMATED,
|
||||
'про.' : Date.QUAL_ESTIMATED,
|
||||
'израчунато' : Date.QUAL_CALCULATED,
|
||||
'изр.' : Date.QUAL_CALCULATED,
|
||||
}
|
||||
|
||||
bce = [u"пре нове ере", u"пре Христа", u"п.н.е."
|
||||
u"pre nove ere", u"pre Hrista", u"p.n.e."] + DateParser.bce
|
||||
bce = ["пре нове ере", "пре Христа", "п.н.е."
|
||||
"pre nove ere", "pre Hrista", "p.n.e."] + DateParser.bce
|
||||
|
||||
def init_strings(self):
|
||||
"""
|
||||
@@ -217,10 +214,10 @@ class DateParserSR(DateParser):
|
||||
# match Day.Month.Year.
|
||||
self._numeric = re.compile("((\d+)[/\. ])?\s*((\d+)[/\.])?\s*(\d+)\.?$")
|
||||
|
||||
_span_1 = [u'od', u'од']
|
||||
_span_2 = [u'do', u'до']
|
||||
_range_1 = [u'između', u'између']
|
||||
_range_2 = [u'i', u'и']
|
||||
_span_1 = ['od', 'од']
|
||||
_span_2 = ['do', 'до']
|
||||
_range_1 = ['između', 'између']
|
||||
_range_2 = ['i', 'и']
|
||||
self._span = re.compile("(%s)\s+(?P<start>.+)\s+(%s)\s+(?P<stop>.+)" %
|
||||
('|'.join(_span_1), '|'.join(_span_2)),
|
||||
re.IGNORECASE)
|
||||
@@ -233,46 +230,15 @@ class DateParserSR(DateParser):
|
||||
# Serbian display
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class DateDisplaySR_latin(DateDisplay):
|
||||
class DateDisplaySR_Base(DateDisplay):
|
||||
"""
|
||||
Serbian (latin) date display class
|
||||
Serbian (base) date display class
|
||||
"""
|
||||
long_months = ("",
|
||||
u"januara", u"februara", u"marta", u"aprila",
|
||||
u"maja", u"juna", u"jula", u"avgusta",
|
||||
u"septembra", u"oktobra", u"novembra", u"decembra"
|
||||
)
|
||||
|
||||
short_months = ("",
|
||||
u"jan", u"feb", u"mar", u"apr", u"maj", u"jun",
|
||||
u"jul", u"avg", u"sep", u"okt", u"nov", u"dec"
|
||||
)
|
||||
|
||||
roman_months = (
|
||||
"", "I", "II", "III", "IV", "V", "VI",
|
||||
"VII", "VIII", "IX", "X", "XI", "XII"
|
||||
)
|
||||
|
||||
calendar = (
|
||||
"", u"julijanski", u"hebrejski",
|
||||
u"francuski republikanski", u"persijski", u"islamski",
|
||||
u"švedski"
|
||||
)
|
||||
|
||||
_mod_str = ("", "pre ", "posle ", "oko ", "", "", "")
|
||||
|
||||
_qual_str = ("", "procenjeno ", "izračunato ")
|
||||
|
||||
_bce_str = "%s p.n.e."
|
||||
|
||||
formats = (
|
||||
"GGGG-MM-DD (ISO-8601)",
|
||||
"Numerički (DD.MM.GGGG.)",
|
||||
"D. MMM GGGG.",
|
||||
"D. Mesec GGGG.",
|
||||
"D. Rb GGGG."
|
||||
)
|
||||
# this definition must agree with its "_display_gregorian" method
|
||||
|
||||
def _display_gregorian(self, date_val):
|
||||
"""
|
||||
@@ -299,27 +265,27 @@ class DateDisplaySR_latin(DateDisplay):
|
||||
# day. month_abbreviation year.
|
||||
if date_val[0] == 0:
|
||||
if date_val[1] == 0:
|
||||
value = u"%s." % year
|
||||
value = "%s." % year
|
||||
else:
|
||||
value = u"%s %s." % (self.short_months[date_val[1]], year)
|
||||
value = "%s %s." % (self.short_months[date_val[1]], year)
|
||||
else:
|
||||
value = u"%d. %s %s." % (date_val[0],
|
||||
self.short_months[date_val[1]], year)
|
||||
value = "%d. %s %s." % (date_val[0],
|
||||
self.short_months[date_val[1]], year)
|
||||
elif self.format == 3:
|
||||
# day. month_name year.
|
||||
if date_val[0] == 0:
|
||||
if date_val[1] == 0:
|
||||
value = u"%s." % year
|
||||
value = "%s." % year
|
||||
else:
|
||||
value = u"%s %s." % (self.long_months[date_val[1]], year)
|
||||
value = "%s %s." % (self.long_months[date_val[1]], year)
|
||||
else:
|
||||
value = u"%d. %s %s." % (date_val[0],
|
||||
self.long_months[date_val[1]], year)
|
||||
value = "%d. %s %s." % (date_val[0],
|
||||
self.long_months[date_val[1]], year)
|
||||
else:
|
||||
# day. Roman_number_month year.
|
||||
if date_val[0] == 0:
|
||||
if date_val[1] == 0:
|
||||
value = u"%s." % year
|
||||
value = "%s." % year
|
||||
else:
|
||||
value = "%s %s." % (self.roman_months[date_val[1]], year)
|
||||
else:
|
||||
@@ -341,6 +307,10 @@ class DateDisplaySR_latin(DateDisplay):
|
||||
newyear = date.get_new_year()
|
||||
|
||||
qual_str = self._qual_str[qual]
|
||||
span1 = self._span1
|
||||
span2 = self._span2
|
||||
range1 = self._range1
|
||||
range2 = self._range2
|
||||
|
||||
if mod == Date.MOD_TEXTONLY:
|
||||
return date.get_text()
|
||||
@@ -350,13 +320,13 @@ class DateDisplaySR_latin(DateDisplay):
|
||||
d_1 = self.display_cal[cal](start)
|
||||
d_2 = self.display_cal[cal](date.get_stop_date())
|
||||
scal = self.format_extras(cal, newyear)
|
||||
return "%s%s %s %s %s%s" % (qual_str, u'od', d_1, u'do', d_2,
|
||||
return "%s%s %s %s %s%s" % (qual_str, span1, d_1, span2, d_2,
|
||||
scal)
|
||||
elif mod == Date.MOD_RANGE:
|
||||
d_1 = self.display_cal[cal](start)
|
||||
d_2 = self.display_cal[cal](date.get_stop_date())
|
||||
scal = self.format_extras(cal, newyear)
|
||||
return "%s%s %s %s %s%s" % (qual_str, u'između', d_1, u'i', d_2,
|
||||
return "%s%s %s %s %s%s" % (qual_str, range1, d_1, range2, d_2,
|
||||
scal)
|
||||
else:
|
||||
text = self.display_cal[date.get_calendar()](start)
|
||||
@@ -364,11 +334,98 @@ class DateDisplaySR_latin(DateDisplay):
|
||||
return "%s%s%s%s" % (qual_str, self._mod_str[mod], text,
|
||||
scal)
|
||||
|
||||
class DateDisplaySR_Latin(DateDisplaySR_Base):
|
||||
"""
|
||||
Serbian (Latin) date display class
|
||||
"""
|
||||
|
||||
long_months = ("",
|
||||
"januara", "februara", "marta", "aprila",
|
||||
"maja", "juna", "jula", "avgusta",
|
||||
"septembra", "oktobra", "novembra", "decembra"
|
||||
)
|
||||
|
||||
short_months = ("",
|
||||
"jan", "feb", "mar", "apr", "maj", "jun",
|
||||
"jul", "avg", "sep", "okt", "nov", "dec"
|
||||
)
|
||||
|
||||
calendar = (
|
||||
"", "julijanski", "hebrejski",
|
||||
"francuski republikanski", "persijski", "islamski",
|
||||
"švedski"
|
||||
)
|
||||
|
||||
_mod_str = ("", "pre ", "posle ", "oko ", "", "", "")
|
||||
|
||||
_qual_str = ("", "procenjeno ", "izračunato ")
|
||||
|
||||
_bce_str = "%s p.n.e."
|
||||
|
||||
formats = (
|
||||
"GGGG-MM-DD (ISO-8601)",
|
||||
"Numerički (DD.MM.GGGG.)",
|
||||
"D. MMM GGGG.",
|
||||
"D. Mesec GGGG.",
|
||||
"D. Rb GGGG."
|
||||
)
|
||||
# this definition must agree with its "_display_gregorian" method
|
||||
|
||||
_span1 = 'od'
|
||||
_span2 = 'do'
|
||||
_range1 = 'između'
|
||||
_range2 = 'i'
|
||||
|
||||
class DateDisplaySR_Cyrillic(DateDisplaySR_Base):
|
||||
"""
|
||||
Serbian (Cyrillic) date display class
|
||||
"""
|
||||
|
||||
long_months = ("",
|
||||
"Јануар", "Фебруар", "Март", "Април",
|
||||
"Мај", "Јуне", "Јули", "Аугуст",
|
||||
"Септембар", "Оцтобер", "Новембер", "Децембар"
|
||||
)
|
||||
|
||||
short_months = ("",
|
||||
"Јан", "Феб", "Мар", "Апр", "Мај", "Јун",
|
||||
"Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"
|
||||
)
|
||||
|
||||
calendar = (
|
||||
"", "Јулиан", "хебрејски",
|
||||
"француски републиканац", "Персиан", "исламски",
|
||||
"шведски"
|
||||
)
|
||||
|
||||
_mod_str = ("", "пре ", "после ", "око ", "", "", "")
|
||||
|
||||
_qual_str = ("", "процењено ", "израчунато ")
|
||||
|
||||
_bce_str = "%s п.н.е."
|
||||
|
||||
formats = (
|
||||
"ГГГГ-ММ-ДД (ISO-8601)",
|
||||
"Нумеричка (ДД.ММ.ГГГГ.)",
|
||||
"Д. МММ ГГГГ.",
|
||||
"Д. Месец ГГГГ.",
|
||||
"Д. Rb ГГГГ."
|
||||
)
|
||||
# this definition must agree with its "_display_gregorian" method
|
||||
|
||||
_span1 = 'из'
|
||||
_span2 = 'до'
|
||||
_range1 = 'између'
|
||||
_range2 = 'и'
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Register classes
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
register_datehandler(('sr', 'serbian', 'srpski', 'sr_RS'),
|
||||
DateParserSR, DateDisplaySR_latin)
|
||||
register_datehandler(('srpski', 'Srpski',
|
||||
'sr_Latn', 'sr_Latn_RS', 'sr_RS@latin'),
|
||||
DateParserSR, DateDisplaySR_Latin)
|
||||
register_datehandler(('sr', 'српски', 'Српски', 'serbian',
|
||||
'sr_RS', 'sr_Cyrl', 'sr_Cyrl_RS'),
|
||||
DateParserSR, DateDisplaySR_Cyrillic)
|
||||
|
||||
+90
-131
@@ -18,20 +18,17 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# DateHandler/_Date_zh.py
|
||||
# $Id$
|
||||
#
|
||||
|
||||
"""
|
||||
Simplified-Chinese-specific classes for parsing and displaying dates.
|
||||
"""
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
"""
|
||||
Chinese-specific classes for parsing and displaying dates.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import re
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -39,7 +36,6 @@ import re
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
from gen.lib import Date
|
||||
from _DateParser import DateParser
|
||||
from _DateDisplay import DateDisplay
|
||||
@@ -47,147 +43,128 @@ from _DateHandler import register_datehandler
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Chinese parser
|
||||
# Simplified-Chinese parser
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class DateParserZH(DateParser):
|
||||
class DateParserZH_CN(DateParser):
|
||||
"""
|
||||
Convert a text string into a Date object. If the date cannot be
|
||||
converted, the text string is assigned.
|
||||
"""
|
||||
|
||||
# translate english strings into chinese
|
||||
|
||||
# modifiers before the date
|
||||
modifier_to_int = {
|
||||
u'before' : Date.MOD_BEFORE, u'bef' : Date.MOD_BEFORE,
|
||||
u'bef.' : Date.MOD_BEFORE, u'after' : Date.MOD_AFTER,
|
||||
u'aft' : Date.MOD_AFTER, u'aft.' : Date.MOD_AFTER,
|
||||
u'about' : Date.MOD_ABOUT, u'abt.' : Date.MOD_ABOUT,
|
||||
u'abt' : Date.MOD_ABOUT, u'circa' : Date.MOD_ABOUT,
|
||||
u'c.' : Date.MOD_ABOUT, u'around' : Date.MOD_ABOUT,
|
||||
'以前' : Date.MOD_BEFORE,
|
||||
'以后' : Date.MOD_AFTER,
|
||||
'大约' : Date.MOD_ABOUT,
|
||||
}
|
||||
|
||||
month_to_int = DateParser.month_to_int
|
||||
|
||||
month_to_int[u"正"] = 1
|
||||
month_to_int[u"一"] = 1
|
||||
month_to_int[u"zhēngyuè"] = 1
|
||||
month_to_int[u"二"] = 2
|
||||
month_to_int[u"èryuè"] = 2
|
||||
month_to_int[u"三"] = 3
|
||||
month_to_int[u"sānyuè"] = 3
|
||||
month_to_int[u"四"] = 4
|
||||
month_to_int[u"sìyuè"] = 4
|
||||
month_to_int[u"五"] = 5
|
||||
month_to_int[u"wǔyuè"] = 5
|
||||
month_to_int[u"六"] = 6
|
||||
month_to_int[u"liùyuè"] = 6
|
||||
month_to_int[u"七"] = 7
|
||||
month_to_int[u"qīyuè"] = 7
|
||||
month_to_int[u"八"] = 8
|
||||
month_to_int[u"bāyuè"] = 8
|
||||
month_to_int[u"九"] = 9
|
||||
month_to_int[u"jiǔyuè"] = 9
|
||||
month_to_int[u"十"] = 10
|
||||
month_to_int[u"shíyuè"] = 10
|
||||
month_to_int[u"十一"] = 11
|
||||
month_to_int[u"shíyīyuè"] = 11
|
||||
month_to_int[u"十二"] = 12
|
||||
month_to_int[u"shí'èryuè"] = 12
|
||||
month_to_int[u"假閏"] = 13
|
||||
month_to_int[u"jiǎ rùn yùe"] = 13
|
||||
|
||||
# translate english strings into chinese
|
||||
month_to_int["正"] = 1
|
||||
month_to_int["一"] = 1
|
||||
month_to_int["zhēngyuè"] = 1
|
||||
month_to_int["二"] = 2
|
||||
month_to_int["èryuè"] = 2
|
||||
month_to_int["三"] = 3
|
||||
month_to_int["sānyuè"] = 3
|
||||
month_to_int["四"] = 4
|
||||
month_to_int["sìyuè"] = 4
|
||||
month_to_int["五"] = 5
|
||||
month_to_int["wǔyuè"] = 5
|
||||
month_to_int["六"] = 6
|
||||
month_to_int["liùyuè"] = 6
|
||||
month_to_int["七"] = 7
|
||||
month_to_int["qīyuè"] = 7
|
||||
month_to_int["八"] = 8
|
||||
month_to_int["bāyuè"] = 8
|
||||
month_to_int["九"] = 9
|
||||
month_to_int["jiǔyuè"] = 9
|
||||
month_to_int["十"] = 10
|
||||
month_to_int["shíyuè"] = 10
|
||||
month_to_int["十一"] = 11
|
||||
month_to_int["shíyīyuè"] = 11
|
||||
month_to_int["十二"] = 12
|
||||
month_to_int["shí'èryuè"] = 12
|
||||
month_to_int["假閏"] = 13
|
||||
month_to_int["jiǎ rùn yùe"] = 13
|
||||
|
||||
calendar_to_int = {
|
||||
'gregorian' : Date.CAL_GREGORIAN,
|
||||
'阳历' : Date.CAL_GREGORIAN,
|
||||
'g' : Date.CAL_GREGORIAN,
|
||||
'julian' : Date.CAL_JULIAN,
|
||||
'儒略历' : Date.CAL_JULIAN,
|
||||
'j' : Date.CAL_JULIAN,
|
||||
'hebrew' : Date.CAL_HEBREW,
|
||||
'希伯来历' : Date.CAL_HEBREW,
|
||||
'h' : Date.CAL_HEBREW,
|
||||
'islamic' : Date.CAL_ISLAMIC,
|
||||
'伊斯兰历' : Date.CAL_ISLAMIC,
|
||||
'i' : Date.CAL_ISLAMIC,
|
||||
'french' : Date.CAL_FRENCH,
|
||||
'french republican': Date.CAL_FRENCH,
|
||||
'法国共和历' : Date.CAL_FRENCH,
|
||||
'f' : Date.CAL_FRENCH,
|
||||
'persian' : Date.CAL_PERSIAN,
|
||||
'伊郎历' : Date.CAL_PERSIAN,
|
||||
'p' : Date.CAL_PERSIAN,
|
||||
'swedish' : Date.CAL_SWEDISH,
|
||||
'瑞典历' : Date.CAL_SWEDISH,
|
||||
's' : Date.CAL_SWEDISH,
|
||||
}
|
||||
|
||||
# translate english strings into chinese
|
||||
|
||||
quality_to_int = {
|
||||
u'estimated' : Date.QUAL_ESTIMATED,
|
||||
u'est.' : Date.QUAL_ESTIMATED,
|
||||
u'est' : Date.QUAL_ESTIMATED,
|
||||
u'calc.' : Date.QUAL_CALCULATED,
|
||||
u'calc' : Date.QUAL_CALCULATED,
|
||||
u'calculated' : Date.QUAL_CALCULATED,
|
||||
'据估计' : Date.QUAL_ESTIMATED,
|
||||
'据计算' : Date.QUAL_CALCULATED,
|
||||
}
|
||||
|
||||
# translate english strings into chinese
|
||||
|
||||
bce = [u"before calendar", u"negative year"] + DateParser.bce
|
||||
# FIXME translate these English strings into simplified-Chinese ones
|
||||
bce = ["before calendar", "negative year"] + DateParser.bce
|
||||
|
||||
def init_strings(self):
|
||||
"""
|
||||
This method compiles regular expression strings for matching dates.
|
||||
|
||||
Most of the re's in most languages can stay as is. span and range
|
||||
most likely will need to change. Whatever change is done, this method
|
||||
may be called first as DateParser.init_strings(self) so that the
|
||||
invariant expresions don't need to be repeteadly coded. All differences
|
||||
can be coded after DateParser.init_strings(self) call, that way they
|
||||
override stuff from this method. See DateParserRU() as an example.
|
||||
"""
|
||||
DateParser.init_strings(self)
|
||||
|
||||
# day: 日 ; month : 月 ; year : 年
|
||||
|
||||
# See DateParser class; translate english strings (from/to, between/and) into chinese
|
||||
# do not translate <start> and <stop>
|
||||
|
||||
self._span = re.compile(u"(from)\s+(?P<start>.+)\s+to\s+(?P<stop>.+)",
|
||||
re.IGNORECASE)
|
||||
self._range = re.compile(u"(bet|bet.|between)\s+(?P<start>.+)\s+and\s+(?P<stop>.+)",
|
||||
re.IGNORECASE)
|
||||
_span_1 = ['自']
|
||||
_span_2 = ['至']
|
||||
_range_1 = ['介于']
|
||||
_range_2 = ['与']
|
||||
self._span = re.compile("(%s)\s+(?P<start>.+)\s+(%s)\s+(?P<stop>.+)" %
|
||||
('|'.join(_span_1), '|'.join(_span_2)),
|
||||
re.IGNORECASE)
|
||||
self._range = re.compile("(%s)\s+(?P<start>.+)\s+(%s)\s+(?P<stop>.+)" %
|
||||
('|'.join(_range_1), '|'.join(_range_2)),
|
||||
re.IGNORECASE)
|
||||
|
||||
#def _parse_lunisolar(self, date_val=text):
|
||||
#text = text.strip() # otherwise spaces can make it a bad date
|
||||
#date = Date(self._qual_str, self._mod_str, self._cal_str, text, self._ny_str)
|
||||
#return unicode(text)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Chinese display
|
||||
# Simplified-Chinese display
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class DateDisplayZH(DateDisplay):
|
||||
class DateDisplayZH_CN(DateDisplay):
|
||||
"""
|
||||
Chinese language date display class.
|
||||
Simplified-Chinese language date display class.
|
||||
"""
|
||||
|
||||
# translate english strings into chinese
|
||||
|
||||
long_months = ( u"", u"January", u"February", u"March", u"April", u"May",
|
||||
u"June", u"July", u"August", u"September", u"October",
|
||||
u"November", u"December" )
|
||||
# this is used to display the 12 gregorian months
|
||||
long_months = ( "", "正月", "二月", "三月", "四月", "五月",
|
||||
"六月", "七月", "八月", "九月", "十月",
|
||||
"十一月", "十二月" )
|
||||
|
||||
short_months = ( u"", u"Jan", u"Feb", u"Mar", u"Apr", u"May", u"Jun",
|
||||
u"Jul", u"Aug", u"Sep", u"Oct", u"Nov", u"Dec" )
|
||||
short_months = ( "", "一月", "二月", "三月", "四月", "五月", "六月",
|
||||
"七月", "八月", "九月", "十月", "十一月", "十二月" )
|
||||
|
||||
formats = (
|
||||
"年年年年-月月-日日 (ISO)", "数字格式", "月 日,年",
|
||||
"月 日,年", "日 月 年", "日 月 年",
|
||||
)
|
||||
# this must agree with DateDisplayEn's "formats" definition
|
||||
# (since no locale-specific _display_gregorian exists, here)
|
||||
|
||||
calendar = (
|
||||
"", u"Julian", u"Hebrew", u"French Republican",
|
||||
u"Persian", u"Islamic", u"Swedish"
|
||||
"", "儒略历", "希伯来历", "法国共和历",
|
||||
"伊郎历", "伊斯兰历", "瑞典历"
|
||||
)
|
||||
|
||||
_mod_str = ("", u"before ", u"after ", u"around ", "", "", "")
|
||||
_mod_str = ("", "以前 ", "以后 ", "大约 ", "", "", "")
|
||||
|
||||
_qual_str = ("", u"estimated ", u"calculated ", "")
|
||||
_qual_str = ("", "据估计 ", "据计算 ", "")
|
||||
|
||||
# FIXME translate these English strings into simplified-Chinese ones
|
||||
_bce_str = "%s B.C.E."
|
||||
|
||||
|
||||
@@ -195,7 +172,6 @@ class DateDisplayZH(DateDisplay):
|
||||
"""
|
||||
Return a text string representing the date.
|
||||
"""
|
||||
|
||||
mod = date.get_modifier()
|
||||
cal = date.get_calendar()
|
||||
qual = date.get_quality()
|
||||
@@ -209,45 +185,28 @@ class DateDisplayZH(DateDisplay):
|
||||
elif start == Date.EMPTY:
|
||||
return ""
|
||||
elif mod == Date.MOD_SPAN:
|
||||
date1 = self.display_cal[cal](start)
|
||||
date2 = self.display_cal[cal](date.get_stop_date())
|
||||
d1 = self.display_cal[cal](start)
|
||||
d2 = self.display_cal[cal](date.get_stop_date())
|
||||
scal = self.format_extras(cal, newyear)
|
||||
# translate english strings into chinese
|
||||
return "%s%s %s %s %s%s" % (qual_str, u'from', date1, u'to',
|
||||
date2, scal)
|
||||
return "%s%s %s %s %s%s" % (qual_str, '自', d1, '至', d2, scal)
|
||||
elif mod == Date.MOD_RANGE:
|
||||
date1 = self.display_cal[cal](start)
|
||||
date2 = self.display_cal[cal](date.get_stop_date())
|
||||
d1 = self.display_cal[cal](start)
|
||||
d2 = self.display_cal[cal](date.get_stop_date())
|
||||
scal = self.format_extras(cal, newyear)
|
||||
# translate english strings into chinese
|
||||
return "%s%s %s %s %s%s" % (qual_str, u'between', date1, u'and',
|
||||
date2, scal)
|
||||
return "%s%s %s %s %s%s之间" % (qual_str, '介于', d1, '与',
|
||||
d2, scal)
|
||||
else:
|
||||
text = self.display_cal[date.get_calendar()](start)
|
||||
scal = self.format_extras(cal, newyear)
|
||||
return "%s%s%s%s" % (qual_str, (self._mod_str)[mod], text,
|
||||
scal)
|
||||
|
||||
#def _display_chinese(self, date_val):
|
||||
#self._tformat = '%Y年%m月%d日'
|
||||
#year = self._slash_year(date_val[2], date_val[3])
|
||||
#if date_val[3]:
|
||||
#return self.display_iso(date_val)
|
||||
#else:
|
||||
#if date_val[0] == date_val[1] == 0:
|
||||
#value = u'%Y年' % date_val[2]
|
||||
#else:
|
||||
#value = self._tformat.replace('%m月', str(self.lunisolar[date_val[1]]))
|
||||
#value = u'%m月' % date_val[1]
|
||||
#value = u'%d日' % date_val[0]
|
||||
#value = u'%Y年' % date_val[2]
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Register classes
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
register_datehandler(('zh_CN', 'zh_TW', 'zh_SG', 'zh_HK', 'zh', 'chinese', 'Chinese'),
|
||||
DateParserZH, DateDisplayZH)
|
||||
register_datehandler(('zh_CN', 'zh_SG', 'zh_TW', 'zh_HK',
|
||||
'zh', 'chinese', 'Chinese'),
|
||||
DateParserZH_CN, DateDisplayZH_CN)
|
||||
|
||||
@@ -17,6 +17,7 @@ pkgpython_PYTHON = \
|
||||
_HasReferenceCountOf.py \
|
||||
_HasSource.py \
|
||||
_HasSourceIdOf.py \
|
||||
_HasSourceNoteRegexp.py \
|
||||
_MatchesFilter.py \
|
||||
_MatchesPageSubstringOf.py \
|
||||
_MatchesRepositoryFilter.py \
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2014 Nick Hall
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# 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
|
||||
#
|
||||
|
||||
"""
|
||||
Filter rule to match citations whose source notes contain a substring or
|
||||
match a regular expression.
|
||||
"""
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Standard python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from gen.ggettext import gettext as _
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from Filters.Rules._HasNoteRegexBase import HasNoteRegexBase
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# HasSourceNoteRegexp
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class HasSourceNoteRegexp(HasNoteRegexBase):
|
||||
"""
|
||||
Rule that checks if a citation has a source note that contains a
|
||||
substring or matches a regular expression.
|
||||
"""
|
||||
|
||||
name = _('Citations having source notes containing <text>')
|
||||
description = _("Matches citations whose source notes contain a substring "
|
||||
"or match a regular expression")
|
||||
category = _('Source filters')
|
||||
|
||||
def apply(self, db, citation):
|
||||
source = db.get_source_from_handle(citation.get_reference_handle())
|
||||
if HasNoteRegexBase.apply(self, db, source):
|
||||
return True
|
||||
return False
|
||||
@@ -38,6 +38,7 @@ from _HasNoteRegexp import HasNoteRegexp
|
||||
from _HasReferenceCountOf import HasReferenceCountOf
|
||||
from _HasSource import HasSource
|
||||
from _HasSourceIdOf import HasSourceIdOf
|
||||
from _HasSourceNoteRegexp import HasSourceNoteRegexp
|
||||
from _MatchesFilter import MatchesFilter
|
||||
from _MatchesPageSubstringOf import MatchesPageSubstringOf
|
||||
from _MatchesRepositoryFilter import MatchesRepositoryFilter
|
||||
@@ -57,6 +58,7 @@ editor_rule_list = [
|
||||
HasReferenceCountOf,
|
||||
HasSource,
|
||||
HasSourceIdOf,
|
||||
HasSourceNoteRegexp,
|
||||
MatchesFilter,
|
||||
MatchesPageSubstringOf,
|
||||
MatchesRepositoryFilter,
|
||||
|
||||
@@ -24,6 +24,7 @@ pkgpython_PYTHON = \
|
||||
_MatchesSourceConfidence.py\
|
||||
_MatchesSourceFilter.py\
|
||||
_HasAttribute.py\
|
||||
_HasDayOfWeek.py\
|
||||
__init__.py
|
||||
|
||||
pkgpyexecdir = @pkgpyexecdir@/Filters/Rules/Event
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2013 Nick Hall
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Standard Python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from gen.ggettext import gettext as _
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from Filters.Rules import Rule
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# HasDayOfWeek
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class HasDayOfWeek(Rule):
|
||||
"""Rule that matches an event occurring on a particular day of the week."""
|
||||
|
||||
labels = [ _('Day of Week:') ]
|
||||
name = _('Events occurring on a particular day of the week')
|
||||
description = _('Matches events occurring on a particular day of the week')
|
||||
category = _('General filters')
|
||||
|
||||
def apply(self, db, event):
|
||||
if not self.list[0]:
|
||||
return False
|
||||
else:
|
||||
dow = event.get_date_object().get_dow()
|
||||
return dow == int(self.list[0])
|
||||
@@ -48,6 +48,7 @@ from _HasAttribute import HasAttribute
|
||||
from _HasData import HasData
|
||||
from _ChangedSince import ChangedSince
|
||||
from _MatchesPlaceFilter import MatchesPlaceFilter
|
||||
from _HasDayOfWeek import HasDayOfWeek
|
||||
|
||||
editor_rule_list = [
|
||||
AllEvents,
|
||||
@@ -68,5 +69,6 @@ editor_rule_list = [
|
||||
HasAttribute,
|
||||
HasData,
|
||||
ChangedSince,
|
||||
MatchesPlaceFilter
|
||||
MatchesPlaceFilter,
|
||||
HasDayOfWeek
|
||||
]
|
||||
|
||||
@@ -60,13 +60,13 @@ class HasAssociation(Rule):
|
||||
else:
|
||||
self.count_type = 1 # "equal to"
|
||||
|
||||
self.userSelectedCount = int(self.list[0])
|
||||
self.selected_count = int(self.list[0])
|
||||
|
||||
def apply(self, db, person):
|
||||
return len( person.get_person_ref_list()) > 0
|
||||
count = len(person.get_person_ref_list())
|
||||
if self.count_type == 0: # "lesser than"
|
||||
return count < self.userSelectedCount
|
||||
return count < self.selected_count
|
||||
elif self.count_type == 2: # "greater than"
|
||||
return count > self.userSelectedCount
|
||||
return count > self.selected_count
|
||||
# "equal to"
|
||||
return count == self.userSelectedCount
|
||||
return count == self.selected_count
|
||||
|
||||
@@ -50,7 +50,8 @@ class HasEvent(HasEventBase):
|
||||
_('Date:'),
|
||||
_('Place:'),
|
||||
_('Description:'),
|
||||
_('Main Participants') ]
|
||||
_('Main Participants:'),
|
||||
_('Primary Role:') ]
|
||||
name = _('People with the personal <event>')
|
||||
description = _("Matches people with a personal event of a particular "
|
||||
"value")
|
||||
@@ -59,7 +60,7 @@ class HasEvent(HasEventBase):
|
||||
for event_ref in person.get_event_ref_list():
|
||||
if not event_ref:
|
||||
continue
|
||||
if event_ref.role != EventRoleType.PRIMARY:
|
||||
if int(self.list[5]) and event_ref.role != EventRoleType.PRIMARY:
|
||||
# Only match primaries, no witnesses
|
||||
continue
|
||||
event = dbase.get_event_from_handle(event_ref.ref)
|
||||
|
||||
@@ -70,6 +70,8 @@ class IsAncestorOf(Rule):
|
||||
def init_ancestor_list(self, db, person,first):
|
||||
if not person:
|
||||
return
|
||||
if person.handle in self.map:
|
||||
return
|
||||
if not first:
|
||||
self.map.add(person.handle)
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ class HasEventBase(Rule):
|
||||
_('Date:'),
|
||||
_('Place:'),
|
||||
_('Description:'),
|
||||
_('Main Participants') ]
|
||||
_('Main Participants:') ]
|
||||
name = _('Events matching parameters')
|
||||
description = _("Matches events with particular parameters")
|
||||
category = _('Event filters')
|
||||
|
||||
@@ -45,7 +45,8 @@ import gen.lib
|
||||
from Filters.SideBar import SidebarFilter
|
||||
from Filters import GenericFilterFactory, build_filter_model, Rules
|
||||
from Filters.Rules.Citation import (RegExpIdOf, HasCitation, HasNoteRegexp,
|
||||
MatchesFilter, HasSource, RegExpSourceIdOf)
|
||||
MatchesFilter, HasSource, RegExpSourceIdOf,
|
||||
HasSourceNoteRegexp)
|
||||
from Utils import confidence
|
||||
GenericCitationFilter = GenericFilterFactory('Citation')
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -173,6 +174,10 @@ class CitationSidebarFilter(SidebarFilter):
|
||||
rule = HasNoteRegexp([note], use_regex=regex)
|
||||
generic_filter.add_rule(rule)
|
||||
|
||||
if src_note:
|
||||
rule = HasSourceNoteRegexp([src_note], use_regex=regex)
|
||||
generic_filter.add_rule(rule)
|
||||
|
||||
if self.generic.get_active() != 0:
|
||||
model = self.generic.get_model()
|
||||
node = self.generic.get_active_iter()
|
||||
|
||||
@@ -201,7 +201,8 @@ class PersonSidebarFilter(SidebarFilter):
|
||||
|
||||
# Build an event filter if needed
|
||||
if etype:
|
||||
rule = HasEvent([etype, u'', u'', u'', u''], use_regex=regex)
|
||||
rule = HasEvent([etype, u'', u'', u'', u'', True],
|
||||
use_regex=regex)
|
||||
generic_filter.add_rule(rule)
|
||||
|
||||
# Build birth event filter if needed
|
||||
|
||||
@@ -166,6 +166,9 @@ class FilterParser(handler.ContentHandler):
|
||||
and len(self.a) == 3):
|
||||
self.use_regex = self.a[2] == '1'
|
||||
self.a = self.a[:2]
|
||||
# HasEvent rule has extra primary role field in v3.4.7
|
||||
if self.r == Rules.Person.HasEvent and len(self.a) == 5:
|
||||
self.a.append('1')
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
@@ -66,7 +66,7 @@ except KeyError:
|
||||
|
||||
def help(webpage='', section=''):
|
||||
"""
|
||||
Display the specified webpage and section from the Gramps 3.0 wiki.
|
||||
Display the specified webpage and section from the Gramps wiki.
|
||||
"""
|
||||
if not webpage:
|
||||
link = const.URL_WIKISTRING + const.URL_MANUAL_PAGE + EXTENSION
|
||||
|
||||
+41
-26
@@ -46,6 +46,20 @@ import tempfile
|
||||
#-------------------------------------------------------------------------
|
||||
import Utils
|
||||
|
||||
def crop_percentage_to_subpixel(width, height, crop):
|
||||
"""
|
||||
Convert from Gramps cropping coordinates [0, 100] to
|
||||
pixels, given image width and height. No rounding to pixel resolution.
|
||||
"""
|
||||
return (
|
||||
crop[0]/100.0*width,
|
||||
crop[1]/100.0*height,
|
||||
crop[2]/100.0*width,
|
||||
crop[3]/100.0*height )
|
||||
|
||||
def crop_percentage_to_pixel(width, height, crop):
|
||||
return map (int, crop_percentage_to_subpixel(width, height, crop))
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# resize_to_jpeg
|
||||
@@ -72,12 +86,9 @@ def resize_to_jpeg(source, destination, width, height, crop=None):
|
||||
img = gtk.gdk.pixbuf_new_from_file(source)
|
||||
|
||||
if crop:
|
||||
# Gramps cropping coorinates are [0, 100], so we need to convert to pixels
|
||||
start_x = int((crop[0]/100.0)*img.get_width())
|
||||
start_y = int((crop[1]/100.0)*img.get_height())
|
||||
end_x = int((crop[2]/100.0)*img.get_width())
|
||||
end_y = int((crop[3]/100.0)*img.get_height())
|
||||
|
||||
(start_x, start_y, end_x, end_y
|
||||
) = crop_percentage_to_pixel(
|
||||
img.get_width(), img.get_height(), crop)
|
||||
img = img.subpixbuf(start_x, start_y, end_x-start_x, end_y-start_y)
|
||||
|
||||
# Need to keep the ratio intact, otherwise scaled images look stretched
|
||||
@@ -92,35 +103,44 @@ def resize_to_jpeg(source, destination, width, height, crop=None):
|
||||
# image_dpi
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
MM_PER_INCH = 25.4
|
||||
def image_dpi(source):
|
||||
"""
|
||||
Return the dpi found in the image header. None is returned if no dpi attribute
|
||||
is available.
|
||||
Return the dpi found in the image header. Use a sensible
|
||||
default of the screen DPI or 96.0 dpi if N/A.
|
||||
|
||||
:param source: source image file, in any format that PIL recognizes
|
||||
:type source: unicode
|
||||
:rtype: int
|
||||
:returns: the DPI setting in the image header
|
||||
:returns: (x_dpi, y_dpi)
|
||||
"""
|
||||
try:
|
||||
import PIL.Image
|
||||
except ImportError:
|
||||
import logging
|
||||
logging.warning(_("WARNING: PIL module not loaded. "
|
||||
"Image cropping in report files will not be available."))
|
||||
|
||||
dpi = None
|
||||
"Image cropping in report files will be impaired."))
|
||||
else:
|
||||
try:
|
||||
img = PIL.Image.open(source)
|
||||
except IOError:
|
||||
dpi = None
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
dpi = img.info["dpi"]
|
||||
return dpi
|
||||
except (AttributeError, KeyError):
|
||||
dpi = None
|
||||
|
||||
pass
|
||||
try:
|
||||
import gtk
|
||||
dpi = (
|
||||
gtk.gdk.screen_width() * MM_PER_INCH / gtk.gdk.screen_width_mm(),
|
||||
gtk.gdk.screen_height() * MM_PER_INCH / gtk.gdk.screen_height_mm()
|
||||
)
|
||||
except:
|
||||
dpi = (96.0,96.0) #LibOO 3.6 assumes this if image contains no DPI info
|
||||
# This isn't safe even within a single platform (Windows), but we
|
||||
# can't do better if all of the above failed. See bug# 7290.
|
||||
return dpi
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -203,12 +223,9 @@ def resize_to_buffer(source, size, crop=None):
|
||||
img = gtk.gdk.pixbuf_new_from_file(source)
|
||||
|
||||
if crop:
|
||||
# Gramps cropping coorinates are [0, 100], so we need to convert to pixels
|
||||
start_x = int((crop[0]/100.0)*img.get_width())
|
||||
start_y = int((crop[1]/100.0)*img.get_height())
|
||||
end_x = int((crop[2]/100.0)*img.get_width())
|
||||
end_y = int((crop[3]/100.0)*img.get_height())
|
||||
|
||||
(start_x, start_y, end_x, end_y
|
||||
) = crop_percentage_to_pixel(
|
||||
img.get_width(), img.get_height(), crop)
|
||||
img = img.subpixbuf(start_x, start_y, end_x-start_x, end_y-start_y)
|
||||
|
||||
# Need to keep the ratio intact, otherwise scaled images look stretched
|
||||
@@ -243,11 +260,9 @@ def resize_to_jpeg_buffer(source, size, crop=None):
|
||||
img = gtk.gdk.pixbuf_new_from_file(source)
|
||||
|
||||
if crop:
|
||||
# Gramps cropping coorinates are [0, 100], so we need to convert to pixels
|
||||
start_x = int((crop[0]/100.0)*img.get_width())
|
||||
start_y = int((crop[1]/100.0)*img.get_height())
|
||||
end_x = int((crop[2]/100.0)*img.get_width())
|
||||
end_y = int((crop[3]/100.0)*img.get_height())
|
||||
(start_x, start_y, end_x, end_y
|
||||
) = crop_percentage_to_pixel(
|
||||
img.get_width(), img.get_height(), crop)
|
||||
|
||||
img = img.subpixbuf(start_x, start_y, end_x-start_x, end_y-start_y)
|
||||
|
||||
|
||||
@@ -156,8 +156,7 @@ class MergeCitations(ManagedWindow.ManagedWindow):
|
||||
titanic = self.citation1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Citation')
|
||||
|
||||
if self.get_widget("page_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_page(titanic.get_page())
|
||||
|
||||
@@ -170,8 +170,7 @@ class MergeEvents(ManagedWindow.ManagedWindow):
|
||||
titanic = self.ev1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Event')
|
||||
|
||||
if self.get_widget("type_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_type(titanic.get_type())
|
||||
|
||||
@@ -202,8 +202,7 @@ class MergeFamilies(ManagedWindow.ManagedWindow):
|
||||
titanic = self.fy1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Family')
|
||||
|
||||
phoenix_fh = phoenix.get_father_handle()
|
||||
phoenix_mh = phoenix.get_mother_handle()
|
||||
|
||||
@@ -152,8 +152,7 @@ class MergeMediaObjects(ManagedWindow.ManagedWindow):
|
||||
titanic = self.mo1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Media')
|
||||
|
||||
if self.get_widget("path_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_path(titanic.get_path())
|
||||
|
||||
@@ -165,8 +165,7 @@ class MergeNotes(ManagedWindow.ManagedWindow):
|
||||
titanic = self.no1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Note')
|
||||
|
||||
if self.get_widget("text_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_styledtext(titanic.get_styledtext())
|
||||
|
||||
@@ -72,7 +72,7 @@ class MergePeople(ManagedWindow.ManagedWindow):
|
||||
Displays a dialog box that allows the persons to be combined into one.
|
||||
"""
|
||||
def __init__(self, dbstate, uistate, handle1, handle2, cb_update=None,
|
||||
expand_context_info=False):
|
||||
expand_context_info=True):
|
||||
ManagedWindow.ManagedWindow.__init__(self, uistate, [], self.__class__)
|
||||
self.database = dbstate.db
|
||||
self.pr1 = self.database.get_person_from_handle(handle1)
|
||||
@@ -313,8 +313,7 @@ class MergePeople(ManagedWindow.ManagedWindow):
|
||||
titanic = self.pr1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Person')
|
||||
|
||||
if self.get_widget("name_btn1").get_active() ^ use_handle1:
|
||||
swapname = phoenix.get_primary_name()
|
||||
|
||||
@@ -174,9 +174,7 @@ class MergePlaces(ManagedWindow.ManagedWindow):
|
||||
titanic = self.pl1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Place')
|
||||
|
||||
if self.get_widget("title_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_title(titanic.get_title())
|
||||
|
||||
@@ -141,8 +141,7 @@ class MergeRepositories(ManagedWindow.ManagedWindow):
|
||||
titanic = self.rp1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Repository')
|
||||
|
||||
if self.get_widget("name_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_name(titanic.get_name())
|
||||
|
||||
@@ -165,8 +165,7 @@ class MergeSources(ManagedWindow.ManagedWindow):
|
||||
titanic = self.src1
|
||||
# Add second handle to history so that when merge is complete,
|
||||
# phoenix is the selected row.
|
||||
self.uistate.viewmanager.active_page.get_history().push(
|
||||
phoenix.get_handle())
|
||||
self.uistate.set_active(phoenix.get_handle(), 'Source')
|
||||
|
||||
if self.get_widget("title_btn1").get_active() ^ use_handle1:
|
||||
phoenix.set_title(titanic.get_title())
|
||||
|
||||
+26
-31
@@ -162,25 +162,23 @@ class RecentFiles(object):
|
||||
"""
|
||||
Saves the current GRAMPS RecentFiles collection to the associated file.
|
||||
"""
|
||||
xml_file = file(os.path.expanduser(GRAMPS_FILENAME),'w')
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_EX)
|
||||
xml_file.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||
xml_file.write('<RecentFiles>\n')
|
||||
index = 0
|
||||
for item in self.gramps_recent_files:
|
||||
index += 1
|
||||
if index > MAX_GRAMPS_ITEMS:
|
||||
break
|
||||
xml_file.write(' <RecentItem>\n')
|
||||
xml_file.write(' <Path><![CDATA[%s]]></Path>\n' % item.get_path())
|
||||
xml_file.write(' <Name><![CDATA[%s]]></Name>\n' % item.get_name())
|
||||
xml_file.write(' <Timestamp>%d</Timestamp>\n' % item.get_time())
|
||||
xml_file.write(' </RecentItem>\n')
|
||||
xml_file.write('</RecentFiles>\n')
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_UN)
|
||||
xml_file.close()
|
||||
with open(os.path.expanduser(GRAMPS_FILENAME), 'w') as xml_file:
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_EX)
|
||||
xml_file.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||
xml_file.write('<RecentFiles>\n')
|
||||
index = 0
|
||||
for item in self.gramps_recent_files:
|
||||
index += 1
|
||||
if index > MAX_GRAMPS_ITEMS:
|
||||
break
|
||||
xml_file.write(' <RecentItem>\n')
|
||||
xml_file.write(' <Path><![CDATA[%s]]></Path>\n' % item.get_path())
|
||||
xml_file.write(' <Name><![CDATA[%s]]></Name>\n' % item.get_name())
|
||||
xml_file.write(' <Timestamp>%d</Timestamp>\n' % item.get_time())
|
||||
xml_file.write(' </RecentItem>\n')
|
||||
xml_file.write('</RecentFiles>\n')
|
||||
# all advisory locks on a file are released on close
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -196,19 +194,16 @@ class RecentParser(object):
|
||||
self.recent_files = []
|
||||
|
||||
try:
|
||||
xml_file = open(os.path.expanduser(GRAMPS_FILENAME))
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_SH)
|
||||
with open(os.path.expanduser(GRAMPS_FILENAME)) as xml_file:
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_SH)
|
||||
|
||||
p = ParserCreate()
|
||||
p.StartElementHandler = self.startElement
|
||||
p.EndElementHandler = self.endElement
|
||||
p.CharacterDataHandler = self.characters
|
||||
p.ParseFile(xml_file)
|
||||
|
||||
if use_lock:
|
||||
fcntl.lockf(xml_file,fcntl.LOCK_UN)
|
||||
xml_file.close()
|
||||
p = ParserCreate()
|
||||
p.StartElementHandler = self.startElement
|
||||
p.EndElementHandler = self.endElement
|
||||
p.CharacterDataHandler = self.characters
|
||||
p.ParseFile(xml_file)
|
||||
# all advisory locks on a file are released on close
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
+3
-1
@@ -2,6 +2,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2005-2006 Donald N. Allingham
|
||||
# Copyright (C) 2014 Vassilii Khachaturov
|
||||
#
|
||||
# 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
|
||||
@@ -97,7 +98,8 @@ class Spell(object):
|
||||
return
|
||||
else:
|
||||
try:
|
||||
gtkspell_spell = gtkspell.Spell(self.textview)
|
||||
with self.textview.undo_disabled():
|
||||
gtkspell_spell = gtkspell.Spell(self.textview)
|
||||
self._active_spellcheck = spellcheck_code
|
||||
except:
|
||||
# attaching the spellchecker will fail if
|
||||
|
||||
+2
-2
@@ -837,7 +837,7 @@ class ProbablyAlive(object):
|
||||
return (date1, date2, explain, other)
|
||||
|
||||
def ancestors_too_old(person, year):
|
||||
LOG.debug("ancestors_too_old('{}', {})".format(
|
||||
LOG.debug("ancestors_too_old('{0}', {1})".format(
|
||||
name_displayer.display(person), year) )
|
||||
family_handle = person.get_main_parents_family_handle()
|
||||
if family_handle:
|
||||
@@ -986,7 +986,7 @@ def probably_alive(person, db,
|
||||
max_sib_age_diff, max_age_prob_alive, avg_generation_gap)
|
||||
if current_date is None:
|
||||
current_date = gen.lib.date.Today()
|
||||
LOG.debug("{}: b.{}, d.{} - {}".format(
|
||||
LOG.debug("{0}: b.{1}, d.{2} - {3}".format(
|
||||
" ".join(person.get_primary_name().get_text_data_list()),
|
||||
birth, death, explain))
|
||||
if not birth or not death:
|
||||
|
||||
+15
-17
@@ -392,7 +392,7 @@ class ArgHandler(object):
|
||||
@param: climan: the manager of a CLI session
|
||||
@type: CLIManager object
|
||||
"""
|
||||
|
||||
# Handle the "-l" List Family Trees option.
|
||||
if self.list:
|
||||
print _('List of known family trees in your database path\n').\
|
||||
encode(sys.getfilesystemencoding())
|
||||
@@ -403,6 +403,7 @@ class ArgHandler(object):
|
||||
'f_t_name' : name}).encode(sys.getfilesystemencoding())
|
||||
sys.exit(0)
|
||||
|
||||
# Handle the "-L" List Family Trees in detail option.
|
||||
if self.list_more:
|
||||
print _('Gramps Family Trees:').encode(sys.getfilesystemencoding())
|
||||
summary_list = self.dbman.family_tree_summary()
|
||||
@@ -418,25 +419,28 @@ class ArgHandler(object):
|
||||
encode(sys.getfilesystemencoding())
|
||||
sys.exit(0)
|
||||
|
||||
# Handle the "-t" List Family Trees, tab delimited option.
|
||||
if self.list_table:
|
||||
print _('Gramps Family Trees:').encode(sys.getfilesystemencoding())
|
||||
summary_list = self.dbman.family_tree_summary()
|
||||
print _("Family Tree").encode(sys.getfilesystemencoding()),
|
||||
if not summary_list:
|
||||
sys.exit(0)
|
||||
# We have to construct the line elements together, to avoid
|
||||
# insertion of blank spaces when print on the same line is used
|
||||
line_list = [_("Family Tree").encode(sys.getfilesystemencoding())]
|
||||
for key in sorted(summary_list[0]):
|
||||
if key != _("Family tree"):
|
||||
print "\t ",
|
||||
print key.encode(sys.getfilesystemencoding()),
|
||||
print
|
||||
line_list += [key.encode(sys.getfilesystemencoding())]
|
||||
print "\t".join(line_list)
|
||||
for summary in sorted(summary_list,
|
||||
key=lambda sum: sum[_("Family tree")].lower()):
|
||||
print '"%s"'.\
|
||||
encode(sys.getfilesystemencoding()) % summary[_("Family tree")],
|
||||
line_list = [('"%s"' % summary[_("Family tree")]).\
|
||||
encode(sys.getfilesystemencoding())]
|
||||
for item in sorted(summary):
|
||||
if item != _("Family tree"):
|
||||
print "\t ",
|
||||
print ('"%s"' % summary[item]).\
|
||||
encode(sys.getfilesystemencoding()),
|
||||
print
|
||||
line_list += [('"%s"' % summary[item]).\
|
||||
encode(sys.getfilesystemencoding())]
|
||||
print "\t".join(line_list)
|
||||
sys.exit(0)
|
||||
|
||||
self.__open_action()
|
||||
@@ -560,12 +564,6 @@ class ArgHandler(object):
|
||||
if family_tree_format == plugin.get_extension():
|
||||
import_function = plugin.get_import_function()
|
||||
import_function(self.dbstate.db, filename, None)
|
||||
|
||||
if not self.cl:
|
||||
if self.imp_db_path:
|
||||
return self.sm.open_activate(self.imp_db_path)
|
||||
else:
|
||||
return self.sm.open_activate(self.open)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
+11
-1
@@ -238,6 +238,13 @@ class CLIManager(object):
|
||||
_("Family Tree does not exist, as it has been deleted."))
|
||||
return
|
||||
|
||||
if os.path.isfile(os.path.join(filename, "lock")):
|
||||
self._errordialog(
|
||||
_("The database is locked."),
|
||||
_("Use the --force-unlock option if you are sure "
|
||||
"that the database is not in use."))
|
||||
return
|
||||
|
||||
if self.db_loader.read_file(filename):
|
||||
# Attempt to figure out the database title
|
||||
path = os.path.join(filename, "name.txt")
|
||||
@@ -279,7 +286,10 @@ class CLIManager(object):
|
||||
# apply preferred researcher if loaded file has none
|
||||
res = self.dbstate.db.get_researcher()
|
||||
owner = get_researcher()
|
||||
if res.get_name() == "" and owner.get_name() != "":
|
||||
# If the DB Owner Info is empty and
|
||||
# [default] Researcher is not empty and
|
||||
# database is empty, then copy default researcher to DB owner
|
||||
if res.is_empty() and not owner.is_empty() and self.dbstate.db.is_empty():
|
||||
self.dbstate.db.set_researcher(owner)
|
||||
|
||||
name_displayer.set_name_format(self.dbstate.db.name_formats)
|
||||
|
||||
@@ -299,7 +299,7 @@ class CommandLineReport(object):
|
||||
|
||||
self.options_help['papers'][2] = \
|
||||
[ paper.get_name() for paper in paper_sizes
|
||||
if paper.get_name() != _("Custom Size") ]
|
||||
if paper.get_name() != 'Custom Size' ]
|
||||
|
||||
self.options_help['papero'][2] = [
|
||||
"%d\tPortrait" % PAPER_PORTRAIT,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user