Remove SingleContactEventModel; move its features into
RecipientEventModel, which now accepts either recipients or a contact
id as the event filter. We can do without the class split for
filtering events by saved vs non-saved contacts, and combining these
into a single model simplifies the code base.
RecipientEventModel can resolve contacts into recipients and also
recipients into contacts (for e.g. when a recipient matches a contact
that has multiple phone numbers). Instead of having multiple getEvents()
functions, it now has setRecipients() functions to set the filter,
then getEvents() can be called to execute the query.
Remove ContactEventModel, and add DeclarativeRecipientEventModel as
a QML wrapper around RecipientEventModel.
Fix various issues in the unit tests where contact creation/editing
were failing as they were operating on aggregates (which are read-only)
rather than local constituents (which are writable). The unit tests in
SingleContactEventModelTest have been moved into
The unit tests now modify the main contacts database directly instead
of creating a separate test database. This avoids test failures where
the tests are accessing a QContactManager instance that is different
from the one accessed via the SeasideCache in the library (to resolve
contacts, for example).