mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2025-01-06 11:35:32 +00:00
application: Don't add a provider if one is already present
If we initially invoked `gnome-calls -p sip` and later invoke `gnome-calls sip:user@host` we don't expect to have the default MM provider added.
This commit is contained in:
parent
3f3b108cea
commit
98d66743a1
3 changed files with 19 additions and 3 deletions
|
@ -104,9 +104,10 @@ handle_local_options (GApplication *application,
|
|||
"set-provider-name",
|
||||
g_variant_new_string (arg));
|
||||
} else {
|
||||
g_action_group_activate_action (G_ACTION_GROUP (application),
|
||||
"set-provider-name",
|
||||
g_variant_new_string (DEFAULT_PROVIDER_PLUGIN));
|
||||
if (!calls_manager_has_any_provider (calls_manager_get_default ()))
|
||||
g_action_group_activate_action (G_ACTION_GROUP (application),
|
||||
"set-provider-name",
|
||||
g_variant_new_string (DEFAULT_PROVIDER_PLUGIN));
|
||||
}
|
||||
|
||||
ok = g_variant_dict_contains (options, "daemon");
|
||||
|
|
|
@ -853,3 +853,17 @@ calls_manager_get_suitable_origins (CallsManager *self,
|
|||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* calls_manager_has_any_provider:
|
||||
* @self: The #CallsManager
|
||||
*
|
||||
* Returns: %TRUE if any provider is loaded, %FALSE otherwise
|
||||
*/
|
||||
gboolean
|
||||
calls_manager_has_any_provider (CallsManager *self)
|
||||
{
|
||||
g_return_val_if_fail (CALLS_IS_MANAGER (self), FALSE);
|
||||
|
||||
return !!g_hash_table_size (self->providers);
|
||||
}
|
||||
|
|
|
@ -66,5 +66,6 @@ GListModel *calls_manager_get_suitable_origins (CallsManager
|
|||
const gchar *calls_manager_get_contact_name (CallsCall *call);
|
||||
gboolean calls_manager_has_active_call (CallsManager *self);
|
||||
void calls_manager_hang_up_all_calls (CallsManager *self);
|
||||
gboolean calls_manager_has_any_provider (CallsManager *self);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
Loading…
Reference in a new issue