comparison plugins/timestamp.c @ 8866:c2dff943e240

[gaim-migrate @ 9634] (14:10:22) Faceprint: the timestamp plugin will now mislead users (14:10:54) Me: which way does ichat behave? (14:10:58) Me: i think the new way (14:11:05) Me: but its been some time since i've seen it (14:11:09) Faceprint: i don't know or care, the new behavior will confuse the hell out of people (14:11:22) Faceprint: lets say we have a conversation (14:11:25) Faceprint: 2:00 gets printed by the plugin (14:11:36) Faceprint: then we say nothing for 3 hours (14:11:42) Faceprint: and then one of us says something (14:12:04) Faceprint: that will be printed, and then as many as 5 minutes later, the plugin will print 5:05 (14:12:23) Me: yes yes yes, i see both sides of this one. i tend to think the new behavior is better, but i'll revert it (14:12:36) Faceprint: since "normal" timestamps are turned off, it appears as though what was just said was said around 2 (14:12:43) Faceprint: no, don't revert, fix (14:12:53) Faceprint: preferably, make the patch writer fix (14:12:57) Me: *nods* (14:13:06) Me: which requires reverting since otherwise he won't be motivated (14:13:13) Faceprint: if something is said and we've gone more than 5 min w/o printing a timestamp, print a timestamp before writing to the conv committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 03 May 2004 18:13:39 +0000
parents 8ab568b92480
children 294ae6548d4e
comparison
equal deleted inserted replaced
8865:12791b1a13ee 8866:c2dff943e240
44 { 44 {
45 GaimConversation *c = (GaimConversation *)data; 45 GaimConversation *c = (GaimConversation *)data;
46 char *buf; 46 char *buf;
47 char mdate[6]; 47 char mdate[6];
48 time_t tim = time(NULL); 48 time_t tim = time(NULL);
49 gsize len = 0;
50 49
51 if (!g_list_find(gaim_get_conversations(), c)) 50 if (!g_list_find(gaim_get_conversations(), c))
52 return FALSE; 51 return FALSE;
53 52
54 len = GPOINTER_TO_INT( 53 strftime(mdate, sizeof(mdate), "%H:%M", localtime(&tim));
55 gaim_conversation_get_data(c, "timestamp-last-size")); 54 buf = g_strdup_printf(" %s", mdate);
56 if((NULL != c->history) && (len != c->history->len)) { 55 gaim_conversation_write(c, NULL, buf, GAIM_MESSAGE_NO_LOG, tim);
57 56 g_free(buf);
58 strftime(mdate, sizeof(mdate), "%02H:%02M", localtime(&tim));
59 buf = g_strdup_printf("%s", mdate);
60 }
61 #ifndef DEBUG_TIMESTAMP
62 else {
63 return TRUE;
64 }
65 #else
66 else {
67 buf = g_strdup_printf("NC");
68 }
69 #endif
70
71 gaim_conversation_write(c, NULL, buf, GAIM_MESSAGE_NO_LOG, tim);
72 g_free(buf);
73
74 gaim_conversation_set_data(c, "timestamp-last-size",
75 GINT_TO_POINTER(c->history->len));
76
77 return TRUE; 57 return TRUE;
78 } 58 }
79 59
80 static void timestamp_new_convo(GaimConversation *conv) 60 static void timestamp_new_convo(GaimConversation *conv)
81 { 61 {