Use selection and filter models to list contacts
GTK4 added some interesting concepts on top of / in conjunction with list models, for example to map one list model on another by sorting and/or filtering. Another example is to use this with selections.
This commit applies that concept to Contacts, which now uses the
Contacts.Store
to build a base list model on top of the
Folks.IndividualAggregator
, on top a sorted model (which can be
adjusted to sort on First/Last name, and finally a filter model, to
filter on the text in the search entry.
Another reason to do this, is that it allows us to use a Gtk.ListView
in the future. It's not possible to do so already due to the fact that
we need to differentiate between "Favorites" and "Other Contacts", which
needs extra API on Gtk.Listview side.