Implement account management designs
Implement the nice designs from @tobias.bernard https://gitlab.gnome.org/Teams/Design/app-mockups/-/blob/master/calls/voip-accounts.png
This is composed of the following tasks:
- Add a
CallsCredentials
class, which is a dumb container holding credentials (user, password, host, etc) - Add a
ProvidesAccountsInterface
which is implemented by theCallsSipProvider
(so that the UI knows that we can add accounts to it - Add a
OnlineAccountsInterface
which is implemented byCallsSipOrigin
to allow going online/offline, watching for state changes with respect to authentication and similar - Do the plumbing work for the above items (at this point we would still be using the .ini config)
- Have an account manager, managing available accounts and allowing to save and load credentials in the keyring (using libsecret?)
- Add UI according to the designs