| 1148 signing_off = TRUE; |
1148 signing_off = TRUE; |
| 1149 } |
1149 } |
| 1150 |
1150 |
| 1151 |
1151 |
| 1152 if (signing_on) { |
1152 if (signing_on) { |
| 1153 if (gaim_prefs_get_bool("/core/conversations/im/show_login")) { |
1153 if (c != NULL) { |
| 1154 if (c != NULL) { |
1154 char *tmp = g_strdup_printf(_("%s logged in."), |
| 1155 |
1155 gaim_get_buddy_alias(b)); |
| 1156 char *tmp = g_strdup_printf(_("%s logged in."), |
1156 |
| 1157 gaim_get_buddy_alias(b)); |
1157 gaim_conversation_write(c, NULL, tmp, GAIM_MESSAGE_SYSTEM, |
| 1158 |
1158 time(NULL)); |
| 1159 gaim_conversation_write(c, NULL, tmp, GAIM_MESSAGE_SYSTEM, |
1159 g_free(tmp); |
| 1160 time(NULL)); |
1160 } |
| 1161 g_free(tmp); |
1161 else if (awayqueue && find_queue_total_by_name(b->name)) { |
| 1162 } |
1162 struct queued_message *qm = g_new0(struct queued_message, 1); |
| 1163 else if (awayqueue && find_queue_total_by_name(b->name)) { |
1163 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
| 1164 struct queued_message *qm = g_new0(struct queued_message, 1); |
1164 qm->message = g_strdup_printf(_("%s logged in."), |
| 1165 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
1165 gaim_get_buddy_alias(b)); |
| 1166 qm->message = g_strdup_printf(_("%s logged in."), |
1166 qm->account = gc->account; |
| 1167 gaim_get_buddy_alias(b)); |
1167 qm->tm = time(NULL); |
| 1168 qm->account = gc->account; |
1168 qm->flags = GAIM_MESSAGE_SYSTEM; |
| 1169 qm->tm = time(NULL); |
1169 message_queue = g_slist_append(message_queue, qm); |
| 1170 qm->flags = GAIM_MESSAGE_SYSTEM; |
|
| 1171 message_queue = g_slist_append(message_queue, qm); |
|
| 1172 } |
|
| 1173 } |
1170 } |
| 1174 gaim_sound_play_event(GAIM_SOUND_BUDDY_ARRIVE); |
1171 gaim_sound_play_event(GAIM_SOUND_BUDDY_ARRIVE); |
| 1175 |
1172 |
| 1176 if(gaim_prefs_get_bool("/core/logging/log_system") && |
1173 if(gaim_prefs_get_bool("/core/logging/log_system") && |
| 1177 gaim_prefs_get_bool("/core/logging/log_signon_signoff")) { |
1174 gaim_prefs_get_bool("/core/logging/log_signon_signoff")) { |
| 1232 g_free(tmp); |
1229 g_free(tmp); |
| 1233 } |
1230 } |
| 1234 } |
1231 } |
| 1235 |
1232 |
| 1236 if (signing_off) { |
1233 if (signing_off) { |
| 1237 if (gaim_prefs_get_bool("/core/conversations/im/show_login")) { |
1234 if (c != NULL) { |
| 1238 if (c != NULL) { |
1235 char *tmp = g_strdup_printf(_("%s logged out."), |
| 1239 |
1236 gaim_get_buddy_alias(b)); |
| 1240 char *tmp = g_strdup_printf(_("%s logged out."), |
1237 gaim_conversation_write(c, NULL, tmp, |
| 1241 gaim_get_buddy_alias(b)); |
1238 GAIM_MESSAGE_SYSTEM, time(NULL)); |
| 1242 gaim_conversation_write(c, NULL, tmp, |
1239 g_free(tmp); |
| 1243 GAIM_MESSAGE_SYSTEM, time(NULL)); |
1240 } else if (awayqueue && find_queue_total_by_name(b->name)) { |
| 1244 g_free(tmp); |
1241 struct queued_message *qm = g_new0(struct queued_message, 1); |
| 1245 } else if (awayqueue && find_queue_total_by_name(b->name)) { |
1242 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
| 1246 struct queued_message *qm = g_new0(struct queued_message, 1); |
1243 qm->message = g_strdup_printf(_("%s logged out."), |
| 1247 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
1244 gaim_get_buddy_alias(b)); |
| 1248 qm->message = g_strdup_printf(_("%s logged out."), |
1245 qm->account = gc->account; |
| 1249 gaim_get_buddy_alias(b)); |
1246 qm->tm = time(NULL); |
| 1250 qm->account = gc->account; |
1247 qm->flags = GAIM_MESSAGE_SYSTEM; |
| 1251 qm->tm = time(NULL); |
1248 message_queue = g_slist_append(message_queue, qm); |
| 1252 qm->flags = GAIM_MESSAGE_SYSTEM; |
|
| 1253 message_queue = g_slist_append(message_queue, qm); |
|
| 1254 } |
|
| 1255 } |
1249 } |
| 1256 serv_got_typing_stopped(gc, name); /* obviously not typing */ |
1250 serv_got_typing_stopped(gc, name); /* obviously not typing */ |
| 1257 gaim_sound_play_event(GAIM_SOUND_BUDDY_LEAVE); |
1251 gaim_sound_play_event(GAIM_SOUND_BUDDY_LEAVE); |
| 1258 |
1252 |
| 1259 if(gaim_prefs_get_bool("/core/logging/log_system") && |
1253 if(gaim_prefs_get_bool("/core/logging/log_system") && |