Skip to content

Add new API to load contacts and use it

This commit does a lot:

New classes

  • chatty-contact-provider: A folks provider that loads all contacts from evolution
  • chatty-contact: Each contact loaded via folks

Manager

  • Load buddies on startup

  • Create a list of buddy list by joining the list of each account buddies (using GtkFlattenListModel)

  • Add protocol property to get active accounts (ie, enabled and connected accounts)

  • Add various list models from GTK4 to contrib dir

New Chat Dialog

  • Populate the contact list from manager
  • use GtkSortListModel to sort the contact list
  • filter them using GtkFilterListModel
  • Load chunks of 50 items with GtkSliceListModel
    • when the user scrolls to the end of the list, next 50 is loaded
  • Only show contact in the list (not group chats)

This doesn't replace every API of chatty-folks.c, so as to keep less complicated. It will be done in later MRs.

Merge request reports