[evolution/wip/webkit2] Fix the Image dialog



commit 7ca63d89cb14cf0563e71e2a14b80383dc7f174b
Author: Tomas Popela <tpopela redhat com>
Date:   Mon Jul 25 13:35:01 2016 +0200

    Fix the Image dialog

 .../web-extension/e-dialogs-dom-functions.c        |   11 +++++++----
 .../web-extension/e-editor-dom-functions.c         |    3 ++-
 .../web-extension/e-editor-web-extension.c         |    8 ++++----
 3 files changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/modules/webkit-editor/web-extension/e-dialogs-dom-functions.c 
b/modules/webkit-editor/web-extension/e-dialogs-dom-functions.c
index 71dbc70..82c1204 100644
--- a/modules/webkit-editor/web-extension/e-dialogs-dom-functions.c
+++ b/modules/webkit-editor/web-extension/e-dialogs-dom-functions.c
@@ -619,7 +619,10 @@ e_dialogs_dom_image_save_history_on_exit (EEditorPage *editor_page)
        ev->data.dom.to = webkit_dom_node_clone_node_with_error (
                WEBKIT_DOM_NODE (element), TRUE, NULL);
 
-       e_editor_dom_selection_get_coordinates (editor_page, &ev->after.start.x, &ev->after.start.y, 
&ev->after.end.x, &ev->after.end.y);
+       if (ev->data.dom.from && webkit_dom_node_is_equal_node (ev->data.dom.from, ev->data.dom.to))
+               e_editor_undo_redo_manager_remove_current_history_event (manager);
+       else
+               e_editor_dom_selection_get_coordinates (editor_page, &ev->after.start.x, &ev->after.start.y, 
&ev->after.end.x, &ev->after.end.y);
 }
 
 void
@@ -676,7 +679,7 @@ e_dialogs_dom_image_set_element_url (EEditorPage *editor_page,
 gchar *
 e_dialogs_dom_image_get_element_url (EEditorPage *editor_page)
 {
-       gchar *value;
+       gchar *value = NULL;
        WebKitDOMElement *image, *link;
 
        g_return_val_if_fail (E_IS_EDITOR_PAGE (editor_page), NULL);
@@ -684,8 +687,8 @@ e_dialogs_dom_image_get_element_url (EEditorPage *editor_page)
        image = get_current_image_element (e_editor_page_get_document (editor_page));
        link = dom_node_find_parent_element (WEBKIT_DOM_NODE (image), "A");
 
-       value = webkit_dom_html_anchor_element_get_href (
-               WEBKIT_DOM_HTML_ANCHOR_ELEMENT (link));
+       if (link)
+               value = webkit_dom_element_get_attribute (link, "href");
 
        return value;
 }
diff --git a/modules/webkit-editor/web-extension/e-editor-dom-functions.c 
b/modules/webkit-editor/web-extension/e-editor-dom-functions.c
index e3e122d..9a73e68 100644
--- a/modules/webkit-editor/web-extension/e-editor-dom-functions.c
+++ b/modules/webkit-editor/web-extension/e-editor-dom-functions.c
@@ -1093,7 +1093,8 @@ e_editor_dom_get_parent_block_node_from_child (WebKitDOMNode *node)
                parent = webkit_dom_node_get_parent_node (parent);
 
        if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quoted") ||
-           element_has_class (WEBKIT_DOM_ELEMENT (parent), "Apple-tab-span"))
+           element_has_class (WEBKIT_DOM_ELEMENT (parent), "Apple-tab-span") ||
+           element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-resizable-wrapper"))
                parent = webkit_dom_node_get_parent_node (parent);
 
        return parent;
diff --git a/modules/webkit-editor/web-extension/e-editor-web-extension.c 
b/modules/webkit-editor/web-extension/e-editor-web-extension.c
index aad9a02..653cf41 100644
--- a/modules/webkit-editor/web-extension/e-editor-web-extension.c
+++ b/modules/webkit-editor/web-extension/e-editor-web-extension.c
@@ -1045,7 +1045,7 @@ handle_method_call (GDBusConnection *connection,
                                        value ? value : g_strdup (""))));
        } else if (g_strcmp0 (method_name, "ImageElementSetWidth") == 0) {
                const gchar *element_id;
-               glong value;
+               gint32 value;
                WebKitDOMElement *element;
 
                g_variant_get (
@@ -1084,7 +1084,7 @@ handle_method_call (GDBusConnection *connection,
                        invocation, g_variant_new ("(i)", value));
        } else if (g_strcmp0 (method_name, "ImageElementSetHeight") == 0) {
                const gchar *element_id;
-               glong value;
+               gint32 value;
                WebKitDOMElement *element;
 
                g_variant_get (
@@ -1163,7 +1163,7 @@ handle_method_call (GDBusConnection *connection,
                        invocation, g_variant_new ("(i)", value));
        } else if (g_strcmp0 (method_name, "ImageElementSetHSpace") == 0) {
                const gchar *element_id;
-               glong value;
+               gint32 value;
                WebKitDOMElement *element;
 
                g_variant_get (
@@ -1202,7 +1202,7 @@ handle_method_call (GDBusConnection *connection,
                        invocation, g_variant_new ("(i)", value));
        } else if (g_strcmp0 (method_name, "ImageElementSetVSpace") == 0) {
                const gchar *element_id;
-               glong value;
+               gint32 value;
                WebKitDOMElement *element;
 
                g_variant_get (


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]