annotate plugins/spellchk.c @ 8672:142108e89399

[gaim-migrate @ 9424] "This patch contains two fixes. The first is rather trivial, just removes the declaration of extra pointer used for deleting a message and deletes the message directly. The second is the real bug that needed fixing. Short Explanation: The old code only fixed the message that was being displayed, and still sent the original unchecked message to the receiving party. All I did was add a handler to the load_plugin function to make it fix the message being sent as well. Longer Explanation: In my cursory look through the gaim code (warning, <15 minutes) it appears the message pointer send to all the various *-im-msg and *-chat-msg handlers is a copy of the original string each time. This means if you fix the string at one stage (displaying), you have to fix it again at the next (sending). This seems rather inefficient, but hey, it's your client, maybe it was a design feature. Anyway, the spellchk plugin was only fixing the displayed message, and not the message being sent. So I thought my messages were being fixed while those receiving them new I was screwing up. I added substitute_somethingorother handler for the sending-im-msg callback in the load_plugin function. Other comments: I didn't look to deeply into it since it's so late, but the "displaying-chat-msg" and "sending-chat-msg" callbacks appear to be broken. The spellchk.c currently has a handler registered for the first callback, but the message displayed on my screen still contains the original typos. If I try to register a handler for the second callback listed, Gaim crashes when sending the message to a chat window. As I said, I didn't look into why it was crashing, I just removed my attempt to handle it and built this patch." --Matt Brenneke committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 16 Apr 2004 14:39:34 +0000
parents 56360561af5e
children 5891a1a6fc7e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
1 /*
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
2 * A lot of this code (especially the config code) was taken directly
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
3 * or nearly directly from xchat, version 1.4.2 by Peter Zelezny and others.
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
4 */
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
5 #include "internal.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
6
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
7 #include "debug.h"
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
8 #include "signals.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
9 #include "util.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
10
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
11 #include "gtkplugin.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
12 #include "gtkutils.h"
4202
59751fe608c5 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4165
diff changeset
13
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
14 #include <stdio.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
15 #include <string.h>
6849
3c885e6784ee [gaim-migrate @ 7394]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6780
diff changeset
16 #ifndef _WIN32
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
17 #include <strings.h>
6849
3c885e6784ee [gaim-migrate @ 7394]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6780
diff changeset
18 #endif
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
19 #include <sys/types.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
20 #include <sys/stat.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
21
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
22 #define SPELLCHECK_PLUGIN_ID "gtk-spellcheck"
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
23
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
24 enum {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
25 BAD_COLUMN,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
26 GOOD_COLUMN,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
27 N_COLUMNS
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
28 };
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
29
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
30 static int num_words(const char *);
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
31 static int get_word(char *, int);
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
32 static char *have_word(char *, int);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
33 static void substitute(char **, int, int, const char *);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
34 static GtkListStore *model;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
35
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
36 static gboolean
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
37 substitute_words(GaimAccount *account, GaimConversation *conv,
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
38 char **message, void *data)
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
39 {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
40 int i, l;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
41 int word;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
42 char *tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
43
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
44 if (message == NULL || *message == NULL)
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
45 return FALSE;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
46
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
47 l = num_words(*message);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
48 for (i = 0; i < l; i++) {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
49 GtkTreeIter iter;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
50 word = get_word(*message, i);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
51 if(gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter)) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
52 do {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
53 GValue val0, val1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
54 const char *bad, *good;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
55 memset(&val0, 0, sizeof(val0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
56 memset(&val1, 0, sizeof(val1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
57 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, 0, &val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
58 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, 1, &val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
59 tmp = have_word(*message, word);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
60 bad = g_value_get_string(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
61 good = g_value_get_string(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
62 if (!strcmp(tmp, bad)) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
63 substitute(message, word, strlen(bad),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
64 good);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
65 l += num_words(good) - num_words(bad);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
66 i += num_words(good) - num_words(bad);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
67 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
68 free(tmp);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
69 g_value_unset(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
70 g_value_unset(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
71 } while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter));
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
72 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
73 }
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
74
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
75 return FALSE;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
76 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
77
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
78 static int buf_get_line(char *ibuf, char **buf, int *position, int len) {
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
79 int pos = *position, spos = pos;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
80
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
81 if (pos == len)
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
82 return 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
83
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
84 while (ibuf[pos++] != '\n') {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
85 if (pos == len)
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
86 return 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
87 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
88 pos--;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
89 ibuf[pos] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
90 *buf = &ibuf[spos];
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
91 pos++;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
92 *position = pos;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
93 return 1;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
94 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
95
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
96 static void load_conf() {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
97 const char * const defaultconf = "BAD r\nGOOD are\n\n"
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
98 "BAD u\nGOOD you\n\n"
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
99 "BAD teh\nGOOD the\n\n";
7466
fa0324675ed9 [gaim-migrate @ 8079]
Mark Doliner <mark@kingant.net>
parents: 6849
diff changeset
100 gchar *buf, *ibuf;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
101 char name[82];
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
102 char cmd[256];
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
103 int pnt = 0;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
104 gsize size;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
105
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
106 model = gtk_list_store_new((gint)N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
107
7466
fa0324675ed9 [gaim-migrate @ 8079]
Mark Doliner <mark@kingant.net>
parents: 6849
diff changeset
108 buf = g_build_filename(gaim_user_dir(), "dict", NULL);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
109 g_file_get_contents(buf, &ibuf, &size, NULL);
7606
08c9d0dcf906 [gaim-migrate @ 8229]
Luke Schierer <lschiere@pidgin.im>
parents: 7466
diff changeset
110 g_free(buf);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
111 if(!ibuf) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
112 ibuf = g_strdup(defaultconf);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
113 size = strlen(defaultconf);
106
e05e6373ea5a [gaim-migrate @ 116]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 103
diff changeset
114 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
115
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
116 cmd[0] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
117 name[0] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
118
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
119 while(buf_get_line(ibuf, &buf, &pnt, size)) {
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
120 if (*buf != '#') {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
121 if (!strncasecmp(buf, "BAD ", 4))
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
122 strncpy(name, buf + 4, 81);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
123 if (!strncasecmp(buf, "GOOD ", 5)) {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
124 strncpy(cmd, buf + 5, 255);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
125 if (*name) {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
126 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
127 gtk_list_store_append(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
128 gtk_list_store_set(model, &iter,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
129 0, g_strdup(name),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
130 1, g_strdup(cmd),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
131 -1);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
132 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
133 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
134 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
135 }
7606
08c9d0dcf906 [gaim-migrate @ 8229]
Luke Schierer <lschiere@pidgin.im>
parents: 7466
diff changeset
136 g_free(ibuf);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
137 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
138
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
139
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
140
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
141 static int num_words(const char *m) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
142 int count = 0;
7631
ea2d07ad05a9 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 7606
diff changeset
143 guint pos;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
144 int state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
145
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
146 for (pos = 0; pos < strlen(m); pos++) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
147 switch (state) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
148 case 0: /* expecting word */
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
149 if (!g_ascii_isspace(m[pos]) && !g_ascii_ispunct(m[pos])) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
150 count++;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
151 state = 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
152 } else if (m[pos] == '<')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
153 state = 2;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
154 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
155 case 1: /* inside word */
112
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
156 if (m[pos] == '<')
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
157 state = 2;
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
158 else if (g_ascii_isspace(m[pos]) || g_ascii_ispunct(m[pos]))
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
159 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
160 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
161 case 2: /* inside HTML tag */
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
162 if (m[pos] == '>')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
163 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
164 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
165 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
166 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
167 return count;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
168 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
169
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
170 static int get_word(char *m, int word) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
171 int count = 0;
7631
ea2d07ad05a9 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 7606
diff changeset
172 guint pos = 0;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
173 int state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
174
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
175 for (pos = 0; pos < strlen(m) && count <= word; pos++) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
176 switch (state) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
177 case 0:
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
178 if (!g_ascii_isspace(m[pos]) && !g_ascii_ispunct(m[pos])) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
179 count++;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
180 state = 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
181 } else if (m[pos] == '<')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
182 state = 2;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
183 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
184 case 1:
112
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
185 if (m[pos] == '<')
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
186 state = 2;
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
187 else if (g_ascii_isspace(m[pos]) || g_ascii_ispunct(m[pos]))
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
188 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
189 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
190 case 2:
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
191 if (m[pos] == '>')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
192 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
193 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
194 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
195 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
196 return pos - 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
197 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
198
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
199 static char *have_word(char *m, int pos) {
3733
871bdebc3037 [gaim-migrate @ 3871]
Sean Egan <seanegan@gmail.com>
parents: 3728
diff changeset
200 char *tmp = strpbrk(&m[pos], "' \t\f\r\n\"><.?!-,/");
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
201 int len = (int)(tmp - &m[pos]);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
202
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
203 if (tmp == NULL) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
204 tmp = strdup(&m[pos]);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
205 return tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
206 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
207
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
208 tmp = malloc(len + 1);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
209 tmp[0] = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
210 strncat(tmp, &m[pos], len);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
211
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
212 return tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
213 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
214
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
215 static void substitute(char **mes, int pos, int m, const char *text) {
257
a93e273ca1d6 [gaim-migrate @ 267]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 208
diff changeset
216 char *new = g_malloc(strlen(*mes) + strlen(text) + 1);
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
217 new[0] = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
218
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
219 strncat(new, *mes, pos);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
220 strcat(new, text);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
221
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
222 strcat(new, &(*mes)[pos + m]);
8672
142108e89399 [gaim-migrate @ 9424]
Luke Schierer <lschiere@pidgin.im>
parents: 8596
diff changeset
223 g_free(*mes);
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
224 *mes = new;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
225 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
226
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
227 static GtkWidget *tree;
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
228 static GtkWidget *bad_entry;
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
229 static GtkWidget *good_entry;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
230
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
231 static void save_list();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
232
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
233 static void on_edited(GtkCellRendererText *cellrenderertext,
6116
de49cfd8fd59 [gaim-migrate @ 6579]
Mark Doliner <mark@kingant.net>
parents: 6063
diff changeset
234 gchar *path, gchar *arg2, gpointer data)
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
235 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
236 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
237 GValue val;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
238 if(arg2[0] == '\0') {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
239 gdk_beep();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
240 return;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
241 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
242 memset(&val, 0, sizeof(val));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
243 g_return_if_fail(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model), &iter, path));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
244 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, GPOINTER_TO_INT(data), &val);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
245 if(strcmp(arg2, g_value_get_string(&val))) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
246 gtk_list_store_set(model, &iter, GPOINTER_TO_INT(data), arg2, -1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
247 save_list();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
248 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
249 g_value_unset(&val);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
250 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
251
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
252 static void list_add_new()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
253 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
254 GtkTreeIter iter;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
255
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
256 gtk_list_store_append(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
257 gtk_list_store_set(model, &iter,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
258 0, gtk_entry_get_text(GTK_ENTRY(bad_entry)),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
259 1, gtk_entry_get_text(GTK_ENTRY(good_entry)),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
260 -1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
261 gtk_editable_select_region(GTK_EDITABLE(bad_entry), 0, -1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
262 gtk_widget_grab_focus(bad_entry);
4601
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
263
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
264 save_list();
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
265 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
266
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
267 static void add_selected_row_to_list(GtkTreeModel *model, GtkTreePath *path,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
268 GtkTreeIter *iter, gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
269 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
270 GSList **list = (GSList **)data;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
271 *list = g_slist_append(*list, gtk_tree_path_copy(path) );
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
272 }
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
273
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
274
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
275 static void remove_row(void *data1, gpointer data2)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
276 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
277 GtkTreePath *path = (GtkTreePath*)data1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
278 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
279 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
280 gtk_list_store_remove(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
281 gtk_tree_path_free(path);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
282 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
283
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
284 static void list_delete()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
285 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
286 GtkTreeSelection *sel;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
287 GSList *list = NULL;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
288
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
289 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
290 gtk_tree_selection_selected_foreach(sel, add_selected_row_to_list, &list);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
291
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
292 g_slist_foreach(list, remove_row, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
293 g_slist_free(list);
4601
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
294
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
295 save_list();
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
296 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
297
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
298 static void save_list()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
299 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
300 FILE *f;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
301 char *name;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
302 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
303 char tempfilename[BUF_LONG];
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
304 int fd;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
305
8596
56360561af5e [gaim-migrate @ 9347]
Luke Schierer <lschiere@pidgin.im>
parents: 8579
diff changeset
306 name = g_build_filename(gaim_user_dir(), "dict", NULL);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
307 strcpy(tempfilename, name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
308 strcat(tempfilename,".XXXXXX");
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
309 fd = g_mkstemp(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
310 if(fd<0) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
311 perror(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
312 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
313 return;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
314 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
315 if (!(f = fdopen(fd, "w"))) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
316 perror("fdopen");
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
317 close(fd);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
318 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
319 return;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
320 }
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
321
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
322 fchmod(fd, S_IRUSR | S_IWUSR);
4373
dcc6c130c6d9 [gaim-migrate @ 4639]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4363
diff changeset
323
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
324 if(gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter)) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
325 do {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
326 GValue val0, val1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
327 memset(&val0, 0, sizeof(val0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
328 memset(&val1, 0, sizeof(val1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
329 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, 0, &val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
330 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, 1, &val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
331 fprintf(f, "BAD %s\nGOOD %s\n\n", g_value_get_string(&val0), g_value_get_string(&val1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
332 g_value_unset(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
333 g_value_unset(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
334 } while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
335 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
336 if(fclose(f)) {
5227
6d1707dc8c3d [gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
337 gaim_debug(GAIM_DEBUG_ERROR, "spellchk",
6d1707dc8c3d [gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
338 "Error writing to %s: %m\n", tempfilename);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
339 unlink(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
340 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
341 return;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
342 }
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
343 rename(tempfilename, name);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
344 g_free(name);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
345 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
346
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
347 static void
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
348 check_if_something_is_selected(GtkTreeModel *model,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
349 GtkTreePath *path, GtkTreeIter *iter, gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
350 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
351 *((gboolean*)data) = TRUE;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
352 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
353
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
354 static void on_selection_changed(GtkTreeSelection *sel,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
355 gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
356 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
357 gboolean is = FALSE;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
358 gtk_tree_selection_selected_foreach(sel, check_if_something_is_selected, &is);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
359 gtk_widget_set_sensitive((GtkWidget*)data, is);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
360 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
361
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
362 static gboolean non_empty(const char *s)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
363 {
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
364 while(*s && g_ascii_isspace(*s))
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
365 s++;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
366 return *s;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
367 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
368
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
369 static void on_entry_changed(GtkEditable *editable, gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
370 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
371 gtk_widget_set_sensitive((GtkWidget*)data,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
372 non_empty(gtk_entry_get_text(GTK_ENTRY(bad_entry))) &&
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
373 non_empty(gtk_entry_get_text(GTK_ENTRY(good_entry))));
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
374 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
375
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
376 /*
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
377 * EXPORTED FUNCTIONS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
378 */
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
379
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
380 static gboolean
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
381 plugin_load(GaimPlugin *plugin)
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
382 {
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
383 void *conv_handle = gaim_conversations_get_handle();
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
384
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
385 load_conf();
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
386
8579
8720427121f5 [gaim-migrate @ 9329]
Mark Doliner <mark@kingant.net>
parents: 7631
diff changeset
387 gaim_signal_connect(conv_handle, "writing-im-msg",
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
388 plugin, GAIM_CALLBACK(substitute_words), NULL);
8579
8720427121f5 [gaim-migrate @ 9329]
Mark Doliner <mark@kingant.net>
parents: 7631
diff changeset
389 gaim_signal_connect(conv_handle, "writing-chat-msg",
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
390 plugin, GAIM_CALLBACK(substitute_words), NULL);
8672
142108e89399 [gaim-migrate @ 9424]
Luke Schierer <lschiere@pidgin.im>
parents: 8596
diff changeset
391 gaim_signal_connect(conv_handle, "sending-im-msg",
142108e89399 [gaim-migrate @ 9424]
Luke Schierer <lschiere@pidgin.im>
parents: 8596
diff changeset
392 plugin, GAIM_CALLBACK(substitute_words), NULL);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
393
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
394 return TRUE;
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
395 }
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
396
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
397 static GtkWidget *
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
398 get_config_frame(GaimPlugin *plugin)
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
399 {
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
400 GtkWidget *ret, *vbox, *win;
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
401 GtkWidget *hbox, *label;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
402 GtkWidget *button;
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
403 GtkSizeGroup *sg;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
404 GtkCellRenderer *renderer;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
405 GtkTreeViewColumn *column;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
406
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
407 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
408
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
409 ret = gtk_vbox_new(FALSE, 18);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
410 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
411
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5227
diff changeset
412 vbox = gaim_gtk_make_frame(ret, _("Text Replacements"));
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
413 gtk_container_set_border_width(GTK_CONTAINER(vbox), 4);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
414 gtk_widget_set_size_request(vbox, 300, -1);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
415 gtk_widget_show (vbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
416
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
417 win = gtk_scrolled_window_new(0, 0);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
418 gtk_container_add(GTK_CONTAINER(vbox), win);
4750
03ea71acade3 [gaim-migrate @ 5065]
Christian Hammond <chipx86@chipx86.com>
parents: 4601
diff changeset
419 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(win),
03ea71acade3 [gaim-migrate @ 5065]
Christian Hammond <chipx86@chipx86.com>
parents: 4601
diff changeset
420 GTK_SHADOW_IN);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
421 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (win),
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
422 GTK_POLICY_AUTOMATIC,
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
423 GTK_POLICY_AUTOMATIC);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
424 gtk_widget_show(win);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
425
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
426 tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
427 /* gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree), TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
428 gtk_widget_set_size_request(tree, 260,200);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
429
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
430 renderer = gtk_cell_renderer_text_new ();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
431 g_object_set (G_OBJECT (renderer),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
432 "editable", TRUE,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
433 NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
434 g_signal_connect(G_OBJECT(renderer), "edited",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
435 G_CALLBACK(on_edited), GINT_TO_POINTER(0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
436 column = gtk_tree_view_column_new_with_attributes (_("You type"),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
437 renderer, "text", BAD_COLUMN, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
438 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
439 gtk_tree_view_column_set_fixed_width(column, 130);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
440 /* gtk_tree_view_column_set_resizable(column, TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
441 gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
442 renderer = gtk_cell_renderer_text_new ();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
443 g_object_set (G_OBJECT (renderer),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
444 "editable", TRUE,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
445 NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
446 g_signal_connect(G_OBJECT(renderer), "edited",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
447 G_CALLBACK(on_edited), GINT_TO_POINTER(1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
448 column = gtk_tree_view_column_new_with_attributes (_("You send"),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
449 renderer, "text", GOOD_COLUMN, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
450 gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
451 gtk_tree_view_column_set_fixed_width(column, 130);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
452 /* gtk_tree_view_column_set_resizable(column, TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
453 gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
454 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
455 GTK_SELECTION_MULTIPLE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
456 gtk_container_add(GTK_CONTAINER(win), tree);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
457 gtk_widget_show(tree);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
458
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
459 hbox = gtk_hbutton_box_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
460 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
461 gtk_widget_show(hbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
462
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
463 button = gtk_button_new_from_stock(GTK_STOCK_DELETE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
464 g_signal_connect(G_OBJECT(button), "clicked",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
465 G_CALLBACK(list_delete), NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
466 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
467 gtk_widget_set_sensitive(button, FALSE);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
468
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
469 g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree))),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
470 "changed", G_CALLBACK(on_selection_changed), button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
471
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
472 gtk_widget_show(button);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
473
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5227
diff changeset
474 vbox = gaim_gtk_make_frame(ret, _("Add a new text replacement"));
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
475 gtk_widget_set_size_request(vbox, 300, -1);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
476
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
477 hbox = gtk_hbox_new(FALSE, 2);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
478 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
479 gtk_widget_show(hbox);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
480
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
481 label = gtk_label_new_with_mnemonic(_("You _type:"));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
482 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
483
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
484 bad_entry = gtk_entry_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
485 gtk_entry_set_max_length(GTK_ENTRY(bad_entry), 40);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
486 gtk_box_pack_start(GTK_BOX(hbox), bad_entry, TRUE, TRUE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
487 gtk_size_group_add_widget(sg, bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
488 gtk_label_set_mnemonic_widget(GTK_LABEL(label), bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
489 gtk_widget_show(bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
490
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
491 hbox = gtk_hbox_new(FALSE, 2);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
492 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
493 gtk_widget_show(hbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
494
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
495 label = gtk_label_new_with_mnemonic(_("You _send:"));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
496 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
497
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
498 good_entry = gtk_entry_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
499 gtk_entry_set_max_length(GTK_ENTRY(good_entry), 255);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
500 gtk_box_pack_start(GTK_BOX(hbox), good_entry, TRUE, TRUE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
501 gtk_size_group_add_widget(sg, good_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
502 gtk_label_set_mnemonic_widget(GTK_LABEL(label), good_entry);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
503 gtk_widget_show(good_entry);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
504
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
505 hbox = gtk_hbutton_box_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
506 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
507 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
508 g_signal_connect(G_OBJECT(button), "clicked",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
509 G_CALLBACK(list_add_new), NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
510 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
511 g_signal_connect(G_OBJECT(bad_entry), "changed", G_CALLBACK(on_entry_changed), button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
512 g_signal_connect(G_OBJECT(good_entry), "changed", G_CALLBACK(on_entry_changed), button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
513 gtk_widget_set_sensitive(button, FALSE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
514 gtk_widget_show(button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
515
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
516
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
517 gtk_widget_show_all(ret);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
518 return ret;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
519 }
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
520
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
521 static GaimGtkPluginUiInfo ui_info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
522 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
523 get_config_frame
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
524 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
525
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
526 static GaimPluginInfo info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
527 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
528 2,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
529 GAIM_PLUGIN_STANDARD,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
530 GAIM_GTK_PLUGIN_TYPE,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
531 0,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
532 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
533 GAIM_PRIORITY_DEFAULT,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
534 SPELLCHECK_PLUGIN_ID,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
535 N_("Text replacement"),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
536 VERSION,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
537 N_("Replaces text in outgoing messages according to user-defined rules."),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
538 N_("Replaces text in outgoing messages according to user-defined rules."),
6392
e9974608b319 [gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
539 "Eric Warmenhoven <eric@warmenhoven.org>",
6371
8f94cce8faa5 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6250
diff changeset
540 GAIM_WEBSITE,
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
541 plugin_load,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
542 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
543 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
544 &ui_info,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
545 NULL
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
546 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
547
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
548 static void
5920
7d385de2f9cd [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
549 init_plugin(GaimPlugin *plugin)
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
550 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
551 }
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
552
6063
5239a3b4ab33 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
553 GAIM_INIT_PLUGIN(spellcheck, init_plugin, info)