annotate plugins/codeinline.c @ 12426:98be11e744a8

[gaim-migrate @ 14733] For some reason, in some cases we're setting the "message" property on statuses when a remote user logs out; it appears to be because we're actually getting that property from OSCAR. This suppresses that setting, because the status API isn't happy receiving a NULL status type. committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Fri, 09 Dec 2005 03:28:56 +0000
parents 0747647faca1
children f09c6e8df82c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12055
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /*
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * gaim
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 * source distribution.
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * (at your option) any later version.
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 *
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * GNU General Public License for more details.
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 *
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 */
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 #include "internal.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 #include "plugin.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 #include "notify.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 #include "util.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 #include "version.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28 #include "gtkutils.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #include "gtkimhtml.h"
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 GaimPlugin *plugin_handle = NULL;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 static gboolean outgoing_msg_cb(GaimAccount *account, GaimConversation *conv, char **message)
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 char *m;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 char **ms = g_strsplit(*message, "<u>", -1);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 m = g_strjoinv("<font face=\"monospace\" color=\"#00b025\">", ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 g_strfreev(ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 ms = g_strsplit(m, "</u>", -1);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 g_free(m);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 m = g_strjoinv("</font>", ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 g_free(*message);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 *message = m;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 return FALSE;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 }
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 static gboolean
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 plugin_load(GaimPlugin *plugin)
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 void *handle = gaim_conversations_get_handle();
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 plugin_handle = plugin;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 gaim_signal_connect(handle, "writing-im-msg", plugin,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 GAIM_CALLBACK(outgoing_msg_cb), NULL);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 return TRUE;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 }
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 static GaimPluginInfo info =
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 GAIM_PLUGIN_MAGIC,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 GAIM_MAJOR_VERSION,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 GAIM_MINOR_VERSION,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 GAIM_PLUGIN_STANDARD,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 0,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 GAIM_PRIORITY_DEFAULT,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 "codeinline",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 "Code Inline",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 "1.0",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 "Formats text as code",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 "Changes the formatting of any outgoing text such that "
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 "anything underlined will be received green and monospace.",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 "Sean Egan <seanegan@gmail.com>",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 "http://gaim.sourceforge.net",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 plugin_load,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 NULL
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 };
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 static void
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 init_plugin(GaimPlugin *plugin)
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 }
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 GAIM_INIT_PLUGIN(urlcatcher, init_plugin, info)