libgaim/plugins/codeinline.c

Sun, 20 May 2007 06:19:49 +0000

author
William Ehlhardt <williamehlhardt@gmail.com>
date
Sun, 20 May 2007 06:19:49 +0000
branch
gaim
changeset 20470
77693555855f
parent 12055
plugins/codeinline.c@48460d77deaa
parent 14955
plugins/codeinline.c@862598727b65
child 20471
1966704b3e42
permissions
-rwxr-xr-x

merge of 'b98e72d4089afb8a1879e5fe9627cfb132ee88de'
and 'b2836a24d81e7a1bd1d21b3aea8794b094391344'

12055
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * gaim
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 * source distribution.
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 *
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 *
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 *
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 */
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 #include "internal.h"
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 #include "plugin.h"
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 #include "notify.h"
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26 #include "util.h"
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27 #include "version.h"
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29 GaimPlugin *plugin_handle = NULL;
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30
13234
1d8e569b2053 [gaim-migrate @ 15598]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12055
diff changeset
31 static gboolean outgoing_msg_cb(GaimAccount *account, const char *who, char **message,
1d8e569b2053 [gaim-migrate @ 15598]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12055
diff changeset
32 GaimConversation *conv, GaimMessageFlags flags, gpointer null)
12055
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33 {
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34 char *m;
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 char **ms = g_strsplit(*message, "<u>", -1);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
36 m = g_strjoinv("<font face=\"monospace\" color=\"#00b025\">", ms);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
37 g_strfreev(ms);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 ms = g_strsplit(m, "</u>", -1);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40 g_free(m);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 m = g_strjoinv("</font>", ms);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 g_free(*message);
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 *message = m;
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 return FALSE;
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 }
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47 static gboolean
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48 plugin_load(GaimPlugin *plugin)
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13234
diff changeset
49 {
12055
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 void *handle = gaim_conversations_get_handle();
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51 plugin_handle = plugin;
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13234
diff changeset
52 gaim_signal_connect(handle, "writing-im-msg", plugin,
12055
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
53 GAIM_CALLBACK(outgoing_msg_cb), NULL);
14955
862598727b65 [gaim-migrate @ 17665]
Sean Egan <seanegan@pidgin.im>
parents: 14254
diff changeset
54 gaim_signal_connect(handle, "sending-im-msg", plugin,
862598727b65 [gaim-migrate @ 17665]
Sean Egan <seanegan@pidgin.im>
parents: 14254
diff changeset
55 GAIM_CALLBACK(outgoing_msg_cb), NULL);
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13234
diff changeset
56
12055
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
57 return TRUE;
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
58 }
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
59
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
61 static GaimPluginInfo info =
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 {
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 GAIM_PLUGIN_MAGIC,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 GAIM_MAJOR_VERSION,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65 GAIM_MINOR_VERSION,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 GAIM_PLUGIN_STANDARD,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 0,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 GAIM_PRIORITY_DEFAULT,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
71 "codeinline",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 "Code Inline",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 "1.0",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74 "Formats text as code",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75 "Changes the formatting of any outgoing text such that "
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76 "anything underlined will be received green and monospace.",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77 "Sean Egan <seanegan@gmail.com>",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
78 "http://gaim.sourceforge.net",
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
79 plugin_load,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 NULL,
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 NULL
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 };
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 static void
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 init_plugin(GaimPlugin *plugin)
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
90 {
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91 }
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
92
48460d77deaa [gaim-migrate @ 14350]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
93 GAIM_INIT_PLUGIN(urlcatcher, init_plugin, info)

mercurial