Mercurial > pidgin.yaz
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) { |