Mercurial > pidgin
view plugins/timestamp.c @ 4089:7f4f3aa61069
[gaim-migrate @ 4304]
Changing the button style in Preferences no longer reverts conversation
windows to the old style. It should work now. Pictures, Text, and Pictures
& Text all work for IMs and chats here. However, there may be bugs, so let
me know.
Note that the style you select is not applied to newly created windows
during the same session or when gaim is restarted. This isn't my fault! :)
This probably broke during either the preferences or conversations rewrite.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 17 Dec 2002 04:44:00 +0000 |
parents | dadb43e0bcae |
children | 74d27aa5b686 |
line wrap: on
line source
/* iChat-like timestamps by Sean Egan. * <INSERT GPL HERE> */ #define GAIM_PLUGINS #include <time.h> #include "gaim.h" #include "gtkimhtml.h" #define TIMESTAMP_DELAY (5 * 60 * 1000) GModule *handle; GSList *timestamp_timeouts; gboolean do_timestamp (struct conversation *c) { char *buf; char mdate[6]; time_t tim = time(NULL); if (!g_list_find(conversations, c)) return FALSE; strftime(mdate, sizeof(mdate), "%H:%M", localtime(&tim)); buf = g_strdup_printf(" %s", mdate); write_to_conv(c, buf, WFLAG_NOLOG, NULL, tim, -1); g_free(buf); return TRUE; } void timestamp_new_convo(char *name) { struct conversation *c = find_conversation(name); do_timestamp(c); timestamp_timeouts = g_slist_append(timestamp_timeouts, GINT_TO_POINTER(gtk_timeout_add(TIMESTAMP_DELAY, (GtkFunction)do_timestamp, c))); } char *gaim_plugin_init(GModule *h) { GList *cnvs = conversations; struct conversation *c; handle = h; while (cnvs) { c = cnvs->data; timestamp_new_convo(c->name); cnvs = cnvs->next; } gaim_signal_connect(handle, event_new_conversation, timestamp_new_convo, NULL); return NULL; } void gaim_plugin_remove() { GSList *to; to = timestamp_timeouts; while (to) { gtk_timeout_remove(GPOINTER_TO_INT(to->data)); to = to->next; } g_slist_free(timestamp_timeouts); } struct gaim_plugin_description desc; struct gaim_plugin_description *gaim_plugin_desc() { desc.api_version = PLUGIN_API_VERSION; desc.name = g_strdup("Timestamp"); desc.version = g_strdup(VERSION); desc.description = g_strdup("Adds iChat-style timestamps to conversations every 5 minutes."); desc.authors = g_strdup("Sean Egan <bj91704@binghamton.edu>"); desc.url = g_strdup(WEBSITE); return &desc; }