annotate plugins/spellchk.c @ 10563:3e2cd3fe8897

[gaim-migrate @ 11944] Fix a problem Justin Wood noticed and supplied sf patch 920581 to fix My fix is slightly difference. The problem was that, if an iChat user had an available message up, then they changed their buddy icon, Gaim would stop showing the available message for the person. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 01 Feb 2005 05:19:27 +0000
parents 8f2b74c5aa24
children 0f7452b1f777
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"
9791
4a15962c344a [gaim-migrate @ 10659]
Mark Doliner <mark@kingant.net>
parents: 8993
diff changeset
6 #include "gtkgaim.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
7
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
8 #include "debug.h"
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
9 #include "signals.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
10 #include "util.h"
9943
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
11 #include "version.h"
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
12
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
13 #include "gtkplugin.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5587
diff changeset
14 #include "gtkutils.h"
4202
59751fe608c5 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4165
diff changeset
15
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
16 #include <stdio.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
17 #include <string.h>
6849
3c885e6784ee [gaim-migrate @ 7394]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6780
diff changeset
18 #ifndef _WIN32
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
19 #include <strings.h>
6849
3c885e6784ee [gaim-migrate @ 7394]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6780
diff changeset
20 #endif
6735
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
21 #include <sys/types.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
22 #include <sys/stat.h>
b0913ab92893 [gaim-migrate @ 7267]
Mark Doliner <mark@kingant.net>
parents: 6485
diff changeset
23
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
24 #define SPELLCHECK_PLUGIN_ID "gtk-spellcheck"
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
25
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
26 enum {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
27 BAD_COLUMN,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
28 GOOD_COLUMN,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
29 N_COLUMNS
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
30 };
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
31
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
32 static int num_words(const char *);
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
33 static int get_word(char *, int);
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
34 static char *have_word(char *, int);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
35 static void substitute(char **, int, int, const char *);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
36 static GtkListStore *model;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
37
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
38 static gboolean
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
39 substitute_words(GaimAccount *account, GaimConversation *conv,
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
40 char **message, void *data)
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
41 {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
42 int i, l;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
43 int word;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
44 char *tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
45
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
46 if (message == NULL || *message == NULL)
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
47 return FALSE;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
48
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
49 l = num_words(*message);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
50 for (i = 0; i < l; i++) {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
51 GtkTreeIter iter;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
52 word = get_word(*message, i);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
53 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
54 do {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
55 GValue val0, val1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
56 const char *bad, *good;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
57 memset(&val0, 0, sizeof(val0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
58 memset(&val1, 0, sizeof(val1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
59 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
60 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
61 tmp = have_word(*message, word);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
62 bad = g_value_get_string(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
63 good = g_value_get_string(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
64 if (!strcmp(tmp, bad)) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
65 substitute(message, word, strlen(bad),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
66 good);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
67 l += num_words(good) - num_words(bad);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
68 i += num_words(good) - num_words(bad);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
69 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
70 free(tmp);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
71 g_value_unset(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
72 g_value_unset(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
73 } while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter));
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
74 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
75 }
6780
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
76
e9a730ad5a3c [gaim-migrate @ 7319]
Christian Hammond <chipx86@chipx86.com>
parents: 6735
diff changeset
77 return FALSE;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
78 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
79
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
80 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
81 int pos = *position, spos = pos;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
82
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
83 if (pos == len)
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
84 return 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
85
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
86 while (ibuf[pos++] != '\n') {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
87 if (pos == len)
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
88 return 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
89 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
90 pos--;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
91 ibuf[pos] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
92 *buf = &ibuf[spos];
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
93 pos++;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
94 *position = pos;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
95 return 1;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
96 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
97
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
98 static void load_conf() {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
99 const char * const defaultconf = "BAD r\nGOOD are\n\n"
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
100 "BAD u\nGOOD you\n\n"
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
101 "BAD teh\nGOOD the\n\n";
7466
fa0324675ed9 [gaim-migrate @ 8079]
Mark Doliner <mark@kingant.net>
parents: 6849
diff changeset
102 gchar *buf, *ibuf;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
103 char name[82];
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
104 char cmd[256];
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
105 int pnt = 0;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
106 gsize size;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
107
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
108 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
109
7466
fa0324675ed9 [gaim-migrate @ 8079]
Mark Doliner <mark@kingant.net>
parents: 6849
diff changeset
110 buf = g_build_filename(gaim_user_dir(), "dict", NULL);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
111 g_file_get_contents(buf, &ibuf, &size, NULL);
7606
08c9d0dcf906 [gaim-migrate @ 8229]
Luke Schierer <lschiere@pidgin.im>
parents: 7466
diff changeset
112 g_free(buf);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
113 if(!ibuf) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
114 ibuf = g_strdup(defaultconf);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
115 size = strlen(defaultconf);
106
e05e6373ea5a [gaim-migrate @ 116]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 103
diff changeset
116 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
117
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
118 cmd[0] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
119 name[0] = 0;
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
120
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
121 while(buf_get_line(ibuf, &buf, &pnt, size)) {
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
122 if (*buf != '#') {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
123 if (!strncasecmp(buf, "BAD ", 4))
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
124 strncpy(name, buf + 4, 81);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
125 if (!strncasecmp(buf, "GOOD ", 5)) {
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
126 strncpy(cmd, buf + 5, 255);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
127 if (*name) {
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
128 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
129 gtk_list_store_append(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
130 gtk_list_store_set(model, &iter,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
131 0, g_strdup(name),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
132 1, g_strdup(cmd),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
133 -1);
111
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 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
136 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
137 }
7606
08c9d0dcf906 [gaim-migrate @ 8229]
Luke Schierer <lschiere@pidgin.im>
parents: 7466
diff changeset
138 g_free(ibuf);
10532
8f2b74c5aa24 [gaim-migrate @ 11860]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10234
diff changeset
139 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model),
8f2b74c5aa24 [gaim-migrate @ 11860]
Etan Reisner <pidgin@unreliablesource.net>
parents: 10234
diff changeset
140 0, GTK_SORT_ASCENDING);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
141 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
142
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
143
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
144
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
145 static int num_words(const char *m) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
146 int count = 0;
7631
ea2d07ad05a9 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 7606
diff changeset
147 guint pos;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
148 int state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
149
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
150 for (pos = 0; pos < strlen(m); pos++) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
151 switch (state) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
152 case 0: /* expecting word */
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
153 if (!g_ascii_isspace(m[pos]) && !g_ascii_ispunct(m[pos])) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
154 count++;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
155 state = 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
156 } else if (m[pos] == '<')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
157 state = 2;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
158 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
159 case 1: /* inside word */
112
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
160 if (m[pos] == '<')
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
161 state = 2;
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
162 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
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 case 2: /* inside HTML tag */
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
166 if (m[pos] == '>')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
167 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
168 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
169 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
170 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
171 return count;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
172 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
173
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
174 static int get_word(char *m, int word) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
175 int count = 0;
7631
ea2d07ad05a9 [gaim-migrate @ 8255]
Nathan Walp <nwalp@pidgin.im>
parents: 7606
diff changeset
176 guint pos = 0;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
177 int state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
178
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
179 for (pos = 0; pos < strlen(m) && count <= word; pos++) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
180 switch (state) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
181 case 0:
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
182 if (!g_ascii_isspace(m[pos]) && !g_ascii_ispunct(m[pos])) {
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
183 count++;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
184 state = 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
185 } else if (m[pos] == '<')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
186 state = 2;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
187 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
188 case 1:
112
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
189 if (m[pos] == '<')
a57fd3390ee4 [gaim-migrate @ 122]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 111
diff changeset
190 state = 2;
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
191 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
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 case 2:
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
195 if (m[pos] == '>')
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
196 state = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
197 break;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
198 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
199 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
200 return pos - 1;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
201 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
202
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
203 static char *have_word(char *m, int pos) {
3733
871bdebc3037 [gaim-migrate @ 3871]
Sean Egan <seanegan@gmail.com>
parents: 3728
diff changeset
204 char *tmp = strpbrk(&m[pos], "' \t\f\r\n\"><.?!-,/");
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
205 int len = (int)(tmp - &m[pos]);
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 if (tmp == NULL) {
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
208 tmp = strdup(&m[pos]);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
209 return tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
210 }
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 tmp = malloc(len + 1);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
213 tmp[0] = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
214 strncat(tmp, &m[pos], len);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
215
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
216 return tmp;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
217 }
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
218
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
219 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
220 char *new = g_malloc(strlen(*mes) + strlen(text) + 1);
8673
5891a1a6fc7e [gaim-migrate @ 9425]
Luke Schierer <lschiere@pidgin.im>
parents: 8672
diff changeset
221 char *tmp;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
222 new[0] = 0;
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
223
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
224 strncat(new, *mes, pos);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
225 strcat(new, text);
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
226
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
227 strcat(new, &(*mes)[pos + m]);
8673
5891a1a6fc7e [gaim-migrate @ 9425]
Luke Schierer <lschiere@pidgin.im>
parents: 8672
diff changeset
228 tmp = *mes;
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
229 *mes = new;
8673
5891a1a6fc7e [gaim-migrate @ 9425]
Luke Schierer <lschiere@pidgin.im>
parents: 8672
diff changeset
230 g_free(tmp);
103
c5a1a1b05c26 [gaim-migrate @ 113]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
231 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
232
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
233 static GtkWidget *tree;
1081
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
234 static GtkWidget *bad_entry;
efcacae6acdb [gaim-migrate @ 1091]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 1047
diff changeset
235 static GtkWidget *good_entry;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
236
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
237 static void save_list();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
238
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
239 static void on_edited(GtkCellRendererText *cellrenderertext,
6116
de49cfd8fd59 [gaim-migrate @ 6579]
Mark Doliner <mark@kingant.net>
parents: 6063
diff changeset
240 gchar *path, gchar *arg2, gpointer data)
4348
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 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
243 GValue val;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
244 if(arg2[0] == '\0') {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
245 gdk_beep();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
246 return;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
247 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
248 memset(&val, 0, sizeof(val));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
249 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
250 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
251 if(strcmp(arg2, g_value_get_string(&val))) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
252 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
253 save_list();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
254 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
255 g_value_unset(&val);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
256 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
257
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
258 static void list_add_new()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
259 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
260 GtkTreeIter iter;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
261
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
262 gtk_list_store_append(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
263 gtk_list_store_set(model, &iter,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
264 0, gtk_entry_get_text(GTK_ENTRY(bad_entry)),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
265 1, gtk_entry_get_text(GTK_ENTRY(good_entry)),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
266 -1);
10234
d672afd04dcd [gaim-migrate @ 11369]
Mark Doliner <mark@kingant.net>
parents: 9943
diff changeset
267 gtk_editable_delete_text(GTK_EDITABLE(bad_entry), 0, -1);
d672afd04dcd [gaim-migrate @ 11369]
Mark Doliner <mark@kingant.net>
parents: 9943
diff changeset
268 gtk_editable_delete_text(GTK_EDITABLE(good_entry), 0, -1);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
269 gtk_widget_grab_focus(bad_entry);
4601
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
270
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
271 save_list();
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
272 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
273
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
274 static void add_selected_row_to_list(GtkTreeModel *model, GtkTreePath *path,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
275 GtkTreeIter *iter, gpointer data)
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 GSList **list = (GSList **)data;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
278 *list = g_slist_append(*list, gtk_tree_path_copy(path) );
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
279 }
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
280
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
281
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
282 static void remove_row(void *data1, gpointer data2)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
283 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
284 GtkTreePath *path = (GtkTreePath*)data1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
285 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
286 gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
287 gtk_list_store_remove(model, &iter);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
288 gtk_tree_path_free(path);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
289 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
290
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
291 static void list_delete()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
292 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
293 GtkTreeSelection *sel;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
294 GSList *list = NULL;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
295
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
296 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
297 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
298
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
299 g_slist_foreach(list, remove_row, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
300 g_slist_free(list);
4601
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
301
203741ac86b3 [gaim-migrate @ 4888]
Luke Schierer <lschiere@pidgin.im>
parents: 4585
diff changeset
302 save_list();
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
303 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
304
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
305 static void save_list()
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
306 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
307 FILE *f;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
308 char *name;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
309 GtkTreeIter iter;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
310 char tempfilename[BUF_LONG];
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
311 int fd;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
312
8596
56360561af5e [gaim-migrate @ 9347]
Luke Schierer <lschiere@pidgin.im>
parents: 8579
diff changeset
313 name = g_build_filename(gaim_user_dir(), "dict", NULL);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
314 strcpy(tempfilename, name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
315 strcat(tempfilename,".XXXXXX");
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
316 fd = g_mkstemp(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
317 if(fd<0) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
318 perror(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
319 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
320 return;
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 if (!(f = fdopen(fd, "w"))) {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
323 perror("fdopen");
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
324 close(fd);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
325 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
326 return;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
327 }
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
328
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
329 fchmod(fd, S_IRUSR | S_IWUSR);
4373
dcc6c130c6d9 [gaim-migrate @ 4639]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4363
diff changeset
330
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
331 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
332 do {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
333 GValue val0, val1;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
334 memset(&val0, 0, sizeof(val0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
335 memset(&val1, 0, sizeof(val1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
336 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
337 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
338 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
339 g_value_unset(&val0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
340 g_value_unset(&val1);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
341 } while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
342 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
343 if(fclose(f)) {
5227
6d1707dc8c3d [gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
344 gaim_debug(GAIM_DEBUG_ERROR, "spellchk",
6d1707dc8c3d [gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
345 "Error writing to %s: %m\n", tempfilename);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
346 unlink(tempfilename);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
347 g_free(name);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
348 return;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
349 }
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
350 rename(tempfilename, name);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
351 g_free(name);
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
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
355 check_if_something_is_selected(GtkTreeModel *model,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
356 GtkTreePath *path, GtkTreeIter *iter, gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
357 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
358 *((gboolean*)data) = TRUE;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
359 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
360
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
361 static void on_selection_changed(GtkTreeSelection *sel,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
362 gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
363 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
364 gboolean is = FALSE;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
365 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
366 gtk_widget_set_sensitive((GtkWidget*)data, is);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
367 }
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
368
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
369 static gboolean non_empty(const char *s)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
370 {
6250
1c8caacac1de [gaim-migrate @ 6746]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6116
diff changeset
371 while(*s && g_ascii_isspace(*s))
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
372 s++;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
373 return *s;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
374 }
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
375
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
376 static void on_entry_changed(GtkEditable *editable, gpointer data)
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
377 {
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
378 gtk_widget_set_sensitive((GtkWidget*)data,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
379 non_empty(gtk_entry_get_text(GTK_ENTRY(bad_entry))) &&
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
380 non_empty(gtk_entry_get_text(GTK_ENTRY(good_entry))));
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
381 }
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
382
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
383 /*
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
384 * EXPORTED FUNCTIONS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
385 */
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
386
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
387 static gboolean
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
388 plugin_load(GaimPlugin *plugin)
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
389 {
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
390 void *conv_handle = gaim_conversations_get_handle();
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
391
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
392 load_conf();
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
393
8579
8720427121f5 [gaim-migrate @ 9329]
Mark Doliner <mark@kingant.net>
parents: 7631
diff changeset
394 gaim_signal_connect(conv_handle, "writing-im-msg",
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
395 plugin, GAIM_CALLBACK(substitute_words), NULL);
8579
8720427121f5 [gaim-migrate @ 9329]
Mark Doliner <mark@kingant.net>
parents: 7631
diff changeset
396 gaim_signal_connect(conv_handle, "writing-chat-msg",
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
397 plugin, GAIM_CALLBACK(substitute_words), NULL);
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
398
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
399 return TRUE;
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
400 }
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3565
diff changeset
401
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
402 static GtkWidget *
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
403 get_config_frame(GaimPlugin *plugin)
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
404 {
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
405 GtkWidget *ret, *vbox, *win;
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
406 GtkWidget *hbox, *label;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
407 GtkWidget *button;
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
408 GtkSizeGroup *sg;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
409 GtkCellRenderer *renderer;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
410 GtkTreeViewColumn *column;
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
411
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
412 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
413
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
414 ret = gtk_vbox_new(FALSE, 18);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
415 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
416
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5227
diff changeset
417 vbox = gaim_gtk_make_frame(ret, _("Text Replacements"));
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
418 gtk_container_set_border_width(GTK_CONTAINER(vbox), 4);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
419 gtk_widget_set_size_request(vbox, 300, -1);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
420 gtk_widget_show (vbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
421
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
422 win = gtk_scrolled_window_new(0, 0);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
423 gtk_container_add(GTK_CONTAINER(vbox), win);
4750
03ea71acade3 [gaim-migrate @ 5065]
Christian Hammond <chipx86@chipx86.com>
parents: 4601
diff changeset
424 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(win),
03ea71acade3 [gaim-migrate @ 5065]
Christian Hammond <chipx86@chipx86.com>
parents: 4601
diff changeset
425 GTK_SHADOW_IN);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
426 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (win),
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
427 GTK_POLICY_AUTOMATIC,
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
428 GTK_POLICY_AUTOMATIC);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
429 gtk_widget_show(win);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
430
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
431 tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
432 /* gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree), TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
433 gtk_widget_set_size_request(tree, 260,200);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
434
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
435 renderer = gtk_cell_renderer_text_new ();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
436 g_object_set (G_OBJECT (renderer),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
437 "editable", TRUE,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
438 NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
439 g_signal_connect(G_OBJECT(renderer), "edited",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
440 G_CALLBACK(on_edited), GINT_TO_POINTER(0));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
441 column = gtk_tree_view_column_new_with_attributes (_("You type"),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
442 renderer, "text", BAD_COLUMN, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
443 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
444 gtk_tree_view_column_set_fixed_width(column, 130);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
445 /* gtk_tree_view_column_set_resizable(column, TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
446 gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
447 renderer = gtk_cell_renderer_text_new ();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
448 g_object_set (G_OBJECT (renderer),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
449 "editable", TRUE,
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
450 NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
451 g_signal_connect(G_OBJECT(renderer), "edited",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
452 G_CALLBACK(on_edited), GINT_TO_POINTER(1));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
453 column = gtk_tree_view_column_new_with_attributes (_("You send"),
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
454 renderer, "text", GOOD_COLUMN, NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
455 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
456 gtk_tree_view_column_set_fixed_width(column, 130);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
457 /* gtk_tree_view_column_set_resizable(column, TRUE); */
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
458 gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
459 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
460 GTK_SELECTION_MULTIPLE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
461 gtk_container_add(GTK_CONTAINER(win), tree);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
462 gtk_widget_show(tree);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
463
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
464 hbox = gtk_hbutton_box_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
465 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
466 gtk_widget_show(hbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
467
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
468 button = gtk_button_new_from_stock(GTK_STOCK_DELETE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
469 g_signal_connect(G_OBJECT(button), "clicked",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
470 G_CALLBACK(list_delete), NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
471 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
472 gtk_widget_set_sensitive(button, FALSE);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
473
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
474 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
475 "changed", G_CALLBACK(on_selection_changed), button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
476
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
477 gtk_widget_show(button);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
478
5530
2c4c975620f0 [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5227
diff changeset
479 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
480 gtk_widget_set_size_request(vbox, 300, -1);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
481
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
482 hbox = gtk_hbox_new(FALSE, 2);
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
483 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
484 gtk_widget_show(hbox);
6485
70d5122bc3ff [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
485
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
486 label = gtk_label_new_with_mnemonic(_("You _type:"));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
487 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
488
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
489 bad_entry = gtk_entry_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
490 gtk_entry_set_max_length(GTK_ENTRY(bad_entry), 40);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
491 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
492 gtk_size_group_add_widget(sg, bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
493 gtk_label_set_mnemonic_widget(GTK_LABEL(label), bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
494 gtk_widget_show(bad_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
495
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
496 hbox = gtk_hbox_new(FALSE, 2);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
497 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
498 gtk_widget_show(hbox);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
499
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
500 label = gtk_label_new_with_mnemonic(_("You _send:"));
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
501 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
502
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
503 good_entry = gtk_entry_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
504 gtk_entry_set_max_length(GTK_ENTRY(good_entry), 255);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
505 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
506 gtk_size_group_add_widget(sg, good_entry);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
507 gtk_label_set_mnemonic_widget(GTK_LABEL(label), good_entry);
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
508 gtk_widget_show(good_entry);
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
509
4348
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
510 hbox = gtk_hbutton_box_new();
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
511 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
512 button = gtk_button_new_from_stock(GTK_STOCK_ADD);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
513 g_signal_connect(G_OBJECT(button), "clicked",
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
514 G_CALLBACK(list_add_new), NULL);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
515 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
516 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
517 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
518 gtk_widget_set_sensitive(button, FALSE);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
519 gtk_widget_show(button);
922b66840a51 [gaim-migrate @ 4613]
Luke Schierer <lschiere@pidgin.im>
parents: 4202
diff changeset
520
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
521
3565
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
522 gtk_widget_show_all(ret);
154c4a9d9b6d [gaim-migrate @ 3660]
Sean Egan <seanegan@gmail.com>
parents: 3551
diff changeset
523 return ret;
111
d927bb34e2c6 [gaim-migrate @ 121]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 106
diff changeset
524 }
5205
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 GaimGtkPluginUiInfo ui_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 get_config_frame
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
529 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
530
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
531 static GaimPluginInfo info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
532 {
9943
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
533 GAIM_PLUGIN_MAGIC,
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
534 GAIM_MAJOR_VERSION,
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
535 GAIM_MINOR_VERSION,
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
536 GAIM_PLUGIN_STANDARD,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
537 GAIM_GTK_PLUGIN_TYPE,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
538 0,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
539 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
540 GAIM_PRIORITY_DEFAULT,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
541 SPELLCHECK_PLUGIN_ID,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
542 N_("Text replacement"),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
543 VERSION,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
544 N_("Replaces text in outgoing messages according to user-defined rules."),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
545 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
546 "Eric Warmenhoven <eric@warmenhoven.org>",
6371
8f94cce8faa5 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6250
diff changeset
547 GAIM_WEBSITE,
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
548 plugin_load,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
549 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
550 NULL,
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
551 &ui_info,
8993
294ae6548d4e [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
552 NULL,
294ae6548d4e [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
553 NULL,
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
554 NULL
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
555 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
556
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
557 static void
5920
7d385de2f9cd [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
558 init_plugin(GaimPlugin *plugin)
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
559 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
560 }
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4750
diff changeset
561
6063
5239a3b4ab33 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
562 GAIM_INIT_PLUGIN(spellcheck, init_plugin, info)