Elm entry: Use the new evas_textblock_markup_to_plain when pasting.
authortasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 8 Dec 2011 15:13:19 +0000 (15:13 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 8 Dec 2011 15:13:19 +0000 (15:13 +0000)
This sloves many issues with pasting format.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@66036 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_entry.c

index 0dcedd1..913ffa0 100644 (file)
@@ -1096,9 +1096,13 @@ _elm_entry_entry_paste(Evas_Object *obj, const char *entry)
    info.insert = EINA_TRUE;
    info.change.insert.pos = elm_entry_cursor_pos_get(obj);
    info.change.insert.content = eina_stringshare_add(entry);
-   /* FIXME: VERY BAD! Breaks with utf8 and formats! */
-   info.change.insert.plain_length =
-      eina_stringshare_strlen(info.change.insert.content);
+     {
+        char *tmp;
+        tmp = evas_textblock_markup_to_plain(elm_entry_textblock_get(obj),
+              info.change.insert.content);
+        info.change.insert.plain_length = eina_unicode_utf8_get_len(tmp);
+        free(tmp);
+     }
 
    elm_entry_entry_insert(obj, entry);
    evas_object_smart_callback_call(obj, SIG_CHANGED_USER, &info);