Mercurial > pidgin.yaz
comparison pidgin/gtkutils.c @ 31839:7281d151e492
merged from im.pidgin.pidgin
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Thu, 17 Mar 2011 20:25:26 +0900 |
parents | fa88dc1dcabb d72d728226dc |
children | accce7b79737 |
comparison
equal
deleted
inserted
replaced
31648:fa88dc1dcabb | 31839:7281d151e492 |
---|---|
243 g_signal_connect_swapped(G_OBJECT(toolbar), "show", G_CALLBACK(gtk_widget_show), sep); | 243 g_signal_connect_swapped(G_OBJECT(toolbar), "show", G_CALLBACK(gtk_widget_show), sep); |
244 g_signal_connect_swapped(G_OBJECT(toolbar), "hide", G_CALLBACK(gtk_widget_hide), sep); | 244 g_signal_connect_swapped(G_OBJECT(toolbar), "hide", G_CALLBACK(gtk_widget_hide), sep); |
245 gtk_widget_show(sep); | 245 gtk_widget_show(sep); |
246 } | 246 } |
247 | 247 |
248 sw = gtk_scrolled_window_new(NULL, NULL); | |
249 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | |
250 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
251 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); | |
252 gtk_widget_show(sw); | |
253 | |
254 imhtml = gtk_imhtml_new(NULL, NULL); | 248 imhtml = gtk_imhtml_new(NULL, NULL); |
255 gtk_imhtml_set_editable(GTK_IMHTML(imhtml), editable); | 249 gtk_imhtml_set_editable(GTK_IMHTML(imhtml), editable); |
256 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml), GTK_IMHTML_ALL ^ GTK_IMHTML_IMAGE); | 250 gtk_imhtml_set_format_functions(GTK_IMHTML(imhtml), GTK_IMHTML_ALL ^ GTK_IMHTML_IMAGE); |
257 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(imhtml), GTK_WRAP_WORD_CHAR); | 251 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(imhtml), GTK_WRAP_WORD_CHAR); |
258 #ifdef USE_GTKSPELL | 252 #ifdef USE_GTKSPELL |
265 gtk_imhtmltoolbar_attach(GTK_IMHTMLTOOLBAR(toolbar), imhtml); | 259 gtk_imhtmltoolbar_attach(GTK_IMHTMLTOOLBAR(toolbar), imhtml); |
266 gtk_imhtmltoolbar_associate_smileys(GTK_IMHTMLTOOLBAR(toolbar), "default"); | 260 gtk_imhtmltoolbar_associate_smileys(GTK_IMHTMLTOOLBAR(toolbar), "default"); |
267 } | 261 } |
268 pidgin_setup_imhtml(imhtml); | 262 pidgin_setup_imhtml(imhtml); |
269 | 263 |
270 gtk_container_add(GTK_CONTAINER(sw), imhtml); | 264 sw = pidgin_make_scrollable(imhtml, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1); |
265 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); | |
271 | 266 |
272 if (imhtml_ret != NULL) | 267 if (imhtml_ret != NULL) |
273 *imhtml_ret = imhtml; | 268 *imhtml_ret = imhtml; |
274 | 269 |
275 if (editable && (toolbar_ret != NULL)) | 270 if (editable && (toolbar_ret != NULL)) |
3493 purple_debug_error("winpidgin", "Error iterating HKEY_CLASSES_ROOT subkeys: %ld\n", | 3488 purple_debug_error("winpidgin", "Error iterating HKEY_CLASSES_ROOT subkeys: %ld\n", |
3494 ret); | 3489 ret); |
3495 } | 3490 } |
3496 #endif | 3491 #endif |
3497 | 3492 |
3493 GtkWidget * | |
3494 pidgin_make_scrollable(GtkWidget *child, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy, GtkShadowType shadow_type, int width, int height) | |
3495 { | |
3496 GtkWidget *sw = gtk_scrolled_window_new(NULL, NULL); | |
3497 | |
3498 if (G_LIKELY(sw)) { | |
3499 gtk_widget_show(sw); | |
3500 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), hscrollbar_policy, vscrollbar_policy); | |
3501 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), shadow_type); | |
3502 if (width != -1 || height != -1) | |
3503 gtk_widget_set_size_request(sw, width, height); | |
3504 if (child) { | |
3505 if (GTK_WIDGET_GET_CLASS(child)->set_scroll_adjustments_signal) | |
3506 gtk_container_add(GTK_CONTAINER(sw), child); | |
3507 else | |
3508 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), child); | |
3509 } | |
3510 return sw; | |
3511 } | |
3512 | |
3513 return child; | |
3514 } | |
3515 | |
3498 void pidgin_utils_init(void) | 3516 void pidgin_utils_init(void) |
3499 { | 3517 { |
3500 gtk_imhtml_class_register_protocol("http://", url_clicked_cb, link_context_menu); | 3518 gtk_imhtml_class_register_protocol("http://", url_clicked_cb, link_context_menu); |
3501 gtk_imhtml_class_register_protocol("https://", url_clicked_cb, link_context_menu); | 3519 gtk_imhtml_class_register_protocol("https://", url_clicked_cb, link_context_menu); |
3502 gtk_imhtml_class_register_protocol("ftp://", url_clicked_cb, link_context_menu); | 3520 gtk_imhtml_class_register_protocol("ftp://", url_clicked_cb, link_context_menu); |