| 5711 |
5711 |
| 5712 void gtk_imhtml_setup_entry(GtkIMHtml *imhtml, PurpleConnectionFlags flags) |
5712 void gtk_imhtml_setup_entry(GtkIMHtml *imhtml, PurpleConnectionFlags flags) |
| 5713 { |
5713 { |
| 5714 GtkIMHtmlButtons buttons; |
5714 GtkIMHtmlButtons buttons; |
| 5715 |
5715 |
| 5716 if (flags & PURPLE_CONNECTION_HTML) { |
5716 if (flags & PURPLE_CONNECTION_FLAG_HTML) { |
| 5717 char color[8]; |
5717 char color[8]; |
| 5718 GdkColor fg_color, bg_color; |
5718 GdkColor fg_color, bg_color; |
| 5719 |
5719 |
| 5720 buttons = GTK_IMHTML_ALL; |
5720 buttons = GTK_IMHTML_ALL; |
| 5721 |
5721 |
| 5722 if (flags & PURPLE_CONNECTION_NO_BGCOLOR) |
5722 if (flags & PURPLE_CONNECTION_FLAG_NO_BGCOLOR) |
| 5723 buttons &= ~GTK_IMHTML_BACKCOLOR; |
5723 buttons &= ~GTK_IMHTML_BACKCOLOR; |
| 5724 if (flags & PURPLE_CONNECTION_NO_FONTSIZE) |
5724 if (flags & PURPLE_CONNECTION_FLAG_NO_FONTSIZE) |
| 5725 { |
5725 { |
| 5726 buttons &= ~GTK_IMHTML_GROW; |
5726 buttons &= ~GTK_IMHTML_GROW; |
| 5727 buttons &= ~GTK_IMHTML_SHRINK; |
5727 buttons &= ~GTK_IMHTML_SHRINK; |
| 5728 } |
5728 } |
| 5729 if (flags & PURPLE_CONNECTION_NO_URLDESC) |
5729 if (flags & PURPLE_CONNECTION_FLAG_NO_URLDESC) |
| 5730 buttons &= ~GTK_IMHTML_LINKDESC; |
5730 buttons &= ~GTK_IMHTML_LINKDESC; |
| 5731 |
5731 |
| 5732 gtk_imhtml_set_format_functions(imhtml, GTK_IMHTML_ALL); |
5732 gtk_imhtml_set_format_functions(imhtml, GTK_IMHTML_ALL); |
| 5733 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold") != imhtml->edit.bold) |
5733 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/send_bold") != imhtml->edit.bold) |
| 5734 gtk_imhtml_toggle_bold(imhtml); |
5734 gtk_imhtml_toggle_bold(imhtml); |
| 5740 gtk_imhtml_toggle_underline(imhtml); |
5740 gtk_imhtml_toggle_underline(imhtml); |
| 5741 |
5741 |
| 5742 gtk_imhtml_toggle_fontface(imhtml, |
5742 gtk_imhtml_toggle_fontface(imhtml, |
| 5743 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/font_face")); |
5743 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/font_face")); |
| 5744 |
5744 |
| 5745 if (!(flags & PURPLE_CONNECTION_NO_FONTSIZE)) |
5745 if (!(flags & PURPLE_CONNECTION_FLAG_NO_FONTSIZE)) |
| 5746 { |
5746 { |
| 5747 int size = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/font_size"); |
5747 int size = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/font_size"); |
| 5748 |
5748 |
| 5749 /* 3 is the default. */ |
5749 /* 3 is the default. */ |
| 5750 if (size != 3) |
5750 if (size != 3) |
| 5762 } else |
5762 } else |
| 5763 strcpy(color, ""); |
5763 strcpy(color, ""); |
| 5764 |
5764 |
| 5765 gtk_imhtml_toggle_forecolor(imhtml, color); |
5765 gtk_imhtml_toggle_forecolor(imhtml, color); |
| 5766 |
5766 |
| 5767 if(!(flags & PURPLE_CONNECTION_NO_BGCOLOR) && |
5767 if(!(flags & PURPLE_CONNECTION_FLAG_NO_BGCOLOR) && |
| 5768 strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor"), "") != 0) |
5768 strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor"), "") != 0) |
| 5769 { |
5769 { |
| 5770 gdk_color_parse(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor"), |
5770 gdk_color_parse(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor"), |
| 5771 &bg_color); |
5771 &bg_color); |
| 5772 g_snprintf(color, sizeof(color), "#%02x%02x%02x", |
5772 g_snprintf(color, sizeof(color), "#%02x%02x%02x", |
| 5776 } else |
5776 } else |
| 5777 strcpy(color, ""); |
5777 strcpy(color, ""); |
| 5778 |
5778 |
| 5779 gtk_imhtml_toggle_background(imhtml, color); |
5779 gtk_imhtml_toggle_background(imhtml, color); |
| 5780 |
5780 |
| 5781 if (flags & PURPLE_CONNECTION_FORMATTING_WBFO) |
5781 if (flags & PURPLE_CONNECTION_FLAG_FORMATTING_WBFO) |
| 5782 gtk_imhtml_set_whole_buffer_formatting_only(imhtml, TRUE); |
5782 gtk_imhtml_set_whole_buffer_formatting_only(imhtml, TRUE); |
| 5783 else |
5783 else |
| 5784 gtk_imhtml_set_whole_buffer_formatting_only(imhtml, FALSE); |
5784 gtk_imhtml_set_whole_buffer_formatting_only(imhtml, FALSE); |
| 5785 } else { |
5785 } else { |
| 5786 buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE; |
5786 buttons = GTK_IMHTML_SMILEY | GTK_IMHTML_IMAGE; |
| 5787 imhtml_clear_formatting(imhtml); |
5787 imhtml_clear_formatting(imhtml); |
| 5788 } |
5788 } |
| 5789 |
5789 |
| 5790 if (flags & PURPLE_CONNECTION_NO_IMAGES) |
5790 if (flags & PURPLE_CONNECTION_FLAG_NO_IMAGES) |
| 5791 buttons &= ~GTK_IMHTML_IMAGE; |
5791 buttons &= ~GTK_IMHTML_IMAGE; |
| 5792 |
5792 |
| 5793 if (flags & PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY) |
5793 if (flags & PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY) |
| 5794 buttons |= GTK_IMHTML_CUSTOM_SMILEY; |
5794 buttons |= GTK_IMHTML_CUSTOM_SMILEY; |
| 5795 else |
5795 else |
| 5796 buttons &= ~GTK_IMHTML_CUSTOM_SMILEY; |
5796 buttons &= ~GTK_IMHTML_CUSTOM_SMILEY; |
| 5797 |
5797 |
| 5798 gtk_imhtml_set_format_functions(imhtml, buttons); |
5798 gtk_imhtml_set_format_functions(imhtml, buttons); |