* src/Relationship.py: handle race condition where the screen
wants to update with a stale family handle after the database
has been closed and the internal data has not be rebuilt.
* src/GenericFilter.py: Don't crash on corrupt database
svn: r4384
* src/plugins/plugins/TestcaseGenerator.py: Added option to generate a new transaction for every change on the database. Useful for UNDO and signal testing.
svn: r4361
* src/GrampsDBCallback.py: block recursive signal calls, improved error
reporting. All warnings are now printed to stderr even if logging
is turned off.
svn: r4328
delete operation
* src/PeopleView.py: remove unused signal
* src/gramps_main.py: handle history mechanism with new signal scheme,
avoiding the double active-changed when selecting an element
svn: r4326
* src/gramps.glade: Added "Invert" checkbox for person filter
* src/PeopleView.py (build_tree): Pass Invert state for Filter to PeopleModel
* src/PeopleModel.py: Enable invertation of filter result
svn: r4323
* src/GenericFilter.py: added a current year parameter to probably alive rule.
* src/Utils.py: added a current year parameter to probably alive function.
svn: r4312
* src/DdTargets.py: added PERSON_LINK_LIST target.
* src/FamilyView.py: corrected bug when person is droped if there is no current
family.
* src/PeopleView.py: enabled dnd of lists of people.
* src/plugins/ScratchPad.py: support lists of people.
svn: r4308
* src/plugins/Check.py: Block signal emission during run
* src/plugins/ImportGeneWeb.py: Block signal emission during run
* src/plugins/ImportvCard.py: Block signal emission during run
* src/plugins/TestcaseGenerator.py: Block signal emission during run
svn: r4306
* src/GrampsDBCallback.py: improved error reporting when there is an error in
a callback function. Added unittest for exception in callback function.
svn: r4305
* src/PedView.py: Connect to "database-changed" signal and handle person-update signals to redraw the view.
* src/FamilyView.py (__init__) connect to database-changed signal, dont call change_cb because on initialisation there is no real database. (change_db): use database parameter supplied by signal emission.
* src/PeopleView.py (__init__) dont connect the signals, this will be done by change_db, (change_db): Use supplied database.
* src/SourceView.py (__init__): dont call change_cb because on initialisation there is no real database and this will be done by the signal.
svn: r4304
* src/plugins/ScratchPad.py: made clear buttons sensitive to contents of
list and current selection. Added support for PERSON_LINK dnd.
* src/DdTargets.py: added PERSON_LINK target and simplified generation of
targets lists.
* src/FamilyView.py: added dnd of person handles to and from the child list.
* src/PeopleView.py: added dnd of person handles from the person list.
svn: r4303
* src/PeopleModel.py: Show Baptism/Burial as fallback for birth/death. Based on patch from Jim Smart.
* src/PeopleView.py: Enable makup that PeopleModel can render fallback data in italics.
svn: r4299
* src/RelLib.py (Event.are_equal): Correction.
* src/Date.py (is_empty): Require empty text for a date to be empty.
* src/WriteXML (write_object): Remove places from Media.
* src/GrampsDbBase.py (undo): Typos.
* src/GrampsDBCallback: Pretty printing for warnings.
svn: r4297
* src/FamilyView.py: fix update of child pointers after add
* src/PeopleView.py: unselect previous entry on new goto_active_person
* src/MediaView.py: pass handle instead of GRAMPS ID during drag-n-drop
svn: r4296
* src/GrampsDbBase.py: remove transaction.batch in favor of signal suppression
* src/GrampsInMemDB.py: remove transaction.batch in favor of signal suppression
* src/ReadGedcom.py: fix relation typo, enable/disable signals around import
* src/ReadXML.py: enable/disable signals around import
* src/gramps_main.py: disable signals before undo and exit
svn: r4295
requests in the database instance
* src/ReadXML.py: use request_rebuild instead of directly emitting s
ignals
* src/ReadGedCom.py: use request_rebuild instead of directly emitting
signals
svn: r4292
* src/GrampsDBCallback.py: Added code to disable/enable signals on
a per instance or all instance bassis. Improved test code and
changed type checking to use isinstance instead of type().
svn: r4291
* src/PedView.py: change_active_person typo
* src/PeopleView.py: don't change active person with updated
* src/SelectChild.py: Fix callbacks
* src/gramps_main.py: load active family on change
svn: r4289
creating a new one.
* src/DisplayModels.py: Calculate new nodes properly after a
node has be deleted. The node hasn't been removed from the database
yet.
* src/EditPerson.py: Add check for unknown gender before closing
* src/EditSource.py: Remove unnecessary updates
* src/GrampsBSDDB.py: check for open in close()
* src/GrampsDbBase.py: spelling error
* src/MediaView.py: connect to database-changed
* src/PedView.py: remove unused update function
* src/PeopleView.py: connect to database-changed
* src/PlaceView.py: connect to database-changed
* src/SourceView.py: connect to database-changed, remove unnecessary
callback
* src/gramps_main.py: add database-changed signal
svn: r4288
* src/GrampsDbBase.py: remove duplicate signal emissions
* src/SourceView.py: reformat code
* src/Sources.py: catch source-add signal and redraw menu
svn: r4283
* src/DdTargets.py: added dnd type for media objects
* src/ImageSelect.py: altered dnd code to use gramps specific dnd target
when dnd is used between gramps windows.
* src/plugins/ScratchPad.py: added support for media object. This is still
a little simplistic. It would be nice to generate thumbnails as tooltips and
to access some of the image meta data in the ui.
svn: r4274
* src/plugins/ScratchPad.py: changed pickle to cPickle. cPickle is much faster.
* src/EditPerson.py: changed pickle to cPickle. cPickle is much faster.
* src/EditPlace.py: changed pickle to cPickle. cPickle is much faster.
* src/Marriage.py: changed pickle to cPickle. cPickle is much faster.
* src/Sources.py: changed pickle to cPickle. cPickle is much faster.
svn: r4271
* src/plugins/ScratchPad.py (ScratchPadListView.object_drag_data_received,
ScratchPadListView.on_object_select_row): disables drop that originates from the
pad itself and enabled dropping into the correct row as indicated by the
UI.
svn: r4270
provides a registration mechanism to signal interested objects
when database commits occur. The eliminates most of all callback
functions tied to interface windows.
* src/AddrEdit.py: new database callback scheme
* src/AttrEdit.py: new database callback scheme
* src/ChooseParents.py: new database callback scheme
* src/EditPerson.py: new database callback scheme
* src/EditPlace.py: new database callback scheme
* src/EditSource.py: new database callback scheme
* src/EventEdit.py: new database callback scheme
* src/FamilyView.py: new database callback scheme
* src/GrampsBSDDB.py: new database callback scheme
* src/GrampsDbBase.py: new database callback scheme
* src/GrampsInMemDB.py: new database callback scheme
* src/Marriage.py: new database callback scheme
* src/NameEdit.py: new database callback scheme
* src/PeopleView.py: new database callback scheme
* src/PlaceView.py: new database callback scheme
* src/ReadGedcom.py: new database callback scheme
* src/ReadXML.py: new database callback scheme
* src/SourceView.py: new database callback scheme
* src/Sources.py: new database callback scheme
* src/gramps_main.py: new database callback scheme
svn: r4267
upgrades to separate methods; provide upgrade_5 method.
* src/RelLib.py: Remove place from MediaObjects; minor improvements.
* src/SourceView.py (button_press): Proper selection on double-click.
* src/plugins/Check.py (check_for_broken_family_links): Typo.
svn: r4265
* src/plugins/stock_link.png: added icon for scratchpad display
* src/DdTargets.py (all_text): new method to return all text ddtypes
* src/TreeTips.py (__treetip_show): added support for tips to be callable
methods so that tips can be generated on the fly.
* src/plugins/Makefile.am: added stock_link.png icon
* src/plugins/ScratchPad.py: almost complete rewrite to make proper use
of gtk widgets and make more flexible for adding support for new
dnd object types. Added link icon if the object is a link to a primary
object.
svn: r4262
merging for families. Copy alternate names.
* src/plugins/Merge.py: support for new merge technique
* src/PeopleView.py: divide rebuild_data into two functions
* src/PeopleModel.py: clean up insertion functions
* src/gramps_main.py: remove unused code
svn: r4261
* src/gramps.glade: add menu items for merging
* src/MergePeople.py: new person merge
* src/gramps_main.py: merge handling callbacks
* src/mergedata.glade: updated interface for merging
* src/SourceView.py: connect SourceView.merge into the multiple
selection mechanism
svn: r4254
improvements, (read_file): Always re-initialize Undo and Redo items
to insensitive blanks after new database load; (post_load): Set up
database's callbacks for Undo and Redo after load.
* src/gramps.glade: Make Redo label non-stock to allow label change.
svn: r4253
* src/DdTargets.py: add family targets to target list functions
* src/Marriage.py (at_dest_drag_data_received, ev_dest_drag_data_received,
ev_source_drag_data_get, at_source_drag_data_get): fixed dnd methods and
added use of DdTarget types.
* src/plugins/ScratchPad.py (generate_family_event_tooltip,
generate_family_event_tooltip, redraw_object_list): added support for
family events and attributes.
svn: r4249
* src/ReadGedcom.py: Use get_note for comments.
* src/ReadXML.py: Use get_note for comments.
* src/Sources.py: Use get_note for comments.
* src/WriteGedcom.py: Use get_note for comments.
* src/WriteXML.py: Use get_note for comments.
* src/plugins/Ancestors.py: Use get_note for comments.
* src/plugins/FtmStyleAncestors.py: Use get_note for comments.
* src/plugins/FtmStyleDescendants.py: Use get_note for comments.
* src/plugins/NavWebPage.py: Use get_note for comments.
* src/plugins/ScratchPad.py: Use get_note for comments.
* src/plugins/WebPage.py: Use get_note for comments.
svn: r4246
* src/ScratchPad.py (ScratchPadWindow): moved content of pad to a
class attribute so that it is preserved when the pad is closed.
* src/ScratchPad.py (add_itself_to_menu, remove_itself_from_menu):
removed large section of commented code.
svn: r4237
* src/Sources.py: converted to use DdTargets.py
* src/FamilyView.py: converted to use DdTargets.py
* src/EditPerson.py: converted to use DdTargets.py
* src/EditPlace.py: converted to use DdTargets.py
* src/Marriage.py: converted to use DdTargets.py
* src/DdTargets.py: added targets for FAMILY_EVENT, FAMILY_ATTRIBUTE,
CHILD and SPOUSE
svn: r4236
* src/DdTargets.py: new module to manage drag and drop target data.
* src/Makefile.am: added DdTargets.py
* src/ScratchPad.py: modified to use DdTargets.py. This is the first
stage. I will look at modifying EditPersons.py to use DdTargets.py next
svn: r4231
* src/ReadXML.py: Use get_date_object for source refs.
* src/WriteXML.py: Use get_date_object for source refs.
* src/WriteGedcom.py: Use get_date_object for sourcerefs.
* src/plugins/FtmStyleAncestors.py: Use get_date_object for sourcerefs.
* src/plugins/FtmStyleDescendants.py: Use get_date_object for sourcerefs.
* src/plugins/NavWebPage.py: Use get_date_object for sourcerefs.
* src/plugins/WebPage.py: Use get_date_object for sourcerefs.
* src/RelLib.py (DateBase): Add base class for keeping Date;
(MediaBase): Do not inherit from BaseObject; (Event,MediaObject,LdsOrd,
Address,Name,SourceRef): Inherit all date-related methods from DateBase.
svn: r4222
* src/PeopleModel.py: add cause of death field
* src/PeopleView.py: add cause of death field
* src/gramps.glade: add scratchpad button
* src/gramps_main.py: add scratchpad button press callback
* src/plugins/ScratchPad.py: call alternate dialog
* src/plugins/scratchpad.glade: provide alternate dialog based
on gtk.Dialog that implements the help button.
svn: r4213
* src/EditPerson.py (draw_lds): Add date LED buttons for LDS dates;
(lds_field): Always set date text for LDS dates.
* src/Marriage.py (__init__): Add date LED button for LDS date.
svn: r4212
* src/plugins/ScratchPad.py: Tidy up of drag target type handling.
* src/EditPerson.py (x_drag_data_received): fixed problem with
drag and drop of objects that have srcrefs.
svn: r4206
* src/const.py.in: Add custom exception "ErrorSchemaInvalid"
* src/GrampsMime.py (mime_type_is_defined): New method that returns True/False
* src/gramps_main.py (__init__) Catch "ErrorSchemaInvalid" exception and check for installed MIME-type. Show error because installation is incomplete.
svn: r4200
* configure.in: Use AM_SHARED_MIME macro.
* src/data/Makefile.am: Use defined GCONF_SCHEMA_FILE_DIR and
SHARED_MIME_DIR, not the hardcoded paths.
svn: r4199
* src/plugins/ExportVCard.py: New (unfinished) plugin to export addresses to pim applications.
* src/plugins/vcardexport.glade: GUI for the Exporter Druid of vCard export
* src/plugins/ExportVCalendar.py: New (unfinished) plugin to export events for calendaring applications.
* src/plugins/vcalendarexport.glade: GUI for the Exporter Druid of vCalendar export
svn: r4197
Added wrapper to use regexp matching in HasTextMatchingSubstringOf
* src/gramps_main.py: Add new regular expression filter
* src/plugins/FilterEditor.py (EditRule:__init__): Treat params of new filter as boolean.
* TODO: Add parameter definition of Filter Rules to the filter itself, so it can be removed from the filter editor and used by
PeopleView.
svn: r4193
Rename FullTextSearch as well as its descriptions.
* src/gramps_main.py: Change string for filter menu.
* src/plugins/FilterEditor.py (EditRule.__init__): Hide window while
drawing.
* src/DateEdit.py (DateEditorDialog.__init__): Hide window while
drawing.
svn: r4186
Family.get_text_data_child_list): Add missing lists.
* src/GenericFilter.py (FullTextSearch): Correct description.
* src/GenericFilter.py (FullTextSearch): Added new filter that provides
a full-text search thru (nearly) all attributes and linked objects of a person.
svn: r4185
* src/Makefile.am : Added TreeTip.py to list of installed modules.
* src/TreeTip.py: New module that implements tooltips on TreeView rows.
* src/plugins/Makefile.am: Added ScratchPad.py and scratchpad.glade.
* src/plugins/ScratchPad.py: New module to implement a scratch pad for
temporary storage of drag and drop objects.
* src/plugins/scratchpad.glade: New glade file for ScratchPad window.
svn: r4184
a full-text search thru (nearly) all attributes and linked objexts of a person.
* src/gramps_main.py: add the new filter to the menu.
* src/RelLib.py (Event,Source): fix get_text_data_child_list() to correct
attributes of the class; (Family): fix get_sourcref_child_list().
svn: r4183
and oneself's parents as a spouse; When aborting, do not close dialog.
* src/RelLib.py (BaseObject): Add base data class, to support
capabilites common to all gramps objects; (matches_string,
matches_regexp): Add methods for searching textual objects;
(Person,Family,Event,Place,Source,MediaRef,LdsOrd,Attribute,Address,
Name,Location,Note,Url,Witness,SourceRef): Add methods for determining
textual objects and children with textual objects.
svn: r4182
* src/EditPerson.py: Always have birth/death events (never None);
Use new update method for dates; Only commit death/birth if changed;
Only add new birth/death if non-empty.
* src/EventEdit.py: Translate stored event names before including in
menu; Exclude birth/death from menu; Do not add birth/death to the
custom event types; Only detect type change for non-birth/death.
* src/GrampsDbBase.py: Do not commit objects with empty handles.
* src/GrampsInMemDB.py: Do not commit objects with empty handles.
* src/Utils.py (family_name): Add clause for unknown parents.
svn: r4172
reset(), that are called before/after a filter is applied, to properly
support query caches; (IsWitness): new filter;
(RelationshipPathBetween,IsDescendantOf,IsLessThanNthGenerationDescendantOf,
IsMoreThanNthGenerationDescendantOf,IsChildOfFilterMatch,IsSiblingOfFilterMatch,
IsAncestorOf,IsAncestorOfFilterMatch,IsLessThanNthGenerationAncestorOf,
IsMoreThanNthGenerationAncestorOf,IsParentOfFilterMatch,HasCommonAncestorWith):
use prepare() and reset() to create a proper query cache. Currently the
cache was only created once after object creation and never updated.
* src/gramps_main.py: Add new filters to the menu.
svn: r4171
Add generic data recovery message.
* src/gramps_main.py (delete_person_clicked): Use generic data recovery
message.
* src/SourceView.py (on_delete_clicked): Use generic data recovery
message.
* src/EditSource.py (display_references): Change list headings.
* src/MediaView.py (on_delete_clicked): Use new mediaref detector;
Use generic data recovery message; (delete_objectmis-object_used):
Remove functions.
* src/ImageSelect.py (GlobalMediaProperties.display_ref): Use new
sourceref detection; (DeleteMediaQuery__init__): Accept object handle
and lists; (DeleteMediaQuery.query_response): Use new mediaref removal.
svn: r4161
integer value instead of string to relationship type
* src/FamilyView.py: fix child relationship display value
* src/GrampsBSDDB.py: upgrade to DB version 4 (remove string
relationship types)
svn: r4152
* src/EditPlace.py: add srcref as a drag and drop item
* src/Marriage.py: add srcref as a drag and drop item
* src/WriteGedcom.py: catch empty event
* src/Sources.py: add drag-n-drop for source references
svn: r4147
(calls from ChooseParents don't provide the correct parent, but then
the full update goes on anyway).
* src/ChooseParents.py (mother_list_select_row,
father_list_select_row): Comment out auto-selection of parents.
svn: r4139