| 1733 { |
1733 { |
| 1734 GtkWebViewButtons buttons; |
1734 GtkWebViewButtons buttons; |
| 1735 |
1735 |
| 1736 g_return_if_fail(webview != NULL); |
1736 g_return_if_fail(webview != NULL); |
| 1737 |
1737 |
| 1738 if (flags & PURPLE_CONNECTION_HTML) { |
1738 if (flags & PURPLE_CONNECTION_FLAG_HTML) { |
| 1739 gboolean bold, italic, underline, strike; |
1739 gboolean bold, italic, underline, strike; |
| 1740 |
1740 |
| 1741 buttons = GTK_WEBVIEW_ALL; |
1741 buttons = GTK_WEBVIEW_ALL; |
| 1742 |
1742 |
| 1743 if (flags & PURPLE_CONNECTION_NO_BGCOLOR) |
1743 if (flags & PURPLE_CONNECTION_FLAG_NO_BGCOLOR) |
| 1744 buttons &= ~GTK_WEBVIEW_BACKCOLOR; |
1744 buttons &= ~GTK_WEBVIEW_BACKCOLOR; |
| 1745 if (flags & PURPLE_CONNECTION_NO_FONTSIZE) |
1745 if (flags & PURPLE_CONNECTION_FLAG_NO_FONTSIZE) |
| 1746 { |
1746 { |
| 1747 buttons &= ~GTK_WEBVIEW_GROW; |
1747 buttons &= ~GTK_WEBVIEW_GROW; |
| 1748 buttons &= ~GTK_WEBVIEW_SHRINK; |
1748 buttons &= ~GTK_WEBVIEW_SHRINK; |
| 1749 } |
1749 } |
| 1750 if (flags & PURPLE_CONNECTION_NO_URLDESC) |
1750 if (flags & PURPLE_CONNECTION_FLAG_NO_URLDESC) |
| 1751 buttons &= ~GTK_WEBVIEW_LINKDESC; |
1751 buttons &= ~GTK_WEBVIEW_LINKDESC; |
| 1752 |
1752 |
| 1753 gtk_webview_get_current_format(webview, &bold, &italic, &underline, &strike); |
1753 gtk_webview_get_current_format(webview, &bold, &italic, &underline, &strike); |
| 1754 |
1754 |
| 1755 gtk_webview_set_format_functions(webview, GTK_WEBVIEW_ALL); |
1755 gtk_webview_set_format_functions(webview, GTK_WEBVIEW_ALL); |
| 1766 gtk_webview_toggle_strike(webview); |
1766 gtk_webview_toggle_strike(webview); |
| 1767 |
1767 |
| 1768 gtk_webview_toggle_fontface(webview, |
1768 gtk_webview_toggle_fontface(webview, |
| 1769 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/font_face")); |
1769 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/font_face")); |
| 1770 |
1770 |
| 1771 if (!(flags & PURPLE_CONNECTION_NO_FONTSIZE)) |
1771 if (!(flags & PURPLE_CONNECTION_FLAG_NO_FONTSIZE)) |
| 1772 { |
1772 { |
| 1773 int size = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/font_size"); |
1773 int size = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/font_size"); |
| 1774 |
1774 |
| 1775 /* 3 is the default. */ |
1775 /* 3 is the default. */ |
| 1776 if (size != 3) |
1776 if (size != 3) |
| 1778 } |
1778 } |
| 1779 |
1779 |
| 1780 gtk_webview_toggle_forecolor(webview, |
1780 gtk_webview_toggle_forecolor(webview, |
| 1781 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/fgcolor")); |
1781 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/fgcolor")); |
| 1782 |
1782 |
| 1783 if (!(flags & PURPLE_CONNECTION_NO_BGCOLOR)) { |
1783 if (!(flags & PURPLE_CONNECTION_FLAG_NO_BGCOLOR)) { |
| 1784 gtk_webview_toggle_backcolor(webview, |
1784 gtk_webview_toggle_backcolor(webview, |
| 1785 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor")); |
1785 purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor")); |
| 1786 } else { |
1786 } else { |
| 1787 gtk_webview_toggle_backcolor(webview, ""); |
1787 gtk_webview_toggle_backcolor(webview, ""); |
| 1788 } |
1788 } |
| 1789 |
1789 |
| 1790 if (flags & PURPLE_CONNECTION_FORMATTING_WBFO) |
1790 if (flags & PURPLE_CONNECTION_FLAG_FORMATTING_WBFO) |
| 1791 gtk_webview_set_whole_buffer_formatting_only(webview, TRUE); |
1791 gtk_webview_set_whole_buffer_formatting_only(webview, TRUE); |
| 1792 else |
1792 else |
| 1793 gtk_webview_set_whole_buffer_formatting_only(webview, FALSE); |
1793 gtk_webview_set_whole_buffer_formatting_only(webview, FALSE); |
| 1794 } else { |
1794 } else { |
| 1795 buttons = GTK_WEBVIEW_SMILEY | GTK_WEBVIEW_IMAGE; |
1795 buttons = GTK_WEBVIEW_SMILEY | GTK_WEBVIEW_IMAGE; |
| 1796 webview_clear_formatting(webview); |
1796 webview_clear_formatting(webview); |
| 1797 } |
1797 } |
| 1798 |
1798 |
| 1799 if (flags & PURPLE_CONNECTION_NO_IMAGES) |
1799 if (flags & PURPLE_CONNECTION_FLAG_NO_IMAGES) |
| 1800 buttons &= ~GTK_WEBVIEW_IMAGE; |
1800 buttons &= ~GTK_WEBVIEW_IMAGE; |
| 1801 |
1801 |
| 1802 if (flags & PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY) |
1802 if (flags & PURPLE_CONNECTION_FLAG_ALLOW_CUSTOM_SMILEY) |
| 1803 buttons |= GTK_WEBVIEW_CUSTOM_SMILEY; |
1803 buttons |= GTK_WEBVIEW_CUSTOM_SMILEY; |
| 1804 else |
1804 else |
| 1805 buttons &= ~GTK_WEBVIEW_CUSTOM_SMILEY; |
1805 buttons &= ~GTK_WEBVIEW_CUSTOM_SMILEY; |
| 1806 |
1806 |
| 1807 gtk_webview_set_format_functions(webview, buttons); |
1807 gtk_webview_set_format_functions(webview, buttons); |