pidgin/gtkutils.c

branch
soc.2013.gobjectification.plugins
changeset 36459
b52f5391d12d
parent 36424
477889a0073c
parent 34874
e03d555394c5
child 36539
c73aa762b3e5
equal deleted inserted replaced
36458:a9cccad073e9 36459:b52f5391d12d
211 gtk_widget_show(button); 211 gtk_widget_show(button);
212 return button; 212 return button;
213 } 213 }
214 214
215 GtkWidget * 215 GtkWidget *
216 pidgin_create_webview(gboolean editable, GtkWidget **webview_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret) 216 pidgin_create_webview(gboolean editable, GtkWidget **webview_ret, GtkWidget **sw_ret)
217 { 217 {
218 GtkWidget *frame; 218 GtkWidget *frame;
219 GtkWidget *webview; 219 GtkWidget *webview;
220 GtkWidget *sep; 220 GtkWidget *sep;
221 GtkWidget *sw; 221 GtkWidget *sw;
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;

mercurial