Mercurial > pidgin.yaz
view plugins/statenotify.c @ 6122:914f2d5da21c
[gaim-migrate @ 6596]
Fix 2 compiler warnings.
Make auto-login for IRC accounts without passwords work. Thanks to Luke for
finding this and making a kick-assingly correct guess as to the cause.
Fix the MSN sign-off-infinite-loops-after-getting-info-about-mail bug.
Fix "Yahoo smilies for the "angel" smiley are incorrect"
http://sourceforge.net/tracker/index.php?func=detail&aid=728663&group_id=235&atid=100235
Fix a bug that I introduced yesterday freaking afternoon. I would have
commited the fix yesterday, but SF CVS was not working.
<faceprint> KingAnt: you just broke the ticker
<KingAnt> faceprint: How so?
<KingAnt> Oh, event_signon?
<faceprint> the ticker is what needs event_buddy_signon to get called twice
<faceprint> i don't know what is the right behavior, but i'm in bootloader hell,
just thought i'd alert you
<KingAnt> faceprint: So that it doesn't always show people with the open door?
<faceprint> KingAnt: right
I just added an ugly little timeout that updates the icon after 11 seconds.
The icon in the blist gets updated after 10.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 14 Jul 2003 22:09:42 +0000 |
parents | 5239a3b4ab33 |
children | 8f94cce8faa5 |
line wrap: on
line source
#include "internal.h" #include "blist.h" #include "conversation.h" #include "debug.h" static void write_status(GaimConnection *gc, char *who, const char *message) { GaimConversation *conv; struct buddy *b; char buf[256]; conv = gaim_find_conversation_with_account(who, gc->account); if (conv == NULL) return; if ((b = gaim_find_buddy(gc->account, who)) != NULL) who = gaim_get_buddy_alias(b); g_snprintf(buf, sizeof(buf), "%s %s", who, message); gaim_conversation_write(conv, NULL, buf, -1, WFLAG_SYSTEM, time(NULL)); } static void buddy_away_cb(GaimConnection *gc, char *who, void *data) { write_status(gc, who, "has gone away."); } static void buddy_unaway_cb(GaimConnection *gc, char *who, void *data) { write_status(gc, who, "is no longer away."); } static void buddy_idle_cb(GaimConnection *gc, char *who, void *data) { write_status(gc, who, "has become idle."); } static void buddy_unidle_cb(GaimConnection *gc, char *who, void *data) { write_status(gc, who, "is no longer idle."); } static gboolean plugin_load(GaimPlugin *plugin) { gaim_signal_connect(plugin, event_buddy_away, buddy_away_cb, NULL); gaim_signal_connect(plugin, event_buddy_back, buddy_unaway_cb, NULL); gaim_signal_connect(plugin, event_buddy_idle, buddy_idle_cb, NULL); gaim_signal_connect(plugin, event_buddy_unidle, buddy_unidle_cb, NULL); return TRUE; } static GaimPluginInfo info = { 2, /**< api_version */ GAIM_PLUGIN_STANDARD, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ GAIM_PRIORITY_DEFAULT, /**< priority */ NULL, /**< id */ N_("Buddy State Notification"), /**< name */ VERSION, /**< version */ /** summary */ N_("Notifies in a conversation window when a buddy goes or returns from " "away or idle."), /** description */ N_("Notifies in a conversation window when a buddy goes or returns from " "away or idle."), "Christian Hammond <chipx86@gnupdate.org>", /**< author */ WEBSITE, /**< homepage */ plugin_load, /**< load */ NULL, /**< unload */ NULL, /**< destroy */ NULL, /**< ui_info */ NULL /**< extra_info */ }; static void init_plugin(GaimPlugin *plugin) { } GAIM_INIT_PLUGIN(statenotify, init_plugin, info)