Check and Repair tool
- new check source and citation reference function, with extensive changes from previous (temporary) check citation references function,
- low level in-table duplicate handle check removed as this is superfluous because the main database tables do not use the DB_DUP flag,
- Progress meter added for cross table duplicate checking and fixed for all checks,
- diagnostic prints added for all checks to indicate success, and for many to indicate details of failures detected. These prints could be simply changed to Log messages if necessary. Comments added to show how checks relate to Test Case Generator test data,
- order of checks revised so empty objects are removed first,
- fix_encoding of media paths and descriptions modified to remove invalid characters (see change to Utils),
- check and remove empty citations added.
repo.py remove_citation_references added to fix removal of citations on addresses in Repository records.
Utils.py fix_encoding modified to add an option to ignore characters that can't be unicode encoded.
TestCaseGenerator
- generate families extended to generate family events,
- options dialogue updated to reflect available features and to make it clearer,
- block transactions options removed as they were by-passed in the code.
- progress meter updated to use current function, and to properly update for all options,
- signal testing code (that wasn't functional anyway) removed,
- tag generating code called when it needed to be,
- data error generating code broken up into functions to reflect the functions in the Check and Repair tool that they are designed to test,
- various test data functions added for testing cross table duplicates, media encoding errors, missing photos, control characters in notes, empty objects, source and citation references and a few missing broken family links tests,
- some fixes for some test cases (check events, person events were marked as birth events)
- fix random text so tags don't contain invalid characters and add a styled text option,
- ensure that some citations are shared,
- remove old redundant commit_transaction function,
- media linked to pictures that exist in the Gramps code so that they don't appear as missing images.
svn: r18713
1) add SVN svn:keywords "Id" property if it didn't have it
2) add SVN svn:mime-type "text/plain" property if it didn't have it
3) add SVN "Id" line to the file if it had none
svn: r18554
* In Person, add event_ref_list to get_citation_child_list (therefore it is no longer needed in get_handle_referents)
* Similarly in Family, add event_ref_list to get_citation_child_list
* Enhance upgrade to add upgrade of event_ref_list for person and family
* Add has_citation_reference, replace_citation_references and remove_citation_references to EventRef
* Change name of remove_citation_refs to remove_citation_references to be consistent with has_citation_reference (singular) and replace_citation_references
Fix editcitation because it was displaying the wrong privacy button for sources.
Also remove FIXME for editcitation for db signal connect, because comment explains why it is not needed.
svn: r18469
Rename remove_citation to remove_citation_refs and make it apply to a citation_handle_list.
Updated tool/Check.py to change check_source_references into check_citation_references
svn: r18433
* implement new Utils get_source_and_citation_referents
* Update sourceview.py and citationtreeview.py to use it
* Fix editsource.py, where deletion of a source object was not properly dealing with all possible citations
* Update mediaobj.py which still had a remnant of a source_list
* fix _HasTextMatchingSubstringOf filter to deal with text in both sources and citations
svn: r18394
* renamed HasSourceBase to HasSourceCountBase to reflect function, and because HasSourceBase is changed to be more widely used
* consequent renaming of filters for various object types
* changed source filters to a new 'Citation/source filters' category
* added Citation/_HasSource to check whether Citation refers to a Source with particular properties
* added Person/_HasCitation, Event/_HasCitation and Family/_HasCitation to check whether object refers to a Citation with particular properties
* updated Citation/_MatchesSourceFilter
* updated Rules/_MatchesSourceConfidenceBase
* updated Rules/_MatchesSourceFilterBase
* updated Citation object and citationbase.py for source references
* updated Person/_HasSourceOf
* updated comments in Filters/Rules/__init__.py to document how the various rules are used.
svn: r18339
Add note to upgrade information dialogue box to suggest running the tool.
Fixes to Person and Family for get citation child list for merging citations.
svn: r18228
* Add icon for citations view
* disable old sourceview
* change citationtreeview to be Sources navigation view
* citationlistview is now the Citations view
* merge libcitationview into citationlistview and citationtreeview, and corrected and rationalised
* remove libcitationview
* corrected initialisation of source_handle in Citation.py
* fixes for preventing same source being edited twice
- fixed blockedtext in citationembededlist
- override build_window_key in editcitation.py
svn: r18211
* Remove inheritance of Citation from RefBase, using source_handle filed instead (similar to the way Family objects store mother and father handles) (also use the set_ and get_reference_handle functions more consistently)
* Use get_citation_list instead of get_citation_references (more consistent with the way notes are handled)
svn: r18100
* updates to citationviews to support all the functionality (add source etc.) provided by sourceview (including different tooltips for tree view and list view)
* moved registration of citationtreeview into view.grp.py
* removed citationtreeview.grp.py module
* fixed update to citation when note is deleted
* fixed update to citation when media object is deleted
* re-enabled edit button in sourcebackreflist
* improved date display in mergecitation
* changed default note type for citation notes
* changed backref in citation editor to CitationBackRefList
* fixed removal of citation handles from the list in primary objects when a citation is deleted
* fixes for pylint
svn: r18095
* Updated merge Sources
* Implemented undo-redo for citations (revision 18069 had only added citations to the undo-redo list, not acted on that types of element)
* Fixed embedded lists for some of the object type editors that were done in Rev 18069
* Modified EditCitation so the source parameter is optional
* Added svn properties for all /src/Merge/merge*.py modules
* Added support for EditCitation from backreflist.py
svn: r18085
Added Citations to undo-redo feature.
Moved Citation view within navigation pane to below Sources.
Removed useless edit button from sourcebackreflist.
Fixed default bottombar gramplets for citations.
svn: r18069
* Modified Event object to include references to Citations
* Implemented database upgrade for Events (upgrade for Media had already been done)
* Enhanced database upgrade to do backlinks
* Modified Media object to remove sourceref
* Implemented citations bottombar gramplet
* Some minor fixes and improvements
svn: r18054
* Changed database to introduce Citations
* Introduced new Citation Primary object and CitationBase (equivalent to CitationRef) child object
* Implemented CitationTreeModel and CitationListModel
* Implemented CitationTreeView and CitationListView for new citation views in the navigator
* Implemented EditCitation which is used both for the citation views in the navigator and for the citations of an object
* Implemented the CitationEmbedList to display the citations of an object
* Modified the bottom bar gramplets to support citations
* Implemented the citation selector.
* Modified Media object to include references to Citations
* Initial work on deleting citations
svn: r17960
CR: Benny
* Created two strings with l10n context instead of the old one,
'Role|Primary' and 'Name|Primary'.
* While testing, GUI started showing the context when not localized, fixed
that with appropriate sgettext instead of gettext in surnametab.py.
* While at it, changed also changed 'Family' in the Role context to 'Role|Family'.
* ru.po: major translations in the area of name and name formats.
The new Primary[...] and Patronymic[...] concept along with Notpatronymic
still don't fit well when translated :-(
svn: r16986
This patch improves on the context changes:
* avoid use of transaction_xx methods
* force an abort in case of unclean transaction
Backward compatibility is broken to achieve this.
svn: r16680
This is a major patch by Michael Nauta. It means all writes happen immediately to bsddb, and the bsddb
rollback is used on a crash. Transaction is no longer used to store changes and do them on commit.
Undo database is set on end.
At the same time with statement is used throughout for transactions
At the same time, the original bug in merge code should be fixed
Still some issues, that will be ironed out
svn: r16523
2521: Problem with erroneous birth date in using the family editor.
We show validation error on date > next year, and don't crash on large year anymore
svn: r16468