Compare commits

..
Author SHA1 Message Date
John Ralls e7247af252 Release Gramps-5.0.2 on Mac. 2019-08-24 16:11:26 -07:00
John Ralls ed02e39d5d Revert "Add entitlements file for hardening and notarizing Gramps.app."
This reverts commit e72695ca90.
I'd already added the correct version of the file.
2019-08-17 17:39:06 -07:00
John Ralls e72695ca90 Add entitlements file for hardening and notarizing Gramps.app. 2019-08-17 17:37:18 -07:00
John Ralls d5db6e2b65 An entitlements plist for codesigning Gramps.
Python is an interpreter and therefore needs to create executable
memory. Since it doesn't know how to sign that memory it requires
the allow-unsigned-executable-memory entitlement to run in a hardened
runtime. One must apply this entitlement to both Gramps.app and
Gramps.app/Contents/MacOS/dot when codesigning them.
2019-08-16 12:41:18 -07:00
Zdeněk Hataš 1294d53bc1 Update Czech translation 2019-08-15 13:08:56 +02:00
Ross GammonandNick Hall bdaa0d8c59 Update Debian files to 5.0.2 release 2019-08-11 15:49:23 +01:00
niememat d2deae8ff7 Fix translation in Finnish 2019-08-10 13:40:42 +03:00
niememat a4cbdb34df Update finnish translation 2019-08-09 13:28:22 +03:00
613 changed files with 224110 additions and 330362 deletions
-3
View File
@@ -23,8 +23,5 @@ test/data
Thumbs.db
ehthumbs.db
# IDE
.idea/
# Glade temp files
*~
+2 -2
View File
@@ -126,10 +126,10 @@ class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct function names
function-rgx=(([a-z_][a-z0-9_]{2,30})|(_T_))$
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=(([a-z_][a-z0-9_]{2,30})|(_T_))$
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
+6 -6
View File
@@ -72,7 +72,7 @@ install:
# by the automatic git checkout.
# Download Sean Ross-Ross's Pure Python module containing a framework to
# manipulate and analyze python asts and bytecode. This is loaded to
# manipulate and analyze python asts and bytecode. This is loaded to
# /home/travis/build/gramps-project/gramps/meta
# FIXME: This should be loaded from the release directory at
# https://pypi.python.org/pypi/meta
@@ -95,11 +95,11 @@ before_script:
# set GRAMPS_RESOURCES for locale, data,image and documentation
- export GRAMPS_RESOURCES=.
# Install addons
- mkdir -p ~/.gramps/gramps51/plugins/
- wget https://github.com/gramps-project/addons/raw/master/gramps51/download/CliMerge.addon.tgz
- tar -C ~/.gramps/gramps51/plugins -xzf CliMerge.addon.tgz
- wget https://github.com/gramps-project/addons/raw/master/gramps51/download/ExportRaw.addon.tgz
- tar -C ~/.gramps/gramps51/plugins -xzf ExportRaw.addon.tgz
- mkdir -p ~/.gramps/gramps50/plugins/
- wget https://github.com/gramps-project/addons/raw/master/gramps50/download/CliMerge.addon.tgz
- tar -C ~/.gramps/gramps50/plugins -xzf CliMerge.addon.tgz
- wget https://github.com/gramps-project/addons/raw/master/gramps50/download/ExportRaw.addon.tgz
- tar -C ~/.gramps/gramps50/plugins -xzf ExportRaw.addon.tgz
script:
# Ignore the virtualenv entirely. Use nosetests3, python3 (3.4.0) and coverage
+477 -227
View File
@@ -1,259 +1,97 @@
2019-09-14 SNoiraud <Serge.Noiraud@free.fr>
2019-08-08 prculley <paulr2787@gmail.com>
* gramps/gen/filters/rules/place/_withinarea.py: Fix deprecation
warning in withinarea rule
* AUTHORS, ChangeLog, FAQ, NEWS, po/ChangeLog, po/gramps.pot:
Prepare for Release 5.0.2
2019-09-14 Nick Hall <nick-h@gramps-project.org>
2019-08-08 Paul Culley <paulr2787@gmail.com>
* gramps/gui/grampsgui.py: Disable development warning message
* gramps/gen/plug/_gramplet.py: Fix some Gramplets not updating
during tree changes after db change. (#865) Fixes #11234
2019-09-13 Jonas Hahnfeld <hahnjo@hahnjo.de>
2019-08-08 Paul Culley <paulr2787@gmail.com>
* gramps/gen/plug/docgen/treedoc.py: Add options to sandclock in
tree document generator This works and is actually needed to style the root node.
* gramps/plugins/gramplet/events.py: Fix Events Grampslet for bad
sort order on dates/ages (#867) Fixes #7616
2019-09-11 SNoiraud <Serge.Noiraud@free.fr>
2019-08-08 Paul Culley <paulr2787@gmail.com>
* gramps/gui/filters/sidebar/_personsidebarfilter.py: Using regex in
the sidebar gives different result from previous gramps release. Fixes #11321
* gramps/gui/editors/displaytabs/backreflist.py,
gramps/gui/editors/displaytabs/backrefmodel.py: Fix References Tab
to update on Deletes of items when editor is open (#864) Fixes #11231
2019-09-12 Jérôme Rapinat <romjerome@yahoo.fr>
2019-08-08 Paul Culley <paulr2787@gmail.com>
* po/fr.po: Add missing French translation strings
* data/tests/imp_notetest_dfs.gramps,
gramps/plugins/lib/libgedcom.py: Fix GEDCOM import for better
support of TMG (#861) Fixes #11224
2019-09-10 Gil da Costa <gdacosta@sommier-colas.fr>
2019-08-07 Paul Culley <paulr2787@gmail.com>
* po/fr.po: Update French translation
* gramps/gui/editors/__init__.py: Fix Edit Link 'New' button to work
(#863) Fixes #11225
2019-09-09 prculley <paulr2787@gmail.com>
2019-08-07 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/docgen/odfdoc.py: Fix odt output when db owner has
XML unfriendly chars ('&') Fixes #11327
* data/tests/exp_sample_ged.ged, data/tests/imp_sample.ged,
data/tests/imp_sample.gramps,
gramps/plugins/export/exportgedcom.py,
gramps/plugins/lib/libgedcom.py: Fix GEDCOM importer to properly
handle multiple surnames per 5.5.1 (#862) Fixes #11228
2019-09-11 John Bickmore <johnbickmore@users.noreply.github.com>
2019-08-01 Serge Noiraud <Serge.Noiraud@laposte.net>
* README.md: Bump required Python version to 3.3 on Readme As mentioned on the release announcement
* gramps/plugins/webreport/common.py,
gramps/plugins/webreport/place.py: Narrative web: Sort problem with
places. (#854) * Narrative web: Sort problem with places. Fixes #10868. Places list is not sorted depending on the selected language. If you start gramps in english or another language then try to
generated a narrative web report in another language, the navigation
alphabet is incorrect. This is true for the place list and the
person list. The problem was related to pyICU. * Narrative web: some pylint improvement.
https://gramps-project.org/introduction-WP/2019/08/gramps-5-1-0-released/
2019-08-01 Paul Culley <paulr2787@gmail.com>
2019-09-08 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gui/navigator.py, gramps/gui/viewmanager.py: Fix Navigator
sidebar so can change view type with proper resize (#853) Fixes #6422, #11164
* gramps/plugins/webreport/narrativeweb.py: Remove
reload_custom_filters to conform to PR894
2019-07-31 Paul Culley <paulr2787@gmail.com>
2019-09-07 prculley <paulr2787@gmail.com>
* gramps/gui/views/treemodels/flatbasemodel.py: fix crash when using
sidebar filter and merging in another view (#858) Fixes #11089, #11064, #11134
* gramps/cli/grampscli.py: Fix CLI crash when generating reports Fixes #11318, #11213
2019-07-31 Paul Culley <paulr2787@gmail.com>
2019-09-06 prculley <paulr2787@gmail.com>
* gramps/plugins/drawreport/ancestortree.py,
gramps/plugins/lib/librecurse.py: Fix AncestorTree so add siblings
to center person works (#852) Fixes #11215
* gramps/gui/views/listview.py: Fix Statusbar HandleError on merge
families Fixes #11320, #11294, #11279
2019-07-31 Paul Culley <paulr2787@gmail.com>
2019-09-12 Avi Markovitz <avi.markovitz@gmail.com>
* gramps/gen/config.py, gramps/gen/plug/docgen/graphdoc.py,
gramps/grampsapp.py, gramps/gui/configure.py: Fix graphs on Windows
for font selection not working (#849) Fixes #11212
* po/he.po: Update Hebrew translation
2019-07-31 Paul Culley <paulr2787@gmail.com>
2019-09-12 Matti Niemelä <matti.u.niemela@gmail.com>
* gramps/plugins/db/dbapi/dbapi.py: Fix dbapi reindex_reference_maps
tool to properly close transaction (#847) Fixes #11195
* po/fi.po: Fix translation in Finnish
2019-07-10 Paul Culley <paulr2787@gmail.com>
2019-09-12 Matti Niemelä <matti.u.niemela@gmail.com>
* gramps/gui/widgets/selectionwidget.py: Fix zoom via mouse wheel in
media event editor selectionwidget (#835) also fixes zooming with scroll bars always present Fixes #11198
* po/fi.po: Update finnish translation
2019-09-11 vantu5z <vantu5z@mail.ru>
2019-03-20 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2019-09-10 pehlm <par.ekholm@pekholm.org>
2019-06-14 Mattkmmr <49940207+Mattkmmr@users.noreply.github.com>
* po/sv.po: Update Swedish translation
* gramps/plugins/gramplet/metadataviewer.py: Fix metadataviewer.py
(#823) Fix so that metadata is actually detected and displayed (signal was
not getting detected).
2019-09-10 Mirko Leonhaeuser <mirko@leonhaeuser.de>
2019-06-12 niememat <niememat@gmail.com>
* po/de.po: Update German translation
2019-09-10 Nick Hall <nick-h@gramps-project.org>
* po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
po/de.po, po/el.po, po/en_GB.po, po/eo.po, po/es.po, po/fi.po,
po/fr.po, po/ga.po, po/he.po, po/hr.po, po/hu.po, po/is.po,
po/it.po, po/ja.po, po/lt.po, po/mk.po, po/nb.po, po/nl.po,
po/nn.po, po/pl.po, po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po,
po/sk.po, po/sl.po, po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po,
po/ta.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po,
po/zh_TW.po: Merge po files and new template
2019-09-10 Nick Hall <nick-h@gramps-project.org>
* po/gramps.pot: Update translation template for new release
2019-08-27 Avi Markovitz <avi.markovitz@gmail.com>
* po/he.po: Update Hebrew translation
2019-07-11 Pedro Albuquerque <palbuquerque73@gmail.com>
* po/pt_PT.po: Update Portuguese (Europe) translation
2019-06-24 Milo Ivir <mail@milotype.de>
* po/hr.po: Update croatian translation - update with newest/current .pot file - translation is complete - corrections in wording and some missing accelerators
2019-09-02 prculley <paulr2787@gmail.com>
* gramps/gui/widgets/styledtexteditor.py: Fix missing tooltip
translations in the Note editor toolbar Fixes #11289
2019-09-01 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gen/filters/rules/place/_withinarea.py: Avoid bad
coordinates in the ref place
2019-08-28 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gen/filters/rules/place/_withinarea.py: Avoid alphabetic
characters in filter rules
2019-08-23 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gen/filters/rules/place/_withinarea.py: Could not convert
string to float by using withinarea filter rule + difference between sidebar filter
and filter rule + some pylint improvements
2019-08-31 prculley <paulr2787@gmail.com>
* gramps/gen/plug/docgen/graphdoc.py: Fix Graph outputs for multiple
page PDF Postscript Fixes #11305
2019-08-31 prculley <paulr2787@gmail.com>
* gramps/gen/plug/_pluginreg.py, gramps/gui/managedwindow.py,
gramps/gui/plug/quick/_quickreports.py, gramps/gui/uimanager.py,
gramps/gui/viewmanager.py, gramps/gui/views/tags.py,
gramps/gui/widgets/grampletpane.py: Fix to make Gtk 'action names'
always valid Fixes #11291
2019-08-31 prculley <paulr2787@gmail.com>
* gramps/gui/uimanager.py, gramps/gui/views/tags.py: Fix missing
menus/buttons when operating in non-English languages Fixes #11292
2019-08-31 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gui/widgets/validatedmaskedentry.py: Cursor position error
in lat and long fields Fixes #11310
2019-08-30 SNoiraud <Serge.Noiraud@free.fr>
* gramps/plugins/tool/removespaces.py: Avoid all characters looking
like a dash hyphen non breaking hyphen figure dash em dash horizontal bar Fixes #11308
2019-08-30 SNoiraud <Serge.Noiraud@free.fr>
* data/css/Web_Mainz.css: Narrative web: Mainz Style sheet weird
looking Fixes #11282
2019-09-02 SNoiraud <Serge.Noiraud@free.fr>
* gramps/plugins/view/relview.py: Set symbols for the active person
2019-08-28 SNoiraud <Serge.Noiraud@free.fr>
* gramps/plugins/view/relview.py: Set good symbols for marriage,
baptism, cremation and burial
2019-08-28 SNoiraud <Serge.Noiraud@free.fr>
* gramps/plugins/view/relview.py: Reduce the size of the sexuality
symbol in relview Fixes #11295
2019-08-28 prculley <paulr2787@gmail.com>
* gramps/gui/widgets/styledtexteditor.py: Fix exception when editing
Note with italics/bold etc. in non English Fixes #11284
2019-08-27 Nick Hall <nick-h@gramps-project.org>
* gramps/gui/views/pageview.py: Restore keybindings for gramplet
bars Resolves #11297.
2019-08-27 Nick Hall <nick-h@gramps-project.org>
* gramps/gui/plug/quick/_quickreports.py: Fix bug in web connection
menu launching incorrect web site Resolves #11280.
2019-08-26 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gui/autocomp.py: Translation problem when creating event
filter If you create a filter with the rule name: "Events with a particular type" or "Events with <data>" The menu "Travel", "Academic"... are not
translated Fixes #11293
2019-08-26 SNoiraud <Serge.Noiraud@free.fr>
* gramps/gui/configure.py, gramps/gui/widgets/grampletbar.py: Error
when checking option to add Quit to Taskbar Fixes #11290
2019-08-25 SNoiraud <Serge.Noiraud@free.fr>
* gramps/plugins/webreport/narrativeweb.py,
gramps/plugins/webreport/person.py: Make the narratives notes
placement an option From 5.1 the narrative notes are placed just after the name, gender
and age at death. This follow the feature request #6772. Some
people want to have this placement an option to have the same
functionality as before Fixes #11283
2019-08-24 Ross Gammon <rossgammon@mail.dk>
* debian/changelog: Finalise Debian changelog for 5.1.0 release
2019-08-24 Ross Gammon <rossgammon@mail.dk>
* debian/control: Bump gtk+ version to 3.12 & add
gir1.2-geocodeglib-1.0 dependency
2019-08-24 Ross Gammon <rossgammon@mail.dk>
* debian/copyright: Update copyrights
2019-08-24 Ross Gammon <rossgammon@mail.dk>
* debian/changelog, debian/control: Merge last 5.0.2 debian release
information into 51 maintenance branch
2019-08-23 Sebastian Schubert <schubert.seb@gmail.com>
* README.md: Add optional fontconfig package to README.md
2019-08-23 Sebastian Schubert <schubert.seb@gmail.com>
* NEWS: Fix typo in NEWS
2019-08-30 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2019-08-29 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2019-08-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: German translation updated
2019-08-24 John Ralls <jralls@ceridwen.us>
* mac/Info.plist, mac/gramps.modules: Release Gramps-5.1.0 on Mac.
2019-08-16 John Ralls <jralls@ceridwen.us>
* mac/release.entitlements.plist: An entitlements plist for
codesigning Gramps. Python is an interpreter and therefore needs to create executable
memory. Since it doesn't know how to sign that memory it requires
the allow-unsigned-executable-memory entitlement to run in a
hardened runtime. One must apply this entitlement to both Gramps.app
and Gramps.app/Contents/MacOS/dot when codesigning them.
* po/fi.po: Update finnish translation
2019-06-11 John Ralls <jralls@ceridwen.us>
@@ -263,15 +101,427 @@
* mac/gramps.modules: Update dependency versions and download paths.
2019-08-22 vantu5z <vantu5z@mail.ru>
2019-06-10 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/gen/utils/place.py, gramps/gen/utils/test/place_test.py,
gramps/plugins/view/geoplaces.py: Avoid comma in a lat/lon entry
field. (#812) * Avoid comma in a lat/lon entry field. * Be more precise on the tooltip text. * conv_lat_lon should not accept comma in lat/lon * Tests failed with comma in lat/lon * geoplaces fails to center if bad lat/lon
2019-06-10 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/gui/editors/displaytabs/surnametab.py,
gramps/gui/widgets/monitoredwidgets.py: Avoid invalid characters in
the entry field (#811) In this patch: 1 - If you copy/paste strings from another application, you can add CR, LF, TAB and other special characters. I remove
them. 2 - suppress all leading and trailing spaces for these
entry field.
2019-06-10 milotype <43657314+milotype@users.noreply.github.com>
* po/hr.po: Update Croatian translation (#824)
2019-06-09 Paul Culley <paulr2787@gmail.com>
* gramps/gui/displaystate.py, gramps/gui/views/listview.py: Fix
crash for multiple deletes in one transaction (#814) Fixes #11117
2019-06-10 Ed Bennett <pyedward@swansea.ac.uk>
* gramps/gen/relationship.py, po/ar.po, po/bg.po, po/br.po,
po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/en_GB.po,
po/eo.po, po/es.po, po/fi.po, po/fr.po, po/ga.po, po/he.po,
po/hr.po, po/hu.po, po/is.po, po/it.po, po/ja.po, po/lt.po,
po/mk.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt_BR.po,
po/pt_PT.po, po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sq.po,
po/sr.po, po/sr_Latn.po, po/sv.po, po/ta.po, po/tr.po, po/uk.po,
po/vi.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: Adjust translation
strings for unmarried partners to give correct text in English
(#818) Fixes #11109
2019-05-07 John Ralls <jralls@ceridwen.us>
* mac/gramps.modules: Disable vala for gexiv2, it breaks
introspection.
2019-01-05 caigner <github@sys-admin.at>
* gramps/gui/views/navigationview.py, po/ar.po, po/bg.po, po/br.po,
po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/en_GB.po,
po/eo.po, po/es.po, po/fi.po, po/fr.po, po/ga.po, po/gramps.pot,
po/he.po, po/hr.po, po/hu.po, po/is.po, po/it.po, po/ja.po,
po/lt.po, po/mk.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po,
po/pt_BR.po, po/pt_PT.po, po/ro.po, po/ru.po, po/sk.po, po/sl.po,
po/sq.po, po/sr.po, po/sr_Latn.po, po/sv.po, po/ta.po, po/tr.po,
po/uk.po, po/vi.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: changed
'Edit ->Set Home Person' to 'Edit -> Set Home Person'
2019-04-14 système <romjerome@users.noreply.github.com>
* po/fr.po: typo on french translation
2019-04-13 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/lib/libgedcom.py: Fix failure after Gedcom import
if missing objects were found (#807) Fixes #11082
2019-03-26 John Ralls <jralls@ceridwen.us>
* gramps/gen/utils/maclocale.py: [maclocale] Fix none type has no
len(). Fixes #11075
2019-03-17 Paul Culley <paulr2787@gmail.com>
* data/tests/imp_sample.gramps, gramps/plugins/lib/libgedcom.py: Fix
Gedcom import so it doesn't create completely empty Birth events
(#799) Fixes #10145 Note: a completely empty birth event is removed by Check and Repair;
this is wrong in that sometimes we know a person is born, but not
date/place. In Gedcom this is indicated by "1 BIRT Y" lines. So this PR adds a description to the birth event. This is not an
issue for other event types, the C&R tool sees the non-default type
and leaves it alone, but birth is the default type.
2019-03-17 milotype <43657314+milotype@users.noreply.github.com>
* po/hr.po: Update Croatian translation (#803) update with current maint50 pot file
2019-03-16 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/view/relview.py: Fix Relationship view so ages are
according to Preferences (#798) Fixes #11040
2019-03-16 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/displaytabs/personeventembedlist.py: Fix Person
Editor Events to properly update during external changes (#797) like Event delete or update. Fixes #11051 Looks like someone simply forgot to register the handles with the
callman... I checked other similar cases and did not see any other issues.
2019-03-16 Paul Culley <paulr2787@gmail.com>
* data/tests/exp_sample_ged.ged,
data/tests/imp_FTM_16dec2015a-mod1.gramps,
data/tests/imp_MediaTest.gramps, data/tests/imp_sample.gramps,
gramps/plugins/export/exportgedcom.py,
gramps/plugins/lib/libgedcom.py: Gedcom fixes for mime and finding
media (#795) * Fix Gedcom import/export for more comprehensive mime types Fixes #11041 * Fix Gedcom import to better find media files Issue #11041 * Fix Gedcom test files for media mime and error location message
2019-03-17 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/lib/maps/geography.py: Unhandled exception in
Geography editor (#793) Fixes #11048 better pylint score remove unused code
2019-03-16 Paul Culley <paulr2787@gmail.com>
* gramps/gen/filters/rules/person/_relationshippathbetween.py: Fix
relationshippathbetween filter rule when parent is missing (#792) Fixes #11049 Another HandleError issue, this one hidden by the raw except. Filter
rule just did not work if a family in the path had a missing parent.
2019-03-16 Paul Culley <paulr2787@gmail.com>
* gramps/gen/plug/docgen/graphdoc.py: Fix Graphs that use graphdoc
pdf via Ghostscript with multi-page (#791) for poor font rendering of some characters (thanks to Ken Sharp) Fixes #11047
2019-03-16 Paul Culley <paulr2787@gmail.com>
* example/gramps/data.gramps, example/gramps/example.gramps: Fix
example gramps files so media is found (#785) Fixes #11015 On Windows the location of the example files is "c:\program
files\grampsaio64-5.0.1\share\doc\gramps\example\gramps". On my Ubuntu install from the .deb file these files are in
"/usr/share/doc/gramps/example/gramps" Since the default GRAMPS_RESOURCES value for each system is the
'share', to find the media files we need to append
"/doc/gramps/example/gramps" to have the example files work
properly.
2019-03-16 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/tool/finddupes.py: fix finddupes tool when run from
Match Threshold screen again (#790) after merge. Avoids HandleError because potentials dict is not
cleared. Fixes #11044
2019-01-17 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2019-08-22 pehlm <par.ekholm@pekholm.org>
2019-02-27 Bernard Banko <beernarrd@gmail.com>
* po/sv.po: Update Swedish translation with the new gramps.pot
* po/sl.po: Slovenian translation correction
2019-08-21 prculley <paulr2787@gmail.com>
2019-02-16 système <romjerome@users.noreply.github.com>
* Bump to 5.1.1
* po/fr.po: update french translation
2019-02-14 système <romjerome@users.noreply.github.com>
* po/fr.po: update (partial) french translation
2019-02-14 système <romjerome@users.noreply.github.com>
* po/fr.po: merge with last template
2019-02-14 système <romjerome@users.noreply.github.com>
* po/fr.po: bug 10841: Typos in the French translation
2019-02-14 système <romjerome@users.noreply.github.com>
* po/fr.po: fix a typo
2019-02-13 Paul Culley <paulr2787@gmail.com>
* data/tests/imp_MediaTest.gramps, gramps/plugins/lib/libgedcom.py:
Fix Gedcom import for multiple notes on OBJE (MULTIMEDIA_LINK)
(#782) Fixes #10277
2019-02-13 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/db/dbapi/dbapi.py,
gramps/plugins/importer/importxml.py: Deal with SQLite db corrupted
by None name mapping (#784) Fixes #11011
2019-02-13 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/importer/importxml.py: Fix XML import to add tags
to Events, Sources, Places, Repos, Cits (#780) Fixes #11004
2019-02-13 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/displaytabs/eventembedlist.py,
gramps/gui/editors/displaytabs/personrefembedlist.py,
gramps/gui/editors/displaytabs/placerefembedlist.py,
gramps/gui/editors/editcitation.py,
gramps/gui/editors/editevent.py,
gramps/gui/editors/editeventref.py,
gramps/gui/editors/editfamily.py, gramps/gui/editors/editperson.py:
Fix for delete of a ref'd primary obj while editing an added obj.
(#779) Also fixed to update the ref'd obj on changes from outside the
editor. Fixes #10999, #11000, #11001, #11002
2019-02-13 Paul Culley <paulr2787@gmail.com>
* gramps/gen/filters/_genericfilter.py,
gramps/gui/views/treemodels/treebasemodel.py: Fix Place Tree view
when using enclosed by sidebar filter (#764) the filter was incorrectly using a standard place cursor instead of
the tree cursor. Fixes #10948
2019-02-10 Bernard Banko <beernarrd@gmail.com>
* po/sl.po: Slovenian language update
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
* po/it.po: Italian translation updates - restore few strings from the welcome Gramplet that got lost after the split of a messages in smaller messages; - fix few errors.
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
* po/it.po: Refresh the Italian po file
2019-02-02 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/editfamily.py: Fix EditFamily for adding a
child to single parent family with (#777) Surname guessing set to combination. Fixes #10997
2019-01-22 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/drawreport/descendtree.py: Fix Descendent Tree
report for crash when person has multiple (#773) families and one of them doesn't have a spouse. Fixes #10983, #10971, #10661
2019-01-22 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: Update German translation
2019-01-21 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/db/dbapi/dbapi.py: Fix Name editor crash after
clearing a group_as name on dbapi dbs (#771) Fixes #10981
2019-01-22 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/gen/merge/mergefamilyquery.py,
gramps/gui/merge/mergecitation.py, gramps/gui/merge/mergeevent.py,
gramps/gui/merge/mergefamily.py, gramps/gui/merge/mergemedia.py,
gramps/gui/merge/mergenote.py, gramps/gui/merge/mergeperson.py,
gramps/gui/merge/mergeplace.py,
gramps/gui/merge/mergerepository.py,
gramps/gui/merge/mergesource.py,
gramps/plugins/test/db_undo_and_signals_test.py: We should stay on
the selected item in list views: (#770) Fixes #10966 When we try to merge two objects, we should stay on the selected row
in list views. This problem occurs for persons, families, events,
places, sources, citations, repositories, media and notes. Another problem: In case we select the first family and select the
gramps_id of the second family, the new gramps_id is ignored:
problem in MergeFamilyQuery
2019-01-21 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/graph/gvrelgraph.py: Fix Relationship Graph; extra
people when using filters & subgraphs (#769) subgraph option wasn't checking parents against filtered results Fixes #10947
2019-01-22 Christian Aigner <github@sys-admin.at>
* po/de.po: [German] Change Text on Settings -> Colour (#767) * Unified the labels. The overall appearance looks now a bit cleaner. * Fixed a grammatical bug (das -> dass)
2019-01-21 Paul Culley <paulr2787@gmail.com>
* gramps/gen/display/place.py: fix Place Format Editor file
save/load for difficult names (#766) Fixes #10949
2019-01-22 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/graph/gvfamilylines.py: Not all place types appears
on family lines Graph (#763)
2019-01-22 Christian Aigner <github@sys-admin.at>
* po/de.po: Corrections in 'Tip of Day'; changed 'Schlussnotizen' to
'Quellennachweis' (#753)
2019-01-12 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2019-01-12 Sam Manzi <manzi.sam@gmail.com>
* gramps/plugins/tool/sortevents.py: Remember location of Sort
Events Tool (#750) Issue #9795
2019-01-11 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2019-01-05 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/editmedia.py: Fix Media editor when using
double click the preview of added media (#752) Fixes #10923
2019-01-05 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2019-01-05 niememat <niememat@gmail.com>
* po/fi.po: Fix and updated translation in Finnish
2019-01-04 P Ekholm <par.ekholm@pekholm.se>
* po/sv.po: Update Swedish translation
2019-01-02 prculley <paulr2787@gmail.com>
* po/gramps.pot: Update gramps.pot
2019-01-01 prculley <paulr2787@gmail.com>
* po/gramps.pot: Revert "update gramps.pot", the update_po.py
doesn't work with glade files on Windows This reverts commit fcfecef459b37cbba0c61ae18f19f93363124980.
2019-01-01 prculley <paulr2787@gmail.com>
* po/gramps.pot: update gramps.pot
2019-01-01 prculley <paulr2787@gmail.com>
* po/update_po.py: Fix update_po.py to run on Windows
2018-12-31 caigner <github@sys-admin.at>
* po/de.po: German translation corrections
2018-12-30 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2018-12-29 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/gui/editors/editplace.py,
gramps/gui/editors/editplaceref.py: Avoid leading and trailing
spaces when copy/paste (#747) coordinates from a map provider. Fixes #10937
2018-12-28 John Ralls <jralls@ceridwen.us>
* gramps/gui/widgets/fanchart.py,
gramps/plugins/docgen/cairodoc.py,
gramps/plugins/lib/maps/messagelayer.py,
gramps/plugins/view/pedigreeview.py: Set correct font resolution for
Mac when drawing text directly to cairo. (#745) Fixes #0010924
2018-12-28 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Add some untranslated strings in po/sv.po
2018-12-28 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2018-12-26 prculley <paulr2787@gmail.com>
* po/da.po: remove crlf line endings on da.po
2018-12-24 John Ralls <jralls@ceridwen.us>
* mac/gramps_launcher.py: Remove extraneous setting of
GTK_IM_MODULE_FILE. Fixes #10929
2018-12-22 Zdeněk Hataš <zdenek.hatas@gmail.com>
* po/cs.po: Update Czech translation
2018-12-21 RossGammon <upstream@the-gammons.net>
* debian/changelog, debian/copyright: Update debian files after
5.0.1 release (#744)
2018-12-20 prculley <paulr2787@gmail.com>
* gramps/gen/const.py, gramps/version.py: Bump to 5.0.2
2018-11-15 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po - all strings complete
2018-11-14 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-14 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-13 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-12 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-11 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-10 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-09 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-08 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-07 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update po/sv.po
2018-11-07 Pär Ekholm <pelle.ekh@koping.net>
* Update po/sv.po
+3 -1
View File
@@ -1,5 +1,5 @@
include AUTHORS
include ChangeLog
include AUTHORS
include COPYING
include FAQ
include Gramps.py
@@ -10,9 +10,11 @@ include RELEASE_NOTES
include TODO
include CONTRIBUTING
include TestPlan.txt
recursive-include bash *
recursive-include data *
recursive-include debian *
recursive-include docs *
recursive-include example *
recursive-include gramps *
recursive-include help *
recursive-include images *
+1540 -219
View File
File diff suppressed because it is too large Load Diff
+2 -19
View File
@@ -10,8 +10,8 @@ Requirements
============
The following packages **MUST** be installed in order for Gramps to work:
* **Python** 3.3 or greater - The programming language used by Gramps. https://www.python.org/
* **GTK** 3.12 or greater - A cross-platform widget toolkit for creating graphical user interfaces. http://www.gtk.org/
* **Python** 3.2 or greater - The programming language used by Gramps. https://www.python.org/
* **GTK** 3.10 or greater - A cross-platform widget toolkit for creating graphical user interfaces. http://www.gtk.org/
* **pygobject** 3.12 or greater - Python Bindings for GLib/GObject/GIO/GTK+ https://wiki.gnome.org/Projects/PyGObject
The following three packages with GObject Introspection bindings (the gi packages)
@@ -103,23 +103,6 @@ The following packages are optional:
More font support in the reports
* **geocodeglib**
A library use to associate a geographical position (latitude, longitude)
to a place name. This is used if you already have osmgpsmap installed.
If installed, when you add or link a place from the map, you have a red line
at the end of the table for selection.
Debian, Ubuntu, ... : gir1.2-geocodeglib-1.0
Fedora, Redhat, ... : geocode-glib
openSUSE : geocode-glib
ArchLinux : geocode-glib
...
* **fontconfig**
Python bindings of fontconfig are required for displaying
genealogical symbols
Optional packages required by Third-party Addons
------------------------------------------------
+10 -196
View File
@@ -21,8 +21,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -61,7 +59,7 @@ the page.
body {
font-family: sans-serif;
font-size: 100%;
font-size: 90%;
color: black;
margin: 0px;
background-color: #EEE;
@@ -69,13 +67,6 @@ body {
body > div {
clear: both;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: white;
border-top: solid 1px #999;
@@ -84,19 +75,9 @@ body > div {
float: right;
margin: 2em;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -224,93 +205,6 @@ div#alphanav ul li a:hover {
color: white;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #EEE;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table {
@@ -473,16 +367,7 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display: block;
border: solid 1px #999;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail h3 {
text-align: center;
}
@@ -499,10 +384,13 @@ div#SourceDetail {
overflow: hidden;
}
#Contact #summaryarea {
width: 50em;
margin: 2em auto;
padding: 3em;
background-color: #EEE;
border: solid 1px #999;
}
#Contact #GalleryDisplay img {
#Contact img {
float: right;
border: solid 1px #999;
}
@@ -516,12 +404,6 @@ div#SourceDetail {
#Contact #city:after {
content: ",";
}
@media only screen and (max-width: 1080px) {
#Contact,
#Contact #GalleryDisplay img {
max-width: 100%;
}
}
/* Download
----------------------------------------------------- */
@@ -531,29 +413,20 @@ div#SourceDetail {
/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay {
#Home, #Introduction {
overflow: hidden;
}
#Home img, #Introduction img {
float: right;
margin: 1em;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img {
display: block;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
overflow: visible;
}
.subsection p {
margin: 0px;
@@ -576,33 +449,12 @@ div#families table.attrlist td.ColumnType {
/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery .thumbnail {
float: left;
width: 130px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
background-color: white;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
@@ -610,40 +462,6 @@ div#families table.attrlist td.ColumnType {
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery img {
border: solid 1px #999;
}
@@ -651,9 +469,6 @@ div#families table.attrlist td.ColumnType {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsection : Narrative
----------------------------------------------------- */
@@ -717,7 +532,6 @@ a.familymap {
}
#footer > * {
background-color: #EEE;
font-size: 80%;
}
#footer p#createdate {
float: left;
+21 -303
View File
@@ -3,8 +3,6 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
# Copyright (C) 2018 Theo van Rijn
# Copyright (C) 2019 Serge Noiraud
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -74,13 +72,6 @@ img {
.thumbnail a:hover {
background: none;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: #FFF;
color: #000;
@@ -103,10 +94,6 @@ img {
width: 96px;
margin: 0 auto;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
width: 100%;
height: 1px;
@@ -114,12 +101,6 @@ img {
padding: 0;
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -240,55 +221,6 @@ p#user_header {
margin-right: 10px;
}
/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
border: solid 1px #EEE; /* needed by IE7 */
background-color: #13A926;
}
#subnavigation ul {
overflow: hidden;
}
div#nav ul, #subnavigation ul {
list-style: none;
margin: 0px;
padding-left: 15px;
}
#subnavigation ul {
border-bottom: solid 1px #999;
}
div#nav ul li, #subnavigation ul li {
float: left;
}
div#nav ul li a, #subnavigation ul li a {
display: block;
font-size: smaller;
font-weight: bold;
padding: 5px;
border-bottom: solid 1px #EEE;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
text-decoration: none;
background-color: #CCC;
border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
position: relative;
top: 1px;
border: solid 1px #999;
border-bottom-style: none;
background-color: white;
}
#nav ul li.CurrentSection a:hover {
background-color: #903;
}
/* Webcal
----------------------------------------------------- */
#subnavigation ul li.CurrentSection a {
background-color: white;
}
/* Footer
----------------------------------------------------- */
div#footer {
@@ -338,129 +270,6 @@ div#footer p#copyright img {
padding: 0;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
background-color: #EEE;
}
div#alphanav ul {
list-style: none;
border-width: 2px 0px 4px 0px;
border-style: solid;
border-color: black;
margin: 0px;
padding-left: 15px;
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
}
div#alphanav ul li {
float: left;
font-size: larger;
font-weight: bold;
}
div#alphanav ul li:after {
content: " |";
}
div#alphanav ul li a {
display: block;
padding: 4px 8px;
line-height: 100%;
float: left;
}
div#alphanav ul li a:hover {
text-decoration: none;
background-color: black;
color: white;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
/* position: absolute; */
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #13A926;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table.infolist {
@@ -769,26 +578,6 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
margin: 0;
padding: 0;
}
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#Gallery table.infolist tbody tr td {
border-bottom: dashed 1px #000;
}
@@ -838,16 +627,7 @@ div#EventDetail table.eventlist tbody tr td.ColumnDate {
}
#GalleryDisplay img {
margin: 0 auto;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail div#summaryarea{
margin: 0;
padding: 2em 0 0 0;
@@ -899,51 +679,48 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
/* Contact
------------------------------------------------- */
#Contact #summaryarea {
width: 500px;
margin: 0 auto;
padding: 3em;
border: double 4px #000;
background-color: #BCEAF6;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact #summaryarea img {
float: right;
margin: 0;
}
@media only screen and (max-width: 1080px) {
#Contact, #Contact #summaryarea #researcher,
#Contact #summaryarea #GalleryDisplay img {
max-width: 100%;
}
}
#Contact #summaryarea #researcher {
#researcher {
font: normal 1.5em/1.4em serif;
margin-top: .3em;
}
#Contact #summaryarea #researcher h3 {
#researcher h3 {
font: normal 1.2em/1.4em serif;
padding: 0;
text-align: left;
}
#Contact #summaryarea #researcher span {
#researcher span {
float: left;
display: block;
font: normal .9em/1.4em serif;
margin-right: .4em;
}
#Contact #summaryarea #streetaddress {
#streetaddress {
width: 100%;
}
#Contact #summaryarea #locality, .locality {
#locality, .locality {
display: block;
width: 100%;
}
#Contact #summaryarea #city:after {
#city:after {
content: ",";
}
#Contact #summaryarea #country {
#country {
clear: left;
}
#Contact #summaryarea #email {
#email {
clear: left;
}
#Contact #summaryarea #email a {
#email a {
text-decoration: none;
}
@@ -1036,29 +813,17 @@ div#AddressBookList table.addressbook tbody tr td.ColumnWebLinks {
/* Subsections
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay,
#Contact #GalleryDisplay {
float: right;
margin: 0;
border: 0px;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
#Home, #Introduction, #Contact {
padding: 2em 0 3em 0;
}
#Home p, #Introduction p {
margin: 0 20px 1em 20px;
}
#Home img, #Introduction img {
float: right;
margin: 0;
padding: 0 20px 3em 2em;
}
#Home a, #Introduction a, #Contact a {
color: #000;
text-decoration: none;
@@ -1162,15 +927,6 @@ div#families {
margin: 0;
padding: 0;
}
div#families .infolist h4 {
font: bold 1.2em sans-serif;
color: #FFF;
padding: 0px 0px 0px 20px;
border-width: 4px 0px 4px 0px;
border-style: solid;
border-color: #00029D;
background-color: #13A926;
}
div#families table.infolist tbody tr.BeginFamily {
border-top: solid 1px #000;
}
@@ -1338,7 +1094,6 @@ div.Residence table.infolist tr td {
float: left;
width: 130px;
text-align: center;
background-color: white;
}
#indivgallery div.thumbnail a {
display: block;
@@ -1362,43 +1117,6 @@ div.Residence table.infolist tr td {
margin: 0 auto;
padding: 0;
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsections : Narrative
----------------------------------------------------- */
+12 -199
View File
@@ -21,8 +21,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -61,7 +59,7 @@ the page.
body {
font-family: sans-serif;
font-size: 100%;
font-size: 90%;
color: black;
margin: 0px;
background-color: #454;
@@ -69,13 +67,6 @@ body {
body > div {
clear: both;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: white;
border-top: solid 1px #7C8F7C;
@@ -84,19 +75,9 @@ body > div {
float: right;
margin: 2em;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -228,98 +209,6 @@ div#alphanav ul li a:hover {
color: white;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
color: #454;
background-color: #E0E6E0;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
.nav.responsive li#CurrentSection a {
color: #454;
background-color: white;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table {
@@ -524,16 +413,7 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display: block;
border: solid 1px #7C8F7C;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail h3 {
text-align: center;
}
@@ -550,10 +430,13 @@ div#SourceDetail {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #E0E6E0;
border: solid 1px #7C8F7C;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact img {
float: right;
border: solid 1px #7C8F7C;
}
@@ -580,31 +463,20 @@ div#SourceDetail {
/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin: 0;
border: 0px;
#Home, #Introduction {
overflow: hidden;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
overflow: visible;
}
.subsection p {
margin: 0px;
@@ -627,33 +499,12 @@ div#families table.attrlist td.ColumnType {
/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery .thumbnail {
float: left;
width: 130px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
background-color: white;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
@@ -661,40 +512,6 @@ div#families table.attrlist td.ColumnType {
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery img {
border: solid 1px #7C8F7C;
}
@@ -702,9 +519,6 @@ div#families table.attrlist td.ColumnType {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsection : Narrative
----------------------------------------------------- */
@@ -763,7 +577,6 @@ a.familymap {
#footer {
clear: both;
color: #E0E6E0;
font-size: 80%;
padding-top: 1em;
background-color: #9DBF9D;
border-top: solid 1px #454;
@@ -791,7 +604,7 @@ a.familymap {
/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
background-color: #454 ! important;
background-color: #E0E6E0 ! important;
}
/* Calendar Styles
+10 -191
View File
@@ -21,8 +21,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -69,13 +67,6 @@ body {
body > div {
clear: both;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: #FAFAFF;
border-top: solid 1px #669;
@@ -84,19 +75,9 @@ body > div {
float: right;
margin: 2em;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -226,93 +207,6 @@ div#alphanav ul li a:hover {
color: #FAFAFF;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #669;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table {
@@ -512,14 +406,6 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display: block;
border: solid 1px #669;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail h3 {
text-align: center;
@@ -537,10 +423,13 @@ div#SourceDetail {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #E0E0E9;
border: solid 1px #669;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact img {
float: right;
border: solid 1px #669;
}
@@ -567,31 +456,20 @@ div#SourceDetail {
/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin: 0;
border: 0px;
#Home, #Introduction {
overflow: hidden;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
overflow: visible;
}
.subsection p {
margin: 0px;
@@ -614,33 +492,12 @@ div#families table.attrlist td.ColumnType {
/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery .thumbnail {
float: left;
width: 130px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
background-color: white;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
@@ -648,40 +505,6 @@ div#families table.attrlist td.ColumnType {
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery img {
border: solid 1px #669;
}
@@ -689,9 +512,6 @@ div#families table.attrlist td.ColumnType {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsection : Narrative
----------------------------------------------------- */
@@ -755,7 +575,6 @@ a.familymap {
}
#footer > * {
background-color: #E0E0E9;
font-size: 80%;
}
#footer p#createdate {
float: left;
+10 -191
View File
@@ -21,8 +21,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -61,7 +59,7 @@ the page.
body {
font-family: sans-serif;
font-size: 100%;
font-size: 90%;
color: #36220B;
margin: 0px;
background-color: #FFE09F;
@@ -69,13 +67,6 @@ body {
body > div {
clear: both;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: #FFFBE7;
border-top: solid 1px #8C581C;
@@ -84,19 +75,9 @@ body > div {
float: right;
margin: 2em;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -226,93 +207,6 @@ div#alphanav ul li a:hover {
color: #FFFBE7;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #FFC35E;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table {
@@ -512,14 +406,6 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display: block;
border: solid 1px #EA8414;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail h3 {
text-align: center;
@@ -537,10 +423,13 @@ div#SourceDetail {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #FFE09F;
border: solid 1px #EA8414;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact img {
float: right;
border: solid 1px #EA8414;
}
@@ -567,24 +456,13 @@ div#SourceDetail {
/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin: 0;
border: 0px;
#Home, #Introduction {
overflow: hidden;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
}
#Home p, #Introduction p {
padding-left: 15px;
@@ -614,33 +492,12 @@ div#families table.attrlist td.ColumnType {
/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery .thumbnail {
float: left;
width: 130px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
background-color: white;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
@@ -648,40 +505,6 @@ div#families table.attrlist td.ColumnType {
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery img {
border: solid 1px #8C581C;
}
@@ -689,9 +512,6 @@ div#families table.attrlist td.ColumnType {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsection : Narrative
----------------------------------------------------- */
@@ -755,7 +575,6 @@ a.familymap {
}
#footer > * {
background-color: #FFE09F;
font-size: 80%;
}
#footer p#createdate {
float: left;
+11 -193
View File
@@ -21,9 +21,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -62,7 +59,7 @@ the page.
body {
font-family: sans-serif;
font-size: 100%;
font-size: 90%;
color: black;
margin: 0px;
background-color: #EAEEF4;
@@ -70,13 +67,6 @@ body {
body > div {
clear: both;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
background-color: #FFF;
border-top: solid 1px #7CA3DD;
@@ -85,19 +75,9 @@ body > div {
float: right;
margin: 2em;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.fullclear {
clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
----------------------------------------------------- */
@@ -227,93 +207,6 @@ div#alphanav ul li a:hover {
color: #FFF;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #EEE;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table {
@@ -513,14 +406,6 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display: block;
border: solid 1px #7CA3DD;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail h3 {
text-align: center;
@@ -538,10 +423,13 @@ div#SourceDetail {
overflow: hidden;
}
#Contact #summaryarea {
width: 40em;
margin: 2em auto;
padding: 3em;
background-color: #EAEEF4;
border: solid 1px #7CA3DD;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact img {
float: right;
border: solid 1px #7CA3DD;
}
@@ -568,31 +456,20 @@ div#SourceDetail {
/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin: 0;
border: 0px;
#Home, #Introduction {
overflow: hidden;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
#Home img, #Introduction img {
float: right;
margin: 1em;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
margin: 0 auto;
max-width: 100%;
}
}
#Home p, #Introduction p {
padding-left: 15px;
}
.subsection {
clear: both;
overflow: hidden;
overflow: visible;
}
.subsection p {
margin: 0px;
@@ -615,33 +492,12 @@ div#families table.attrlist td.ColumnType {
/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery .thumbnail {
float: left;
width: 130px;
font-size: smaller;
text-align: center;
margin: 0.8em 0.5em;
background-color: white;
}
#indivgallery h4 + .thumbnail {
margin-left: 15px;
@@ -649,40 +505,6 @@ div#families table.attrlist td.ColumnType {
* first thumnail on each next row should also have a margin-left
* of 15 px. */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery img {
border: solid 1px #7CA3DD;
}
@@ -690,9 +512,6 @@ div#families table.attrlist td.ColumnType {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
display: none; */
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsection : Narrative
----------------------------------------------------- */
@@ -756,7 +575,6 @@ a.familymap {
}
#footer > * {
background-color: #EAEEF4;
font-size: 80%;
}
#footer p#createdate {
float: left;
+7 -209
View File
@@ -19,8 +19,6 @@ Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -64,29 +62,19 @@ General Elements
-----------------------------------------------------------------*/
body {
font-family: Georgia, serif;
font-size: 100%;
font-size: 90%;
color: #7D5925;
background: url(../images/Web_Mainz_Bkgd.png) black repeat;
}
body > div {
width: 85%;
margin: 0px auto;
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
overflow: hidden;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
padding: 0px 1.5em;
}
.content {
padding: 1.5em 1.5em;
background: url(../images/Web_Mainz_Mid.png) #FFF2C6 repeat;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
div.snapshot div.thumbnail {
text-align: center;
@@ -94,13 +82,6 @@ div.snapshot div.thumbnail {
div.snapshot a {
display: inline;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
/* General Text
-----------------------------------------------------------------*/
@@ -223,93 +204,6 @@ div#alphanav ul li a:hover {
color: white;
}
/* Responsive navigation */
a.navIcon {
display: none;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #D8C19F;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
-----------------------------------------------------------------*/
table {
@@ -467,14 +361,6 @@ table.eventlist tbody tr td.ColumnSources {
margin: 0px auto;
display:block;
border: solid 1px #7D5925;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
/* Sources
@@ -490,7 +376,7 @@ div#SourceDetail {
padding-bottom: 0px;
margin: 0px;
}
#Contact #summaryarea #GalleryDisplay img {
#Contact img {
display: block;
margin: 0px auto 1em auto;
border: solid 1px #7D5925;
@@ -516,31 +402,16 @@ div#SourceDetail {
/* SubSection
-----------------------------------------------------------------*/
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin-left: 10px;
margin-right: 10px;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay {
#Home img, #Introduction img {
display: block;
margin: 1em auto;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay {
margin: 0 auto;
max-width: 100%;
}
}
#Home a, #Introduction a, #Contact a {
color: black;
}
.subsection {
clear: both;
overflow: hidden;
}
.subsection p {
margin: 0px;
@@ -557,32 +428,9 @@ div#families table.fixed_subtables table.eventlist th:first-child {
div#families table.fixed_subtables table.eventlist th:last-child {
width: 5em;
}
div#families .infolist h4 {
text-align: left;
}
/* SubSection : Gallery
-----------------------------------------------------------------*/
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery {
/* float container stretch, see www.quirksmode.org/css/clearing.html */
overflow: hidden;
@@ -593,7 +441,6 @@ div#families .infolist h4 {
font-size: smaller;
text-align: center;
margin: 0.5em;
background-color: white;
}
#indivgallery img {
border: solid 1px #7D5925;
@@ -602,43 +449,6 @@ div#families .infolist h4 {
/* ## remove this line and the comment markers from the line below to hide the description in Individual Gallery
display: none; */
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
div.snapshot div.thumbnail {
text-align: center;
}
/* SubSection : Narrative
-----------------------------------------------------------------*/
@@ -691,32 +501,20 @@ div.grampsstylednote p {
-----------------------------------------------------------------*/
#footer {
clear: both;
overflow: hidden;
width: 100%;
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6;
border-top: dashed 1px #7D5925;
font-family: sans-serif;
}
#footer p#createdate {
float: left;
width: 50%;
text-align: left;
margin-left: 10px;
}
#footer p#copyright {
float: right;
width: 40%;
text-align: right;
}
#footer p#copyright img {
float: right;
margin-right: 10px;
margin-bottom: 10px;
vertical-align: middle;
}
#footer > * {
font-size: 80%;
background: url(../images/Web_Mainz_MidLight.png) #FFF2C6;
}
/* Overwritten
-----------------------------------------------------------------*/
+9 -201
View File
@@ -19,8 +19,6 @@ Go to <http://gramps-project.org/> to learn more!
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2018 Theo van Rijn
Copyright (C) 2019 Serge Noiraud
This file is part of the GRAMPS program.
@@ -84,21 +82,10 @@ img {
.thumbnail a:hover {
background:none;
}
#outerwrapper {
margin: 5px auto;
width: 98%;
}
#outerwrapper > div {
clear: both;
}
.content {
padding-top: 1cm;
background-color:#FFF;
}
#ThumbnailPreview div.snapshot {
float: right;
margin: 0;
}
.content div.snapshot {
float:right;
margin:1.6em;
@@ -113,12 +100,6 @@ img {
.content div.snapshot div.thumbnail span {
display:none;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
.content {
padding: 0em 0.5em;
}
}
.fullclear {
width:100%;
height:1px;
@@ -273,100 +254,6 @@ div#subnavigation ul li.CurrentSection a {
border-width: 0 0 1px 0;
}
/* Responsive navigation */
a.navIcon {
display: none;
color: #FFF;
}
div#header::after {
content: "";
clear: both;
display: table;
}
div#nav::after {
content: "";
clear: both;
display: table;
}
@media only screen and (max-width: 1080px) {
/* Use less & all realestate on mobiles. */
div#outerwrapper {
margin: 5px auto;
width: 100%;
}
.nav {
background: none; /* Works in IE too. */
/*
width: 200px;
position: absolute;
z-index: 10;
*/
}
/* Undo some of the #nav styles - to enable the class .nav */
.nav ul, #subnavigation ul {
list-style: none;
min-width: unset;
width: 200px;
height: 32px;
margin: 0;
padding: 0;
}
.nav ul li, #subnavigation ul li {
float: unset;
display: unset
}
/* Start with hidden menu options */
/* .nav li:not(:first-child) {display: none;} */
.nav li {display: none;}
.nav ul {display: none;}
a.navIcon {
font-size:1.3em;
display: block;
margin: 0.1em 0.4em 0.4em 0.4em;
float: left;
color: #FFF;
}
.nav.responsive {position: absolute; display: block; z-index: 100;}
.nav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
margin-right: 10px;
}
.nav.responsive ::after {
/* need to remove the "|" when we are in the dropdown menu. */
color: #A97;
background-color: #A97;
}
.nav.responsive li {
/* float: left; */
display: block;
text-align: left;
background-color: #A97;
/* required by IE */
float: left;
clear: both;
width: 200px;
}
div#nav ul, #subnavigation ul {
padding-left: 0px;
}
.content {
padding: 0em 0.5em;
}
}
/* Main Table
----------------------------------------------------- */
table.infolist {
@@ -747,14 +634,6 @@ table.eventlist tbody tr td.ColumnSources {
}
#GalleryDisplay img {
margin:0 auto;
max-width: 800px;
height: auto;
}
@media only screen and (max-width: 1080px) {
#GalleryDisplay img {
max-width: 100%;
}
}
#GalleryDetail div#summaryarea{
margin:0;
@@ -800,6 +679,7 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
/* Contact
----------------------------------------------------- */
#Contact #summaryarea {
width:500px;
margin:0 auto;
padding:3em;
background-color:#F1ECE2;
@@ -817,6 +697,7 @@ body#ThumbnailPreview div#references table.infolist tbody tr td.ColumnName {
padding:0;
}
#researcher span {
float:left;
display:block;
font:normal .9em/1.4em serif;
margin-right:.4em;
@@ -898,32 +779,20 @@ table.download td.Modified {
/* Subsections
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
float: right;
margin-left: 10px;
margin-right: 10px;
#Home, #Introduction, #Contact {
padding:2em 0 3em 0;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
display: block;
max-width: 950px;
height: auto;
float: right;
}
@media only screen and (max-width: 1080px) {
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
#Contact #GalleryDisplay img {
max-width: 100%;
}
}
#Home p, #Introduction p {
margin:0 20px 1em 20px;
}
#Home img, #Introduction img {
float:right;
margin:0;
padding:0 20px 3em 2em;
}
#Home a, #Introduction a, #Contact a {
color: #000;
text-decoration: none;
overflow: hidden;
}
div.subsection{
padding-bottom:.5em;
@@ -1057,26 +926,6 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
/* Subsections : Gallery
----------------------------------------------------- */
#gallery {
background-color: green;
}
#indivgallery {
background-color: white;
}
#gallery .gallerycell {
float: left;
width: 130px;
height: 150px;
text-align: center;
margin: 0;
background-color: white;
border-top: solid 1px #999;
border-right: solid 1px #999;
}
#gallery .thumbnail {
font-size: smaller;
margin: 3em auto;
}
#indivgallery h4 {
margin-bottom:1em;
}
@@ -1085,41 +934,6 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
float:left;
width:130px;
text-align:center;
background-color: white;
}
#gallery div.indexno {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
margin: 0;
}
#indivgallery div.date {
float: right;
width: 1.8em;
font-size: large;
text-align: center;
background-color: #CCC;
color: #555;
}
#indivgallery .thumbnail ul {
font-size: smaller;
list-style: none;
padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
border-style: none;
}
#indivgallery .thumbnail ul li {
border-top: dashed 1px #CCC;
border-top-style: dashed;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
#gallery img {
border: solid 1px #999;
}
#indivgallery .thumbnail a {
display:block;
@@ -1143,9 +957,6 @@ div#Addresses table.infolist tr td a, div#Addresses table.infolist tr td p a {
margin:0 auto;
padding:0;
}
div.snapshot div.thumbnail {
text-align: center;
}
/* Subsections : Narrative
----------------------------------------------------- */
@@ -1259,9 +1070,6 @@ div#pedigree {
background-color: #542;
border-top: solid 8px #A97;
}
#footer > * {
font-size: 80%;
}
#footer a, #footer a:visited {
text-decoration: none;
color: #C1B398;
+8 -19
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>org.gramps.gramps</id>
<metadata_license>CC0-1.0</metadata_license>
<component type="desktop">
<id>gramps.desktop</id>
<metadata_license>CC0</metadata_license>
<name>Gramps</name>
<summary>Genealogical research program</summary>
@@ -11,7 +11,6 @@
<_p>All of your research is kept organized, searchable and as precise as you need it to be.</_p>
</description>
<launchable type="desktop-id">gramps.desktop</launchable>
<url type="homepage">https://gramps-project.org/</url>
<url type="bugtracker">https://gramps-project.org/bugs/</url>
<url type="help">https://gramps-project.org/wiki/index.php?title=Main_page</url>
@@ -19,21 +18,11 @@
<developer_name>Gramps Development Team</developer_name>
<screenshots>
<screenshot>
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/5/5f/AppData1.png</image>
</screenshot>
<screenshot>
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/6/68/AppData2.png</image>
</screenshot>
<screenshot type="default">
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/e/e9/AppData3.png</image>
</screenshot>
<screenshot>
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/6/68/AppData4.png</image>
</screenshot>
<screenshot>
<image width="1226" height="740">https://www.gramps-project.org/wiki/images/5/50/AppData5.png</image>
</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/5f/AppData1.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData2.png</screenshot>
<screenshot type="default" width="1226" height="740">http://www.gramps-project.org/wiki/images/e/e9/AppData3.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/6/68/AppData4.png</screenshot>
<screenshot width="1226" height="740">http://www.gramps-project.org/wiki/images/5/50/AppData5.png</screenshot>
</screenshots>
<provides>
+504 -725
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1278,7 +1278,7 @@
<rel type="Unknown"/>
<father hlink="_0000000b0000000b"/>
<mother hlink="_0000002600000026"/>
<childref hlink="_0000006f0000006f" frel="Adopted" mrel="Foster"/>
<childref hlink="_0000006f0000006f"/>
</family>
<family handle="_0000001000000010" change="1198222526" id="F0014">
<rel type="Unknown"/>
+4 -8
View File
@@ -2,8 +2,8 @@
1 SOUR Gramps
2 VERS 5.0.2
2 NAME Gramps
1 DATE 4 AUG 2019
2 TIME 15:26:44
1 DATE 31 JUL 2019
2 TIME 10:58:33
1 SUBM @SUBM@
1 FILE C:\Users\prc\AppData\Roaming\gramps\temp\exp_sample_ged.ged
1 COPR Copyright (c) 2019 Alex Roitman,,,.
@@ -629,12 +629,8 @@
2 TYPE Birth of Lloyd Smith
2 DATE 13 MAR 1935
2 PLAC San Francisco, San Francisco Co., CA
1 ADOP Y
2 FAMC @F0009@
3 ADOP HUSB
1 FAMC @F0009@
2 _FREL Adopted
2 _MREL Foster
2 PEDI birth
1 FAMS @F0008@
1 CHAN
2 DATE 4 SEP 2016
@@ -1044,7 +1040,7 @@
2 SURN Tester
1 SEX M
1 FAMC @F0016@
2 PEDI Sponsored
2 PEDI Unknown
1 CHAN
2 DATE 29 OCT 2016
3 TIME 16:27:59
-2
View File
@@ -83,8 +83,6 @@
2 DATE 11 AUG 1966
2 PLAC San Francisco, San Francisco Co., CA
1 FAMC @F8@
2 _FREL Adopted
2 _MREL Foster
1 CHAN
2 DATE 21 DEC 2007
3 TIME 01:35:26
+18 -18
View File
@@ -3,7 +3,7 @@
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd">
<database xmlns="http://gramps-project.org/xml/1.7.1/">
<header>
<created date="2019-08-04" version="5.0.2"/>
<created date="2019-07-31" version="5.0.2"/>
<researcher>
<resname>Alex Roitman,,,</resname>
<resaddr>Not Provided</resaddr>
@@ -1134,7 +1134,7 @@
<mother hlink="_000000b6000000b6"/>
<eventref hlink="_000000e3000000e3" role="Family"/>
<childref hlink="_0000004800000048" mrel="Adopted" frel="Adopted"/>
<childref hlink="_0000001900000019" mrel="Foster" frel="Adopted"/>
<childref hlink="_0000001900000019"/>
<childref hlink="_0000007b0000007b" mrel="Adopted" frel="Adopted"/>
<noteref hlink="_000000e4000000e4"/>
</family>
@@ -1566,8 +1566,8 @@ Filename omitted Line 48:
<note handle="_0000003d0000003d" change="1" id="N0012" type="GEDCOM import">
<text>Records not imported into INDI (individual) Gramps ID I0016:
Warn: ADDR overwritten Line 206: 3 ADR1 456 Main St again
ADDR element ignored '459 Main St.' Line 204: 2 ADDR 459 Main St., The Village, San Francisco, CA, USA
Warn: ADDR overwritten Line 204: 3 ADR1 456 Main St again
ADDR element ignored '459 Main St.' Line 202: 2 ADDR 459 Main St., The Village, San Francisco, CA, USA
</text>
<style name="fontface" value="Monospace">
<range start="0" end="304"/>
@@ -1579,7 +1579,7 @@ ADDR element ignored '459 Main St.' Line 204:
<note handle="_0000004700000047" change="1" id="N0014" type="GEDCOM import">
<text>Records not imported into INDI (individual) Gramps ID I0018:
Tag recognized but not supported Line 247: 2 TYPE first generaton
Tag recognized but not supported Line 245: 2 TYPE first generaton
</text>
<style name="fontface" value="Monospace">
<range start="0" end="165"/>
@@ -1611,7 +1611,7 @@ Company. He enlisted in the army at Sparks 7 December 1917 and served as a Corpo
<note handle="_000000cf000000cf" change="1" id="N0021" type="GEDCOM import">
<text>Records not imported into FAM (family) Gramps ID F0010:
Tag recognized but not supported Line 865: 2 _STAT
Tag recognized but not supported Line 863: 2 _STAT
</text>
<style name="fontface" value="Monospace">
<range start="0" end="146"/>
@@ -1620,8 +1620,8 @@ Tag recognized but not supported Line 865:
<note handle="_000000d4000000d4" change="1" id="N0022" type="GEDCOM import">
<text>Records not imported into FAM (family) Gramps ID F0011:
Could not import Magnes&amp;Anna_smiths_marr_cert.jpg Line 880: 3 OBJE
Could not import Magnes&amp;Anna_smiths_marr_cert.jpg Line 883: 2 OBJE
Could not import Magnes&amp;Anna_smiths_marr_cert.jpg Line 878: 3 OBJE
Could not import Magnes&amp;Anna_smiths_marr_cert.jpg Line 881: 2 OBJE
</text>
<style name="fontface" value="Monospace">
<range start="0" end="233"/>
@@ -1630,7 +1630,7 @@ Could not import Magnes&amp;Anna_smiths_marr_cert.jpg Line 8
<note handle="_000000d9000000d9" change="1" id="N0023" type="GEDCOM import">
<text>Records not imported into FAM (family) Gramps ID F0012:
Could not import John&amp;Alice_smiths_marr_cert.jpg Line 907: 1 OBJE
Could not import John&amp;Alice_smiths_marr_cert.jpg Line 905: 1 OBJE
</text>
<style name="fontface" value="Monospace">
<range start="0" end="145"/>
@@ -1639,7 +1639,7 @@ Could not import John&amp;Alice_smiths_marr_cert.jpg Line 9
<note handle="_000000e4000000e4" change="1" id="N0024" type="GEDCOM import">
<text>Records not imported into FAM (family) Gramps ID F0008:
Tag recognized but not supported Line 1007: 1 ADDR 123 Main st, Grantville, Virginia, USA
Tag recognized but not supported Line 1005: 1 ADDR 123 Main st, Grantville, Virginia, USA
</text>
<style name="fontface" value="Monospace">
<range start="0" end="183"/>
@@ -1663,8 +1663,8 @@ Tag recognized but not supported Line 1007:
<note handle="_000000ee000000ee" change="1" id="N0030" type="GEDCOM import">
<text>Records not imported into SOUR (source) Gramps ID S0003:
Tag recognized but not supported Line 1047: 1 DATA
Skipped subordinate line Line 1048: 2 AGNC NYC Public Library
Tag recognized but not supported Line 1045: 1 DATA
Skipped subordinate line Line 1046: 2 AGNC NYC Public Library
</text>
<style name="fontface" value="Monospace">
<range start="0" end="252"/>
@@ -1679,9 +1679,9 @@ Skipped subordinate line Line 1048:
<note handle="_000000f5000000f5" change="1" id="N0033" type="GEDCOM import">
<text>Records not imported into REPO (repository) Gramps ID R0003:
REFN ignored Line 1077: 3 REFN blah blah
Skipped subordinate line Line 1078: 4 TYPE who knows
Could not import Attic_photo.jpg Line 1081: 3 OBJE
REFN ignored Line 1075: 3 REFN blah blah
Skipped subordinate line Line 1076: 4 TYPE who knows
Could not import Attic_photo.jpg Line 1079: 3 OBJE
</text>
<style name="fontface" value="Monospace">
<range start="0" end="344"/>
@@ -1690,7 +1690,7 @@ Could not import Attic_photo.jpg Line 1081:
<note handle="_000000f6000000f6" change="1" id="N0034" type="GEDCOM import">
<text>Records not imported into Top Level:
Unknown tag Line 1108: 0 XXX an unknown token at level 0
Unknown tag Line 1106: 0 XXX an unknown token at level 0
</text>
<style name="fontface" value="Monospace">
<range start="0" end="152"/>
@@ -1699,13 +1699,13 @@ Unknown tag Line 1108:
<note handle="_000000f8000000f8" change="1" id="N0035" type="GEDCOM import">
<text>Records not imported into Top Level:
Unknown tag Line 1111: 1 @X1@ XXX and unknown token xref definition
Unknown tag Line 1109: 1 @X1@ XXX and unknown token xref definition
</text>
<style name="fontface" value="Monospace">
<range start="0" end="163"/>
</style>
</note>
<note handle="_000000f9000000f9" change="1564950708" id="N0036" type="General">
<note handle="_000000f9000000f9" change="1564588949" id="N0036" type="General">
<text>Objects referenced by this note were missing in a file imported on 12/25/1999 12:00:00 AM.</text>
</note>
</notes>
-9
View File
@@ -1,12 +1,3 @@
gramps (5.1.0-1) unstable; urgency=medium
* New release
* Update copyrights
* Bump gtk+ version to 3.12
* Add new geocode-glib dependency
-- Ross Gammon <rossgammon@debian.org> Sat, 24 Aug 2019 19:49:27 +0200
gramps (5.0.2-1) unstable; urgency=medium
* New release
+2 -3
View File
@@ -10,7 +10,7 @@ Build-Depends-Indep:
python3-all,
python3-setuptools,
python3-nose,
gir1.2-gtk-3.0 (>= 3.12.0),
gir1.2-gtk-3.0 (>= 3.10.0),
python3-gi (>= 3.12.0),
python3-gi-cairo,
python3-bsddb3,
@@ -41,8 +41,7 @@ Recommends:
graphviz,
gir1.2-gexiv2-0.10,
gir1.2-osmgpsmap-1.0,
python3-icu,
gir1.2-geocodeglib-1.0
python3-icu
Suggests:
fonts-freefont-ttf,
gir1.2-goocanvas-2.0,
+3 -8
View File
@@ -12,12 +12,12 @@ Copyright: 2000-2007, Alex Roitman
2001-2017, Free Software Foundation, Inc.
2001, Graham J. Williams
2001, Jesper Zedlitz
2001-2019, The Gramps Project
2001-2018, The Gramps Project
2002, Gary Shao
2003-2006, Josiah Carlson
2004-2006, Eero Tamminen
2004-2013, Julio Sánchez
2005-2019, Serge Noiraud
2005-2017, Serge Noiraud
2006-2012, Brian G. Matherly
2006, 2008-2011, Kees Bakker
2006-2008, Steve Hall
@@ -81,17 +81,12 @@ Copyright: 2000-2007, Alex Roitman
2015, Detlef Wolz
2016, Allen Crider
2016, DaAwesomeP
2016-2018, Paul Culley
2016-2017, Paul Culley
2016, QuLogic
2016, Tom Samstag
2017, Jonathan Biegert
2017, Mindaugas Baranauskas
2017, Robert Carnell
2018, Christophe aka khrys63
2018, Paul D.Smith
2018, Robin van der Vliet
2018, Theo van Rijn
2019, Matthias Kemmer
License: GPL-2+
Files: debian/*
+3 -3
View File
@@ -57,7 +57,7 @@ master_doc = 'index'
# General information about the project.
project = 'Gramps'
copyright = '2001-2019, The Gramps Project'
copyright = '2001-2018, The Gramps Project'
author = 'Donald N. Allingham'
# The version info for the project you're documenting, acts as replacement for
@@ -65,9 +65,9 @@ author = 'Donald N. Allingham'
# built documents.
#
# The short X.Y version.
version = '5.1.0'
version = '5.0.0'
# The full version, including alpha/beta/rc tags.
release = '5.1.0'
release = '5.0.0-master'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
+13 -38
View File
@@ -3,7 +3,7 @@
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd">
<database xmlns="http://gramps-project.org/xml/1.7.1/">
<header>
<created date="2017-08-08" version="5.1.0"/>
<created date="2018-03-08" version="5.0.0"/>
<researcher>
<resname>Alex Roitman,,,</resname>
</researcher>
@@ -951,7 +951,7 @@
<place hlink="_L3WJQCD3US67V2CNZT"/>
<description>Birth of Garner, Anderson</description>
</event>
<event handle="_a5af0eb7dfb557da07e" change="1502187535" id="E0179">
<event handle="_a5af0eb7dfb557da07e" change="1284030599" id="E0179">
<type>Death</type>
<dateval val="1887-04-07"/>
<place hlink="_AKFKQC2N4SM243HCTN"/>
@@ -6262,7 +6262,7 @@
<dateval val="1842-06-28"/>
<description>Death of Moreno, Joseph McDowell</description>
</event>
<event handle="_a5af0ec45b25c630e03" change="1502187451" id="E1179">
<event handle="_a5af0ec45b25c630e03" change="1284030608" id="E1179">
<type>Birth</type>
<dateval val="1911-07-12"/>
<description>Birth of Thornton, James Arthur</description>
@@ -15003,7 +15003,7 @@
<type>Marriage</type>
<description>Marriage of Johnson, Henry and Sparks, Catherine</description>
</event>
<event handle="_a5af0ed5df832ee65c1" change="1502187371" id="E2815">
<event handle="_a5af0ed5df832ee65c1" change="1328026859" id="E2815">
<type>Marriage</type>
<dateval val="1875-04-01"/>
<place hlink="_RF5KQCNJRQY8OGTX2H"/>
@@ -18649,7 +18649,7 @@
<parentin hlink="_F4CKQCJZ24JRE9Z889"/>
<citationref hlink="_c140d2472c91aad494f"/>
</person>
<person handle="_14LKQCYZJEAXTS3XX" change="1502187492" id="I1376">
<person handle="_14LKQCYZJEAXTS3XX" change="1185438865" id="I1376">
<gender>F</gender>
<name type="Birth Name">
<first>Elizabeth</first>
@@ -18657,7 +18657,6 @@
</name>
<eventref hlink="_a5af0ebb003796f79a0" role="Primary"/>
<eventref hlink="_a5af0ebb0143dab99ff" role="Primary"/>
<eventref hlink="_a5af0eb7dfb557da07e" role="Witness"/>
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
<parentin hlink="_I4LKQCOAGPFH4R90A7"/>
<citationref hlink="_c140d24731407d57b3c"/>
@@ -19905,7 +19904,7 @@
<childof hlink="_IO5KQC6H0Q6Y517LR9"/>
<citationref hlink="_c140d24a1fd2319b703"/>
</person>
<person handle="_35WJQC1B7T7NPV8OLV" change="1502187260" id="I0106">
<person handle="_35WJQC1B7T7NPV8OLV" change="1284030051" id="I0106">
<gender>M</gender>
<name type="Birth Name">
<first>Robert W.</first>
@@ -19914,11 +19913,6 @@
<eventref hlink="_a5af0eb74ac73f86aa7" role="Primary"/>
<eventref hlink="_a5af0eb74ba358391ae" role="Primary"/>
<eventref hlink="_a5af0eb74c852f7c633" role="Primary"/>
<eventref hlink="_a5af0ed5df832ee65c1" role="Witness">
<attribute type="Age" value="23">
<citationref hlink="_c140dafeb317af2fd79"/>
</attribute>
</eventref>
<childof hlink="_X3WJQCSF48F6809142"/>
<parentin hlink="_8OUJQCUVZ0XML7BQLF"/>
<citationref hlink="_c140d24a27e19bb381a"/>
@@ -21997,14 +21991,13 @@
<childof hlink="_GCDKQCHI74ZPMI5GDJ"/>
<citationref hlink="_c140d24f3f8704aa41b"/>
</person>
<person handle="_6G0KQC2UXYC66XDDC2" change="1502187537" id="I0363">
<person handle="_6G0KQC2UXYC66XDDC2" change="1185438865" id="I0363">
<gender>F</gender>
<name type="Birth Name">
<first>Miranda Keziah</first>
<surname>Farmer</surname>
</name>
<eventref hlink="_a5af0ec7a76244d962d" role="Primary"/>
<eventref hlink="_a5af0eb7dfb557da07e" role="Witness"/>
<childof hlink="_8NVJQCGMJTCL7E6ZDV"/>
<citationref hlink="_c140d24f439709d3118"/>
</person>
@@ -22996,7 +22989,7 @@
<parentin hlink="_FBVJQCFBI50TW78O49"/>
<citationref hlink="_c140d2522702664ec52"/>
</person>
<person handle="_8CLKQCT97PJOGREJ7W" change="1502187387" id="I1387">
<person handle="_8CLKQCT97PJOGREJ7W" change="1185438865" id="I1387">
<gender>M</gender>
<name type="Birth Name">
<first>Robert</first>
@@ -23004,11 +22997,6 @@
</name>
<eventref hlink="_a5af0ebb3737a6ad088" role="Primary"/>
<eventref hlink="_a5af0ebb39b441e9607" role="Primary"/>
<eventref hlink="_a5af0ed5df832ee65c1" role="Clergy">
<attribute type="Age" value="23">
<citationref hlink="_c140dafeb317af2fd79"/>
</attribute>
</eventref>
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
<parentin hlink="_H6LKQCWVIFNRNGHFVH"/>
<citationref hlink="_c140d2522d804491375"/>
@@ -23815,7 +23803,7 @@
<childof hlink="_5DBKQCVAB0XMBEW8R9"/>
<citationref hlink="_c140d25425874b0b827"/>
</person>
<person handle="_9HUJQC6ONNW8SMSKGQ" change="1502187526" id="I0038">
<person handle="_9HUJQC6ONNW8SMSKGQ" change="1185438865" id="I0038">
<gender>M</gender>
<name type="Birth Name">
<first>David</first>
@@ -23824,7 +23812,6 @@
<eventref hlink="_a5af0ec7eb514c52fbf" role="Primary"/>
<eventref hlink="_a5af0ec7ec844213b55" role="Primary"/>
<eventref hlink="_a5af0ec7ed61c743fc8" role="Primary"/>
<eventref hlink="_a5af0eb7dfb557da07e" role="Informant"/>
<childof hlink="_5IUJQCRJY47YQ8PU7N"/>
<parentin hlink="_3HUJQCK4DH582YUTZG"/>
<citationref hlink="_c140d2542c764516f13"/>
@@ -24519,7 +24506,7 @@
<parentin hlink="_8NVJQCGMJTCL7E6ZDV"/>
<citationref hlink="_c140d2560004fad8df6"/>
</person>
<person handle="_ANLKQCQSQNE5LDZMRC" change="1502187434" id="I1402">
<person handle="_ANLKQCQSQNE5LDZMRC" change="1185438865" id="I1402">
<gender>F</gender>
<name type="Birth Name">
<first>Margaret Jane &quot;Maggie&quot;</first>
@@ -24527,7 +24514,6 @@
</name>
<eventref hlink="_a5af0ebb7d47a006ee2" role="Primary"/>
<eventref hlink="_a5af0ebb7e54e14970f" role="Primary"/>
<eventref hlink="_a5af0ec45b25c630e03" role="Witness"/>
<childof hlink="_VDLKQCQQ1ADTJG1D1F"/>
<parentin hlink="_SNLKQCD0VNJ627062Y"/>
<citationref hlink="_c140d25607213be35da"/>
@@ -24896,18 +24882,13 @@
<parentin hlink="_JFYJQCG2KLRQN835JD"/>
<citationref hlink="_c140d256e3403ba129d"/>
</person>
<person handle="_B3BKQCSV0G3NKSKWDX" change="1502187344" id="I0880">
<person handle="_B3BKQCSV0G3NKSKWDX" change="1185438865" id="I0880">
<gender>F</gender>
<name type="Birth Name">
<first>L. J.</first>
<surname>Blanco</surname>
</name>
<eventref hlink="_a5af0ed2cf617169903" role="Primary"/>
<eventref hlink="_a5af0ed5df832ee65c1" role="Clergy">
<attribute type="Age" value="23">
<citationref hlink="_c140dafeb317af2fd79"/>
</attribute>
</eventref>
<childof hlink="_1BVJQCNTFAGS8273LJ"/>
<citationref hlink="_c140d256ec4306a51ca"/>
</person>
@@ -31949,7 +31930,7 @@
<childof hlink="_UDMKQC5D3A2PXPUGNC"/>
<citationref hlink="_c140d266ec93334f40f"/>
</person>
<person handle="_MG5KQC6ZKSVO4A63G2" change="1502187451" id="I0624">
<person handle="_MG5KQC6ZKSVO4A63G2" change="1328026883" id="I0624">
<gender>M</gender>
<name type="Birth Name">
<first>Raymond E.</first>
@@ -31957,7 +31938,6 @@
</name>
<eventref hlink="_a5af0ece8bd1125a1a9" role="Primary"/>
<eventref hlink="_a5af0ece8d15511ddf9" role="Primary"/>
<eventref hlink="_a5af0ec45b25c630e03" role="Informant"/>
<childof hlink="_9OUJQCBOHW9UEK9CNV"/>
<citationref hlink="_c140d266f0d5d178784"/>
</person>
@@ -32356,7 +32336,7 @@
<parentin hlink="_F4CKQCJZ24JRE9Z889"/>
<citationref hlink="_c140d267ccb7aef0cd0"/>
</person>
<person handle="_N4DKQCPEMZ7OO62O7J" change="1502187308" id="I0975">
<person handle="_N4DKQCPEMZ7OO62O7J" change="1185438865" id="I0975">
<gender>M</gender>
<name type="Birth Name">
<first>Henry</first>
@@ -32365,11 +32345,6 @@
<eventref hlink="_a5af0ed483738d4ed1e" role="Primary"/>
<eventref hlink="_a5af0ed484a144d229b" role="Primary"/>
<eventref hlink="_a5af0ed48605fb6b9eb" role="Primary"/>
<eventref hlink="_a5af0ed5df832ee65c1" role="Witness">
<attribute type="Age" value="23">
<citationref hlink="_c140dafeb317af2fd79"/>
</attribute>
</eventref>
<parentin hlink="_7PUJQC4PPS4EDIVMYE"/>
<citationref hlink="_c140d267d2128356d8e"/>
</person>
+4 -8
View File
@@ -47,7 +47,6 @@ from gramps.gen.recentfiles import recent_files
from gramps.gen.utils.file import rm_tempdir, get_empty_tempdir
from .clidbman import CLIDbManager, NAME_FILE, find_locker_name
from gramps.gen.db.utils import make_database
from gramps.gen.db.dbconst import DBBACKEND
from gramps.gen.plug import BasePluginManager
from gramps.gen.plug.report import CATEGORY_BOOK, CATEGORY_CODE, BookList
from .plug import cl_report, cl_book
@@ -505,9 +504,6 @@ class ArgHandler:
self.imp_db_path = get_empty_tempdir("import_dbdir")
dbid = config.get('database.backend')
newdb = make_database(dbid)
versionpath = os.path.join(self.imp_db_path, str(DBBACKEND))
with open(versionpath, "w") as version_file:
version_file.write(dbid)
try:
self.smgr.open_activate(self.imp_db_path, self.username, self.password)
@@ -623,8 +619,8 @@ class ArgHandler:
#import of plugin failed
return
category = pdata.category
report_class = getattr(mod, pdata.reportclass)
options_class = getattr(mod, pdata.optionclass)
report_class = eval('mod.' + pdata.reportclass)
options_class = eval('mod.' + pdata.optionclass)
if category in (CATEGORY_BOOK, CATEGORY_CODE):
options_class(self.dbstate.db, name, category,
options_str_dict)
@@ -672,8 +668,8 @@ class ArgHandler:
#import of plugin failed
return
category = pdata.category
tool_class = getattr(mod, pdata.toolclass)
options_class = getattr(mod, pdata.optionclass)
tool_class = eval('mod.' + pdata.toolclass)
options_class = eval('mod.' + pdata.optionclass)
tool.cli_tool(dbstate=self.dbstate,
name=name,
category=category,
+3 -52
View File
@@ -39,16 +39,15 @@ import sys
import os
import getopt
import logging
import shutil
from glob import glob
#-------------------------------------------------------------------------
#
# gramps modules
#
#-------------------------------------------------------------------------
from gramps.gen.const import (LONGOPTS, SHORTOPTS, USER_PLUGINS, VERSION_DIR,
HOME_DIR, TEMP_DIR, THUMB_DIR, ENV_DIR, USER_CSS)
from gramps.gen.const import LONGOPTS, SHORTOPTS, PLUGINS_DIR, USER_PLUGINS
from gramps.gen.plug import BasePluginManager
from gramps.gen.config import config
from gramps.gen.utils.cast import get_type_converter
from gramps.gen.const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext
@@ -82,14 +81,6 @@ Application options
-y, --yes Don't ask to confirm dangerous actions (non-GUI mode only)
-q, --quiet Suppress progress indication output (non-GUI mode only)
-v, --version Show versions
-S, --safe Start Gramps in 'Safe mode'
(temporarily use default settings)
-D, --default=[APXFE] Reset settings to default;
A - addons are cleared
P - Preferences to default
X - Books are cleared, reports and tool settings to default
F - filters are cleared
E - Everything is set to default or cleared
""")
_USAGE = _("""
@@ -351,7 +342,6 @@ class ArgParser:
elif option in ['-t']:
self.list_table = True
elif option in ['-s', '--show']:
from gramps.gen.config import config
print(_("Gramps config settings from %s:"
) % config.filename)
for sect in config.data:
@@ -361,7 +351,6 @@ class ArgParser:
print()
sys.exit(0)
elif option in ['-c', '--config']:
from gramps.gen.config import config
cfg_name = value
set_value = False
if cfg_name:
@@ -407,44 +396,6 @@ class ArgParser:
self.auto_accept = True
elif option in ['-q', '--quiet']:
self.quiet = True
elif option in ['-S', '--safe']:
cleandbg += [opt_ix]
elif option in ['-D', '--default']:
def rmtree(path):
if os.path.isdir(path):
shutil.rmtree(path, ignore_errors=True)
if 'E' in value or 'A' in value: # clear addons
rmtree(USER_PLUGINS)
if 'E' in value or 'P' in value: # clear ini preferences
for fil in glob(os.path.join(VERSION_DIR, "*.*")):
if "custom_filters.xml" in fil:
continue
os.remove(fil)
# create gramps.ini so config won't load the one from an
# older version of Gramps.
with open(os.path.join(VERSION_DIR, 'gramps.ini'), 'w'):
pass
if 'E' in value or 'F' in value: # clear filters
fil = os.path.join(VERSION_DIR, "custom_filters.xml")
if os.path.isfile(fil):
os.remove(fil)
if 'E' in value or 'X' in value: # clear xml reports/tools
for fil in glob(os.path.join(HOME_DIR, "*.xml")):
os.remove(fil)
if 'E' in value or 'Z' in value: # clear upgrade zips
for fil in glob(os.path.join(HOME_DIR, "*.zip")):
os.remove(fil)
if 'E' in value: # Everything else
rmtree(TEMP_DIR)
rmtree(THUMB_DIR)
rmtree(USER_CSS)
rmtree(ENV_DIR)
rmtree(os.path.join(HOME_DIR, "maps"))
for fil in glob(os.path.join(HOME_DIR, "*")):
if os.path.isfile(fil):
os.remove(fil)
sys.exit(0) # Done with Default
#clean options list
cleandbg.reverse()
-2
View File
@@ -64,7 +64,6 @@ from gramps.gen.db.exceptions import (DbUpgradeRequiredError,
from gramps.gen.plug import BasePluginManager
from gramps.gen.utils.config import get_researcher
from gramps.gen.recentfiles import recent_files
from gramps.gen.filters import reload_custom_filters
#-------------------------------------------------------------------------
#
@@ -374,7 +373,6 @@ def startcli(errors, argparser):
#load the plugins
climanager.do_reg_plugins(dbstate, uistate=None)
reload_custom_filters()
# handle the arguments
from .arghandler import ArgHandler
handler = ArgHandler(dbstate, argparser, climanager)
+2 -16
View File
@@ -6,7 +6,6 @@
# Copyright (C) 2008-2009 Gary Burton
# Copyright (C) 2009-2012 Doug Blank <doug.blank@gmail.com>
# Copyright (C) 2011 Tim G L Lyons
# Copyright (C) 2015- Serge Noiraud
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -149,7 +148,6 @@ register('behavior.min-generation-years', 13)
register('behavior.owner-warn', False)
register('behavior.pop-plugin-status', False)
register('behavior.recent-export-type', 3)
register('behavior.runcheck', False)
register('behavior.spellcheck', False)
register('behavior.startup', 0)
register('behavior.surname-guessing', 0)
@@ -157,9 +155,9 @@ register('behavior.translator-needed', True)
register('behavior.use-tips', False)
register('behavior.welcome', 100)
register('behavior.web-search-url', 'http://google.com/#&q=%(text)s')
register('behavior.addons-url', "https://raw.githubusercontent.com/gramps-project/addons/master/gramps51")
register('behavior.addons-url', "https://raw.githubusercontent.com/gramps-project/addons/master/gramps50")
register('database.backend', 'sqlite')
register('database.backend', 'bsddb')
register('database.compress-backup', True)
register('database.backup-path', USER_HOME)
register('database.backup-on-exit', True)
@@ -219,7 +217,6 @@ register('interface.sidebar-text', True)
register('interface.size-checked', False)
register('interface.statusbar', 1)
register('interface.toolbar-on', True)
register('interface.toolbar-text', False)
register('interface.view', True)
register('interface.surname-box-height', 150)
register('interface.treemodel-cache-size', 1000)
@@ -231,8 +228,6 @@ register('paths.report-directory', USER_HOME)
register('paths.website-directory', USER_HOME)
register('paths.website-cms-uri', '')
register('paths.website-cal-uri', '')
register('paths.website-extra-page-uri', '')
register('paths.website-extra-page-name', '')
register('paths.quick-backup-directory', USER_HOME)
register('paths.quick-backup-filename',
"%(filename)s_%(year)d-%(month)02d-%(day)02d.%(extension)s")
@@ -282,10 +277,6 @@ register('colors.female-dead', ['#feccf0', '#3a292b'])
register('colors.unknown-alive', ['#f3dbb6', '#75507B'])
register('colors.unknown-dead', ['#f3dbb6', '#35103b'])
register('colors.family', ['#eeeeee', '#454545'])
register('colors.family-married', ['#eeeeee', '#454545'])
register('colors.family-unmarried', ['#eeeeee', '#454545'])
register('colors.family-civil-union', ['#eeeeee', '#454545'])
register('colors.family-unknown', ['#eeeeee', '#454545'])
register('colors.family-divorced', ['#ffdede', '#5c3636'])
register('colors.home-person', ['#bbe68a', '#304918'])
register('colors.border-male-alive', ['#1f4986', '#171d26'])
@@ -310,11 +301,6 @@ register('researcher.researcher-state', '')
register('plugin.hiddenplugins', [])
register('plugin.addonplugins', [])
register('utf8.in-use', False)
register('utf8.available-fonts', [])
register('utf8.selected-font', "")
register('utf8.death-symbol', 13)
if __debug__: # enable a simple CLI test to see if the datestrings exist
register('test.january', _("localized lexeme inflections||January"))
+3 -13
View File
@@ -104,13 +104,6 @@ elif 'USERPROFILE' in os.environ:
else:
USER_HOME = get_env_var('HOME')
HOME_DIR = os.path.join(USER_HOME, '.gramps')
ORIG_HOME_DIR = HOME_DIR
if 'SAFEMODE' in os.environ:
if 'USERPROFILE' in os.environ:
USER_HOME = get_env_var('USERPROFILE')
else:
USER_HOME = get_env_var('HOME')
HOME_DIR = get_env_var('SAFEMODE')
VERSION_DIR = os.path.join(
@@ -145,8 +138,7 @@ sys.path.insert(0, ROOT_DIR)
git_revision = get_git_revision(ROOT_DIR).replace('\n', '')
if sys.platform == 'win32' and git_revision == "":
git_revision = get_git_revision(os.path.split(ROOT_DIR)[1])
#VERSION += git_revision
#VERSION += "-1"
VERSION += git_revision
#
# Glade files
@@ -225,7 +217,7 @@ GTK_GETTEXT_DOMAIN = 'gtk30'
#
#-------------------------------------------------------------------------
COPYRIGHT_MSG = "© 2001-2006 Donald N. Allingham\n" \
"© 2007-2019 The Gramps Developers"
"© 2007-2018 The Gramps Developers"
COMMENTS = _("Gramps\n (Genealogical Research and Analysis "
"Management Programming System)\n"
"is a personal genealogy program.")
@@ -274,7 +266,6 @@ LONGOPTS = [
"class=",
"config=",
"debug=",
"default=",
"display=",
"disable-sound",
"disable-crash-dialog",
@@ -302,7 +293,6 @@ LONGOPTS = [
"password=",
"create=",
"options=",
"safe",
"screen=",
"show",
"sm-client-id=",
@@ -316,7 +306,7 @@ LONGOPTS = [
"quiet",
]
SHORTOPTS = "O:U:P:C:i:e:f:a:p:d:c:r:lLthuv?syqSD:"
SHORTOPTS = "O:U:P:C:i:e:f:a:p:d:c:r:lLthuv?syq"
GRAMPS_UUID = uuid.UUID('516cd010-5a41-470f-99f8-eb22f1098ad6')
+10 -10
View File
@@ -51,9 +51,9 @@ class DateParserDE(DateParser):
# Always add german and austrian name variants no matter what the current
# locale is
month_to_int["januar"] = 1
month_to_int["jan"] = 1
month_to_int["jan"] = 1
month_to_int["jänner"] = 1
month_to_int["jän"] = 1
month_to_int["jän"] = 1
# Add other common latin,
@@ -121,14 +121,14 @@ class DateParserDE(DateParser):
# local and historical variants
month_to_int["jenner"] = 1
month_to_int["feber"] = 2
month_to_int["merz"] = 3
month_to_int["augst"] = 8
month_to_int["7ber"] = 9
month_to_int["8ber"] = 10
month_to_int["9ber"] = 11
month_to_int["10ber"] = 12
month_to_int["xber"] = 12
month_to_int["feber"] = 2
month_to_int["merz"] = 3
month_to_int["augst"] = 8
month_to_int["7ber"] = 9
month_to_int["8ber"] = 10
month_to_int["9ber"] = 11
month_to_int["10ber"] = 12
month_to_int["xber"] = 12
# old german names
+37 -37
View File
@@ -55,7 +55,7 @@ class DateParserHU(DateParser):
month_to_int["-"]=0 #to make the Zero month to work
month_to_int["január"] = 1
month_to_int["jan"] = 1
month_to_int["jan"] = 1
month_to_int["jan."] = 1
month_to_int["I"] = 1
# month_to_int["i"] = 1
@@ -64,67 +64,67 @@ class DateParserHU(DateParser):
month_to_int["feb"] = 2
month_to_int["feb."] = 2
month_to_int["II"] = 2
# month_to_int["ii"] = 2
# month_to_int["ii"] = 2
month_to_int["március"] = 3
month_to_int["márc"] = 3
month_to_int["márc."] = 3
month_to_int["III"] = 3
# month_to_int["iii"] = 3
# month_to_int["iii"] = 3
month_to_int["április"] = 4
month_to_int["ápr"] = 4
month_to_int["ápr."] = 4
month_to_int["IV"] = 4
# month_to_int["iv"] = 4
month_to_int["IV"] = 4
# month_to_int["iv"] = 4
month_to_int["május"] = 5
month_to_int["máj"] = 5
month_to_int["máj."] = 5
month_to_int["V"] = 5
# month_to_int["v"] = 5
month_to_int["V"] = 5
# month_to_int["v"] = 5
month_to_int["június"] = 6
month_to_int["jún"] = 6
month_to_int["jún."] = 6
month_to_int["VI"] = 6
# month_to_int["vi"] = 6
month_to_int["VI"] = 6
# month_to_int["vi"] = 6
month_to_int["július"] = 7
month_to_int["júl"] = 7
month_to_int["júl."] = 7
month_to_int["VII"] = 7
# month_to_int["vii"] = 7
month_to_int["július"] = 7
month_to_int["júl"] = 7
month_to_int["júl."] = 7
month_to_int["VII"] = 7
# month_to_int["vii"] = 7
month_to_int["augusztus"] = 8
month_to_int["aug"] = 8
month_to_int["aug."] = 8
month_to_int["VIII"] = 8
# month_to_int["viii"] = 8
month_to_int["augusztus"] = 8
month_to_int["aug"] = 8
month_to_int["aug."] = 8
month_to_int["VIII"] = 8
# month_to_int["viii"] = 8
month_to_int["szeptember"] = 9
month_to_int["szept"] = 9
month_to_int["szeptember"] = 9
month_to_int["szept"] = 9
month_to_int["szept."] = 9
month_to_int["IX"] = 9
# month_to_int["ix"] = 9
month_to_int["IX"] = 9
# month_to_int["ix"] = 9
month_to_int["október"] = 10
month_to_int["okt"] = 10
month_to_int["okt."] = 10
month_to_int["X"] = 10
# month_to_int["x"] = 10
month_to_int["október"] = 10
month_to_int["okt"] = 10
month_to_int["okt."] = 10
month_to_int["X"] = 10
# month_to_int["x"] = 10
month_to_int["november"] = 11
month_to_int["nov"] = 11
month_to_int["november"] = 11
month_to_int["nov"] = 11
month_to_int["nov."] = 11
month_to_int["XI"] = 11
# month_to_int["xi"] = 11
month_to_int["XI"] = 11
# month_to_int["xi"] = 11
month_to_int["december"] = 12
month_to_int["dec"] = 12
month_to_int["dec."] = 12
month_to_int["XII"] = 12
# month_to_int["xii"] = 12
month_to_int["december"] = 12
month_to_int["dec"] = 12
month_to_int["dec."] = 12
month_to_int["XII"] = 12
# month_to_int["xii"] = 12
#-----------------------------------------------------------------------
+21 -21
View File
@@ -57,30 +57,30 @@ class DateParserNL(DateParser):
# Always add dutch and flemish name variants
# no matter what the current locale is
month_to_int["januari"] = 1
month_to_int["jan"] = 1
month_to_int["jan"] = 1
# Add other common latin, local and historical variants
month_to_int["januaris"] = 1
month_to_int["feber"] = 2
month_to_int["februaris"] = 2
month_to_int["merz"] = 3
month_to_int["feber"] = 2
month_to_int["februaris"] = 2
month_to_int["merz"] = 3
#make sure on all distro mrt and maa are accepted
month_to_int["maa"] = 3
month_to_int["mrt"] = 3
month_to_int["aprilis"] = 4
month_to_int["maius"] = 5
month_to_int["junius"] = 6
month_to_int["julius"] = 7
month_to_int["augst"] = 8
month_to_int["7ber"] = 9
month_to_int["7bris"] = 9
month_to_int["8ber"] = 10
month_to_int["8bris"] = 10
month_to_int["9ber"] = 11
month_to_int["9bris"] = 11
month_to_int["10ber"] = 12
month_to_int["10bris"] = 12
month_to_int["xber"] = 12
month_to_int["xbris"] = 12
month_to_int["maa"] = 3
month_to_int["mrt"] = 3
month_to_int["aprilis"] = 4
month_to_int["maius"] = 5
month_to_int["junius"] = 6
month_to_int["julius"] = 7
month_to_int["augst"] = 8
month_to_int["7ber"] = 9
month_to_int["7bris"] = 9
month_to_int["8ber"] = 10
month_to_int["8bris"] = 10
month_to_int["9ber"] = 11
month_to_int["9bris"] = 11
month_to_int["10ber"] = 12
month_to_int["10bris"] = 12
month_to_int["xber"] = 12
month_to_int["xbris"] = 12
modifier_to_int = {
'voor' : Date.MOD_BEFORE,
+32 -32
View File
@@ -54,38 +54,38 @@ class DateParserPL(DateParser):
month_to_int["styczeń"] = 1
month_to_int["sty"] = 1
month_to_int["I"] = 1
month_to_int["luty"] = 2
month_to_int["lut"] = 2
month_to_int["II"] = 2
month_to_int["marzec"] = 3
month_to_int["mar"] = 3
month_to_int["III"] = 3
month_to_int["kwiecień"] = 4
month_to_int["kwi"] = 4
month_to_int["IV"] = 4
month_to_int["maj"] = 5
month_to_int["V"] = 5
month_to_int["czerwiec"] = 6
month_to_int["cze"] = 6
month_to_int["VI"] = 6
month_to_int["lipiec"] = 7
month_to_int["lip"] = 7
month_to_int["VII"] = 7
month_to_int["sierpień"] = 8
month_to_int["sie"] = 8
month_to_int["VIII"] = 8
month_to_int["wrzesień"] = 9
month_to_int["wrz"] = 9
month_to_int["IX"] = 9
month_to_int["październik"] = 10
month_to_int["paź"] = 10
month_to_int["X"] = 10
month_to_int["listopad"] = 11
month_to_int["lis"] = 11
month_to_int["XI"] = 11
month_to_int["grudzień"] = 12
month_to_int["gru"] = 12
month_to_int["XII"] = 12
month_to_int["luty"] = 2
month_to_int["lut"] = 2
month_to_int["II"] = 2
month_to_int["marzec"] = 3
month_to_int["mar"] = 3
month_to_int["III"] = 3
month_to_int["kwiecień"] = 4
month_to_int["kwi"] = 4
month_to_int["IV"] = 4
month_to_int["maj"] = 5
month_to_int["V"] = 5
month_to_int["czerwiec"] = 6
month_to_int["cze"] = 6
month_to_int["VI"] = 6
month_to_int["lipiec"] = 7
month_to_int["lip"] = 7
month_to_int["VII"] = 7
month_to_int["sierpień"] = 8
month_to_int["sie"] = 8
month_to_int["VIII"] = 8
month_to_int["wrzesień"] = 9
month_to_int["wrz"] = 9
month_to_int["IX"] = 9
month_to_int["październik"] = 10
month_to_int["paź"] = 10
month_to_int["X"] = 10
month_to_int["listopad"] = 11
month_to_int["lis"] = 11
month_to_int["XI"] = 11
month_to_int["grudzień"] = 12
month_to_int["gru"] = 12
month_to_int["XII"] = 12
# Alternative forms: declined nouns
month_to_int["stycznia"] = 1
month_to_int["lutego"] = 2
+58 -58
View File
@@ -54,95 +54,95 @@ class DateParserSR(DateParser):
"""
month_to_int = DateParser.month_to_int
month_to_int["januar"] = 1
month_to_int["januar"] = 1
month_to_int["januara"] = 1
month_to_int["jan"] = 1
month_to_int["јан"] = 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["јануар"] = 1
month_to_int["i"] = 1
month_to_int["februar"] = 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["feb"] = 2
month_to_int["феб"] = 2
month_to_int["фебруар"] = 2
month_to_int["фебруара"] = 2
month_to_int["ii"] = 2
month_to_int["ii"] = 2
month_to_int["mart"] = 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["mar"] = 3
month_to_int["мар"] = 3
month_to_int["март"] = 3
month_to_int["марта"] = 3
month_to_int["iii"] = 3
month_to_int["iii"] = 3
month_to_int["april"] = 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["apr"] = 4
month_to_int["апр"] = 4
month_to_int["април"] = 4
month_to_int["априла"] = 4
month_to_int["iv"] = 4
month_to_int["iv"] = 4
month_to_int["maj"] = 5
month_to_int["maj"] = 5
month_to_int["maja"] = 5
month_to_int["мај"] = 5
month_to_int["мај"] = 5
month_to_int["маја"] = 5
month_to_int["v"] = 5
month_to_int["v"] = 5
month_to_int["jun"] = 6
month_to_int["jun"] = 6
month_to_int["juna"] = 6
month_to_int["јун"] = 6
month_to_int["јун"] = 6
month_to_int["јуна"] = 6
month_to_int["vi"] = 6
month_to_int["vi"] = 6
month_to_int["jul"] = 7
month_to_int["jul"] = 7
month_to_int["jula"] = 7
month_to_int["јул"] = 7
month_to_int["јул"] = 7
month_to_int["јула"] = 7
month_to_int["vii"] = 7
month_to_int["vii"] = 7
month_to_int["avgust"] = 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["avg"] = 8
month_to_int["авг"] = 8
month_to_int["август"] = 8
month_to_int["августа"] = 8
month_to_int["viii"] = 8
month_to_int["viii"] = 8
month_to_int["septembar"] = 9
month_to_int["septembra"] = 9
month_to_int["sep"] = 9
month_to_int["сеп"] = 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["ix"] = 9
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["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["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["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["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
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 = {
'pre' : Date.MOD_BEFORE,
+7 -7
View File
@@ -56,7 +56,7 @@ from ._datestrings import DateStrings
# Top-level module functions
#
#-------------------------------------------------------------------------
_max_days = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
_max_days = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
_leap_days = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
def gregorian_valid(date_tuple):
@@ -400,8 +400,8 @@ class DateParser:
_ = self._locale.translation.gettext
self.__init_prefix_tables()
self._rfc_mon_str = '(' + '|'.join(list(self._rfc_mons_to_int.keys())) + ')'
self._rfc_day_str = '(' + '|'.join(self._rfc_days) + ')'
self._rfc_mon_str = '(' + '|'.join(list(self._rfc_mons_to_int.keys())) + ')'
self._rfc_day_str = '(' + '|'.join(self._rfc_days) + ')'
self._bce_str = self.re_longest_first(self.bce)
self._qual_str = self.re_longest_first(list(self.quality_to_int.keys()))
@@ -409,14 +409,14 @@ class DateParser:
self._mod_after_str = self.re_longest_first(
list(self.modifier_after_to_int.keys()))
self._mon_str = self.re_longest_first(list(self.month_to_int.keys()))
self._mon_str = self.re_longest_first(list(self.month_to_int.keys()))
self._jmon_str = self.re_longest_first(list(self.hebrew_to_int.keys()))
self._fmon_str = self.re_longest_first(list(self.french_to_int.keys()))
self._pmon_str = self.re_longest_first(list(self.persian_to_int.keys()))
self._imon_str = self.re_longest_first(list(self.islamic_to_int.keys()))
self._smon_str = self.re_longest_first(list(self.swedish_to_int.keys()))
self._cal_str = self.re_longest_first(list(self.calendar_to_int.keys()))
self._ny_str = self.re_longest_first(list(self.newyear_to_int.keys()))
self._cal_str = self.re_longest_first(list(self.calendar_to_int.keys()))
self._ny_str = self.re_longest_first(list(self.newyear_to_int.keys()))
self._today_str = self.re_longest_first(self.today + [_("today"),])
@@ -911,7 +911,7 @@ class DateParser:
text = text.strip() # otherwise spaces can make it a bad date
date.set_text_value(text)
qual = Date.QUAL_NONE
cal = Date.CAL_GREGORIAN
cal = Date.CAL_GREGORIAN
newyear = Date.NEWYEAR_JAN1
(text, cal, newyear) = self.match_calendar_newyear(text, cal, newyear)
+2 -2
View File
@@ -66,7 +66,7 @@ def set_format(value):
except:
pass
def set_date(date_base, text):
def set_date(date_base, text) :
"""
Set the date of the :class:`.DateBase` instance.
@@ -79,7 +79,7 @@ def set_date(date_base, text):
"""
parser.set_date(date_base.get_date_object(), text)
def get_date(date_base):
def get_date(date_base) :
"""
Return a string representation of the date of the :class:`.DateBase`
instance.
+20 -20
View File
@@ -39,36 +39,36 @@ __all__ = ( 'DBPAGE', 'DBMODE', 'DBCACHE', 'DBLOCKS', 'DBOBJECTS', 'DBUNDO',
"CLASS_TO_KEY_MAP", "KEY_TO_CLASS_MAP", "KEY_TO_NAME_MAP"
)
DBEXT = ".db" # File extension to be used for database files
DBUNDOFN = "undo.db" # File name of 'undo' database
DBLOCKFN = "lock" # File name of lock file
DBEXT = ".db" # File extension to be used for database files
DBUNDOFN = "undo.db" # File name of 'undo' database
DBLOCKFN = "lock" # File name of lock file
DBRECOVFN = "need_recover" # File name of recovery file
BDBVERSFN = "bdbversion.txt"# File name of Berkeley DB version file
DBBACKEND = "database.txt" # File name of Database backend file
SCHVERSFN = "schemaversion.txt"# File name of schema version file
PCKVERSFN = "pickleupgrade.txt" # Indicator that pickle has been upgrade t Python3
DBLOGNAME = ".Db" # Name of logger
DBMODE_R = "r" # Read-only access
DBMODE_W = "w" # Full Read/Write access
DBPAGE = 16384 # Size of the pages used to hold items in the database
DBMODE = 0o666 # Unix mode for database creation
DBCACHE = 0x4000000 # Size of the shared memory buffer pool
DBLOCKS = 100000 # Maximum number of locks supported
DBMODE_R = "r" # Read-only access
DBMODE_W = "w" # Full Read/Write access
DBPAGE = 16384 # Size of the pages used to hold items in the database
DBMODE = 0o666 # Unix mode for database creation
DBCACHE = 0x4000000 # Size of the shared memory buffer pool
DBLOCKS = 100000 # Maximum number of locks supported
DBOBJECTS = 100000 # Maximum number of simultaneously locked objects
DBUNDO = 1000 # Maximum size of undo buffer
DBUNDO = 1000 # Maximum size of undo buffer
ARRAYSIZE = 1000 # The arraysize for a SQL cursor
PERSON_KEY = 0
FAMILY_KEY = 1
SOURCE_KEY = 2
EVENT_KEY = 3
MEDIA_KEY = 4
PLACE_KEY = 5
PERSON_KEY = 0
FAMILY_KEY = 1
SOURCE_KEY = 2
EVENT_KEY = 3
MEDIA_KEY = 4
PLACE_KEY = 5
REPOSITORY_KEY = 6
REFERENCE_KEY = 7
NOTE_KEY = 8
TAG_KEY = 9
CITATION_KEY = 10
REFERENCE_KEY = 7
NOTE_KEY = 8
TAG_KEY = 9
CITATION_KEY = 10
TXNADD, TXNUPD, TXNDEL = 0, 1, 2
+1 -2
View File
@@ -216,9 +216,8 @@ class DummyDb(M_A_M_B("NewBaseClass", (DbReadBase, Callback, object,), {})):
"""
Create a new DummyDb instance.
"""
DbReadBase.__init__(self)
Callback.__init__(self)
self.basedb = None
self.__feature = {} # {"feature": VALUE, ...}
self.db_is_open = False
self.readonly = True
self.name_formats = []
+1 -1
View File
@@ -120,7 +120,7 @@ class DbTxn(defaultdict):
data = Python list where:
list element = (handle, data) where:
handle = handle (database key) of the object in the transaction
data = pickled representation of the object
data = pickled representation of the object
"""
# Conditional on __debug__ because all that frame stuff may be slow
+36 -36
View File
@@ -83,21 +83,21 @@ except ImportError:
# Constants
#
#-------------------------------------------------------------------------
_FIRSTNAME = 4
_FIRSTNAME = 4
_SURNAME_LIST = 5
_SUFFIX = 6
_TITLE = 7
_TYPE = 8
_GROUP = 9
_SORT = 10
_DISPLAY = 11
_CALL = 12
_NICK = 13
_FAMNICK = 14
_SURNAME_IN_LIST = 0
_PREFIX_IN_LIST = 1
_PRIMARY_IN_LIST = 2
_TYPE_IN_LIST = 3
_SUFFIX = 6
_TITLE = 7
_TYPE = 8
_GROUP = 9
_SORT = 10
_DISPLAY = 11
_CALL = 12
_NICK = 13
_FAMNICK = 14
_SURNAME_IN_LIST = 0
_PREFIX_IN_LIST = 1
_PRIMARY_IN_LIST = 2
_TYPE_IN_LIST = 3
_CONNECTOR_IN_LIST = 4
_ORIGINPATRO = NameOriginType.PATRONYMIC
_ORIGINMATRO = NameOriginType.MATRONYMIC
@@ -570,13 +570,13 @@ class NameDisplay:
raw_data[_SUFFIX])
Specific symbols for parts of a name are defined (keywords given):
't' : title = title
'f' : given = given (first names)
'l' : surname = full surname (lastname)
'c' : call = callname
'x' : common = nick name, call, otherwise first first name (common name)
'i' : initials = initials of the first names
'm' : primary = primary surname (main)
't' : title = title
'f' : given = given (first names)
'l' : surname = full surname (lastname)
'c' : call = callname
'x' : common = nick name, call, otherwise first first name (common name)
'i' : initials = initials of the first names
'm' : primary = primary surname (main)
'0m': primary[pre]= prefix primary surname (main)
'1m': primary[sur]= surname primary surname (main)
'2m': primary[con]= connector primary surname (main)
@@ -585,11 +585,11 @@ class NameDisplay:
'1y': patronymic[sur] = surname "
'2y': patronymic[con] = connector "
'o' : notpatronymic = surnames without pa/matronymic and primary
'r' : rest = non primary surnames
'p' : prefix = list of all prefixes
'r' : rest = non primary surnames
'p' : prefix = list of all prefixes
'q' : rawsurnames = surnames without prefixes and connectors
's' : suffix = suffix
'n' : nickname = nick name
's' : suffix = suffix
'n' : nickname = nick name
'g' : familynick = family nick name
@@ -671,13 +671,13 @@ class NameDisplay:
return "%s %s" % (first,suffix)
Specific symbols for parts of a name are defined (keywords given):
't' : title = title
'f' : given = given (first names)
'l' : surname = full surname (lastname)
'c' : call = callname
'x' : common = nick name, call, or otherwise first first name (common name)
'i' : initials = initials of the first names
'm' : primary = primary surname (main)
't' : title = title
'f' : given = given (first names)
'l' : surname = full surname (lastname)
'c' : call = callname
'x' : common = nick name, call, or otherwise first first name (common name)
'i' : initials = initials of the first names
'm' : primary = primary surname (main)
'0m': primary[pre]= prefix primary surname (main)
'1m': primary[sur]= surname primary surname (main)
'2m': primary[con]= connector primary surname (main)
@@ -686,11 +686,11 @@ class NameDisplay:
'1y': patronymic[sur] = surname "
'2y': patronymic[con] = connector "
'o' : notpatronymic = surnames without pa/matronymic and primary
'r' : rest = non primary surnames
'p' : prefix = list of all prefixes
'r' : rest = non primary surnames
'p' : prefix = list of all prefixes
'q' : rawsurnames = surnames without prefixes and connectors
's' : suffix = suffix
'n' : nickname = nick name
's' : suffix = suffix
'n' : nickname = nick name
'g' : familynick = family nick name
"""
+11 -2
View File
@@ -22,6 +22,7 @@
Package providing filtering framework for Gramps.
"""
#SystemFilters = None
CustomFilters = None
from ..const import CUSTOM_FILTERS
@@ -31,10 +32,18 @@ from ._genericfilter import (GenericFilter, GenericFilterFactory,
from ._paramfilter import ParamFilter
from ._searchfilter import SearchFilter, ExactSearchFilter
#def reload_system_filters():
#global SystemFilters
#SystemFilters = FilterList(SYSTEM_FILTERS)
#SystemFilters.load()
def reload_custom_filters():
global CustomFilters
CustomFilters = FilterList(CUSTOM_FILTERS)
CustomFilters.load()
# if not CustomFilters: # moved to viewmanager
# reload_custom_filters()
#if not SystemFilters:
#reload_system_filters()
if not CustomFilters:
reload_custom_filters()
+2 -2
View File
@@ -27,7 +27,7 @@
#-------------------------------------------------------------------------
from xml.sax import make_parser, SAXParseException
import os
from collections import abc
import collections
#-------------------------------------------------------------------------
#
@@ -78,7 +78,7 @@ class FilterList:
plugin_filters = []
try:
for plug in plugins:
if isinstance(plug, abc.Callable):
if isinstance(plug, collections.Callable):
plug = plug(namespace)
if plug:
if isinstance(plug, (list, tuple)):
@@ -48,12 +48,12 @@ class ChangedSinceBase(Rule):
Rule that checks for primary objects changed since a specific time.
"""
labels = [ 'Changed after:', 'but before:' ]
name = 'Objects changed after <date time>'
labels = [ 'Changed after:', 'but before:' ]
name = 'Objects changed after <date time>'
description = "Matches object records changed after a specified " \
"date/time (yyyy-mm-dd hh:mm:ss) or in range, if a second " \
"date/time is given."
category = _('General filters')
category = _('General filters')
def add_time(self, date):
if re.search(r"\d.*\s+\d{1,2}:\d{2}:\d{2}", date):
+2 -2
View File
@@ -41,8 +41,8 @@ from . import Rule
class Everything(Rule):
"""Match Everyone."""
name = 'Every object'
category = _('General filters')
name = 'Every object'
category = _('General filters')
description = 'Matches every object in the database'
def is_empty(self):
@@ -2,7 +2,6 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2002-2006 Donald N. Allingham
# Copyright (C) 2019 Matthias Kemmer
#
# 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
@@ -35,7 +34,6 @@ _ = glocale.translation.gettext
from ...lib.attrtype import AttributeType
from . import Rule
#-------------------------------------------------------------------------
#
# HasAttribute
@@ -46,11 +44,11 @@ class HasAttributeBase(Rule):
Rule that checks for an object with a particular attribute.
"""
labels = ['Attribute:', 'Value:']
name = 'Objects with the <attribute>'
labels = [ 'Attribute:', 'Value:' ]
name = 'Objects with the <attribute>'
description = "Matches objects with the given attribute " \
"of a particular value"
category = _('General filters')
"of a particular value"
category = _('General filters')
allow_regex = True
def apply(self, db, obj):
@@ -62,6 +60,5 @@ class HasAttributeBase(Rule):
name_match = attr.get_type() == specified_type
if name_match:
if self.match_substring(1, attr.get_value()):
return True
return self.match_substring(1, attr.get_value())
return False
+3 -3
View File
@@ -46,12 +46,12 @@ class HasCitationBase(Rule):
First parameter is [Volume/page, Date, Confidence]
"""
labels = [ _('Volume/Page:'),
labels = [ _('Volume/Page:'),
_('Date:'),
_('Confidence:') ]
name = _('Citations matching parameters')
name = _('Citations matching parameters')
description = _("Matches citations with particular parameters")
category = _('Citation/source filters')
category = _('Citation/source filters')
allow_regex = True
def prepare(self, db, user):
+4 -4
View File
@@ -46,14 +46,14 @@ class HasEventBase(Rule):
"""Rule that checks for an event with a particular value."""
labels = [ 'Event type:',
labels = [ 'Event type:',
'Date:',
'Place:',
'Description:',
'Main Participants:' ]
name = 'Events matching parameters'
description = "Matches events with particular parameters"
category = _('Event filters')
name = 'Events matching parameters'
description = "Matches events with particular parameters"
category = _('Event filters')
allow_regex = True
def prepare(self, db, user):
+3 -3
View File
@@ -42,10 +42,10 @@ from . import Rule
class HasGalleryBase(Rule):
"""Objects who have Media Object"""
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Object with <count> Media references'
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Object with <count> Media references'
description = "Matches objects with certain number of items in the gallery"
category = _('General filters')
category = _('General filters')
def prepare(self, db, user):
# things we want to do just once, not for every handle
+3 -3
View File
@@ -42,10 +42,10 @@ from . import Rule
class HasGrampsId(Rule):
"""Rule that checks for an object with a specific Gramps ID."""
labels = [ _('ID:') ]
name = 'Object with <Id>'
labels = [ _('ID:') ]
name = 'Object with <Id>'
description = "Matches objects with a specified Gramps ID"
category = _('General filters')
category = _('General filters')
def apply(self, db, obj):
"""
+3 -3
View File
@@ -45,10 +45,10 @@ from . import Rule
class HasLDSBase(Rule):
"""Rule that checks for object with a LDS event"""
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Objects with LDS events'
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Objects with LDS events'
description = "Matches objects with LDS events"
category = _('General filters')
category = _('General filters')
def prepare(self, db, user):
# things we want to do just once, not for every handle
+3 -3
View File
@@ -43,10 +43,10 @@ from . import Rule
class HasNoteBase(Rule):
"""Objects having notes"""
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Object with notes'
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Object with notes'
description = "Matches objects that have a certain number of notes"
category = _('General filters')
category = _('General filters')
def __init__(self, arg, use_regex=False):
# Upgrade from pre 3.1 HasNote filter, use defaults that correspond
@@ -40,11 +40,11 @@ from . import Rule
class HasNoteRegexBase(Rule):
"""Objects having notes containing <text>."""
labels = [ _('Text:')]
name = 'Objects having notes containing <text>'
labels = [ _('Text:')]
name = 'Objects having notes containing <text>'
description = ("Matches objects whose notes contain a substring "
"or match a regular expression")
category = _('General filters')
category = _('General filters')
allow_regex = True
def apply(self, db, person):
@@ -39,11 +39,11 @@ from . import Rule
class HasNoteSubstrBase(Rule):
"""People having notes containing <substring>."""
labels = [ _('Substring:')]
name = 'Objects having notes containing <substring>'
labels = [ _('Substring:')]
name = 'Objects having notes containing <substring>'
description = "Matches objects whose notes contain text matching a " \
"substring"
category = _('General filters')
category = _('General filters')
def apply(self, db, person):
notelist = person.get_note_list()
@@ -39,10 +39,10 @@ from . import Rule
class HasReferenceCountBase(Rule):
"""Objects with a reference count of <count>."""
labels = [ _('Reference count must be:'), _('Reference count:')]
name = 'Objects with a reference count of <count>'
labels = [ _('Reference count must be:'), _('Reference count:')]
name = 'Objects with a reference count of <count>'
description = "Matches objects with a certain reference count"
category = _('General filters')
category = _('General filters')
def prepare(self, db, user):
+3 -3
View File
@@ -43,13 +43,13 @@ class HasSourceBase(Rule):
"""Rule that checks for a source with a particular value"""
labels = [ 'Title:',
labels = [ 'Title:',
'Author:',
'Abbreviation:',
'Publication:' ]
name = 'Sources matching parameters'
name = 'Sources matching parameters'
description = "Matches sources with particular parameters"
category = _('Citation/source filters')
category = _('Citation/source filters')
allow_regex = True
def apply(self,db,source):
@@ -42,11 +42,11 @@ from . import Rule
class HasSourceCountBase(Rule):
"""Objects having sources"""
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Objects with <count> sources'
labels = [ _('Number of instances:'), _('Number must be:')]
name = 'Objects with <count> sources'
description = "Matches objects that have a certain number of sources " \
"connected to it (actually citations are counted)"
category = _('Citation/source filters')
category = _('Citation/source filters')
def prepare(self, db, user):
# things we want to do just once, not for every handle
+3 -3
View File
@@ -42,9 +42,9 @@ from . import Rule
class HasSourceOfBase(Rule):
"""Rule that checks for objects that have a particular source."""
labels = [ _('Source ID:') ]
name = 'Object with the <source>'
category = _('Citation/source filters')
labels = [ _('Source ID:') ]
name = 'Object with the <source>'
category = _('Citation/source filters')
description = 'Matches objects who have a particular source'
def prepare(self, db, user):
+3 -3
View File
@@ -46,10 +46,10 @@ class HasTagBase(Rule):
Rule that checks for an object with a particular tag.
"""
labels = [ 'Tag:' ]
name = 'Objects with the <tag>'
labels = [ 'Tag:' ]
name = 'Objects with the <tag>'
description = "Matches objects with the given tag"
category = _('General filters')
category = _('General filters')
def prepare(self, db, user):
"""
@@ -39,13 +39,13 @@ from . import Rule
class HasTextMatchingSubstringOf(Rule):
"""Rule that checks for string matches in any textual information."""
labels = [ 'Substring:',
labels = [ 'Substring:',
'Case sensitive:',
'Regular-Expression matching:']
name = 'Objects with records containing <substring>'
name = 'Objects with records containing <substring>'
description = "Matches objects whose records contain text " \
"matching a substring"
category = _('General filters')
category = _('General filters')
# FIXME: This needs to be written for an arbitrary object
# if possible
+2 -2
View File
@@ -37,9 +37,9 @@ from . import Rule
class IsPrivate(Rule):
"""Objects marked private."""
name = 'Objects marked private'
name = 'Objects marked private'
description = "Matches objects that are indicated as private"
category = _('General filters')
category = _('General filters')
def apply(self, db, obj):
return obj.get_privacy()
+2 -2
View File
@@ -34,9 +34,9 @@ _ = glocale.translation.gettext
class IsPublic(Rule):
"""Objects not marked private."""
name = 'Objects not marked private'
name = 'Objects not marked private'
description = "Matches objects that are not indicated as private"
category = _('General filters')
category = _('General filters')
def apply(self, db, obj):
return not obj.get_privacy()
@@ -47,14 +47,14 @@ class MatchesEventFilterBase(MatchesFilterBase):
"""
labels = ['Event filter name:']
name = 'Objects with events matching the <event filter>'
labels = ['Event filter name:']
name = 'Objects with events matching the <event filter>'
description = "Matches objects who have events that match a certain" \
" event filter"
category = _('General filters')
category = _('General filters')
# we want to have this filter show event filters
namespace = 'Event'
namespace = 'Event'
def prepare(self, db, user):
MatchesFilterBase.prepare(self, db, user)
@@ -51,10 +51,10 @@ class MatchesFilterBase(Rule):
Subclasses need to define the namespace class attribute.
"""
labels = [_('Filter name:')]
name = 'Objects matching the <filter>'
labels = [_('Filter name:')]
name = 'Objects matching the <filter>'
description = "Matches objects matched by the specified filter name"
category = _('General filters')
category = _('General filters')
def prepare(self, db, user):
if gramps.gen.filters.CustomFilters:
@@ -44,10 +44,10 @@ from . import Rule
class MatchesSourceConfidenceBase(Rule):
"""Objects with a specific confidence level on 'direct' Source references"""
labels = ['Confidence level:']
name = 'Object with at least one direct source >= <confidence level>'
labels = ['Confidence level:']
name = 'Object with at least one direct source >= <confidence level>'
description = "Matches objects with at least one direct source with confidence level(s)"
category = _('Citation/source filters')
category = _('Citation/source filters')
def apply(self, db, obj):
required_conf = int(self.list[0])
@@ -44,14 +44,14 @@ class MatchesSourceFilterBase(MatchesFilterBase):
Rule that checks against another filter.
"""
labels = [_('Source filter name:')]
name = 'Objects with source matching the <source filter>'
labels = [_('Source filter name:')]
name = 'Objects with source matching the <source filter>'
description = "Matches objects with sources that match the " \
"specified source filter name"
category = _('Citation/source filters')
category = _('Citation/source filters')
# we want to have this filter show source filters
namespace = 'Source'
namespace = 'Source'
def prepare(self, db, user):
MatchesFilterBase.prepare(self, db, user)
+3 -3
View File
@@ -45,11 +45,11 @@ class RegExpIdBase(Rule):
regular expression.
"""
labels = [ _('Text:') ]
name = 'Objects with <Id>'
labels = [ _('Text:') ]
name = 'Objects with <Id>'
description = "Matches objects whose Gramps ID contains a substring " \
"or matches a regular expression"
category = _('General filters')
category = _('General filters')
allow_regex = True
def apply(self, db, obj):
+5 -7
View File
@@ -50,9 +50,9 @@ LOG = logging.getLogger(".")
class Rule:
"""Base rule class."""
labels = []
name = ''
category = _('Miscellaneous filters')
labels = []
name = ''
category = _('Miscellaneous filters')
description = _('No description')
allow_regex = False
@@ -141,10 +141,8 @@ class Rule:
def display_values(self):
"""Return the labels and values of this rule."""
l_v = ('%s="%s"' % (_(self.labels[ix][0] if
isinstance(self.labels[ix], tuple) else
self.labels[ix]), self.list[ix])
for ix in range(len(self.list)) if self.list[ix])
l_v = ( '%s="%s"' % (_(self.labels[ix]), self.list[ix])
for ix in range(len(self.list)) if self.list[ix] )
return ';'.join(l_v)
@@ -42,5 +42,5 @@ from .._everything import Everything
class AllCitations(Everything):
"""Matches every citation"""
name = _('Every citation')
name = _('Every citation')
description = _('Matches every citation in the database')
@@ -42,8 +42,8 @@ from .._changedsincebase import ChangedSinceBase
class ChangedSince(ChangedSinceBase):
"""Rule that checks for citations changed since a specific time."""
labels = [ _('Changed after:'), _('but before:') ]
name = _('Citations changed after <date time>')
labels = [ _('Changed after:'), _('but before:') ]
name = _('Citations changed after <date time>')
description = _("Matches citation records changed after a specified "
"date-time (yyyy-mm-dd hh:mm:ss) or in the range, if a second "
"date-time is given.")
@@ -40,5 +40,5 @@ from .._isprivate import IsPrivate
class CitationPrivate(IsPrivate):
"""Citation marked private"""
name = _('Citations marked private')
name = _('Citations marked private')
description = _("Matches citations that are indicated as private")
@@ -45,11 +45,11 @@ from ....datehandler import parser
class HasCitation(Rule):
"""Rule that checks for a citations with a particular value"""
labels = [ _('Volume/Page:'),
labels = [ _('Volume/Page:'),
_('Date:'),
_('Confidence level:')]
name = _('Citations matching parameters')
category = _('General filters')
name = _('Citations matching parameters')
category = _('General filters')
description = _("Matches citations with particular parameters")
allow_regex = True
@@ -42,5 +42,5 @@ from .._hasgallerybase import HasGalleryBase
class HasGallery(HasGalleryBase):
"""Rule that checks for citation who has media object reference"""
name = _('Citations with <count> media')
name = _('Citations with <count> media')
description = _("Matches citations with a certain number of items in the gallery")
@@ -42,5 +42,5 @@ from .. import HasGrampsId
class HasIdOf(HasGrampsId):
"""Rule that checks for a citation with a specific Gramps ID"""
name = _('Citation with <Id>')
name = _('Citation with <Id>')
description = _("Matches a citation with a specified Gramps ID")
@@ -43,5 +43,5 @@ from .._hasnotebase import HasNoteBase
class HasNote(HasNoteBase):
"""Citations having notes"""
name = _('Citations having <count> notes')
name = _('Citations having <count> notes')
description = _("Matches citations having a certain number of notes")
@@ -40,7 +40,7 @@ from .._hasnotesubstrbase import HasNoteSubstrBase
class HasNoteMatchingSubstringOf(HasNoteSubstrBase):
"""Citations having notes containing <substring>"""
name = _('Citations having notes containing <substring>')
name = _('Citations having notes containing <substring>')
description = _("Matches citations whose notes contain text "
"matching a substring")
@@ -39,6 +39,6 @@ from .._hasnoteregexbase import HasNoteRegexBase
#-------------------------------------------------------------------------
class HasNoteRegexp(HasNoteRegexBase):
name = _('Citations having notes containing <text>')
name = _('Citations having notes containing <text>')
description = _("Matches citations whose notes contain text "
"matching a regular expression")
@@ -40,6 +40,6 @@ from .._hasreferencecountbase import HasReferenceCountBase
class HasReferenceCountOf(HasReferenceCountBase):
"""Citation objects with a reference count of <count>"""
name = _('Citations with a reference count of <count>')
name = _('Citations with a reference count of <count>')
description = _("Matches citations with a certain reference count")
@@ -45,14 +45,14 @@ from .._hassourcebase import HasSourceBase
class HasSource(HasSourceBase):
"""Rule that checks for an citation with a particular value"""
labels = [ _('Title:'),
labels = [ _('Title:'),
_('Author:'),
_('Abbreviation:'),
_('Publication:') ]
name = _('Sources matching parameters')
name = _('Sources matching parameters')
description = _("Matches citations with a source of a particular "
"value")
category = _('Source filters')
category = _('Source filters')
def apply(self, dbase, citation):
source = dbase.get_source_from_handle(
@@ -43,10 +43,10 @@ class HasSourceIdOf(HasGrampsId):
"""Rule that checks for a citation with a source which has a specific
Gramps ID"""
name = _('Citation with Source <Id>')
name = _('Citation with Source <Id>')
description = _("Matches a citation with a source with a specified Gramps "
"ID")
category = _('Source filters')
category = _('Source filters')
def apply(self, dbase, citation):
source = dbase.get_source_from_handle(
@@ -49,10 +49,10 @@ class HasSourceNoteRegexp(HasNoteRegexBase):
substring or matches a regular expression.
"""
name = _('Citations having source notes containing <text>')
name = _('Citations having source notes containing <text>')
description = _("Matches citations whose source notes contain a substring "
"or match a regular expression")
category = _('Source filters')
category = _('Source filters')
def apply(self, db, citation):
source = db.get_source_from_handle(citation.get_reference_handle())
+2 -2
View File
@@ -45,6 +45,6 @@ class HasTag(HasTagBase):
"""
Rule that checks for a citation with a particular tag.
"""
labels = [ _('Tag:') ]
name = _('Citations with the <tag>')
labels = [ _('Tag:') ]
name = _('Citations with the <tag>')
description = _("Matches citations with the particular tag")
@@ -42,6 +42,6 @@ from .._matchesfilterbase import MatchesFilterBase
class MatchesFilter(MatchesFilterBase):
"""Rule that checks against another filter"""
name = _('Citations matching the <filter>')
name = _('Citations matching the <filter>')
description = _("Matches citations matched by the specified filter name")
namespace = 'Citation'
namespace = 'Citation'
@@ -39,11 +39,11 @@ from .. import Rule
class MatchesPageSubstringOf(Rule):
"""Citation Volume/Page title containing <substring>"""
labels = [ _('Text:')]
name = _('Citations with Volume/Page containing <text>')
labels = [ _('Text:')]
name = _('Citations with Volume/Page containing <text>')
description = _("Matches citations whose Volume/Page contains a "
"certain substring")
category = _('General filters')
category = _('General filters')
allow_regex = True
def apply(self, db, object):
@@ -42,12 +42,12 @@ from .. import MatchesFilterBase
class MatchesRepositoryFilter(MatchesFilterBase):
"""Citations which have a source which references the selected repository"""
labels = [ _('Repository filter name:') ]
name = _('Citations with a source with a repository reference '
labels = [ _('Repository filter name:') ]
name = _('Citations with a source with a repository reference '
'matching the <repository filter>')
description = _("Matches citations with sources with a repository "
"reference that match a certain repository filter")
category = _('General filters')
category = _('General filters')
# we want to have this filter show repository filters
namespace = 'Repository'
@@ -45,14 +45,14 @@ class MatchesSourceFilter(MatchesFilterBase):
Rule that checks against another filter.
"""
labels = [_('Source filter name:')]
name = _('Citations with source matching the <source filter>')
labels = [_('Source filter name:')]
name = _('Citations with source matching the <source filter>')
description = _("Matches citations with sources that match the "
"specified source filter name")
category = _('General filters')
category = _('General filters')
# we want to have this filter show source filters
namespace = 'Source'
namespace = 'Source'
def prepare(self, db, user):
MatchesFilterBase.prepare(self, db, user)
@@ -45,6 +45,6 @@ class RegExpIdOf(RegExpIdBase):
matches regular expression.
"""
name = _('Citations with Id containing <text>')
name = _('Citations with Id containing <text>')
description = _("Matches citations whose Gramps ID matches "
"the regular expression")
@@ -45,10 +45,10 @@ class RegExpSourceIdOf(RegExpIdBase):
matches regular expression.
"""
name = _('Citations with Source Id containing <text>')
name = _('Citations with Source Id containing <text>')
description = _("Matches citations whose source has a Gramps ID that "
"matches the regular expression")
category = _('Source filters')
category = _('Source filters')
def apply(self, dbase, citation):
source = dbase.get_source_from_handle(
+1 -1
View File
@@ -41,5 +41,5 @@ from .._everything import Everything
class AllEvents(Everything):
"""Matches Everyone"""
name = _('Every event')
name = _('Every event')
description = _('Matches every event in the database')
@@ -43,8 +43,8 @@ from .._changedsincebase import ChangedSinceBase
class ChangedSince(ChangedSinceBase):
"""Rule that checks for an event changed since a specific time."""
labels = [ _('Changed after:'), _('but before:') ]
name = _('Events changed after <date time>')
labels = [ _('Changed after:'), _('but before:') ]
name = _('Events changed after <date time>')
description = _("Matches event records changed after a specified "
"date/time (yyyy-mm-dd hh:mm:ss) or in the range, if a second "
"date/time is given.")
@@ -39,5 +39,5 @@ from .._isprivate import IsPrivate
class EventPrivate(IsPrivate):
"""Event marked private"""
name = _('Events marked private')
name = _('Events marked private')
description = _("Matches events that are indicated as private")
@@ -41,7 +41,7 @@ from .._hasattributebase import HasAttributeBase
class HasAttribute(HasAttributeBase):
"""Rule that checks for an event with a particular event attribute"""
labels = [ _('Event attribute:'), _('Value:') ]
name = _('Events with the attribute <attribute>')
labels = [ _('Event attribute:'), _('Value:') ]
name = _('Events with the attribute <attribute>')
description = _("Matches events with the event attribute "
"of a particular value")
@@ -45,9 +45,9 @@ from .._hascitationbase import HasCitationBase
class HasCitation(HasCitationBase):
"""Rule that checks for an event with a particular value"""
labels = [ _('Volume/Page:'),
labels = [ _('Volume/Page:'),
_('Date:'),
_('Confidence level:')]
name = _('Events with the <citation>')
name = _('Events with the <citation>')
description = _("Matches events with a citation of a particular "
"value")
+3 -3
View File
@@ -44,11 +44,11 @@ from .. import Rule
class HasData(Rule):
"""Rule that checks for an event containing particular values"""
labels = [ _('Event type:'), _('Date:'), _('Place:'),
labels = [ _('Event type:'), _('Date:'), _('Place:'),
_('Description:') ]
name = _('Events with <data>')
name = _('Events with <data>')
description = _("Matches events with data of a particular value")
category = _('General filters')
category = _('General filters')
allow_regex = True
def prepare(self, db, user):
@@ -35,10 +35,10 @@ _ = glocale.translation.gettext
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')
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')
category = _('General filters')
def apply(self, db, event):
if not self.list[0]:
@@ -42,5 +42,5 @@ from .._hasgallerybase import HasGalleryBase
class HasGallery(HasGalleryBase):
"""Rule that checks for event who has media object reference"""
name = _('Events with <count> media')
name = _('Events with <count> media')
description = _("Matches events with a certain number of items in the gallery")
+1 -1
View File
@@ -41,5 +41,5 @@ from .. import HasGrampsId
class HasIdOf(HasGrampsId):
"""Rule that checks for a family with a specific Gramps ID"""
name = _('Event with <Id>')
name = _('Event with <Id>')
description = _("Matches an event with a specified Gramps ID")
+1 -1
View File
@@ -42,5 +42,5 @@ from .._hasnotebase import HasNoteBase
class HasNote(HasNoteBase):
"""Events having notes"""
name = _('Events having <count> notes')
name = _('Events having <count> notes')
description = _("Matches events having a certain number of notes")
@@ -39,7 +39,7 @@ from .._hasnotesubstrbase import HasNoteSubstrBase
class HasNoteMatchingSubstringOf(HasNoteSubstrBase):
"""People having notes containing <substring>"""
name = _('Events having notes containing <substring>')
name = _('Events having notes containing <substring>')
description = _("Matches events whose notes contain text "
"matching a substring")

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