Commit Graph

64 Commits

Author SHA1 Message Date
Don Allingham
070ce1bde1 * src/ReadGedcom.py: fix mixing note assignment
* src/PeopleModel.py: streamline display


svn: r5457
2005-12-01 04:52:16 +00:00
Don Allingham
335580cc90 * src/PeopleModel.py: provide a work around for the python 2.3 bug unicode
sorting problem with locale.strcoll. For a nul termination during sorting,
strip it off after sorting. Only used for python2.3, since this bug was
fixed in python 2.4.


svn: r5012
2005-08-04 15:53:38 +00:00
Don Allingham
28edd32a1f * src/NameEdit.py: convert names to unicode
* src/PeopleModel.py: convert names to uncode


svn: r5006
2005-08-03 02:31:18 +00:00
Don Allingham
2335612283 NameDisplay enhancements
svn: r4969
2005-07-26 23:02:53 +00:00
Martin Hawlisch
47922e7be9 * src/PeopleModel.py (calculate_data): Fix invert of search result
* src/Date.py (is_equal): Only compare text value for TEXTONLY dates.
* src/GenericFilter.py: Add new filters to search for notes


svn: r4903
2005-07-05 21:15:05 +00:00
Don Allingham
6730d35232 * src/AddSpouse.py: accept Person instead of handle
* src/ChooseParents.py: accept Person instead of handle
* src/GenericFilter.py: use single pass through database, filters
accept Person objects instead of handles
* src/PeopleModel.py: don't precalculate handle list
* src/RelLib.py: allow person object to be initialized with
serialized data
* src/SelectChild.py: accept Person instead of handle

* src/SelectChild.py (LikelyFilter.prepare,LikelyFilter.apply):


svn: r4854
2005-06-21 04:04:44 +00:00
Don Allingham
2e7ad59d01 * src/PeopleModel.py: Improve rebuid times by using database cursor,
caching sort names, and replacing loops with map/lamba
* src/PeopleView.py: prevent goto_active_person reentrancy, use get_selected_objects
instead of selected_foreach, combine row_changed and set_dnd_target into the same
callback, rebuild only affected surname on person-update if pissible


svn: r4750
2005-06-01 18:02:53 +00:00
Alex Roitman
f4d716f280 * src/DisplayModels.py (column_change): Use localized time string.
* src/PeopleModel.py (column_change): Use localized time string.
* src/RelLib.py (get_change_display): Use localized time string.


svn: r4526
2005-05-10 03:34:50 +00:00
Martin Hawlisch
5184d567fa * src/PeopleModel.py (column_death_place): Use "Burial" and "Cremation" events
svn: r4324
2005-04-08 15:53:48 +00:00
Martin Hawlisch
571ff74418 * src/gramps_main.py: Added "Invert" checkbox for person filter; Fix "active-changed" signals to not cause Tracebacks.
* 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
2005-04-08 10:49:26 +00:00
Martin Hawlisch
03bd54cd44 * src/PedView.py: Show Baptism/Burial as fallback for birth/death; Moved text generation for details view out of DispBox class so that PedigreeView can use the same string for max size calculation.
* 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
2005-04-05 15:02:59 +00:00
Don Allingham
b2de2eaa67 * src/MergePeople.py: provide more date in compare window, fix event
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
2005-03-31 04:30:44 +00:00
Don Allingham
038147b649 * src/GrampsDbBase.py: handle new column
* 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
2005-03-19 23:44:01 +00:00
Don Allingham
effa5fd442 * src/EditPerson.py: don't use quote date
* src/PeopleModel.py: remove BOLD
* src/PeopleView.py: start of sorting support
* src/WriteXML.py: use hlink for Witness
* various: pychecker fixes
* configure.in: bump up to 1.1.3, the "Splunge: this is a
greate idea, but possibly lousy, and I'm not being indecisive"
release


svn: r3915
2005-01-16 04:00:35 +00:00
Don Allingham
63d7153857 * src/gramps.glade: remove name display options
* src/GrampsCfg.py: remove name displaying functions
* src/Makefile.am: add NameDisplay.py to list
* src/NameDisplay.py: New name displaying class
* src/Utils.py: use new NameDisplay class
* src/AddSpouse.py: use new NameDisplay class
* src/AddrEdit.py: use new NameDisplay class
* src/Bookmarks.py: use new NameDisplay class
* src/ChooseParents.py: use new NameDisplay class
* src/DisplayModels.py: use new NameDisplay class
* src/EditPerson.py: use new NameDisplay class
* src/EditPlace.py: use new NameDisplay class
* src/EditSource.py: use new NameDisplay class
* src/FamilyView.py: use new NameDisplay class
* src/GenericFilter.py: use new NameDisplay class
* src/ImageSelect.py: use new NameDisplay class
* src/Marriage.py: use new NameDisplay class
* src/MergeData.py: use new NameDisplay class
* src/NameEdit.py: use new NameDisplay class
* src/PedView.py: use new NameDisplay class
* src/PeopleModel.py: use new NameDisplay class
* src/ReadGedcom.py: use new NameDisplay class
* src/Report.py: use new NameDisplay class
* src/SelectChild.py: use new NameDisplay class
* src/SubstKeywords.py: use new NameDisplay class
* src/Witness.py: use new NameDisplay class
* src/WriteGedcom.py: use new NameDisplay class
* src/gramps_main.py: use new NameDisplay class
* src/plugins/Desbrowser.py: use new NameDisplay class
* src/plugins/Merge.py: use new NameDisplay class
* src/plugins/RelCalc.py: use new NameDisplay class


svn: r3852
2005-01-01 04:27:15 +00:00
Alex Roitman
88571a5f03 * src/PeopleModel.py (PeopleModel.__init__): Make data_filter optional.
* src/plugins/FtmStyleAncestors.py: Convert to new scheme.
* src/plugins/AncestorReport.py: Convert to new scheme.
* src/plugins/DescendReport.py: Convert to new scheme.
* src/plugins/IndivSummary.py: Convert to new scheme.


svn: r3832
2004-12-23 01:48:00 +00:00
Don Allingham
df47a1bcea * src/DisplayModels.py: use a dictionary to handle reverse
indices instead of list.index function. Drastically reduces
time are larger lists.
* src/GrampsDbBase.py: use cursors to build sorted key lists
* src/PeopleModel.py: fetch sort names out of database first
instead of continuously fetching from database during sort
* src/PeopleView.py: remove unnecessary apply_filter
* src/PlaceView.py: remove commented-out code
* src/ReadXML.py: add gtk event handling to allow screen to
update
* src/gramps.glade: use gramps.png for loading message window
* src/gramps_main.py: remove delete_abandoned_photos calls

* src/PeopleModel.py: Fixed rebuild_display
* src/ReadXML.py: Fixed calendar handling


svn: r3819
2004-12-19 22:55:41 +00:00
Don Allingham
5b602a4531 * src/PeopleModel.py: Fixed rebuild_display
* src/ReadXML.py: Fixed calendar handling


svn: r3813
2004-12-17 04:16:20 +00:00
Don Allingham
b51838f634 * src/FamilyView.py: remove debug statement
* src/PeopleModel.py: abandon the attempt to use TreeFilter
* src/PeopleView.py: abandon the attempt to use TreeFilter


svn: r3792
2004-12-09 23:38:43 +00:00
Don Allingham
d7598dfe7d * src/ChooseParents.py: use new cursor for interation
* src/DbPrompter.py: reformat
* src/GenericFilter.py: add disconnected rule
* src/GrampsBSDDB.py: provide cursor access for iteration
* src/GrampsDbBase.py: provide cursor access for iteration
* src/GrampsInMemDB.py: provide cursor access for iteration
* src/Makefile.am: add gramps.desktop to install list
* src/PeopleModel.py: use new cursor for faster iteration
* src/PeopleView.py: reimplement filtering
* src/ReadGedcom.py: removed used source counting
* src/gedcomimport.glade: remove source field
* src/gramps.glade: fixed spacing in message
* src/gramps_main.py: add disconnected filter


svn: r3779
2004-12-05 04:15:48 +00:00
Don Allingham
1f9f356d77 * src/PeopleModel.py: disable bold due to gtk tree bug
* src/PeopleView.py: disable bold due to gtk tree bug
* src/plugins/CountAncestors.py: Handle duplicates properly


svn: r3666
2004-10-24 01:09:12 +00:00
Don Allingham
45504a5025 * src/DateParser.py: dynamically detect numerical parsing based
off locale. Do not depend on strptime.
* src/Utils.py: remove last remains of SingleDate
* src/PeopleModel.py: display "error" instead of a blank string
on an error
* src/EventEdit.py: removed unused parameter
* src/Exporter.py: remove unused gnome.ui import
* src/plugins/FanChart.py: remove old Calendar reference
* src/plugins/Verify.py: remove old Calendar reference


svn: r3620
2004-10-12 01:29:39 +00:00
Don Allingham
17830f2e2d * src/PeopleModel.py: sort top level nodes using locale.strcoll
svn: r3614
2004-10-09 23:03:09 +00:00
Don Allingham
9db7068e7e * src/EditPerson.py: enhanced update/delete/add of person view
* src/PeopleModel.py: enhanced update/delete/add of person view
* src/PeopleView.py: enhanced update/delete/add of person view
* src/gramps_main.py: enhanced update/delete/add of person view


svn: r3592
2004-10-01 02:38:23 +00:00
Don Allingham
d3eb420f52 * src/DisplayModels.py: change 0 to False
* src/EditPerson.py: copy current name info to name editor when invoking
* src/GrampsBSDDB.py: provide default name to group mapping
* src/GrampsDbBase.py: provide default name to group mapping
* src/GrampsInMemDB.py: provide default name to group mapping
* src/NameEdit.py: prompt for making name mapping override the default
or purely for the active name
* src/PeopleModel.py: handle name grouping
* src/PeopleView.py: handle name grouping
* src/QuestionDialog.py: Add QuestionDialog2 to allow two answers to
a dialog (instead of one being cancel)
* src/RelLib.py: grouping documentation
* src/gramps.glade: move button on EditPerson dialog
* src/gramps_main.py: goto active person after a redisplay


svn: r3591
2004-09-30 18:32:56 +00:00
Don Allingham
2367107d89 * src/PeopleModel.py: sort based of "group as" value
* src/GrampsInMem.py: used "group as" value for surname list
* src/GrampsBSDDB.py: used "group as" value for surname list
* src/GrampsDbBase.py: accept "" and None for empty id values


svn: r3584
2004-09-29 03:19:01 +00:00
Don Allingham
008ef2f5d2 * src/RelLib.py: Enhanced Name, adding patronymic name
support and display and sorting formats
* src/EditPerson.py: Name editing changes for the Primary
name
* src/NameEdit.py: support for patronymic names
* src/gramps.glade: NameEditor and EditPerson changes for
enhanced name support

* src/PeopleModel.py: remove unused map
* src/GrampsDbBase.py: remove unused map


svn: r3583
2004-09-29 02:06:46 +00:00
Don Allingham
0e4693a675 * src/GrampsBSDDB.py: add remove_place function
* src/DisplayModels.py: added row deletion and updating
functions
* src/EditPlace.py: Make a distinction between update and
new
* src/EditSource.py: Make a distinction between update and
new
* src/PeopleModel.py: remove debugging code
* src/PlaceView.py: better handling of updating and deleiting
* src/SourceView.py: better handling of updating and deleiting


svn: r3520
2004-08-30 03:50:33 +00:00
Don Allingham
8ce99f9853 * src/DbPrompter.py: cleanup dialogs
* src/EditPerson.py: update screen properly
* src/PeopleModel.py: handle stored maps correctly
* src/PeopleView.py: handle stored maps correctly
* src/gramps_main.py: eliminate unnecessary rebuilds, display
loading dialog
* src/gramp.glade: loading dialog


svn: r3519
2004-08-29 05:45:40 +00:00
Don Allingham
1dc536fd60 * src/Sort.py: use locale.strcoll for sorting
* src/RelLib.py: don't use accent for sort name
* src/EditPerson.py: compare edited ID value properly
* src/Marriage.py: compare edited ID value properly
* src/PeopleModel.py: use locale.strcoll for comparing
* src/GrampsBSDDB.py: use locale.strcoll for comparing/sorting
* src/GrampsDbBase.py: use locale.strcoll for comparing/sorting
* src/DbPrompter.py: handle bad filenames a bit better


svn: r3514
2004-08-26 21:54:14 +00:00
Don Allingham
e3f151a7a8 * src/gramps_main.py: update properly after an edit
* src/Utils.py: generate correct path name, using gramps id
instead of handle
* src/ImageSelect.py: select correct path name for thumbnail

* src/PeopleModel.py: move to a table driven format for
handling columns


svn: r3513
2004-08-26 04:03:11 +00:00
Don Allingham
6223685b34 * src/DisplayModels.py: handle a closed database in on_get_value
* src/PeopleModel.py: handle a closed database in on_get_value


svn: r3509
2004-08-25 03:37:48 +00:00
Don Allingham
f987964322 * src/PeopleModel.py: enhanced column_spouse
* src/RelLib.py: enhance probably_alive to check for "Cause
of Death", "Burial", and "Cremation" events to indicate that
a person is not alive.
* src/const.py.in: add support for "Marriage Banns"

* src/ReadXML.py: set last change time, support handles


svn: r3499
2004-08-24 04:14:08 +00:00
Don Allingham
fd8e92eae6 * src/Utils.py: produce less line noise when generating
handles
* src/WriteGedcom.py: save CHAN records
* src/WriteXML.py: save handles and time stamps
* src/GrampsDbBase.py: make the find_xxx_from_handle functions
consistent and correct (handle ids correctly)
* src/DisplayModels.py: add last change column
* src/PeopleModel.py: add last change column
* src/PeopleView.py: add last change column
* src/MediaView.py: add last change column
* src/SourceView.py: add last change column
* src/EditPerson.py: display last change timestamps
* src/EditPlace.py: display last change timestamps
* src/Marriage.py: display last change timestamps
* src/ReadXML.py: set last change time
* src/gramps.glade: updates for last change display


svn: r3498
2004-08-24 03:48:15 +00:00
Alex Roitman
ca1c4fe042 * src/AddSpouse.py, src/ChooseParents.py, src/EditPerson.py,
src/EditPlace.py, src/EditSource.py, src/EventEdit.py,
src/FamilyView.py, src/GenericFilter.py,
src/Marriage.py, src/PedView.py, src/PeopleModel.py,
src/PlaceView.py, src/RelLib.py, src/SelectChild.py,
src/Sort.py, src/SourceView.py, src/SubstKeywords.py,
src/WriteGedcom.py, src/WriteXML.py, src/plugins/AncestorReport.py,
src/plugins/Ancestors.py, src/plugins/ChangeTypes.py,
src/plugins/DescendReport.py, src/plugins/DetDescendantReport.py,
src/plugins/EventCmp.py, src/plugins/FamilyGroup.py,
src/plugins/FanChart.py, src/plugins/FtmStyleAncestors.py,
src/plugins/FtmStyleDescendants.py, src/plugins/GraphViz.py,
src/plugins/IndivComplete.py, src/plugins/IndivSummary.py,
src/plugins/Merge.py, src/plugins/RelCalc.py, src/plugins/RelGraph.py,
src/plugins/Summary.py, src/plugins/TimeLine.py, src/plugins/Verify.py,
src/plugins/WebPage.py, src/plugins/WriteCD.py,
src/plugins/WritePkg.py, src/plugins/DetAncestralReport.py:
Use get_event_from_handle (not find_ ).


svn: r3462
2004-08-21 18:56:01 +00:00
Don Allingham
e50e33cba6 * src/AutoComp.py: remove double display of data
* src/FamilyView.py: remove unused check
* src/GrampsBSDDB.py: search by gramps_id
* src/GrampsDbBase.py: search by gramps_id, unicode/str conversions
* src/Marriage.py: handle gramps_id editing
* src/ReadXML.py: fix handle/gramps_id on import
* src/plugins/RelCalc.py: display date instead of event handle
* src/Relationship.py: family handles working
* src/PeopleModel.py: comment out unused functions
* src/PeopleModel.py: simplify model interface
* src/AddSpouse.py: get_family_from_handle fixes
* src/EditPerson.py: get_family_from_handle fixes
* src/EditSource.py: get_family_from_handle fixes
* src/GraphLayout.py: get_family_from_handle fixes
* src/ImageSelect.py: get_family_from_handle fixes
* src/MediaView.py: get_family_from_handle fixes
* src/MergeData.py: get_family_from_handle fixes
* src/PlaceView.py: get_family_from_handle fixes
* src/ReadXML.py: get_family_from_handle fixes
* src/RelLib.py: get_family_from_handle fixes
* src/Relationship.py: get_family_from_handle fixes
* src/SelectChild.py: get_family_from_handle fixes
* src/SourceView.py: get_family_from_handle fixes
* src/SubstKeywords.py: get_family_from_handle fixes
* src/WriteXML.py: get_family_from_handle fixes
* src/gramps_main.py: get_family_from_handle fixes


svn: r3446
2004-08-20 02:20:06 +00:00
Don Allingham
0eeb7d9511 remove print statements
svn: r3444
2004-08-19 21:47:26 +00:00
Don Allingham
79f7ff0cad * PeopleModel.py: simplify model interface
* EditPerson.py: get_family_from_handle fixes
* EditSource.py: get_family_from_handle fixes
* GraphLayout.py: get_family_from_handle fixes
* ImageSelect.py: get_family_from_handle fixes
* MediaView.py: get_family_from_handle fixes
* MergeData.py: get_family_from_handle fixes
* PlaceView.py: get_family_from_handle fixes
* ReadXML.py: get_family_from_handle fixes
* RelLib.py: get_family_from_handle fixes
* Relationship.py: get_family_from_handle fixes
* SelectChild.py: get_family_from_handle fixes
* SourceView.py: get_family_from_handle fixes
* SubstKeywords.py: get_family_from_handle fixes
* WriteXML.py: get_family_from_handle fixes
* gramps_main.py: get_family_from_handle fixes
* plugins/AncestorChart.py: get_family_from_handle fixes
* plugins/AncestorChart2.py: get_family_from_handle fixes
* plugins/AncestorReport.py: get_family_from_handle fixes
* plugins/Ancestors.py: get_family_from_handle fixes
* plugins/Check.py: get_family_from_handle fixes
* plugins/CountAncestors.py: get_family_from_handle fixes
* plugins/Desbrowser.py: get_family_from_handle fixes
* plugins/DescendReport.py: get_family_from_handle fixes
* plugins/DetAncestralReport.py: get_family_from_handle fixes
* plugins/DetDescendantReport.py: get_family_from_handle fixes
* plugins/FamilyGroup.py: get_family_from_handle fixes
* plugins/FanChart.py: get_family_from_handle fixes
* plugins/FtmStyleAncestors.py: get_family_from_handle fixes
* plugins/FtmStyleDescendants.py: get_family_from_handle fixes
* plugins/GraphViz.py: get_family_from_handle fixes
* plugins/IndivComplete.py: get_family_from_handle fixes
* plugins/IndivSummary.py: get_family_from_handle fixes
* plugins/Merge.py: get_family_from_handle fixes
* plugins/RelGraph.py: get_family_from_handle fixes
* plugins/Verify.py: get_family_from_handle fixes
* plugins/WebPage.py: get_family_from_handle fixes
* plugins/WriteCD.py: get_family_from_handle fixes
* plugins/WritePkg.py: get_family_from_handle fixes
* plugins/rel_de.py: get_family_from_handle fixes
* plugins/rel_hu.py: get_family_from_handle fixes
* plugins/rel_ru.py: get_family_from_handle fixes


svn: r3443
2004-08-19 21:35:16 +00:00
Don Allingham
e3c16d18ef * src/EditPerson.py: fix None gramps_id for new person
* src/PeopleModel.py: add sort_name back in


svn: r3435
2004-08-19 03:44:10 +00:00
Don Allingham
a57fc7f25b * src/accent.py: provide sorting on i18n characters without
accents
* src/Makefile.am: add accent.py to list


svn: r3433
2004-08-19 02:37:35 +00:00
Don Allingham
bed73e4f7b * src/RelImage.py: remove PIL
* src/Imgmanip.py: remove PIL
* src/MediaView.py: remove PIL
* src/accent.py: support of unaccenting characters for comparison,
and sorting
* src/RelLib.py: build sort name using unaccented version
* src/PeopleView.py: get bold working again
* src/PeopleModel.py: sort using unaccented characters


svn: r3428
2004-08-18 03:55:55 +00:00
Don Allingham
d05a83ecd1 * various: Updated cleaned up API
svn: r3388
2004-08-13 04:34:07 +00:00
Don Allingham
4fd3c41ceb * various: change try_to_find_*_from_handle to
get_*_from_handle


svn: r3355
2004-08-07 05:16:57 +00:00
Don Allingham
99ffd9cd52 * src/AddSpouse.py: fix gender selection
* src/DbPrompter.py: support other DB formats
* src/GrampsBSDDB.py: BSDDB format, derived from GrampsDbBase
* src/GrampsDbBase.py: base class for database classes
* src/GrampsGEDDB.py: GEDCOM format, derived from GrampsDbBase
* src/GrampsXMLDB.py: XML format, derived from GrampsDbBase
* src/PeopleModel.py: handle rebuilds better
* src/RelLib.py: use try_to_find_person_from_handle
* src/WriteXML.py: use gramps ids instead of handles
* src/const.py.in: handle family relations correctly
* src/gramps_main.py: remove prefix settings
* src/data/gnome-mime-application-x-gramps-xml.png: new icon
* src/data/gramps.applications: support for x-gramps-xml
* src/data/gramps.keys: support for x-gramps-xml
* src/data/gramps.mime: support for x-gramps-xml
* src/data/gramps.schemas: added event format
* src/data/gramps.xml: support for x-gramps-xml
* src/plugins/ReadGedcom.py: start of GEDDB support
* src/plugins/WriteGedcom.py: start of GEDDB support


svn: r3306
2004-08-01 04:21:31 +00:00
Don Allingham
8df3fd12d4 * src/RelLib.py, etc.: convert get_id to get_handle
svn: r3290
2004-07-28 02:29:07 +00:00
Don Allingham
fca58c0099 fix import
svn: r3236
2004-06-28 01:27:37 +00:00
Don Allingham
ca2b166f8f * src/gramps_main.py: fix import problem
svn: r3234
2004-06-27 18:08:19 +00:00
Don Allingham
673af70455 * src/gramps_main.py: dropped New Database message. After all, it should
be incredibly obvious.
* src/Utils.py: create_id to generate random internal ID
* src/RelLib.py: new internal ID support
* src/AddSpouse.py: bug fixes
* src/ChooseParents.py: bug fixes
* src/PeopleModel.py: bug fixes
* src/PeopleView.py: bug fixes
* src/FamilyView.py: bug fixes
* src/Bookmarks.py: support for new internal IDs
* src/EditPerson.py: support for new internal IDs
* src/plugins/ReadGedcom.py: handle new internal IDs


svn: r3233
2004-06-27 03:10:06 +00:00
Don Allingham
6a25e86405 * src/DisplayModels.py: support for Spouse column
* src/MediaView.py: fix try_to_find_object_from_id
* src/PeopleModel.py:  support for Spouse column
* src/RelLib.py: handle expanding columns


svn: r3198
2004-06-03 03:28:46 +00:00
Alex Roitman
e7b77ccb83 * src/RelLib.py (Transaction.__len__): Redefine length.
* src/ChooseParents.py, src/EditPerson.py, src/EditSource.py,
src/EventEdit.py, src/FamilyView.py, src/gramps_main.py,
src/ImageSelect.py, src/Marriage.py, src/MediaView.py,
src/PedView.py, src/PeopleModel.py, src/PlaceView.py,
src/SelectChild.py, src/SelectObject.py, src/Sources.py,
src/SourceView.py, src/Utils.py, src/Witness.py,
src/WriteXML.py: Switch from find_* to try_to_find_* methods.


svn: r3193
2004-05-26 03:26:18 +00:00