Merge with Gramps50

This commit is contained in:
prculley 2019-08-09 08:53:17 -05:00
commit bb255c8529
28 changed files with 851 additions and 1485 deletions

View File

@ -64,6 +64,8 @@ Martin Hawlisch martin.hawlisch@gmx.de
Nick Hall nick__hall@hotmail.com
Paul Culley paulr2787@gmail.com
Peter Landgren peter.talken@telia.com
Raphael Ackermann raphael.ackermann@gmail.com

1041
ChangeLog

File diff suppressed because it is too large Load Diff

8
FAQ
View File

@ -133,7 +133,7 @@ Gramps is a [http://en.wikipedia.org/wiki/Gtk GTK] application. Gramps needs to
The Linux Genealogy CD can function as a live CD that you boot directly from. You can then run Linux and Gramps off the CD, even if your computer is entirely Windows.
An experimental Windows installer is available, however we do not have the manpower to offer support for Windows. A windows mailing list is available however and we do do our best to solve windows related problems.
An Windows installer is available for 32 and 64 bit versions of windows from Windows versions 7 through 10. As with all other support, we do do our best to solve windows related problems.
8. Does it work with the Mac?
@ -145,7 +145,7 @@ This present version of Gramps (2.2.x) does not appear to have been ported by th
9. What are the Minimum Specs to run Gramps?
We would recommend at least an 800x600 video display. For Gramps 2.0, the memory requirements have been reduced, and Gramps can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
We would recommend at least an 800x600 video display. For Gramps 5.x, Gramps can run quite efficiently on a 3GB memory system. A system with that much RAM should be able to hold more than 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.
==Preferences==
@ -181,7 +181,7 @@ The nice thing about standards is that there never is a shortage of them. Gramps
15. How do I import data from another genealogy program into Gramps?
The best way is to create a new gramps database file (.grdb), and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.
The best way is to create a new gramps database file, and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.
16. Can I install Gramps on a Linux Web Server and use it via a web browser? This would enable my relations worldwide to access and update it.
@ -315,7 +315,7 @@ gramps-devel@lists.sf.net :-)
The next best thing would be to submit a good bug report. This can be done in
one of the two ways: (1) send your report to gramps-bugs@lists.sf.net
or (2) file your report with the bug tracker system at
http://bugs.gramps-project.org (this function is also
https://gramps-project.org/bugs/ (this function is also
available by selecting "Help->Report a bug" from gramps main menu).
A good bug report would include:

59
NEWS
View File

@ -1,3 +1,62 @@
2018-08-08
Version 5.0.2
Update translations: cs, da, de, fi, fr, hr, it, ru, sl, sv
* Fix some Gramplets not updating during tree changes after db change.
* Fix Events Grampslet for bad sort order on dates/ages
* Fix References Tab to update on Deletes of items when editor is open
* Fix GEDCOM import for better support of TMG
* Fix Edit Link 'New' button to work
* Fix GEDCOM importer to properly handle multiple surnames per 5.5.1
* Narrative web: Sort problem with places.
* Fix Navigator sidebar so can change view type with proper resize
* Fix crash when using sidebar filter and merging in another view
* Fix AncestorTree so add siblings to center person works
* Fix graphs on Windows for font selection not working
* Fix dbapi reindex_reference_maps tool to properly close transaction
* Fix zoom via mouse wheel in media event editor selectionwidget, also fixes
zooming with scroll bars always present
* Fix metadata viewer so that metadata is actually detected and displayed
* Avoid comma in a lat/lon entry field.
* Avoid invalid characters and leading or trailing spaces in the entry field
* Fix crash for multiple deletes in one transaction
* Adjust translation strings for unmarried partners to give correct text in English
* Fix failure after Gedcom import if missing objects were found
* Mac: Fix none type has no len() error.
Set correct font resolution when drawing text directly to cairo.
* Fix Gedcom import so it doesn't create completely empty Birth events
* Fix Relationship view so ages are according to Preferences
* Fix Person Editor Events to properly update during external changes like
Event delete or update.
* Gedcom import/export fixes for mime and finding media
* Fix Unhandled exception in Geography editor
* Fix relationship path between filter rule when parent is missing
* Fix Graphs that use graphdoc pdf via Ghostscript with multi-page for poor
font rendering of some characters
* Fix finddupes tool when run from Match Threshold screen again after merge.
* Fix Gedcom import for multiple notes on OBJE (MULTIMEDIA_LINK)
* Deal with SQLite db corrupted by None name mapping
* Fix XML import to add tags to Events, Sources, Places, Repos, Cits when
requested.
* Fix for delete of a referenced primary obj while editing an added obj.
Also fixed to update the referenced obj on changes from outside the editor.
* Fix Place Tree view when using enclosed by sidebar filter
* Fix EditFamily for adding a child to single parent family with Surname
guessing set to combination.
* Fix Descendent Tree report for crash when person has multiple families
and one of them doesn't have a spouse.
* Fix Name editor crash after clearing a group_as name on dbapi dbs
* When we merge two objects:
We should stay on the selected row in list views.
In case we select the first family and select the gramps_id of the second
family, the new gramps_id is ignored
* Fix Relationship Graph; extra people when using filters & subgraphs
* Fix Place Format Editor file save/load for difficult names
* Fix Not all place types appears on family lines Graph
* Remember location of Sort Events Tool
* Fix Media editor when using double click the preview of added media
* Avoid leading and trailing spaces when copy/paste coordinates from a
map provider.
2018-12-20
Version 5.0.1
* Media Manager: add help button and remove '...'

View File

@ -2,8 +2,8 @@
1 SOUR Gramps
2 VERS 5.0.2
2 NAME Gramps
1 DATE 5 MAR 2019
2 TIME 09:11:15
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,,,.
@ -885,7 +885,7 @@
0 @I0046@ INDI
1 NAME Tom /Von Tester y tested/
2 GIVN Tom
2 SPFX Von,
2 SPFX Von
2 SURN Tester y, tested
2 NICK TesterNickname
1 SEX M
@ -1420,7 +1420,7 @@
0 @N0018@ NOTE Another Citation Note
0 @N0019@ NOTE A bad photo for sure
0 @O0000@ OBJE
1 FILE c:\msys64\mingw64\share\gramps\tests\O0.jpg
1 FILE c:\users\prc\workspace\grampsm\main\data\tests\O0.jpg
2 FORM jpg
2 TITL Michael O'Toole 2015-11
1 NOTE @N0019@

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="2016-10-23" version="5.0.0-alpha1"/>
<created date="2019-07-30" version="5.0.2"/>
<researcher>
<resname>John A. Tester</resname>
</researcher>
@ -26,27 +26,23 @@
<type>Death</type>
<noteref hlink="_0000001600000016"/>
</event>
<event handle="_0000001e0000001e" change="1" id="E0003">
<type>Who knows OBJE REFN TYPE</type>
<description>REFN</description>
</event>
<event handle="_0000002700000027" change="1" id="E0004">
<event handle="_0000002700000027" change="1" id="E0003">
<type>Birth</type>
<dateval val="1901-06-15"/>
</event>
<event handle="_0000002800000028" change="1" id="E0005">
<event handle="_0000002800000028" change="1" id="E0004">
<type>Death</type>
<dateval val="1975-07-05"/>
</event>
<event handle="_0000002e0000002e" change="1" id="E0006">
<event handle="_0000002e0000002e" change="1" id="E0005">
<type>Birth</type>
<dateval val="1922-06-15"/>
</event>
<event handle="_0000002f0000002f" change="1" id="E0007">
<event handle="_0000002f0000002f" change="1" id="E0006">
<type>Death</type>
<dateval val="1994-07-05"/>
</event>
<event handle="_0000003b0000003b" change="1" id="E0008">
<event handle="_0000003b0000003b" change="1" id="E0007">
<type>TEST</type>
<description>family</description>
</event>
@ -61,10 +57,11 @@
<eventref hlink="_0000000f0000000f" role="Primary"/>
<eventref hlink="_0000001000000010" role="Primary"/>
<eventref hlink="_0000001500000015" role="Primary"/>
<eventref hlink="_0000001e0000001e" role="Primary"/>
<objref hlink="_0000001f0000001f"/>
<attribute type="RIN" value="123456 Person"/>
<attribute type="REFN" value="98765 for PERSON"/>
<attribute type="REFN" value="98765 for PERSON">
<noteref hlink="_0000001e0000001e"/>
</attribute>
<url href="http://homepages.rootsweb.com/~pmcbride/gedcom/55gctoc.htm" type="Web Home" description="GEDCOM 5.5 documentation web site"/>
<parentin hlink="_0000001700000017"/>
<noteref hlink="_0000001800000018"/>
@ -270,7 +267,8 @@
Line ignored as not understood Line 18: 2 TEST Header Note
Empty note ignored Line 19: 1 NOTE
Skipped subordinate line Line 20: 2 TEST Empty Note</text>
Skipped subordinate line Line 20: 2 TEST Empty Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="327"/>
</style>
@ -288,7 +286,8 @@ Skipped subordinate line Line 20:
Line ignored as not understood Line 26: 2 TEST Submission Note
Empty note ignored Line 27: 1 NOTE
Skipped subordinate line Line 28: 2 TEST Empty Note
Line ignored as not understood Line 29: 1 TEST submission</text>
Line ignored as not understood Line 29: 1 TEST submission
</text>
<style name="fontface" value="Monospace">
<range start="0" end="425"/>
</style>
@ -300,7 +299,8 @@ Tag recognized but not supported Line 32:
Tag recognized but not supported Line 33: 1 REFN Submission Note REFN
Skipped subordinate line Line 34: 2 TYPE Submission Note REFN TYPE
Tag recognized but not supported Line 35: 1 SOUR Submission note source
Line ignored as not understood Line 39: 1 TEST on XREF Note</text>
Line ignored as not understood Line 39: 1 TEST on XREF Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="586"/>
</style>
@ -318,7 +318,8 @@ Line ignored as not understood Line 39:
Line ignored as not understood Line 43: 2 TEST Submitter Note
Empty note ignored Line 44: 1 NOTE
Skipped subordinate line Line 45: 2 TEST Empty Note
Line ignored as not understood Line 46: 1 TEST Submitter</text>
Line ignored as not understood Line 46: 1 TEST Submitter
</text>
<style name="fontface" value="Monospace">
<range start="0" end="460"/>
</style>
@ -360,7 +361,10 @@ Line ignored as not understood Line 46:
<note handle="_0000001d0000001d" change="979250406" id="N0018" type="Media Note">
<text>Media xref note</text>
</note>
<note handle="_0000002100000021" change="1" id="N0019" type="GEDCOM import">
<note handle="_0000001e0000001e" change="1" id="N0019" type="REFN-TYPE">
<text>Who knows OBJE REFN TYPE</text>
</note>
<note handle="_0000002100000021" change="1" id="N0020" type="GEDCOM import">
<text>Records not imported into INDI (individual) Gramps ID I0001:
Empty note ignored Line 54: 2 NOTE
@ -382,12 +386,14 @@ Empty note ignored Line 85:
Skipped subordinate line Line 86: 3 TEST Empty Note
Line ignored as not understood Line 88: 3 TEST 123456 Note
Empty note ignored Line 90: 2 NOTE
Skipped subordinate line Line 91: 3 TEST Empty Note</text>
Skipped subordinate line Line 91: 3 TEST Empty Note
Line ignored as not understood Line 94: 2 TEST REFN
</text>
<style name="fontface" value="Monospace">
<range start="0" end="2009"/>
<range start="0" end="2101"/>
</style>
</note>
<note handle="_0000002200000022" change="1" id="N0020" type="GEDCOM import">
<note handle="_0000002200000022" change="1" id="N0021" type="GEDCOM import">
<text>Records not imported into NOTE Gramps ID N0018:
Tag recognized but not supported Line 103: 1 RIN 123456
@ -396,85 +402,89 @@ Skipped subordinate line Line 105:
Tag recognized but not supported Line 109: 2 NOTE Note on a change on a note!!!
Skipped subordinate line Line 110: 3 CHAN
Skipped subordinate line Line 111: 4 DATE 2001-01-11
Skipped subordinate line Line 112: 5 TIME 16:00:06</text>
Skipped subordinate line Line 112: 5 TIME 16:00:06
</text>
<style name="fontface" value="Monospace">
<range start="0" end="741"/>
</style>
</note>
<note handle="_0000002300000023" change="1" id="N0021" type="REFN-TYPE">
<note handle="_0000002300000023" change="1" id="N0022" type="REFN-TYPE">
<text>Who knows REFN TYPE</text>
</note>
<note handle="_0000002500000025" change="1" id="N0022" type="GEDCOM import">
<note handle="_0000002500000025" change="1" id="N0023" type="GEDCOM import">
<text>Records not imported into OBJE (multi-media object) Gramps ID M1:
Could not import photo.jpg Line 114: 1 FILE photo.jpg</text>
Could not import photo.jpg Line 114: 1 FILE photo.jpg
</text>
<style name="fontface" value="Monospace">
<range start="0" end="164"/>
</style>
</note>
<note handle="_0000002900000029" change="979250406" id="N0023" type="Person Note">
<note handle="_0000002900000029" change="979250406" id="N0024" type="Person Note">
<text>Family Spouse reference Note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000002b0000002b" change="1" id="N0024" type="GEDCOM import">
<note handle="_0000002b0000002b" change="1" id="N0025" type="GEDCOM import">
<text>Records not imported into INDI (individual) Gramps ID I0002:
Empty note ignored Line 132: 2 NOTE
Skipped subordinate line Line 133: 3 TEST Empty Note</text>
Skipped subordinate line Line 133: 3 TEST Empty Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="248"/>
</style>
</note>
<note handle="_0000002d0000002d" change="979250406" id="N0025" type="General">
<note handle="_0000002d0000002d" change="979250406" id="N0026" type="General">
<text>Name note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000003100000031" change="1" id="N0026" type="LDS Note">
<note handle="_0000003100000031" change="1" id="N0027" type="LDS Note">
<text>Place note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000003400000034" change="1" id="N0027" type="LDS Note">
<note handle="_0000003400000034" change="1" id="N0028" type="LDS Note">
<text>LDS xref note</text>
</note>
<note handle="_0000003600000036" change="979250406" id="N0028" type="Association Note">
<note handle="_0000003600000036" change="979250406" id="N0029" type="Association Note">
<text>Association link note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000003800000038" change="1" id="N0029" type="GEDCOM import">
<note handle="_0000003800000038" change="1" id="N0030" type="GEDCOM import">
<text>Records not imported into INDI (individual) Gramps ID I0003:
Empty note ignored Line 141: 2 NOTE
Skipped subordinate line Line 142: 3 TEST Empty Note
Line ignored as not understood Line 163: 3 TEST Accociation note
Empty note ignored Line 167: 2 NOTE
Skipped subordinate line Line 168: 3 TEST Empty Note</text>
Skipped subordinate line Line 168: 3 TEST Empty Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="538"/>
</style>
</note>
<note handle="_0000003900000039" change="979250406" id="N0030" type="General">
<note handle="_0000003900000039" change="979250406" id="N0031" type="General">
<text>Just for association</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000003e0000003e" change="1" id="N0031" type="Family Note">
<note handle="_0000003e0000003e" change="1" id="N0032" type="Family Note">
<text>Family xref note</text>
</note>
<note handle="_0000003f0000003f" change="979250406" id="N0032" type="Family Note">
<note handle="_0000003f0000003f" change="979250406" id="N0033" type="Family Note">
<text>Family note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004000000040" change="1" id="N0033" type="Citation">
<note handle="_0000004000000040" change="1" id="N0034" type="Citation">
<text>Citation Data Note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004100000041" change="1" id="N0034" type="Source text">
<note handle="_0000004100000041" change="1" id="N0035" type="Source text">
<text>A sample text from a source of this family</text>
</note>
<note handle="_0000004200000042" change="979250406" id="N0035" type="Citation">
<note handle="_0000004200000042" change="979250406" id="N0036" type="Citation">
<text>A note this citation is on the FAMILY record.</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004400000044" change="1" id="N0036" type="GEDCOM import">
<note handle="_0000004400000044" change="1" id="N0037" type="GEDCOM import">
<text>Records not imported into FAM (family) Gramps ID F0001:
Line ignored as not understood Line 183: 2 TEST Family Note
@ -482,41 +492,44 @@ Empty note ignored Line 187:
Skipped subordinate line Line 188: 2 TEST Empty Note
Line ignored as not understood Line 190: 2 TEST citation
Line ignored as not understood Line 194: 3 TEST Citation Data
Line ignored as not understood Line 196: 4 TEST Citation Data Note</text>
Line ignored as not understood Line 196: 4 TEST Citation Data Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="645"/>
</style>
</note>
<note handle="_0000004600000046" change="979250406" id="N0037" type="Repository Reference Note">
<note handle="_0000004600000046" change="979250406" id="N0038" type="Repository Reference Note">
<text>A short note about the repository link.</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004700000047" change="979250406" id="N0038" type="Source Note">
<note handle="_0000004700000047" change="979250406" id="N0039" type="Source Note">
<text>note embedded in the SOURCE Record</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004800000048" change="1" id="N0039" type="GEDCOM import">
<note handle="_0000004800000048" change="1" id="N0040" type="GEDCOM import">
<text>Records not imported into SOUR (source) Gramps ID S0001:
Line ignored as not understood Line 206: 1 TEST source
Empty note ignored Line 208: 2 NOTE
Skipped subordinate line Line 209: 3 TEST Empty Note
Empty note ignored Line 214: 1 NOTE
Skipped subordinate line Line 215: 2 TEST Empty Note</text>
Skipped subordinate line Line 215: 2 TEST Empty Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="524"/>
</style>
</note>
<note handle="_0000004900000049" change="1" id="N0040" type="Repository Note">
<note handle="_0000004900000049" change="1" id="N0041" type="Repository Note">
<text>Repository Note</text>
<tagref hlink="_0000000500000005"/>
</note>
<note handle="_0000004a0000004a" change="1" id="N0041" type="GEDCOM import">
<note handle="_0000004a0000004a" change="1" id="N0042" type="GEDCOM import">
<text>Records not imported into REPO (repository) Gramps ID R0002:
Line ignored as not understood Line 223: 1 TEST Repo
Empty note ignored Line 224: 1 NOTE
Skipped subordinate line Line 225: 2 TEST Empty Note</text>
Skipped subordinate line Line 225: 2 TEST Empty Note
</text>
<style name="fontface" value="Monospace">
<range start="0" end="340"/>
</style>

View File

@ -50,9 +50,9 @@
0 @I0@ INDI
1 NAME Anna /Hansdotter/
2 GIVN Anna
2 SURN Hansdotter, Smith
2 SPFX Vrow, huh
2 SURN Hansdotter
2 SPFX Vrow
2 SURN Smith
2 _AKA Anna Smith
2 _AKA Hanna
2 NOTE Hans daughter? N0000

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-03-05" version="5.0.2"/>
<created date="2019-07-31" version="5.0.2"/>
<researcher>
<resname>Alex Roitman,,,</resname>
<resaddr>Not Provided</resaddr>
@ -617,7 +617,8 @@
<gender>F</gender>
<name type="Birth Name">
<first>Anna</first>
<surname prefix="Vrow">Smith</surname>
<surname prefix="Vrow">Hansdotter</surname>
<surname prim="0">Smith</surname>
<noteref hlink="_0000001100000011"/>
</name>
<name alt="1" type="Also Known As">
@ -1704,7 +1705,7 @@ Unknown tag Line 1109:
<range start="0" end="163"/>
</style>
</note>
<note handle="_000000f9000000f9" change="1551800790" 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>

View File

@ -33,9 +33,11 @@ LOG = logging.getLogger(".Gramplets")
# Gramps modules
#
#------------------------------------------------------------------------
from ...gui.dbguielement import DbGUIElement
from ..const import GRAMPS_LOCALE as glocale
_ = glocale.translation.gettext
class Gramplet:
"""
Base class for non-graphical gramplet code.
@ -397,6 +399,13 @@ class Gramplet:
if hasattr(self.gui, 'navtypes') and 'Person' in self.gui.navtypes:
self.connect_signal('Person', self._active_changed)
self.db_changed()
# Some Gramplets use DbGUIElement; and DbGUIElement needs to know if
# db is changed. However, at initialization, DbGUIElement is not yet
# initialized when _db_changed is called, thus the test for callman
if hasattr(self, "callman") and isinstance(self, DbGUIElement):
# get DbGUIElement informed if in use
self._change_db(db) # DbGUIElement method
self.update()
def _no_db(self):

View File

@ -1548,7 +1548,6 @@ class GrampsPreferences(ConfigureDialog):
self.add_text(grid, _("General Gramps settings"), 0,
line_wrap=True, start=1, stop=3, bold=True,
justify=Gtk.Justification.CENTER, align=Gtk.Align.CENTER)
current_line = 1
self.add_checkbox(grid, _('Add default source on GEDCOM import'),

View File

@ -85,7 +85,7 @@ def EditObject(dbstate, uistate, track, obj_class, prop=None, value=None, callba
LOG = logging.getLogger(".Edit")
if obj_class in EDITORS.keys():
if value is None:
obj = CLASSES[obj_class]
obj = CLASSES[obj_class]()
try:
EDITORS[obj_class](dbstate, uistate, track, obj, callback=callback)
except Exception as msg:

View File

@ -67,6 +67,12 @@ class BackRefList(EmbeddedList):
_('_References'), refmodel)
self._callback = callback
self.connectid = self.model.connect('row-inserted', self.update_label)
self.db_connect = []
for item in ['person', 'family', 'source', 'citation', 'event',
'media', 'place', 'repository', 'note']:
self.db_connect.append(self.dbstate.db.connect(
'%s-delete' % item, self.model.delete_row))
self.tree.set_reorderable(False)
self.track_ref_for_deletion("model")
def update_label(self, *obj):
@ -80,6 +86,8 @@ class BackRefList(EmbeddedList):
def _cleanup_local_connects(self):
self.model.disconnect(self.connectid)
for item in self.db_connect:
self.dbstate.db.disconnect(item)
def _cleanup_on_exit(self):
# model may be destroyed already in closing managedwindow

View File

@ -55,6 +55,7 @@ class BackRefModel(Gtk.ListStore):
self.sref_list = sref_list
self.count = 0
self.loading = False
self.hndl_iter = {}
self.idle = GLib.idle_add(self.load_model().__next__)
def destroy(self):
@ -145,7 +146,17 @@ class BackRefModel(Gtk.ListStore):
# We need to use localized string in the model.
# we also need to keep class names to get the object type,
# but we don't need to show that in the view.
self.append(row=[_(dtype), gid, name, handle, dtype])
self.hndl_iter[ref[1]] = self.append(
row=[_(dtype), gid, name, handle, dtype])
yield True
self.loading = False
yield False
def delete_row(self, hndl_list):
""" Remove rows of the model based on the handles """
for hndl in hndl_list:
miter = self.hndl_iter.get(hndl, None)
if miter is not None:
self.remove(miter)
del self.hndl_iter[hndl]

View File

@ -219,7 +219,10 @@ class Navigator:
Add a page to the sidebar for a plugin.
"""
self.pages.append((title, sidebar))
index = self.notebook.append_page(sidebar.get_top(), Gtk.Label(label=title))
page = sidebar.get_top()
# hide for now so notebook is only size of active page
page.get_child().hide()
index = self.notebook.append_page(page, Gtk.Label(label=title))
menu_item = Gtk.MenuItem(label=title)
if order == START:
@ -294,9 +297,15 @@ class Navigator:
old_page = notebook.get_current_page()
if old_page != -1:
self.pages[old_page][1].inactive()
# hide so notebook is only size of active page
notebook.get_nth_page(old_page).get_child().hide()
self.pages[index][1].active(self.active_cat, self.active_view)
notebook.get_nth_page(index).get_child().show()
notebook.queue_resize()
if self.active_view is not None:
self.pages[index][1].view_changed(self.active_cat, self.active_view)
self.pages[index][1].view_changed(self.active_cat,
self.active_view)
self.title_label.set_text(self.pages[index][0])
def cb_close_clicked(self, button):

View File

@ -278,7 +278,7 @@ class ViewManager(CLIManager):
self.navigator = Navigator(self)
self.ebox.add(self.navigator.get_top())
hpane.add1(self.ebox)
hpane.pack1(self.ebox, False, False)
hpane.show()
self.notebook = Gtk.Notebook()

View File

@ -397,9 +397,9 @@ class FlatNodeMap:
self.__corr = (len(self._index2hndl) - 1, -1)
return Gtk.TreePath((self.real_path(insert_pos),))
def delete(self, srtkey_hndl):
def delete(self, handle):
"""
Delete the row with the given (sortkey, handle).
Delete the row with the given (handle).
This then rebuilds the hndl2index, subtracting one from each item
greater than the deleted index.
path of deleted row is returned
@ -412,14 +412,10 @@ class FlatNodeMap:
"""
#remove it from the full list first
if not self._identical:
del_pos = bisect.bisect_left(self._fullhndl, srtkey_hndl)
#check that indeed this is correct:
if not self._fullhndl[del_pos][1] == srtkey_hndl[1]:
raise KeyError('Handle %s not in list of all handles' % \
srtkey_hndl[1])
del self._fullhndl[del_pos]
for indx in range(len(self._fullhndl)):
if self._fullhndl[indx][1] == handle:
del self._fullhndl[indx]
#now remove it from the index maps
handle = srtkey_hndl[1]
try:
index = self._hndl2index[handle]
except KeyError:
@ -432,10 +428,11 @@ class FlatNodeMap:
if self._reverse:
self.__corr = (len(self._index2hndl) - 1, -1)
#update the handle2path map so it remains correct
for srt_key,hndl in self._index2hndl[index:]:
for dummy_srt_key, hndl in self._index2hndl[index:]:
self._hndl2index[hndl] -= 1
return Gtk.TreePath((delpath,))
#-------------------------------------------------------------------------
#
# FlatBaseModel
@ -659,14 +656,10 @@ class FlatBaseModel(GObject.GObject, Gtk.TreeModel, BaseModel):
"""
Delete a row, called after the object with handle is deleted
"""
assert isinstance(handle, str)
if self.node_map.get_path_from_handle(handle) is None:
return # row is not currently displayed
self.clear_cache(handle)
delete_val = (self.node_map.get_sortkey(handle), handle)
delete_path = self.node_map.delete(delete_val)
delete_path = self.node_map.delete(handle)
#delete_path is an integer from 0 to n-1
if delete_path is not None:
self.clear_cache(handle)
self.row_deleted(delete_path)
def update_row_by_handle(self, handle):

View File

@ -297,7 +297,7 @@ class SelectionWidget(Gtk.ScrolledWindow):
self.original_image_size = (self.pixbuf.get_width(),
self.pixbuf.get_height())
viewport_size = self.viewport.get_allocation()
viewport_size = self.get_allocation()
self.old_viewport_size = viewport_size
self.scale = scale_to_fit(self.pixbuf.get_width(),
self.pixbuf.get_height(),
@ -321,7 +321,7 @@ class SelectionWidget(Gtk.ScrolledWindow):
Handles size-allocate' events from Gtk.
"""
if self.pixbuf:
viewport_size = self.viewport.get_allocation()
viewport_size = self.get_allocation()
if viewport_size.height != self.old_viewport_size.height or \
viewport_size.width != self.old_viewport_size.width or \
not self.image.get_pixbuf():
@ -495,7 +495,7 @@ class SelectionWidget(Gtk.ScrolledWindow):
Translates image coordinates to viewport coordinates using the current
scale and viewport size.
"""
viewport_rect = self.viewport.get_allocation()
viewport_rect = self.get_allocation()
image_rect = self.scaled_size
if image_rect[0] < viewport_rect.width:
offset_x = (image_rect[0] - viewport_rect.width) / 2
@ -513,7 +513,7 @@ class SelectionWidget(Gtk.ScrolledWindow):
Translates viewport coordinates to original (unscaled) image coordinates
using the current scale and viewport size.
"""
viewport_rect = self.viewport.get_allocation()
viewport_rect = self.get_allocation()
image_rect = self.scaled_size
if image_rect[0] < viewport_rect.width:
offset_x = (image_rect[0] - viewport_rect.width) / 2
@ -606,7 +606,7 @@ class SelectionWidget(Gtk.ScrolledWindow):
cr.set_source_rgba(1.0, 1.0, 1.0, SHADING_OPACITY)
cr.rectangle(offset_x, offset_y, x1 - offset_x, y1 - offset_y)
cr.rectangle(offset_x, y1, x1 - offset_x, y2 - y1)
cr.rectangle(offset_x, y2, x1 - offset_x, h - y2 + offset_y)
cr.rectangle(offset_x, y2, x1 - offset_x, h - y2 + offset_y + 1)
cr.rectangle(x1, y2 + 1, x2 - x1 + 1, h - y2 + offset_y)
cr.rectangle(x2 + 1, y2 + 1, w - x2 + offset_x, h - y2 + offset_y)
cr.rectangle(x2 + 1, y1, w - x2 + offset_x, y2 - y1 + 1)
@ -818,6 +818,11 @@ class SelectionWidget(Gtk.ScrolledWindow):
self.zoom_in()
elif event.direction == Gdk.ScrollDirection.DOWN:
self.zoom_out()
elif event.direction == Gdk.ScrollDirection.SMOOTH:
if event.delta_y < 0:
self.zoom_in()
else:
self.zoom_out()
# ======================================================
# helpers for mouse event handlers

View File

@ -787,6 +787,7 @@ class DBAPI(DbGeneric):
Reindex all primary records in the database.
"""
callback(4)
self._txn_begin()
self.dbapi.execute("DELETE FROM reference")
primary_table = (
(self.get_person_cursor, Person),
@ -818,6 +819,7 @@ class DBAPI(DbGeneric):
obj.__class__.__name__,
ref_handle,
ref_class_name])
self._txn_commit()
callback(5)
def rebuild_secondary(self, callback=None):

View File

@ -352,7 +352,7 @@ class MakeAncestorTree(AscendPerson):
mee = self.add_person((1, 1, move+rrr), kid, self.center_family)
line.add_from(mee)
#mee.level = (0, 1, level - (len(mykids)//2)+rrr)
mee.line_to = line
def start(self, person_id):
""" go ahead and make it happen """

View File

@ -1290,15 +1290,17 @@ class GedcomWriter(UpdateCallback):
firstname = name.get_first_name().strip()
surns = []
surprefs = []
surprefix = ''
for surn in name.get_surname_list():
surns.append(surn.get_surname().replace('/', '?'))
if surn.get_connector():
#we store connector with the surname
surns[-1] = surns[-1] + ' ' + surn.get_connector()
surprefs.append(surn.get_prefix().replace('/', '?'))
surname = ', '.join(surns)
surprefix = ', '.join(surprefs)
if name.get_surname_list():
# GEDCOM only supports a single surname prefix
surn = name.get_surname_list()[0]
surprefix = surn.get_prefix().replace('/', '?')
suffix = name.get_suffix()
title = name.get_title()
nick = name.get_nick_name()

View File

@ -84,13 +84,13 @@ class Events(Gramplet, DbGUIElement):
titles = [('', NOSORT, 50,),
(_('Type'), 1, 100),
(_('Description'), 2, 150),
(_('Date'), 3, 100),
(_('Date'), 4, 100),
('', NOSORT, 50),
(_('Age'), 4, 100),
(_('Age'), 6, 100),
('', NOSORT, 50),
(_('Place'), 5, 400),
(_('Main Participants'), 6, 200),
(_('Role'), 7, 100)]
(_('Place'), 7, 400),
(_('Main Participants'), 8, 200),
(_('Role'), 9, 100)]
self.model = ListModel(top, titles, event_func=self.edit_event)
return top

View File

@ -1128,6 +1128,7 @@ class GedLine:
Converts the data field to a Date object
"""
self.data = self.__extract_date(self.data)
self.token = TOKEN_DATE
def calc_unknown(self):
"""
@ -2062,7 +2063,7 @@ class GedcomParser(UpdateCallback):
TOKEN_RFN : self.__person_attr,
# +1 REFN <USER_REFERENCE_NUMBER> {0:M}
# +2 TYPE <USER_REFERENCE_TYPE> {0:1}
TOKEN_REFN : self.__person_attr,
TOKEN_REFN : self.__person_refn,
# TYPE should be below REFN, but will work here anyway
TOKEN_TYPE : self.__person_attr,
# +1 RIN <AUTOMATED_RECORD_ID> {0:1}
@ -2374,7 +2375,7 @@ class GedcomParser(UpdateCallback):
TOKEN_NOTE : self.__family_note,
TOKEN_RNOTE : self.__family_note,
# +1 REFN <USER_REFERENCE_NUMBER> {0:M}
TOKEN_REFN : self.__family_cust_attr,
TOKEN_REFN : self.__family_refn,
# TYPE should be below REFN, but will work here anyway
TOKEN_TYPE : self.__family_cust_attr,
# +1 RIN <AUTOMATED_RECORD_ID> {0:1}
@ -2433,7 +2434,7 @@ class GedcomParser(UpdateCallback):
TOKEN_RNOTE : self.__source_note,
TOKEN_TEXT : self.__source_text,
TOKEN_ABBR : self.__source_abbr,
TOKEN_REFN : self.__source_attr,
TOKEN_REFN : self.__source_refn,
TOKEN_RIN : self.__source_attr,
TOKEN_REPO : self.__source_repo,
TOKEN_OBJE : self.__source_object,
@ -3672,6 +3673,15 @@ class GedcomParser(UpdateCallback):
citation_handle = self.handle_source(line, state.level, state)
state.person.add_citation(citation_handle)
def __person_refn(self, line, state):
"""
@param line: The current line in GedLine format
@type line: GedLine
@param state: The current state
@type state: CurrentState
"""
self.__do_refn(line, state, state.person)
def __person_attr(self, line, state):
"""
@param line: The current line in GedLine format
@ -4318,11 +4328,12 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
spfx = line.data.strip().split(", ")[0]
if state.name.get_surname_list():
state.name.get_surname_list()[0].set_prefix(line.data.strip())
state.name.get_surname_list()[0].set_prefix(spfx)
else:
surn = Surname()
surn.set_prefix(line.data.strip())
surn.set_prefix(spfx)
surn.set_primary()
state.name.set_surname_list([surn])
self.__skip_subordinate_levels(state.level + 1, state)
@ -4334,13 +4345,17 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
if state.name.get_surname_list():
state.name.get_surname_list()[0].set_surname(line.data.strip())
else:
surn = Surname()
surn.set_surname(line.data.strip())
surn.set_primary()
state.name.set_surname_list([surn])
names = line.data.strip().split(", ")
overwrite = bool(state.name.get_surname_list())
for name in names:
if overwrite:
state.name.get_surname_list()[0].set_surname(name)
overwrite = False
else:
surn = Surname()
surn.set_surname(name)
surn.set_primary(primary=not state.name.get_surname_list())
state.name.get_surname_list().append(surn)
self.__skip_subordinate_levels(state.level + 1, state)
def __name_marnm(self, line, state):
@ -5075,7 +5090,7 @@ class GedcomParser(UpdateCallback):
event.set_type(cust_type)
# in case a description ever shows up
if line.data and line.data != 'Y':
event.set_description(line.data)
event.set_description(str(line.data))
self.dbase.add_event(event, self.trans)
sub_state = CurrentState()
@ -5264,6 +5279,15 @@ class GedcomParser(UpdateCallback):
self.__ignore)
state.msg += sub_state.msg
def __family_refn(self, line, state):
"""
@param line: The current line in GedLine format
@type line: GedLine
@param state: The current state
@type state: CurrentState
"""
self.__do_refn(line, state, state.family)
def __family_cust_attr(self, line, state):
"""
@param line: The current line in GedLine format
@ -6453,6 +6477,15 @@ class GedcomParser(UpdateCallback):
state, state.source)
self.dbase.commit_source(state.source, self.trans, state.source.change)
def __source_refn(self, line, state):
"""
@param line: The current line in GedLine format
@type line: GedLine
@param state: The current state
@type state: CurrentState
"""
self.__do_refn(line, state, state.source)
def __source_attr(self, line, state):
"""
@param line: The current line in GedLine format
@ -6813,19 +6846,7 @@ class GedcomParser(UpdateCallback):
@param state: The current state
@type state: CurrentState
"""
attr = Attribute()
attr.set_type(line.token_text) # Atrribute : REFN
attr.set_value(line.data)
# if there is a subsequent TYPE, we add it as a note to the attribute
line = self.__chk_subordinate(state.level + 1, state, TOKEN_TYPE)
if line:
new_note = Note(line.data)
new_note.set_gramps_id(self.nid_map[""])
new_note.set_handle(create_id())
new_note.set_type('REFN-TYPE')
self.dbase.commit_note(new_note, self.trans, new_note.change)
attr.add_note(new_note.get_handle())
state.media.attribute_list.append(attr)
self.__do_refn(line, state, state.media)
def __obje_type(self, line, state):
"""
@ -7797,6 +7818,29 @@ class GedcomParser(UpdateCallback):
# too far in the future, this gives OverflowError.
pass
def __do_refn(self, line, state, obj):
"""
@param line: The current line in GedLine format
@type line: GedLine
@param state: The current state
@type state: CurrentState
@param obj: The object to attach the attribute
@type obj: Gramps primary object
"""
attr = Attribute()
attr.set_type(line.token_text) # Atrribute : REFN
attr.set_value(line.data)
# if there is a subsequent TYPE, we add it as a note to the attribute
line = self.__chk_subordinate(state.level + 1, state, TOKEN_TYPE)
if line:
new_note = Note(line.data)
new_note.set_gramps_id(self.nid_map[""])
new_note.set_handle(create_id())
new_note.set_type('REFN-TYPE')
self.dbase.commit_note(new_note, self.trans, new_note.change)
attr.add_note(new_note.get_handle())
obj.attribute_list.append(attr)
def __build_event_pair(self, state, event_type, event_map, description):
"""
n TYPE <EVENT_DESCRIPTOR> {0:1} p.*

View File

@ -518,7 +518,9 @@ class AscendPerson(_StopRecurse, _PersonSeen):
"""
A simple header to make sure we pass in the correct information
"""
return self.__iterate(1, 1, person_handle, None)
person = self.database.get_person_from_handle(person_handle)
return self.__iterate(1, 1, person_handle,
person.get_main_parents_family_handle())
#------------

View File

@ -315,6 +315,29 @@ def sort_people(dbase, handle_list, rlocale=glocale):
return sorted_lists
def sort_places(dbase, handle_list, rlocale=glocale):
"""
will sort the database place
"""
pname_sub = defaultdict(list)
sortnames = {}
for place_handle in handle_list:
place = dbase.get_place_from_handle(place_handle)
pname = _pd.display(dbase, place)
sortnames[place_handle] = pname
pname_sub[pname].append(place_handle)
sorted_lists = []
temp_list = sorted(pname_sub, key=rlocale.sort_key)
for name in temp_list:
if isinstance(name, bytes):
name = name.decode('utf-8')
sorted_lists.append((name, pname_sub[name][0]))
return sorted_lists
def sort_event_types(dbase, event_types, event_handle_list, rlocale):
"""
sort a list of event types and their associated event handles
@ -494,36 +517,24 @@ def first_letter(string, rlocale=glocale):
# no special case
return norm_unicode[0].upper()
try:
import PyICU # pylint : disable=wrong-import-position
PRIM_COLL = PyICU.Collator.createInstance(PyICU.Locale(COLLATE_LANG))
PRIM_COLL.setStrength(PRIM_COLL.PRIMARY)
def primary_difference(prev_key, new_key, rlocale=glocale):
"""
Try to use the PyICU collation.
"""
dummy_rlocale = rlocale
def primary_difference(prev_key, new_key, rlocale=glocale):
"""
The PyICU collation doesn't work if you want to sort in another language
So we use this method to do the work correctly.
return PRIM_COLL.compare(prev_key, new_key) != 0
Returns true if there is a primary difference between the two parameters
See http://www.gramps-project.org/bugs/view.php?id=2933#c9317 if
letter[i]+'a' < letter[i+1]+'b' and letter[i+1]+'a' < letter[i]+'b' is
true then the letters should be grouped together
except:
def primary_difference(prev_key, new_key, rlocale=glocale):
"""
The PyICU collation is not available.
The test characters here must not be any that are used in contractions.
"""
Returns true if there is a primary difference between the two parameters
See http://www.gramps-project.org/bugs/view.php?id=2933#c9317 if
letter[i]+'a' < letter[i+1]+'b' and letter[i+1]+'a' < letter[i]+'b' is
true then the letters should be grouped together
The test characters here must not be any that are used in contractions.
"""
return rlocale.sort_key(prev_key + "e") >= \
rlocale.sort_key(new_key + "f") or \
rlocale.sort_key(new_key + "e") >= \
rlocale.sort_key(prev_key + "f")
return rlocale.sort_key(prev_key + "e") >= \
rlocale.sort_key(new_key + "f") or \
rlocale.sort_key(new_key + "e") >= \
rlocale.sort_key(prev_key + "f")
def get_first_letters(dbase, handle_list, key, rlocale=glocale):
"""
@ -567,12 +578,12 @@ def get_first_letters(dbase, handle_list, key, rlocale=glocale):
index_list.sort(key=rlocale.sort_key)
first = True
prev_index = None
for key in index_list[:]: #iterate over a slice copy of the list
if first or primary_difference(prev_index, key, rlocale):
for nkey in index_list[:]: #iterate over a slice copy of the list
if first or primary_difference(prev_index, nkey, rlocale):
first = False
prev_index = key
prev_index = nkey
else:
index_list.remove(key)
index_list.remove(nkey)
# return menu set letters for alphabet_navigation
return index_list

View File

@ -64,7 +64,7 @@ from gramps.plugins.webreport.common import (get_first_letters, first_letter,
primary_difference, _KEYPLACE,
get_index_letter, FULLCLEAR,
MARKER_PATH, OSM_MARKERS, MARKERS,
html_escape)
html_escape, sort_places)
_ = glocale.translation.sgettext
LOG = logging.getLogger(".NarrativeWeb")
@ -196,21 +196,15 @@ class PlacePages(BasePage):
]
)
# bug 9495 : incomplete display of place hierarchy labels
def sort_by_place_name(obj):
""" sort by lower case place name. """
name = self.report.obj_dict[Place][obj][1]
return name.lower()
handle_list = sorted(place_handles,
key=lambda x: sort_by_place_name(x))
handle_list = sort_places(self.r_db, place_handles,
self.rlocale)
first = True
# begin table body
tbody = Html("tbody")
table += tbody
for place_handle in handle_list:
for (dummy_pname, place_handle) in handle_list:
place = self.r_db.get_place_from_handle(place_handle)
if place:
if place.get_change_time() > ldatec:

View File

@ -1,745 +1,141 @@
2018-12-20 Paul Culley <paulr2787@gmail.com>
2019-03-20 vantu5z <vantu5z@mail.ru>
* gramps/gui/configure.py, gramps/gui/display.py,
gramps/gui/glade/book.glade, gramps/gui/glade/styleeditor.glade,
gramps/gui/plug/report/_bookdialog.py,
gramps/gui/plug/report/_styleeditor.py,
gramps/gui/selectors/selectperson.py,
gramps/gui/selectors/selectrepository.py,
gramps/gui/widgets/grampletpane.py,
gramps/gui/widgets/reorderfam.py,
gramps/plugins/tool/mediamanager.py,
gramps/plugins/tool/relcalc.glade, gramps/plugins/tool/relcalc.py,
po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/da.po,
* po/ru.po: update Russian translation
2019-06-12 niememat <niememat@gmail.com>
* po/fi.po: Update finnish translation
2019-06-10 milotype <43657314+milotype@users.noreply.github.com>
* po/hr.po: Update Croatian translation (#824)
2019-06-10 Ed Bennett <pyedward@swansea.ac.uk>
* 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: Help issues for bug 9042 (#738) * Media Manager: add help button and remove '...' Issue #9042 * Edit/Preferences: add Help button Issue #9042 * Style Editor, Document Styles dialog: add help buttons Issue #9042 * Fix Select Person dialog Help button URL Issue #9042 * Fix Select Repository dialog Help button URL Issue #9042 * Relationship Calculator: Add help button Issue #9042 * Reorder Relationships dialog; add Help button Issue #9042 * Generate Book Dialog; Fix Help URL Issue #9042 * Manage Book dialog; add help button Issue #9042 * Fix Detached Gramplets Help button URL when 'help_url' not in .gpr Issue #9042 * Fix help URLs when they contain illegal characters and to match
wiki section targetID algorithm Issue #9042
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
2018-12-20 prculley <paulr2787@gmail.com>
2019-01-05 caigner <github@sys-admin.at>
* po/hu.po: Updated Hungarian translation
* 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: changed 'Edit ->Set Home Person' to 'Edit -> Set Home
Person'
2018-12-20 milotype <43657314+milotype@users.noreply.github.com>
2019-04-14 système <romjerome@users.noreply.github.com>
* gramps/gen/datehandler/_date_hr.py, po/hr.po: Croatian
localisation updates (#741) * Update/Completion Croatian translation This is a big update. The croatian translation is now 100% complete.
Translated all missing strings, made lots of corrections, improved
consistency in the wording, tested thoroughly. Also, it will work
with the updated datehandler file "_date_hr.py", which i'll be
updating simultaneously. * Croatian Datehandler update Made changes to fit croatian specific date handling. Also because
i've updated the hr.po file. I've tested it with the present
"_datedisplay.py" of the maintainance/gramps50 branch. Basically it would be great, if next to the obligatory "display_iso"
format, only two more formats would show up in the croatian
drop-down menus: "dd_dformat01" (numerical) and "dd_dformat04".
Other formats are unneeded. 9. 5. 2018. => ordinal numbers, all separated by spaces 9. svibnja 2018. => ordinal numbers and genitiv month's form, all
separated by spaces
* po/fr.po: typo on french translation
2018-12-20 Nick Hall <nick-h@gramps-project.org>
2019-03-17 milotype <43657314+milotype@users.noreply.github.com>
* gramps/gen/db/generic.py: Fix contents of enclosed_by secondary
dbapi column (#742) The enclosed_by column should contain the first value in the list
instead of the last. Resolves #10907.
* po/hr.po: Update Croatian translation (#803) update with current maint50 pot file
2018-12-18 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2018-12-15 SNoiraud <serge.noiraud@laposte.net>
* gramps/plugins/mapservices/googlemap.py: Google maps URL problem Fixes #10772
2018-12-09 prculley <paulr2787@gmail.com>
* gramps/gen/plug/docbackend/docbackend.py: Fix ODT reports with
links when run in non-English languages Fixes #10911
2018-12-06 prculley <paulr2787@gmail.com>
* gramps/gui/plug/report/_reportdialog.py: Allow addon Reports to
specify a help button URL for options dialog Fixes #10910
2018-12-01 Nick Hall <nick-h@gramps-project.org>
* gramps/plugins/db/dbapi/dbapi.py, gramps/plugins/tool/rebuild.py:
Fix Rebuild Secondary Indexes tool for dbapi backends For dbapi backends, this tool will update the secondary columns that
are used for indexing. Resolves #10757.
2018-11-15 prculley <paulr2787@gmail.com>
* gramps/plugins/db/dbapi/dbapi.py: Fix dbapi set_name_group_mapping
to properly close transaction Fixes #10730
2018-10-24 prculley <paulr2787@gmail.com>
* gramps/gen/datehandler/_date_ru.py: Fix Russian date handler crash
when Russian .po isn't present Fixes #10855
2018-12-04 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2018-12-04 vantu5z <vantu5z@mail.ru>
2019-01-17 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2018-11-29 niememat <niememat@gmail.com>
2019-02-27 Bernard Banko <beernarrd@gmail.com>
* po/fi.po: Update finnish translation
* po/sl.po: Slovenian translation correction
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-16 système <romjerome@users.noreply.github.com>
* gramps/gui/plug/quick/_quicktable.py: Fix Quickview for missing
table data on some Gtk Versions (#593) Issue #10448 Issue #7867
* po/fr.po: update french translation
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-14 système <romjerome@users.noreply.github.com>
* gramps/cli/arghandler.py, gramps/gui/grampsgui.py: Fix startup
messages with bad filename (#720) Fixes #10885
* po/fr.po: update (partial) french translation
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-14 système <romjerome@users.noreply.github.com>
* gramps/gui/selectors/selectplace.py,
gramps/gui/views/treemodels/placemodel.py,
gramps/plugins/lib/libplaceview.py: Restrict Place view Name col to
the primary name (#673) while allowing searchbar to find alt and primary names related to Issue #9276 while allowing searchbar to find alt and primary names. Currently, the Place View and Place Selector name column shows a
comma separated list of the primary and alt names for a place. With
the advent of GeoNames and Gov data, the alt names lists are getting
populated with (sometimes long) lists of (sometimes duplicated)
names. This doesn't look very good in the view. I've gotten a couple
of email complaints about this. The Name column was originally extended (for Gramps50) to include
alt names to allow the use of the top search bar (enabled when
sidebar is turned off via 'View/Sidebar'), to perform a search
through all the alt names as well as primary name.
https://gramps-project.org/bugs/view.php?id=9276 This PR creates a new (hidden) column in the place model containing
the full name list, and reverts the 'Name' column to the primary
name. It also modifies the PlaceSelector and PlaceView classes to
cause the search bar to use the new (hidden) column.
* po/fr.po: merge with last template
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-14 système <romjerome@users.noreply.github.com>
* gramps/gui/filters/sidebar/_personsidebarfilter.py: Fix Person
Sidebarfilter when using 'Event' and Reg expressions (#729) Fixes #10659
* po/fr.po: bug 10841: Typos in the French translation
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-14 système <romjerome@users.noreply.github.com>
* gramps/plugins/tool/finddupes.py: Fix Find Duplicate People;
exception when deleting someone shown (#728) outside of the tool Fixes #10875
* po/fr.po: fix a typo
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-10 Bernard Banko <beernarrd@gmail.com>
* data/tests/exp_sample_ged.ged,
gramps/plugins/export/exportgedcom.py,
gramps/plugins/test/exports_test.py: Gedcom export, upgrade OBJE
handling to Gedcom 5.5.1 style (#702) Fixes #10797
* po/sl.po: Slovenian language update
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
* data/tests/imp_sample_csv.gramps,
gramps/plugins/importer/importcsv.py: Fix CSV import to set marriage
event role to family (#725) Fixes #9952
* 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.
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-02-10 Luigi Toscano <luigi.toscano@tiscali.it>
* data/tips.xml.in, 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: Update gramps
bugtracker URL in all po files (#710) Fixes #10543
* po/it.po: Refresh the Italian po file
2018-11-28 Serge Noiraud <Serge.Noiraud@laposte.net>
2019-01-22 Leonhaeuser <mirko@leonhaeuser.de>
* data/css/Web_Basic-Ash.css, data/css/Web_Basic-Blue.css,
data/css/Web_Basic-Cypress.css, data/css/Web_Basic-Lilac.css,
data/css/Web_Basic-Peach.css, data/css/Web_Basic-Spruce.css,
data/css/Web_Mainz.css, data/css/Web_Nebraska.css: Narrative Web :
thumbnails bad alignment. (#691) * Narrative Web : thumbnails bad alignment. Fixes #10854 also solves the following problems in the Nebraska style sheet : 1 - float parameter has no value "center" 2 - "[" instead of ";" at end of line 1100 * overlapping with long titles
* po/de.po: Update German translation
2018-11-28 Paul Culley <paulr2787@gmail.com>
2019-01-22 Christian Aigner <github@sys-admin.at>
* gramps/gui/views/treemodels/citationlistmodel.py: Fix typo in
CitationListModel for sort change (#730)
* 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)
2018-11-28 Serge Noiraud <Serge.Noiraud@laposte.net>
2019-01-22 Christian Aigner <github@sys-admin.at>
* gramps/plugins/gramplet/todo.py: Fix Adding "ToDo" note crash when
no active object (#685) * Fix Adding "ToDo" note crash when no active object Fixes #10795 * Better message when no active object. * resolve conflict: Fixes #10795
* po/de.po: Corrections in 'Tip of Day'; changed 'Schlussnotizen' to
'Quellennachweis' (#753)
2018-11-28 Paul Culley <paulr2787@gmail.com>
* gramps/gui/views/treemodels/citationbasemodel.py,
gramps/gui/views/treemodels/citationlistmodel.py: Fix Citation List
view Source Last Changed Column to sort properly (#723) Fixes #10893
2018-11-28 pmraps <43935667+pmraps@users.noreply.github.com>
* po/pt_PT.po: some pt_PT.po translation changes (#703) * some header changes * more changes
2018-11-28 Paul Culley <paulr2787@gmail.com>
* gramps/gui/viewmanager.py: Fix for re-entrant main window close
when user hits 'x' again (#724) Fixes #10897
2018-11-28 Paul Culley <paulr2787@gmail.com>
* gramps/gui/managedwindow.py: Fix exception when closing early
editor in tree of editors (#706) Fixes #10876
2018-11-28 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/webreport/basepage.py: Narrative Web: thumbnails
problems in some cases. (#722) Fixes #10890
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/plug/report/_bookdialog.py: Fix 'Generate Book' dialog
for crash on 'x' close (#726) Fixes #10901
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/gramplet/todo.py: Fix ToDo Gramplet for multiple
attempts to edit a note (#719) Fixes #10645
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/widgets/grampletpane.py: Fix Dashboard for multiple
copies of a Gramplet (#718) * Fix Dashboard for multiple copies of a Gramplet Fixes #10650 * Fix Dashboard to recall minimized or undocked Gramplets
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/displaystate.py: Fix Statusbar update to avoid
intermittent exception on closed db (#716) Fixes #10882
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gen/filters/_filterparser.py: Fix FilterParser for much
older 3.x custom_filters.xml files (#715) Fixes #8075 Fixes #10669 Fixes #10516
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gen/filters/rules/person/_isduplicatedancestorof.py: Fix
IsDuplicatedAncestorOf filter rule to avoid crash on tree loop
(#714) Fixes #10685
2018-11-28 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/webreport/person.py,
gramps/plugins/webreport/place.py: Narrative web : use latest
version from openlayers. (#713) Fixes #10884
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/editlink.py: Fix StyledTextEditor EditLink for
root text changed to zero length (#709) in the background Fixes #9750
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gen/simple/_simpleaccess.py: Fix AgeOnDate and some reports
using SimpleAccess for missing surname (#708) Fixes #9958 Fixes #9800
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gen/filters/rules/_rule.py: Fix crash when a filter with
loop in definition is defined (#707) Fixes #10621
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gen/proxy/referencedbyselection.py,
gramps/plugins/gramplet/citations.py: Fix HandleErrors related to
LDS (#697) * Fix ReferencedBySelection proxy for 'None' LDS Parents Fixes #10865 * Fix HandleError in Citations Gramplet for lds place missing
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/lib/libplaceview.py: Change PlaceView drag from
whole row to just icon during drag (#695) Fixes #10863
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/displaytabs/embeddedlist.py: Add drag Icon to
drags from DisplayTabs Gramplet lists (#694) Fixes #10859
2018-11-27 Paul Culley <paulr2787@gmail.com>
* gramps/gui/glade/baseselector.glade,
gramps/gui/glade/dbman.glade,
gramps/gui/plug/report/_bookdialog.py,
gramps/gui/selectors/baseselector.py,
gramps/gui/selectors/selectcitation.py,
gramps/gui/selectors/selectevent.py,
gramps/gui/selectors/selectfamily.py,
gramps/gui/selectors/selectnote.py,
gramps/gui/selectors/selectobject.py,
gramps/gui/selectors/selectperson.py,
gramps/gui/selectors/selectplace.py,
gramps/gui/selectors/selectrepository.py,
gramps/gui/selectors/selectsource.py,
gramps/plugins/tool/testcasegenerator.py: Fix dialogs for 'Help'
button closes the dialog, and non-functional 'Help' (#727) * Fix Family Tree manager for 'Help' button closes dialog Fixes #10589 * Fix selectors for 'Help' button closes dialog Fixes #10589 * Fix 'Generate Book' dialog for 'Help' button closes dialog Fixes #10589 * Fix TestcaseGenerator for 'Help' button closes dialog Fixes #10589 * Fix Selectors to enable the 'Help' buttons to actually work Fixes #10589
2018-10-26 prculley <paulr2787@gmail.com>
* gramps/gui/editors/editfamily.py: Avoid HandleError when dragging
an Added Family from EditFamily Fixes #10858
2018-10-26 prculley <paulr2787@gmail.com>
* gramps/gui/editors/editperson.py: Avoid HandleError when dragging
an Added Person from EditPerson Fixes #10857
2018-10-20 prculley <paulr2787@gmail.com>
* gramps/gui/clipboard.py: Fix Clipboard rows cannot be sorted via
drag/drop Fixes #10849
2018-10-19 prculley <paulr2787@gmail.com>
* gramps/gen/config.py, gramps/gui/dbloader.py,
gramps/gui/plug/export/_exportassistant.py,
gramps/gui/views/listview.py: Better default directory choices for
import/export Use recent-export-dir as default for Export View instead of the
console default directory, which can be where program resides (on
Windows), or other inappropriate place. Use USER_HOME for default directory on 'Export' (recent-export-dir)
if first run (default settings) rather than default directory, which
can be where program resides (on Windows), or other inappropriate
place. Use USER_HOME for default directory on 'Import' (recent-import-dir)
if first run (default settings) rather than recent file which is
generally set to the grampsdb path. Fixes #10802
2018-10-16 SNoiraud <serge.noiraud@laposte.net>
* gramps/plugins/docgen/htmldoc.py: Records Report: call name not
underlined in HTML Fixes #10816
2018-11-20 Christophe <khrys63@gmail.com>
* po/fr.po: Fix French translation
2018-10-14 prculley <paulr2787@gmail.com>
* gramps/gui/widgets/interactivesearchbox.py: Fix InteractiveSearch
for find before model is populated Fixes #10844
2018-10-07 prculley <paulr2787@gmail.com>
* gramps/plugins/export/exportgedcom.py: Fix Gedcom export for
incorrect escaping with @#DFRENCH R@ Fixes #10833
2018-10-06 prculley <paulr2787@gmail.com>
* gramps/plugins/textreport/detancestralreport.py,
gramps/plugins/textreport/detdescendantreport.py,
gramps/plugins/textreport/indivcomplete.py,
gramps/plugins/webreport/basepage.py: Fix reports for shared event
attribute and note errors Fixes #10720
2018-10-02 prculley <paulr2787@gmail.com>
* gramps/gui/widgets/fanchart.py,
gramps/gui/widgets/fanchartdesc.py: Fix Fan and Descendant Fan
charts in Quadrant and Half Circle modes The Descendant Fan chart
had several bugs: 1) a bug that affected the centering of the chart for these modes 2) the chart was drawn in the wrong quadrant 3) the centering of the chart for printing was incorrect (the legend was off the page some of the time). 4) the sizing of the chart for printing was incorrect (for very small charts of one generation, the legend would overwrite the chart). The Fan Chart for the quadrant view: 1) the centering of the chart for printing was incorrect (the legend was off the page some of the time). Fixes #10817
2018-09-30 Robin van der Vliet <info@robinvandervliet.com>
* gramps/plugins/rel/rel_nl.py: Fixed issues in the Dutch
relationship calculator Fixed some issues in the Dutch relationship calculator and also
extended the ordinal and removed lists till 50, just like the
English lists. * Replaced huge lists by reusable lists. * Fixed bug in which uncles/aunts, nephews/nieces (niblings), siblings and cousins with an unknown gender show up as female. * Fixed some misspellings: drieëntwingste > drieëntwinTIgste vierentwingste > vierentwinTIgste edelovergrootOUD > edelovergroot edeloudvergroot > edeloudOvergroot
2018-11-15 Pär Ekholm <pelle.ekh@koping.net>
* po/sv.po: Update Swedish translation
2018-11-18 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-11-10 niememat <niememat@gmail.com>
* po/fi.po: Update finnish translation
2018-11-09 vantu5z <vantu5z@mail.ru>
2019-01-12 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2018-09-28 SNoiraud <serge.noiraud@laposte.net>
2019-01-11 ZdenÄk HataÅ¡ <zdenek.hatas@gmail.com>
* data/css/Web_Basic-Ash.css, data/css/Web_Basic-Blue.css,
data/css/Web_Basic-Cypress.css, data/css/Web_Basic-Lilac.css,
data/css/Web_Basic-Peach.css, data/css/Web_Basic-Spruce.css,
data/css/Web_Horizontal-Menus.css, data/css/Web_Mainz.css,
data/css/Web_Nebraska.css, gramps/plugins/webreport/basepage.py:
NarrativeWeb fixes Space between place, description and the event note when there are
many sources. Change the css order between print and screen. The
chosen theme can erase prior values. Add a width for the source
column in all themes. Fixes #10810
* po/cs.po: Update Czech translation
2018-10-17 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-10-07 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/drawreport/statisticschart.py,
gramps/plugins/graph/gvfamilylines.py,
gramps/plugins/graph/gvrelgraph.py,
gramps/plugins/webreport/webcal.py: Setting the year as an ordinal
number in Croatian With this commit, two more reports now show a year as an ordinal
number in Croatian, and a year I missed before in webcal.py is now
fixed. This commit also reverts the Croatian ordinal year fix in the
gramps50 statisticschart.py since upon reflection I feel it would be
better done in master, since then our translators will have until
5.1.0 is released to do the two new strings the fix requires. Issue #10822
2018-10-07 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/textreport/indivcomplete.py: name-note is not being
cleared in Complete Individual report I ran gramps with a fresh copy of the example.gramps tree, then ran
the Complete Individual report. The options which matter are
"Entire Database" and "Include Notes" but I also included the
gramps-ID since that speeds up my work. Then I noticed that hundreds of names at the end of the output file
all had the same note (N0001), whose text said it referred to a
specific person. So I looked higher and the note inclusion started with I0044, the
default person. It was real for him but not for the next person
after him, or all the people after her. I introduced the problem when I fixed 10033, in d6a97cf90e. Note that this bug is independent of the CIR fix in p.r. 676 and
still happens even after that pull request is applied.
2018-10-04 prculley <paulr2787@gmail.com>
* gramps/gui/columnorder.py, gramps/gui/views/listview.py: Fix View
Column sizing so last column size setting is maintained Fixes #10800
2018-08-06 prculley <paulr2787@gmail.com>
* gramps/gui/views/listview.py: Fix view so column widths are
preserved when using filters Fixes #10725
2018-08-29 vantu5z <vantu5z@mail.ru>
* po/ru.po: update Russian translation
2018-10-04 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/display/place.py: fix typo in cbac98894bfa7e1969625efceccc19c4d5374a7e
2018-10-04 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/lib/libnarrate.py,
gramps/plugins/textreport/detancestralreport.py,
gramps/plugins/textreport/detdescendantreport.py: fix the
place-format option in DDR and DAR The place-format option was added to the Detailed Descendant and
Detailed Ancestor text reports in
cbac98894bfa7e1969625efceccc19c4d5374a7e But those two reports use the Narrator class to show many of their
places (and dates), and that class was not modified to use the
user's custom place format. So if a user had created a custom place format and ran either of
those two reports, their places would be shown inconsistently. This
commit fixes that. (The non-detailed ancestor text report also uses Narrator to show
its places but that report has not had the place-format option added
to it, so this commit doesn't touch it.)
2018-10-04 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/drawreport/fanchart.py,
gramps/plugins/drawreport/statisticschart.py,
gramps/plugins/drawreport/timeline.py, po/hr.po: Setting the year as
an ordinal number in Croatian With this commit, three more reports now show a year as an ordinal
number in Croatian. Issue #10822
2018-05-09 prculley <paulr2787@gmail.com>
* gramps/plugins/db/bsddb/read.py: Fix bsddb for person sort with
empty Surname list Fixes #10078, #10577
2018-10-01 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/drawreport/calendarreport.py,
gramps/plugins/textreport/birthdayreport.py,
gramps/plugins/webreport/webcal.py, po/hr.po: Setting the year as an
ordinal number in Croatian When I started investigating 10822, I saw some Croatian dates didn't
seem to be working in 5.0.0, to my surprise. I believe I fixed that
in the previous commit. With this commit, the three reports now show a year as an ordinal
number in Croatian, so I consider 10822 fixed. If there are any additional problems displaying Croatian, please
file additional bug reports ("one bug, one report"). Fixes #10822
2018-10-01 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/datehandler/_date_hr.py,
gramps/gen/datehandler/_datedisplay.py, po/hr.po: Setting the year
as an ordinal number in Croatian When I started investigating 10822 I saw some Croatian dates didn't
seem to be working in 5.0.0, to my surprise. There seems to have
been some kind of regression from 4.2.8. But the Croatian translation for gramps hasn't been updated in about
three years -- except by non-Croatians. So I don't know why some
"translated" strings which control how dates are displayed were
disabled (marked as "fuzzy") in this:
6c67053e1fa22405bde0fae38e81de7ace222d41 Also, I saw some code in the 4.2.8 Croatian date handler which was
not in the 5.0.0 Croatian date handler -- somehow. So I believe this commit fixes the Croatian date handler. Issue #10822
2018-09-30 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/webreport/webcal.py: Webcal: link problems in some
cases (#661) * Webcal: link problems in some cases Year 2016 is highlighted by default instead of current year. Fixes #10801 * Webcal: Missing links when muliyear unselected
2018-09-29 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/view/geoclose.py: Geoclose: exception when a family
has no father (#662)
2018-09-26 Paul Franklin <pf.98052@gmail.com>
* gramps/plugins/drawreport/descendtree.py: Report plugin krasch Load data.gramps, start with the default person (I0037, Edwin
Michael Smith), run Family Descendant Tree, choose "Start with the
parent(s) of the selected first", hit OK: .../descendtree.py", line 881, in start family2 = self.database.get_family_from_handle(family2_h) ... Or start with I0057 (Anna Louise Smith), run Family Descendant Tree,
choose "Start with the parent(s) ...", hit OK: .../descendtree.py", line 773, in start family2 = self.database.get_family_from_handle(family2_h) ... Fixes #10811
2018-09-26 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/datehandler/_date_is.py,
gramps/gen/datehandler/_datedisplay.py: [unhandled exception parsing
"future dates" in some locales] There is already a check in the MonitoredDate class for years which
are more than one year in the future, so such a date is already
going to be shown in red. But some locales use the "datetime" library to parse typed-in dates
and that has a maximum year of datetime.MAXYEAR, 9999 currently, so
dates greater than that produce a ValueError. Besides adding checks for that, I have also made it so that locales
which don't need that library don't use it. Fixes #10815
2018-09-24 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/datehandler/_date_nb.py: Julian/Gregorian calendar
issue when entering only year as date when running gramps in Norwegian Fixes #10687
2018-09-23 Serge Noiraud <Serge.Noiraud@laposte.net>
* gramps/plugins/webreport/basepage.py: Events difficult to read
(screen and mobile) (#658)
2018-09-17 Paul Franklin <pf.98052@gmail.com>
* gramps/gen/plug/report/stdoptions.py,
gramps/plugins/textreport/placereport.py: fix typo in cf42e5a4b847e6881f180cd1b776fb02234768be and
cbac98894bfa7e1969625efceccc19c4d5374a7e Fixes #10782
2018-09-08 Leonhaeuser <mirko@leonhaeuser.de>
2019-01-05 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: update German translation
2018-09-06 niememat <niememat@gmail.com>
* po/fi.po: New update for Finnish translation
2018-09-06 niememat <niememat@gmail.com>
* po/fi.po: Update finnish translation
2018-09-05 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/gramplet/statsgramplet.py: Fix and restore
Statistics Gramplet to 4.2.x status (#653) Fixes #10754 A bit of history. bug 2060 was filed a long time ago (2008), and a
patch was added to close it in 2016. I believe that the bug had
already been patched by then, although I cannot be sure. The patch
caused the Gramplet to update anytime the active-changed signal
occurred on a person view. I suspect that this caused a fair amount
of overhead on very large dbs as the entire person list was
rescanned. In any event, Doug Blank recently removed the original scan code, as
well as some useful functionality. And left behind a bug where a
value was always zero. The users email list had some complaints
about the lost functionality, and I also saw some recent complaints
that the gender statistics were incorrect. Turns out that the db's
genderstats data was incorrect, probably due to crashes after db
updates. The Genderstats don't get saved until db closes normally.
In addition, running the Genderstats rebuild tool, did not
immediately appear to correct the situation, Gramps had to be
restarted to show the updated results. I added the original statistics code back into the Gramplet,
suitably updated for 5.0.x. So the Gramplet no longer depends on dbs
genderstats, it scans for it now on its own. I removed the update on active-changed function, so overhead is only
present on actual db updates (which have their own signals). I
tested that the add, edit, and delete person changes do properly
cause the statistics to update now. So the active-changed signal is
not necessary.
2018-09-04 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/test/tools_test.py, gramps/plugins/tool/check.py:
Fix Check and Repair to deal with bad references empty handle string
(#657) Fixes #10783 Check and Repair tool doesn't fix bad references when the reference
handle is an empty string. Found when rewriting the backlinks scan
on same tool. I assumed that the prior checks had already corrected
any bad forward references, and did not put in a test for them in my
new code. The Travis test failed and when I debugged, I found that
the tool had an exception on a handle that consisted of an empty
string. Its interesting to note that when I changed the code, a lot more
citation and source references were fixed in the test.
2018-09-04 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/tool/check.py: Speed up Check and Repair, backlinks
check stage. (#656) Fixes #10618 * Speed up Check and Repair, backlinks check stage. * Fix Check and repair; backlinks scan to deal with bad references
which should have been fixed in earlier checks!
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gen/config.py, gramps/gen/datehandler/_date_ar.py,
gramps/gen/datehandler/_date_bg.py,
gramps/gen/datehandler/_date_ca.py,
gramps/gen/datehandler/_date_da.py,
gramps/gen/datehandler/_date_de.py,
gramps/gen/datehandler/_date_el.py,
gramps/gen/datehandler/_date_es.py,
gramps/gen/datehandler/_date_fi.py,
gramps/gen/datehandler/_date_hr.py,
gramps/gen/datehandler/_date_hu.py,
gramps/gen/datehandler/_date_is.py,
gramps/gen/datehandler/_date_it.py,
gramps/gen/datehandler/_date_ja.py,
gramps/gen/datehandler/_date_lt.py,
gramps/gen/datehandler/_date_nb.py,
gramps/gen/datehandler/_date_nl.py,
gramps/gen/datehandler/_date_pl.py,
gramps/gen/datehandler/_date_pt.py,
gramps/gen/datehandler/_date_ru.py,
gramps/gen/datehandler/_date_sk.py,
gramps/gen/datehandler/_date_sl.py,
gramps/gen/datehandler/_date_sr.py,
gramps/gen/datehandler/_date_sv.py,
gramps/gen/datehandler/_date_uk.py,
gramps/gen/datehandler/_date_zh_CN.py,
gramps/gen/datehandler/_date_zh_TW.py,
gramps/gen/datehandler/_dateparser.py, gramps/gen/display/name.py,
gramps/gen/filters/rules/_changedsincebase.py,
gramps/gen/lib/place.py, gramps/gen/mime/_winmime.py,
gramps/gen/soundex.py, gramps/gen/utils/db.py, gramps/gui/dbman.py,
gramps/gui/editors/editlink.py, gramps/plugins/docgen/latexdoc.py,
gramps/plugins/docgen/rtfdoc.py,
gramps/plugins/export/test/exportvcard_test.py,
gramps/plugins/importer/importgeneweb.py,
gramps/plugins/importer/importxml.py,
gramps/plugins/importer/test/importvcard_test.py,
gramps/plugins/tool/reorderids.py, setup.py,
windows/nonAIO/builder/build_GrampsWin32.py,
windows/nonAIO/builder/check_gtk_install.py,
windows/nonAIO/builder/make_launcher.py,
windows/nonAIO/check_gtk_install.py: Fix strings containing
deprecated illegal escape sequences (#648) Python 3.6 and above has deprecated illegal string escape sequences.
Escape sequences are preceded by a '\' and valid ones are "\n\t\r"
etc. Illegal ones are not in the list
https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals.Previous to Python 3.6 these illegal sequences were ignored and the
'\' was left in place. Pylint has been noting these for a while now. This PR corrects these sequences in Gramps. I used find . -name "*.py" | xargs -t -n 1 python3 -Wd -m py_compile 2>&1 |
grep Depre to locate the failing strings.
2018-09-04 Ivan <vantu5z@mail.ru>
* gramps/plugins/gramplet/whatsnext.py: [Whatsnext] check if db is
open (#651) Fixes #10732
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gui/viewmanager.py,
gramps/plugins/gramplet/statsgramplet.py,
gramps/plugins/quickview/filterbyname.py,
gramps/plugins/textreport/summary.py,
gramps/plugins/webreport/statistics.py: Fix usage of posixpath;
should be os.path for os independence (#650) Fixes #10740
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gen/utils/file.py: Fix generate_checksum routine to avoid
MemoryError crash (#649) with very large files and 32-bit OS Issue #10690
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gui/views/bookmarks.py: Fix corrupted Bookmarks that can
happen after Gramps crash (#655) Fixes #10759
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gen/merge/mergefamilyquery.py: Fix Merge Family when same
parent is missing from both families (#654) Fixes #10760
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gui/views/pageview.py: Fix <ctrl>c in view to get selected
item to clipboard (#652) Fixes #10682
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/gramplet/quickviewgramplet.py: Fix Quickview
Gramplet so updates work when changing active (#642) Fixes #10713
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/gui/editors/editplaceref.py: Fix place reference editor for
bad cut/paste on set_latlongitude (#644) Fixes #10719
2018-09-03 Paul Culley <paulr2787@gmail.com>
* gramps/plugins/tool/findloop.py: Fix Find Database Loop Tool (bad
import of _collections) (#643) Fixes #10722
2018-09-03 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-08-25 Bernard Banko <beernarrd@gmail.com>
* po/sl.po: Slovenian translation fixed to allow building mo
2018-08-25 Bernard Banko <beernarrd@gmail.com>
* po/sl.po: Slovenian translation updated
2018-08-18 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-08-11 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-08-09 John Ralls <jralls@ceridwen.us>
* mac/gramps.modules: Switch included moduleset to gitlab.gnome.org. Fixes bug #10733.
2018-08-08 Leonhaeuser <mirko@leonhaeuser.de>
* po/de.po: Reviewed German translation Thanks to bmendl
2018-08-08 niememat <niememat@gmail.com>
* po/fi.po: Fix translation in Finnish
2018-08-05 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: File copy doesn't work if the glob can match
directories.
2018-08-04 John Ralls <jralls@ceridwen.us>
* mac/gramps.bundle: Install the docs/gramps directory in the
bundle. Fixes bug #10705.
2018-08-05 niememat <niememat@gmail.com>
2019-01-05 niememat <niememat@gmail.com>
* po/fi.po: Fix and updated translation in Finnish
2018-07-25 Ross Gammon <rossgammon@mail.dk>
2019-01-04 P Ekholm <par.ekholm@pekholm.se>
* debian/changelog: Update the Debian changelog after the 5.0.0
release
* po/sv.po: Update Swedish translation
2018-07-25 John Ralls <jralls@ceridwen.us>
2018-12-31 caigner <github@sys-admin.at>
* mac/Info.plist, mac/gramps.modules: Release Gramps-5.0.0 on Mac.
* po/de.po: German translation corrections
2018-07-24 Nick Hall <nick-h@gramps-project.org>
2018-12-30 Leonhaeuser <mirko@leonhaeuser.de>
* gramps/gen/const.py, gramps/version.py: Bump to 5.0.1
* po/de.po: update German translation
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-22 ZdenÄk HataÅ¡ <zdenek.hatas@gmail.com>
* Update Czech translation

View File

@ -9603,6 +9603,30 @@ msgstr ""
msgid "gender unknown|ex-spouse"
msgstr ""
#: ../gramps/gen/relationship.py:2184
msgid "male,unmarried|partner"
msgstr ""
#: ../gramps/gen/relationship.py:2186
msgid "female,unmarried|partner"
msgstr ""
#: ../gramps/gen/relationship.py:2188
msgid "gender unknown,unmarried|partner"
msgstr ""
#: ../gramps/gen/relationship.py:2191
msgid "male,unmarried|ex-partner"
msgstr ""
#: ../gramps/gen/relationship.py:2193
msgid "female,unmarried|ex-partner"
msgstr ""
#: ../gramps/gen/relationship.py:2195
msgid "gender unknown,unmarried|ex-partner"
msgstr ""
#: ../gramps/gen/relationship.py:2184
msgid "unmarried|husband"
msgstr ""

View File

@ -42156,3 +42156,4 @@ msgstr "Без стилевого листа"
#~ "Используйте https://gramps-project.org/bugs/ чтобы сообщить об ошибке в "
#~ "официально поддерживаемых видах, или свяжитесь с автором "
#~ "(%(firstauthoremail)s) в противном случае. "