From 5fbe04485fc880452fe76514dc249aea682893a4 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sun, 1 Mar 2015 03:13:17 +0900 Subject: [PATCH] Revert "edc_editor: Add enventor_object_font_set()/get() APIs." This reverts commit 220e1fe10c7da4e09444431cca5fafdadf081459. font change is critically buggy. need to test more and review in detail. --- src/lib/edc_editor.c | 138 +------------------------------------ src/lib/enventor_object.eo | 22 ------ src/lib/enventor_private.h | 2 - src/lib/enventor_smart.c | 14 ---- 4 files changed, 2 insertions(+), 174 deletions(-) diff --git a/src/lib/edc_editor.c b/src/lib/edc_editor.c index 36f8a24..04fb622 100644 --- a/src/lib/edc_editor.c +++ b/src/lib/edc_editor.c @@ -47,10 +47,6 @@ struct editor_s void *view_sync_cb_data; int select_pos; double font_scale; - const char *font_name; - const char *font_style; - - Eina_Strbuf *cachebuf; Eina_Bool edit_changed : 1; Eina_Bool linenumber : 1; @@ -68,12 +64,6 @@ struct editor_s static Eina_Bool image_preview_show(edit_data *ed, char *cur, Evas_Coord x, Evas_Coord y); -static const char * -font_cancel(edit_data *ed, const char *src); -static const char * -font_apply(edit_data *ed, const char *src); -static void -edit_font_apply(edit_data *ed); static void line_init(edit_data *ed) @@ -82,7 +72,7 @@ line_init(edit_data *ed) ed->line_max = 1; snprintf(buf, sizeof(buf), "%d", ed->line_max); - elm_entry_entry_set(ed->en_line, font_apply(ed, buf)); + elm_entry_entry_set(ed->en_line, buf); } static void @@ -128,91 +118,6 @@ entry_recover(edit_data *ed, int cursor_pos) free(utf8); } -static const char * -font_cancel(edit_data *ed, const char *src) -{ - if (!src) return NULL; - - Eina_Strbuf *strbuf = ed->cachebuf; - eina_strbuf_reset(strbuf); - eina_strbuf_append(strbuf, src); - - const char *base = eina_strbuf_string_get(strbuf); - char *start_tag = NULL; - char *end_tag = NULL; - size_t start_index; - size_t end_index; - - start_tag = strstr(base, " tag - end_tag = strstr(start_tag, ">"); - start_index = start_tag - base; - end_index = (end_tag + 1) - base; - eina_strbuf_remove(strbuf, start_index, end_index); - - //Remove tag - start_tag = strstr(base, ""); - end_tag = strstr(start_tag, ">"); - start_index = start_tag - base; - end_index = (end_tag + 1) - base; - eina_strbuf_remove(strbuf, start_index, end_index); - - return eina_strbuf_string_get(strbuf); -} - -static const char * -font_apply(edit_data *ed, const char *src) -{ - if (!src) return NULL; - - char *buf = strdup(src); - Eina_Strbuf *strbuf = ed->cachebuf; - eina_strbuf_reset(strbuf); - eina_strbuf_append(strbuf, buf); - free(buf); - - if (ed->font_name) - { - eina_strbuf_prepend(strbuf, ">"); - if (ed->font_style) - { - eina_strbuf_prepend(strbuf, ed->font_style); - eina_strbuf_prepend(strbuf, ":style="); - } - eina_strbuf_prepend(strbuf, ed->font_name); - eina_strbuf_prepend(strbuf, ""); - } - - return eina_strbuf_string_get(strbuf); -} - -static void -edit_font_apply(edit_data *ed) -{ - const char *markup_edit = elm_entry_entry_get(ed->en_edit); - const char *markup_line = elm_entry_entry_get(ed->en_line); - const char *translated_edit; - const char *translated_line; - int pos; - - //Apply font tag to Edit entry. - pos = elm_entry_cursor_pos_get(ed->en_edit); - translated_edit = font_cancel(ed, markup_edit); - translated_edit = font_apply(ed, translated_edit); - elm_entry_entry_set(ed->en_edit, translated_edit); - entry_recover(ed, pos); - - //Apply font tag to Line entry. - translated_line = font_cancel(ed, markup_line); - translated_line = font_apply(ed, translated_line); - elm_entry_entry_set(ed->en_line, translated_line); - elm_entry_calc_force(ed->en_line); -} - static void syntax_color_apply(edit_data *ed, Eina_Bool partial) { @@ -235,8 +140,6 @@ syntax_color_apply(edit_data *ed, Eina_Bool partial) strlen(utf8), from, to); if (!translated) return; - translated = font_apply(ed, translated); - /* I'm not sure this will be problem. But it can avoid entry_object_text_escaped_set() in Edje. Logically that's unnecessary in this case. */ @@ -277,9 +180,6 @@ syntax_color_thread_cb(void *data, Ecore_Thread *thread EINA_UNUSED) if (!utf8) return; td->translated = color_apply(syntax_color_data_get(td->ed->sh), utf8, strlen(utf8), NULL, NULL); - - td->translated = font_apply(td->ed, td->translated); - elm_entry_calc_force(td->ed->en_edit); } static void @@ -862,7 +762,7 @@ edit_edc_load(edit_data *ed, const char *file_path) markup_line = elm_entry_utf8_to_markup(eina_strbuf_string_get(strbuf_line)); if (!markup_line) goto err; - elm_entry_entry_append(ed->en_line, font_apply(ed, markup_line)); + elm_entry_entry_append(ed->en_line, markup_line); free(markup_line); markup_edit = elm_entry_utf8_to_markup(utf8_edit); @@ -1164,8 +1064,6 @@ edit_init(Evas_Object *enventor) ed->select_pos = -1; ed->font_scale = 1; - ed->cachebuf = eina_strbuf_new(); - ed->rd = redoundo_init(en_edit); evas_object_data_set(ed->en_edit, "redoundo", ed->rd); @@ -1183,10 +1081,6 @@ edit_term(edit_data *ed) { if (!ed) return; - if (ed->font_name) eina_stringshare_del(ed->font_name); - if (ed->font_style) eina_stringshare_del(ed->font_style); - eina_strbuf_free(ed->cachebuf); - syntax_helper *sh = ed->sh; parser_data *pd = ed->pd; @@ -1244,21 +1138,6 @@ edit_font_scale_get(edit_data *ed) return ed->font_scale; } -void -edit_font_set(edit_data *ed, const char *font_name, const char *font_style) -{ - eina_stringshare_replace(&ed->font_name, font_name); - eina_stringshare_replace(&ed->font_style, font_style); - edit_font_apply(ed); -} - -void -edit_font_get(edit_data *ed, const char **font_name, const char **font_style) -{ - if (font_name) *font_name = ed->font_name; - if (font_style) *font_style = ed->font_style; -} - void edit_part_highlight_set(edit_data *ed, Eina_Bool part_highlight) { @@ -1336,28 +1215,15 @@ edit_entry_get(edit_data *ed) void edit_line_increase(edit_data *ed, int cnt) { - const char *text; - const char *translated; char buf[MAX_LINE_DIGIT_CNT]; int i; - //Remove font tag - text = elm_entry_entry_get(ed->en_line); - translated = font_cancel(ed, text); - elm_entry_entry_set(ed->en_line, translated); - for (i = 0; i < cnt; i++) { ed->line_max++; snprintf(buf, sizeof(buf), "
%d", ed->line_max); elm_entry_entry_append(ed->en_line, buf); } - - //Restore font tag - text = elm_entry_entry_get(ed->en_line); - translated = font_apply(ed, text); - elm_entry_entry_set(ed->en_line, translated); - elm_entry_calc_force(ed->en_line); Enventor_Max_Line max_line; diff --git a/src/lib/enventor_object.eo b/src/lib/enventor_object.eo index d43a1c8..0f0e66c 100644 --- a/src/lib/enventor_object.eo +++ b/src/lib/enventor_object.eo @@ -481,28 +481,6 @@ class Enventor.Object (Elm_Widget, Efl.File) { @ingroup Enventor */ return: Eina_Bool; } - font_set { - /*@ - @brief - @warning - @see - @ingroup Enventor */ - params { - @in const(char) *font_name; /*@ ... */ - @in const(char) *font_style; /*@ ... */ - } - } - font_get { - /*@ - @brief - @warning - @see - @ingroup Enventor */ - params { - @in const(char) **font_name; /*@ ... */ - @in const(char) **font_style; /*@ ... */ - } - } } implements { class.constructor; diff --git a/src/lib/enventor_private.h b/src/lib/enventor_private.h index 07291fb..ca3192f 100644 --- a/src/lib/enventor_private.h +++ b/src/lib/enventor_private.h @@ -210,8 +210,6 @@ void edit_view_sync_cb_set(edit_data *ed, void (*cb)(void *data, Eina_Stringshar void edit_view_sync(edit_data *ed); void edit_font_scale_set(edit_data *ed, double font_scale); double edit_font_scale_get(edit_data *ed); -void edit_font_set(edit_data *ed, const char *font_name, const char *font_style); -void edit_font_get(edit_data *ed, const char **font_name, const char **font_style); void edit_part_highlight_toggle(edit_data *ed, Eina_Bool msg); void edit_line_delete(edit_data *ed); Eina_Stringshare *edit_cur_prog_name_get(edit_data *ed); diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c index 49eed79..89b6d92 100644 --- a/src/lib/enventor_smart.c +++ b/src/lib/enventor_smart.c @@ -481,20 +481,6 @@ _enventor_object_font_scale_get(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd) return edit_font_scale_get(pd->ed); } -EOLIAN static void -_enventor_object_font_set(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd, - const char *font_name, const char *font_style) -{ - edit_font_set(pd->ed, font_name, font_style); -} - -EOLIAN static void -_enventor_object_font_get(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd, - const char **font_name, const char **font_style) -{ - edit_font_get(pd->ed, font_name, font_style); -} - EOLIAN static int _enventor_object_max_line_get(Eo *obj EINA_UNUSED, Enventor_Object_Data *pd) {