Fixed a bug in wxGrid which caused it to display or assert on rows or columns that didn't exist. Submitted a patch to the project.
Added IndexedSelectionCollection, a new collection to store an index and selection. This is the collection that a block's contents contains.
You now no longer directly add to a block's contents, e.g. sidebar.contents. Now you directly add to the collection named sidebar in the osaf.app name space. The block's contents contains any order and selection information, so for example, the sidebar collection in osaf.app name space is not ordered. There was quite a bit of code affected by this change.
Indexes were moved from AbstractCollection to IndexedSelectionCollection.
Lots of unit tests needed to be updated.
Replaced ModifyCollectionEvent with ModifyCollectionEvent and update all the occurrences.
Removed AddToSidebar events and replaced with code where possible.
Use the IndexedSelectionCollection to fix Bug #3398: Remove the In and Out collections across all app areas unless the user sets up email account info.
Fix bug #3398 two more times.
Zillionth time I fixed a bug where the Untitled collection name wasn't disambiguated, e.g. choose new collection twice should add Untitled and Untitled-1. In the process I refactored a bunch of code, making it much simpler and more general. I got rid of NewCollectionEvent and now use a ModifyCollectionEvent instead.