Mercurial > pidgin
diff src/server.c @ 1768:9aae465eeb6e
[gaim-migrate @ 1778]
Start of the queueing stuff
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Sat, 28 Apr 2001 02:01:28 +0000 |
parents | 1e0613d9526b |
children | 68eddf56f419 |
line wrap: on
line diff
--- a/src/server.c Fri Apr 27 23:53:19 2001 +0000 +++ b/src/server.c Sat Apr 28 02:01:28 2001 +0000 @@ -309,12 +309,11 @@ serv_touch_idle(g); } - - void serv_got_im(struct gaim_connection *gc, char *name, char *message, int away, time_t mtime) { struct conversation *cnv; int new_conv = 0; + int hehe = away; char *buffy = g_strdup(message); char *angel = g_strdup(name); @@ -368,9 +367,27 @@ return; } if (cnv != NULL) { + if (cnv->makesound && (sound_options & OPT_SOUND_RECV)) play_sound(RECEIVE); + + if (gc->away) + { + struct queued_message *qm; + + qm = (struct queued_message *)g_new0(struct queued_message, 1); + snprintf(qm->name, sizeof(qm->name), "%s", name); + qm->message = strdup(message); + qm->gc = gc; + qm->tm = mtime; + + message_queue = g_slist_append(message_queue, qm); + + printf("A message has been queued.\n"); + } + write_to_conv(cnv, message, away | WFLAG_RECV, NULL, mtime); + } } else { @@ -388,6 +405,22 @@ if (cnv->makesound && (sound_options & OPT_SOUND_RECV)) play_sound(RECEIVE); } + + if (gc->away) + { + struct queued_message *qm; + + qm = (struct queued_message *)g_new0(struct queued_message, 1); + snprintf(qm->name, sizeof(qm->name), "%s", name); + qm->message = strdup(message); + qm->gc = gc; + qm->tm = mtime; + + message_queue = g_slist_append(message_queue, qm); + + printf("A message has been queued.\n"); + } + write_to_conv(cnv, message, away | WFLAG_RECV, NULL, mtime); }