Mercurial > pidgin.yaz
diff src/account.c @ 13281:e629076386f1
[gaim-migrate @ 15647]
SF Patch #1431225 from Sadrul
"This emits a signal when the alias of an account is
changed. This can be used by plugins which, for
example, uses the account-statusboxes."
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Tue, 14 Feb 2006 07:28:58 +0000 |
parents | fcde3faa1f57 |
children | 702107dd58f1 |
line wrap: on
line diff
--- a/src/account.c Tue Feb 14 05:43:43 2006 +0000 +++ b/src/account.c Tue Feb 14 07:28:58 2006 +0000 @@ -1205,10 +1205,18 @@ { g_return_if_fail(account != NULL); - g_free(account->alias); - account->alias = (alias == NULL ? NULL : g_strdup(alias)); - - schedule_accounts_save(); + if ((!alias && account->alias) || (alias && !account->alias) || + g_utf8_collate(account->alias, alias)) + { + char *old = account->alias; + + account->alias = (alias == NULL ? NULL : g_strdup(alias)); + gaim_signal_emit(gaim_accounts_get_handle(), "account-alias-changed", + account, old); + g_free(old); + + schedule_accounts_save(); + } } void @@ -2332,6 +2340,12 @@ GAIM_SUBTYPE_STATUS), gaim_value_new(GAIM_TYPE_SUBTYPE, GAIM_SUBTYPE_STATUS)); + + gaim_signal_register(handle, "account-alias-changed", + gaim_marshal_VOID__POINTER_POINTER, NULL, 2, + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_ACCOUNT), + gaim_value_new(GAIM_TYPE_STRING)); load_accounts();