comparison finch/gntaccount.c @ 17346:8c3a3407af58

Finch autoreconnecting (largely copy/paste from pidgin)
author Richard Nelson <wabz@pidgin.im>
date Sat, 26 May 2007 23:41:42 +0000
parents 46f2f86e08e4
children f8e3b38f8e12 e3e42a99070e
comparison
equal deleted inserted replaced
17345:202f4df12cf4 17346:8c3a3407af58
715 return; 715 return;
716 716
717 gnt_tree_remove(GNT_TREE(accounts.tree), account); 717 gnt_tree_remove(GNT_TREE(accounts.tree), account);
718 } 718 }
719 719
720 static void
721 account_abled_cb(PurpleAccount *account, gpointer user_data)
722 {
723 if (accounts.window == NULL)
724 return;
725 gnt_tree_set_choice(GNT_TREE(accounts.tree), account,
726 GPOINTER_TO_INT(user_data));
727 }
728
720 void finch_accounts_init() 729 void finch_accounts_init()
721 { 730 {
722 GList *iter; 731 GList *iter;
723 732
724 purple_signal_connect(purple_accounts_get_handle(), "account-added", 733 purple_signal_connect(purple_accounts_get_handle(), "account-added",
725 finch_accounts_get_handle(), PURPLE_CALLBACK(account_added_callback), 734 finch_accounts_get_handle(), PURPLE_CALLBACK(account_added_callback),
726 NULL); 735 NULL);
727 purple_signal_connect(purple_accounts_get_handle(), "account-removed", 736 purple_signal_connect(purple_accounts_get_handle(), "account-removed",
728 finch_accounts_get_handle(), PURPLE_CALLBACK(account_removed_callback), 737 finch_accounts_get_handle(), PURPLE_CALLBACK(account_removed_callback),
729 NULL); 738 NULL);
730 739 purple_signal_connect(purple_accounts_get_handle(), "account-disabled",
740 finch_accounts_get_handle(),
741 PURPLE_CALLBACK(account_abled_cb), GINT_TO_POINTER(FALSE));
742 purple_signal_connect(purple_accounts_get_handle(), "account-enabled",
743 finch_accounts_get_handle(),
744 PURPLE_CALLBACK(account_abled_cb), GINT_TO_POINTER(TRUE));
745
731 for (iter = purple_accounts_get_all(); iter; iter = iter->next) { 746 for (iter = purple_accounts_get_all(); iter; iter = iter->next) {
732 if (purple_account_get_enabled(iter->data, FINCH_UI)) 747 if (purple_account_get_enabled(iter->data, FINCH_UI))
733 break; 748 break;
734 } 749 }
735 if (!iter) 750 if (!iter)