From: Kelvin L. <ne...@ki...> - 2006-10-10 23:25:43
|
I tried out Eero's suggestion of "Public" and "Private" tabs, and I think it actually looks rather good. The attached patch simply offers Public and Private notes for all Person objects. There are no +/- buttons to add extra tabs, which I think keeps the interface simpler and more user-friendly, while fulfilling the job of allowing you to keep notes that you don't want exported into the narrative web site. In this version the new tabbed multiple-note page is only available in the Person notes, so you no longer get additional note tabs in the Address Editor etc. I've also fixed the tab label handling so that the "Note" tab label goes bold if there is any text in any of the sub-notes. The underlying Note class is still used for all objects including non-Person objects, but Person objects are the only ones that use the extended API to support multiple notes. serialize()/unserialize() now store title/note pairs as tuples but can still import old-style note formats and non-Person note-formats, so any code that expects to see the old Note API still works. I've also modified the XML generation to import and export from the new-style notes, and it will also import old-style notes for those importing older databases. During the upgrade (whether XML or not) any user notes will be placed in the default "Public" page, but there will still be a "Private" page for any Persons added before the upgrade. There was no need to modify the GEDCOM import because it will still work using the old Note API, but we may want to allow export of the additional notes pages to GEDCOM if that is possible. Currently it will only export the default/public page to GEDCOM. I hope I've covered all bases with this patch, but this is the first time I've delved into the source tree so there may be some dependencies I don't know about. Let me know if there is any additional work required and I'll send a further patch. All the best, Kelvin. |