| 486 position = manager->providers->len; |
486 position = manager->providers->len; |
| 487 g_ptr_array_add(manager->providers, g_object_ref(provider)); |
487 g_ptr_array_add(manager->providers, g_object_ref(provider)); |
| 488 |
488 |
| 489 g_signal_emit(G_OBJECT(manager), signals[SIG_ADDED], 0, provider); |
489 g_signal_emit(G_OBJECT(manager), signals[SIG_ADDED], 0, provider); |
| 490 g_list_model_items_changed(G_LIST_MODEL(manager), position, 0, 1); |
490 g_list_model_items_changed(G_LIST_MODEL(manager), position, 0, 1); |
| |
491 g_object_notify_by_pspec(G_OBJECT(manager), properties[PROP_N_ITEMS]); |
| 491 |
492 |
| 492 /* If we don't currently have an active provider, check if the newly |
493 /* If we don't currently have an active provider, check if the newly |
| 493 * registered provider has the id of the stored provider in preferences. |
494 * registered provider has the id of the stored provider in preferences. |
| 494 * If it is, go ahead and make it the active provider. |
495 * If it is, go ahead and make it the active provider. |
| 495 */ |
496 */ |
| 745 if(PURPLE_IS_CREDENTIAL_PROVIDER(candidate)) { |
746 if(PURPLE_IS_CREDENTIAL_PROVIDER(candidate)) { |
| 746 g_ptr_array_remove_index(manager->providers, position); |
747 g_ptr_array_remove_index(manager->providers, position); |
| 747 |
748 |
| 748 g_signal_emit(G_OBJECT(manager), signals[SIG_REMOVED], 0, provider); |
749 g_signal_emit(G_OBJECT(manager), signals[SIG_REMOVED], 0, provider); |
| 749 g_list_model_items_changed(G_LIST_MODEL(manager), position, 1, 0); |
750 g_list_model_items_changed(G_LIST_MODEL(manager), position, 1, 0); |
| |
751 g_object_notify_by_pspec(G_OBJECT(manager), properties[PROP_N_ITEMS]); |
| 750 |
752 |
| 751 g_object_unref(provider); |
753 g_object_unref(provider); |
| 752 |
754 |
| 753 return TRUE; |
755 return TRUE; |
| 754 } |
756 } |