Mercurial > pidgin
view plugins/history.c @ 11015:45ceaa1ccc6e
[gaim-migrate @ 12884]
(10:37:16) rizzo: wtf that silc ft patch still not in
(10:38:45) LSchiere2: rizzo: what are you talking about
(10:39:03) rizzo: gaim silc won't build against silc 1.0
(10:39:16) rizzo: has been an issue since gaim 1.3.0
(10:39:29) LSchiere2: I don't recall the patch
(10:39:32) rizzo:
http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/net-im/gaim/files/gaim-1.3.0-silc-ft.patch
(10:39:41) rizzo: I thought I got it from you guys
(10:39:46) LSchiere2: is it in our tracker?
(10:39:51) rizzo: I don't see it
(10:40:05) ***rizzo digs up his bug
(10:40:57) rizzo: LSchiere2: I think pekka emailed it to -packagers list
(10:41:01) rizzo: http://bugs.gentoo.org/show_bug.cgi?id=92251
(10:41:33) rizzo: from his email:
(10:41:33) rizzo: Enclosed a small patch that makes the Gaim compile with
SILC Toolkit 1.0.
(10:41:33) rizzo: We had unfortunate timing when I released 1.0 at the
same time you
(10:41:33) rizzo: released Gaim 1.3 so I didn't have time to make the
patch for 1.3.
(10:41:33) rizzo: Anyway, the patch removes code that really isn't
supposed to even be
(10:41:33) rizzo: there...
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Fri, 17 Jun 2005 14:53:38 +0000 |
parents | c3b709d6d1e7 |
children | 5290afac047c |
line wrap: on
line source
/* Puts last 4k of log in new conversations a la Everybuddy (and then * stolen by Trillian "Pro") */ #include "internal.h" #include "gtkgaim.h" #include "conversation.h" #include "debug.h" #include "log.h" #include "prefs.h" #include "signals.h" #include "util.h" #include "version.h" #include "gtkconv.h" #include "gtkimhtml.h" #include "gtkplugin.h" #define HISTORY_PLUGIN_ID "gtk-history" #define HISTORY_SIZE (4 * 1024) static gboolean _scroll_imhtml_to_end(gpointer data) { GtkIMHtml *imhtml = data; gtk_imhtml_scroll_to_end(GTK_IMHTML(imhtml)); g_object_unref(G_OBJECT(imhtml)); return FALSE; } static void historize(GaimConversation *c) { GaimGtkConversation *gtkconv; GaimConversationType convtype; char *history = NULL; guint flags; GtkIMHtmlOptions options = GTK_IMHTML_NO_COLOURS; GList *logs = NULL; convtype = gaim_conversation_get_type(c); if (convtype == GAIM_CONV_IM) logs = gaim_log_get_logs(GAIM_LOG_IM, gaim_conversation_get_name(c), gaim_conversation_get_account(c)); else if (convtype == GAIM_CONV_CHAT) logs = gaim_log_get_logs(GAIM_LOG_CHAT, gaim_conversation_get_name(c), gaim_conversation_get_account(c)); if (!logs) return; history = gaim_log_read((GaimLog*)logs->data, &flags); gtkconv = GAIM_GTK_CONVERSATION(c); if (flags & GAIM_LOG_READ_NO_NEWLINE) options |= GTK_IMHTML_NO_NEWLINE; gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), "<br>", options); gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), history, options); gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), "<hr>", options); g_object_ref(G_OBJECT(gtkconv->imhtml)); g_idle_add(_scroll_imhtml_to_end, gtkconv->imhtml); g_free(history); while (logs) { GaimLog *log = logs->data; GList *logs2; gaim_log_free(log); logs2 = logs->next; g_list_free_1(logs); logs = logs2; } } static gboolean plugin_load(GaimPlugin *plugin) { gaim_signal_connect(gaim_conversations_get_handle(), "conversation-created", plugin, GAIM_CALLBACK(historize), NULL); return TRUE; } static GaimPluginInfo info = { GAIM_PLUGIN_MAGIC, GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION, GAIM_PLUGIN_STANDARD, GAIM_GTK_PLUGIN_TYPE, 0, NULL, GAIM_PRIORITY_DEFAULT, HISTORY_PLUGIN_ID, N_("History"), VERSION, N_("Shows recently logged conversations in new conversations."), N_("When a new conversation is opened this plugin will insert the last conversation into the current conversation."), "Sean Egan <bj91704@binghamton.edu>", GAIM_WEBSITE, plugin_load, NULL, NULL, NULL, NULL, NULL }; static void init_plugin(GaimPlugin *plugin) { } GAIM_INIT_PLUGIN(history, init_plugin, info)