comparison src/conversation.c @ 4263:74f65a3d2a1f

[gaim-migrate @ 4514] I wanted to get this into cvs before I went to bed. Now proto-specific themes will work. The code's a bit crude at parts and it's not as fast as I'd like, but I can work some more on it tomorrow. Just figured you'd want to get a look at this. 8 penguin points to whoever finds out why gtk_smiley_tree_destroy (commented out right now, causing leakage) segfaults on me now. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Thu, 09 Jan 2003 09:41:49 +0000
parents 7103653dd34e
children 12d3ca8f5b5f
comparison
equal deleted inserted replaced
4262:7103653dd34e 4263:74f65a3d2a1f
84 /*------------------------------------------------------------------------*/ 84 /*------------------------------------------------------------------------*/
85 /* Helpers */ 85 /* Helpers */
86 /*------------------------------------------------------------------------*/ 86 /*------------------------------------------------------------------------*/
87 87
88 88
89 void gaim_setup_imhtml_smileys(GtkWidget *imhtml)
90 {
91 /* This is ugly right now--it will get better when the themable smileys come */
92
93
94 char *filename;
95 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "smile.png", NULL);
96 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":)", NULL, filename);
97 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-)", NULL, filename);
98 g_free(filename);
99
100 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "sad.png", NULL);
101 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":(", NULL, filename);
102 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-(", NULL, filename);
103 g_free(filename);
104
105 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "wink.png", NULL);
106 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ";)", NULL, filename);
107 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ";-)", NULL, filename);
108 g_free(filename);
109
110 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "tongue.png", NULL);
111 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-p", NULL, filename);
112 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-P", NULL, filename);
113 g_free(filename);
114
115 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "scream.png", NULL);
116 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "=-O", NULL, filename);
117 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "=-o", NULL, filename);
118 g_free(filename);
119
120 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "kiss.png", NULL);
121 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-*", NULL, filename);
122 g_free(filename);
123
124 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "yell.png", NULL);
125 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ">:o", NULL, filename);
126 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ">:O", NULL, filename);
127 g_free(filename);
128
129 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "cool.png", NULL);
130 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "8-)", NULL, filename);
131 g_free(filename);
132
133 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "moneymouth.png", NULL);
134 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-$", NULL, filename);
135 g_free(filename);
136
137 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "burp.png", NULL);
138 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-!", NULL, filename);
139 g_free(filename);
140
141 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "embarrassed.png", NULL);
142 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-[", NULL, filename);
143 g_free(filename);
144
145 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "cry.png", NULL);
146 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":'(", NULL, filename);
147 g_free(filename);
148
149 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "think.png", NULL);
150 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-/", NULL, filename);
151 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-\\", NULL, filename);
152 g_free(filename);
153
154 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "crossedlips.png", NULL);
155 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-x", NULL, filename);
156 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-X", NULL, filename);
157 g_free(filename);
158
159 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "bigsmile.png", NULL);
160 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-d", NULL, filename);
161 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-D", NULL, filename);
162 g_free(filename);
163
164 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "angel.png", NULL);
165 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "O:-)", NULL, filename);
166 g_free(filename);
167
168 /* "Secret" smileys */
169 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "luke.png", NULL);
170 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "C:)", NULL, filename);
171 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "C:-)", NULL, filename);
172 g_free(filename);
173
174 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "oneeye.png", NULL);
175 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "O-)", NULL, filename);
176 g_free(filename);
177
178 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "crazy.png", NULL);
179 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ">:)", NULL, filename);
180 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ">:-)", NULL, filename);
181 g_free(filename);
182
183 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "mrt.png", NULL);
184 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-o)))", NULL, filename);
185 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-O)))", NULL, filename);
186 g_free(filename);
187
188 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "download.png", NULL);
189 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), "8-|)", NULL, filename);
190 g_free(filename);
191
192 filename = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", "default", "farted.png", NULL);
193 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), ":-]", NULL, filename);
194 g_free(filename);
195 }
196 89
197 void gaim_setup_imhtml(GtkWidget *imhtml) 90 void gaim_setup_imhtml(GtkWidget *imhtml)
198 { 91 {
199 g_return_if_fail(imhtml != NULL); 92 g_return_if_fail(imhtml != NULL);
200 g_return_if_fail(GTK_IS_IMHTML(imhtml)); 93 g_return_if_fail(GTK_IS_IMHTML(imhtml));
201 if (!(convo_options & OPT_CONVO_SHOW_SMILEY)) 94 if (!(convo_options & OPT_CONVO_SHOW_SMILEY))
202 gtk_imhtml_show_smileys(GTK_IMHTML(imhtml), FALSE); 95 gtk_imhtml_show_smileys(GTK_IMHTML(imhtml), FALSE);
203 96
204 g_signal_connect(GTK_OBJECT(imhtml), "url_clicked", G_CALLBACK(open_url), NULL); 97 g_signal_connect(GTK_OBJECT(imhtml), "url_clicked", G_CALLBACK(open_url), NULL);
205 gaim_setup_imhtml_smileys(imhtml); 98 smiley_themeize(imhtml);
206 } 99 }
207 100
208 void quiet_set(GtkWidget *tb, int state) 101 void quiet_set(GtkWidget *tb, int state)
209 { 102 {
210 state_lock = 1; 103 state_lock = 1;
2244 2137
2245 update_buttons_by_protocol(cnv); 2138 update_buttons_by_protocol(cnv);
2246 2139
2247 update_icon(cnv); 2140 update_icon(cnv);
2248 update_checkbox(cnv); 2141 update_checkbox(cnv);
2249 gaim_setup_imhtml_smileys(cnv->text);
2250 } 2142 }
2251 2143
2252 int set_dispstyle(int chat) 2144 int set_dispstyle(int chat)
2253 { 2145 {
2254 int dispstyle; 2146 int dispstyle;
2408 set_convo_title(c); 2300 set_convo_title(c);
2409 update_buttons_by_protocol(c); 2301 update_buttons_by_protocol(c);
2410 2302
2411 update_icon(c); 2303 update_icon(c);
2412 update_checkbox(c); 2304 update_checkbox(c);
2413 gaim_setup_imhtml_smileys(c->text);
2414 } 2305 }
2415 2306
2416 void update_buttons_by_protocol(struct conversation *c) 2307 void update_buttons_by_protocol(struct conversation *c)
2417 { 2308 {
2418 if (!c->gc) { 2309 if (!c->gc) {