annotate plugins/codeinline.c @ 13958:6741419af7f7

[gaim-migrate @ 16510] Add a context menu for the buddy-list. Most of the menus don't do anything yet, because the request-ui is not done. But the others, eg. 'Get Info', 'Join In Chat' etc.) work. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 17 Jul 2006 21:23:38 +0000
parents f09c6e8df82c
children 8bda65b88e49
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
13233
f09c6e8df82c [gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents: 12055
diff changeset
33 static gboolean outgoing_msg_cb(GaimAccount *account, const char *who, char **message,
f09c6e8df82c [gaim-migrate @ 15598]
Richard Laager <rlaager@wiktel.com>
parents: 12055
diff changeset
34 GaimConversation *conv, GaimMessageFlags flags, gpointer null)
12055
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 char *m;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 char **ms = g_strsplit(*message, "<u>", -1);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 m = g_strjoinv("<font face=\"monospace\" color=\"#00b025\">", ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 g_strfreev(ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 ms = g_strsplit(m, "</u>", -1);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 g_free(m);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 m = g_strjoinv("</font>", ms);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 g_free(*message);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 *message = m;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 return FALSE;
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
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 static gboolean
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 plugin_load(GaimPlugin *plugin)
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 void *handle = gaim_conversations_get_handle();
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 plugin_handle = plugin;
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 gaim_signal_connect(handle, "writing-im-msg", plugin,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 GAIM_CALLBACK(outgoing_msg_cb), NULL);
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 return TRUE;
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
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 static GaimPluginInfo info =
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 {
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 GAIM_PLUGIN_MAGIC,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 GAIM_MAJOR_VERSION,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 GAIM_MINOR_VERSION,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 GAIM_PLUGIN_STANDARD,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 0,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 NULL,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 GAIM_PRIORITY_DEFAULT,
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 "codeinline",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 "Code Inline",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 "1.0",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 "Formats text as code",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 "Changes the formatting of any outgoing text such that "
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 "anything underlined will be received green and monospace.",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 "Sean Egan <seanegan@gmail.com>",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 "http://gaim.sourceforge.net",
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 plugin_load,
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 NULL
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
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 static void
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 init_plugin(GaimPlugin *plugin)
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
0747647faca1 [gaim-migrate @ 14350]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93 GAIM_INIT_PLUGIN(urlcatcher, init_plugin, info)