support multiple provider plugins (f.e. MM+SIP)
This MR will allow us to to run multiple providers at the same time.
When there are multiple origins you have the following (admittedly a bit crude looking currently) HdyComboRow on the dialpad:
The code path for outgoing calls probably needs a rework as the flow was something like this (before these changes):
- Press the dial button on an entry in the history/contacts
- dial action is fired
-
calls_new_call_box_dial()
is called which usesget_origin()
to get the currently selected item in the comborow
While this would make sense for numbers/addresses dialed on the dialpad, it will not work in the general case when using the history or contacts to call someone.
For the moment I circumvent this by introducing a gsetting "auto-use-default-origins". The idea behind this is, that when you have multiple origins for a provider (say multiple SIP accounts) that with this option set to true it will not prompt the user to choose a origin, but instead fallback to the "default" origin for the protocol in question.
The concept of default origins will obviously need some UI in the preferences and while one of the main uses now is to circumvent the issues with the current code path for outgoing calls (see above) I think it can be a sensible option to have later on as well.