| 239 g_signal_connect_swapped(G_OBJECT(toolbar), "show", G_CALLBACK(gtk_widget_show), sep); |
239 g_signal_connect_swapped(G_OBJECT(toolbar), "show", G_CALLBACK(gtk_widget_show), sep); |
| 240 g_signal_connect_swapped(G_OBJECT(toolbar), "hide", G_CALLBACK(gtk_widget_hide), sep); |
240 g_signal_connect_swapped(G_OBJECT(toolbar), "hide", G_CALLBACK(gtk_widget_hide), sep); |
| 241 gtk_widget_show(sep); |
241 gtk_widget_show(sep); |
| 242 } |
242 } |
| 243 |
243 |
| 244 webview = gtk_webview_new(); |
244 webview = gtk_webview_new(editable); |
| 245 gtk_webview_set_editable(GTK_WEBVIEW(webview), editable); |
|
| 246 if (editable && purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/spellcheck")) |
245 if (editable && purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/spellcheck")) |
| 247 pidgin_webview_set_spellcheck(GTK_WEBVIEW(webview), TRUE); |
246 pidgin_webview_set_spellcheck(GTK_WEBVIEW(webview), TRUE); |
| 248 gtk_widget_show(webview); |
247 gtk_widget_show(webview); |
| 249 |
248 |
| 250 if (editable) { |
249 if (editable) { |
| 251 gtk_webviewtoolbar_attach(GTK_WEBVIEWTOOLBAR(toolbar), webview); |
250 gtk_webviewtoolbar_attach(GTK_WEBVIEWTOOLBAR(toolbar), webview); |
| 252 gtk_webviewtoolbar_associate_smileys(GTK_WEBVIEWTOOLBAR(toolbar), "default"); |
251 gtk_webviewtoolbar_associate_smileys(GTK_WEBVIEWTOOLBAR(toolbar), "default"); |
| |
252 gtk_webview_set_toolbar(webview, toolbar); |
| 253 } |
253 } |
| 254 pidgin_setup_webview(webview); |
254 pidgin_setup_webview(webview); |
| 255 |
255 |
| 256 sw = pidgin_make_scrollable(webview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1); |
256 sw = pidgin_make_scrollable(webview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1); |
| 257 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); |
257 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); |
| 259 gtk_webview_set_vadjustment(GTK_WEBVIEW(webview), |
259 gtk_webview_set_vadjustment(GTK_WEBVIEW(webview), |
| 260 gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw))); |
260 gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw))); |
| 261 |
261 |
| 262 if (webview_ret != NULL) |
262 if (webview_ret != NULL) |
| 263 *webview_ret = webview; |
263 *webview_ret = webview; |
| 264 |
|
| 265 if (editable && (toolbar_ret != NULL)) |
|
| 266 *toolbar_ret = toolbar; |
|
| 267 |
264 |
| 268 if (sw_ret != NULL) |
265 if (sw_ret != NULL) |
| 269 *sw_ret = sw; |
266 *sw_ret = sw; |
| 270 |
267 |
| 271 return frame; |
268 return frame; |