src/account.c

changeset 12070
e678eea4d899
parent 11985
d4a210fb43e9
child 12088
ac4a09f8cfcb
--- a/src/account.c	Sun Nov 13 03:39:06 2005 +0000
+++ b/src/account.c	Sun Nov 13 03:45:16 2005 +0000
@@ -1292,13 +1292,21 @@
 			 gboolean value)
 {
 	GaimConnection *gc;
+	gboolean was_enabled = FALSE;
 
 	g_return_if_fail(account != NULL);
 	g_return_if_fail(ui      != NULL);
 
+	was_enabled = gaim_account_get_enabled(account, ui);
+
 	gaim_account_set_ui_bool(account, ui, "auto-login", value);
 	gc = gaim_account_get_connection(account);
 
+	if(was_enabled && !value)
+		gaim_signal_emit(gaim_accounts_get_handle(), "account-disabled", account);
+	else if(!was_enabled && value)
+		gaim_signal_emit(gaim_accounts_get_handle(), "account-enabled", account);
+
 	if ((gc != NULL) && (gc->wants_to_die == TRUE))
 		return;
 
@@ -2252,6 +2260,16 @@
 						 gaim_value_new(GAIM_TYPE_SUBTYPE,
 										GAIM_SUBTYPE_ACCOUNT));
 
+	gaim_signal_register(handle, "account-disabled",
+						 gaim_marshal_VOID__POINTER, NULL, 1,
+						 gaim_value_new(GAIM_TYPE_SUBTYPE,
+										GAIM_SUBTYPE_ACCOUNT));
+
+	gaim_signal_register(handle, "account-enabled",
+						 gaim_marshal_VOID__POINTER, NULL, 1,
+						 gaim_value_new(GAIM_TYPE_SUBTYPE,
+										GAIM_SUBTYPE_ACCOUNT));
+
 	gaim_signal_register(handle, "account-setting-info",
 						 gaim_marshal_VOID__POINTER_POINTER, NULL, 2,
 						 gaim_value_new(GAIM_TYPE_SUBTYPE,

mercurial