qulogic/pidgin

Clear formatting should also obey WBFO.

2012-06-03, Elliott Sales de Andrade
364b314b125a
Parents b1811b11f907
Children aa658ddce5ec
Clear formatting should also obey WBFO.
--- a/pidgin/gtkwebview.c Sun Jun 03 19:58:23 2012 +0000
+++ b/pidgin/gtkwebview.c Sun Jun 03 20:01:56 2012 +0000
@@ -302,15 +302,39 @@
}
static void
+do_formatting(GtkWebView *webview, const char *name, const char *value)
+{
+ GtkWebViewPriv *priv = GTK_WEBVIEW_GET_PRIVATE(webview);
+ WebKitDOMDocument *dom;
+ WebKitDOMDOMWindow *win = NULL;
+ WebKitDOMDOMSelection *sel;
+ WebKitDOMRange *range = NULL;
+
+ dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
+
+ if (priv->edit.wbfo) {
+ win = webkit_dom_document_get_default_view(dom);
+ sel = webkit_dom_dom_window_get_selection(win);
+ range = webkit_dom_dom_selection_get_range_at(sel, 0, NULL);
+ webkit_web_view_select_all(WEBKIT_WEB_VIEW(webview));
+ }
+
+ webkit_dom_document_exec_command(dom, name, FALSE, value);
+
+ if (priv->edit.wbfo) {
+ sel = webkit_dom_dom_window_get_selection(win);
+ webkit_dom_dom_selection_remove_all_ranges(sel);
+ webkit_dom_dom_selection_add_range(sel, range);
+ }
+}
+
+static void
webview_clear_formatting(GtkWebView *webview)
{
- WebKitDOMDocument *dom;
-
if (!webkit_web_view_get_editable(WEBKIT_WEB_VIEW(webview)))
return;
- dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
- webkit_dom_document_exec_command(dom, "removeFormat", FALSE, "");
+ do_formatting(webview, "removeFormat", "");
}
static void
@@ -894,33 +918,6 @@
g_object_unref(object);
}
-static void
-do_formatting(GtkWebView *webview, const char *name, const char *value)
-{
- GtkWebViewPriv *priv = GTK_WEBVIEW_GET_PRIVATE(webview);
- WebKitDOMDocument *dom;
- WebKitDOMDOMWindow *win = NULL;
- WebKitDOMDOMSelection *sel;
- WebKitDOMRange *range = NULL;
-
- dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
-
- if (priv->edit.wbfo) {
- win = webkit_dom_document_get_default_view(dom);
- sel = webkit_dom_dom_window_get_selection(win);
- range = webkit_dom_dom_selection_get_range_at(sel, 0, NULL);
- webkit_web_view_select_all(WEBKIT_WEB_VIEW(webview));
- }
-
- webkit_dom_document_exec_command(dom, name, FALSE, value);
-
- if (priv->edit.wbfo) {
- sel = webkit_dom_dom_window_get_selection(win);
- webkit_dom_dom_selection_remove_all_ranges(sel);
- webkit_dom_dom_selection_add_range(sel, range);
- }
-}
-
void
gtk_webview_toggle_bold(GtkWebView *webview)
{