diff --git a/data/themes/default/layout_setting.edc b/data/themes/default/layout_setting.edc index 1dd6a9d..44e1ba9 100644 --- a/data/themes/default/layout_setting.edc +++ b/data/themes/default/layout_setting.edc @@ -580,7 +580,7 @@ group { name: "text_setting_layout"; rel1 {to: "base_frame"; relative: 0.5 0; offset: 5 0;} rel2 {to: "base_frame"; relative: 1 0;} align: 0.5 0; - min: 0 120; + min: 0 90; fixed: 0 1; } } @@ -592,22 +592,5 @@ group { name: "text_setting_layout"; rel2.to: "preference_frame"; } } - part { name: "font_frame"; - type: SPACER; - scale: 1; - description { - rel1 {to: "preference_frame"; relative: 0 1; offset: 0 5;} - rel2 {to: "base_frame";} - } - } - part { name: "elm.swallow.font"; - type: SWALLOW; - scale: 1; - description { - rel1.to: "font_frame"; - rel2.to: "font_frame"; - } - } - } } diff --git a/src/bin/config_data.c b/src/bin/config_data.c index daf21d9..dd62b96 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -4,8 +4,6 @@ typedef struct config_s { const char *edc_path; const char *edj_path; - const char *font_name; - const char *font_style; Eina_List *edc_img_path_list; Eina_List *edc_snd_path_list; @@ -218,10 +216,6 @@ eddc_init(void) "edc_dat_path_list", edc_dat_path_list); EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data, "syntax_color_list", syntax_color_list); - EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_name", font_name, - EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_style", font_style, - EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_scale", font_scale, EET_T_FLOAT); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_scale", @@ -658,24 +652,6 @@ config_auto_complete_get(void) return cd->auto_complete; } -void -config_font_set(const char *font_name, const char *font_style) -{ - config_data *cd = g_cd; - - eina_stringshare_replace(&cd->font_name, font_name); - eina_stringshare_replace(&cd->font_style, font_style); -} - -void -config_font_get(const char **font_name, const char **font_style) -{ - config_data *cd = g_cd; - - if (font_name) *font_name = cd->font_name; - if (font_style) *font_style = cd->font_style; -} - void config_font_scale_set(float font_scale) { diff --git a/src/bin/main.c b/src/bin/main.c index d218b4a..1a1b905 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -176,11 +176,6 @@ config_update_cb(void *data) config_edc_fnt_path_list_get()); enventor_object_path_set(enventor, ENVENTOR_RES_DATA, config_edc_dat_path_list_get()); - - const char *font_name; - const char *font_style; - config_font_get(&font_name, &font_style); - enventor_object_font_set(enventor, font_name, font_style); enventor_object_font_scale_set(enventor, config_font_scale_get()); enventor_object_linenumber_set(enventor, config_linenumber_get()); enventor_object_dummy_swallow_set(enventor, config_dummy_swallow_get()); @@ -531,10 +526,6 @@ enventor_setup(app_data *ad) evas_object_smart_callback_add(enventor, "focused", enventor_focused_cb, ad); - const char *font_name; - const char *font_style; - config_font_get(&font_name, &font_style); - enventor_object_font_set(enventor, font_name, font_style); enventor_object_font_scale_set(enventor, config_font_scale_get()); enventor_object_live_view_scale_set(enventor, config_view_scale_get()); enventor_object_linenumber_set(enventor, config_linenumber_get()); diff --git a/src/bin/setting.c b/src/bin/setting.c index c87813b..64c27cd 100644 --- a/src/bin/setting.c +++ b/src/bin/setting.c @@ -166,10 +166,6 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, elm_check_state_set(sd->toggle_highlight, config_part_highlight_get()); elm_check_state_set(sd->toggle_swallow, config_dummy_swallow_get()); - const char *font_name; - const char *font_style; - config_font_get(&font_name, &font_style); - text_setting_font_set(font_name, font_style); text_setting_font_scale_set((double) config_font_scale_get()); text_setting_linenumber_set(config_linenumber_get()); text_setting_auto_indent_set(config_auto_indent_get()); diff --git a/src/bin/text_setting.c b/src/bin/text_setting.c index 5c940b2..f5e7c85 100644 --- a/src/bin/text_setting.c +++ b/src/bin/text_setting.c @@ -54,7 +54,7 @@ static text_setting_data *g_tsd = NULL; static void syntax_template_set(char *syntax_template_str, char *syntax_template_format, - const char *font_tag, double font_scale) + double font_scale) { if (!syntax_template_str || !syntax_template_format) return; @@ -98,14 +98,6 @@ syntax_template_set(char *syntax_template_str, char *syntax_template_format, color_val[color_type_list[70]], color_val[color_type_list[71]], color_val[color_type_list[72]], color_val[color_type_list[73]], color_val[color_type_list[74]], color_val[color_type_list[75]]); - - if (font_tag) - { - char *buf = strdup(syntax_template_str); - snprintf(syntax_template_str, SYNTAX_TEMPLATE_MAX_LEN, "%s%s", - font_tag, buf); - free(buf); - } } static void @@ -118,7 +110,7 @@ syntax_template_apply(void) Evas_Object *entry = elm_object_part_content_get(layout, "elm.swallow.text_setting"); syntax_template_set(tsd->syntax_template_str, tsd->syntax_template_format, - tsd->cur_font_tag, tsd->font_scale); + tsd->font_scale); elm_entry_entry_set(entry, tsd->syntax_template_str); } @@ -542,7 +534,7 @@ syntax_template_format_create_err: } static char * -syntax_template_create(const char *font_tag, double font_scale) +syntax_template_create(double font_scale) { text_setting_data *tsd = g_tsd; char *syntax_template_format = syntax_template_format_create(); @@ -552,8 +544,7 @@ syntax_template_create(const char *font_tag, double font_scale) syntax_template_str = calloc(1, sizeof(char) * SYNTAX_TEMPLATE_MAX_LEN); if (!syntax_template_str) goto syntax_template_create_err; - syntax_template_set(syntax_template_str, syntax_template_format, font_tag, - font_scale); + syntax_template_set(syntax_template_str, syntax_template_format, font_scale); color_keyword *color_keyword_list; color_keyword_list = color_keyword_list_create(syntax_template_str); @@ -622,9 +613,6 @@ text_setting_double_clicked_cb(void *data, Evas_Object *obj, int i; int pos; int x, y; - int orig_tag_len = 0; - int cur_tag_len = 0; - int tag_diff = 0; syntax_template_str = elm_entry_entry_get(obj); if (!syntax_template_str) return; @@ -634,17 +622,11 @@ text_setting_double_clicked_cb(void *data, Evas_Object *obj, pos = color_keyword_pos_get(syntax_template_str, selected_str); - /* Calculate the translated keyword position based on the difference of - the font tag lengths. */ - if (tsd->orig_font_tag) orig_tag_len = strlen(tsd->orig_font_tag); - if (tsd->cur_font_tag) cur_tag_len = strlen(tsd->cur_font_tag); - tag_diff = cur_tag_len - orig_tag_len; - for (i = 0; i < COLOR_KEYWORD_MAX_CNT; i++) { selected_color_keyword = tsd->color_keyword_list + i; - if ((pos >= (selected_color_keyword->pos_begin + tag_diff)) && - (pos <= (selected_color_keyword->pos_end + tag_diff))) + if ((pos >= selected_color_keyword->pos_begin) && + (pos <= selected_color_keyword->pos_end)) { ctxpopup = color_ctxpopup_create(tsd->text_setting_layout, selected_color_keyword); @@ -659,27 +641,6 @@ text_setting_double_clicked_cb(void *data, Evas_Object *obj, } } -static Evas_Object * -label_create(Evas_Object *parent, const char *text) -{ - Evas_Object *label = elm_label_add(parent); - elm_object_text_set(label, text); - evas_object_show(label); - - return label; -} - -static Evas_Object * -list_create(Evas_Object *parent) -{ - Evas_Object *list = elm_list_add(parent); - evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(list); - - return list; -} - static Evas_Object * toggle_create(Evas_Object *parent, const char *text, Eina_Bool state) { @@ -705,87 +666,6 @@ font_scale_slider_changed_cb(void *data, Evas_Object *obj, syntax_template_apply(); } -static int -font_cmp_cb(const void *data1, - const void *data2) -{ - if (!data1) return 1; - if (!data2) return -1; - return strcmp(data1, data2); -} - -static void -font_style_selected_cb(void *data, Evas_Object *obj, - void *event_info EINA_UNUSED) -{ - Evas_Object *list_font_name = data; - Elm_Object_Item *font_name_it = elm_list_selected_item_get(list_font_name); - Elm_Object_Item *font_style_it = elm_list_selected_item_get(obj); - const char *font_name = elm_object_item_text_get(font_name_it); - const char *font_style = elm_object_item_text_get(font_style_it); - - text_setting_font_set(font_name, font_style); -} - -static void -font_name_selected_cb(void *data, Evas_Object *obj, - void *event_info EINA_UNUSED) -{ - Evas_Object *list_font_style = data; - Elm_Object_Item *it = elm_list_selected_item_get(obj); - const char *font_name = elm_object_item_text_get(it); - elm_list_clear(list_font_style); - - //Append Items of Font Style List - Elm_Font_Properties *efp; - Eina_List *font_list; - Eina_List *l, *ll; - char *font, *style; - font_list = evas_font_available_list(evas_object_evas_get(obj)); - font_list = eina_list_sort(font_list, eina_list_count(font_list), - font_cmp_cb); - EINA_LIST_FOREACH(font_list, l, font) - { - efp = elm_font_properties_get(font); - if (efp) - { - if (!strcmp(font_name, efp->name)) - { - EINA_LIST_FOREACH(efp->styles, ll, style) - { - elm_list_item_append(list_font_style, style, NULL, NULL, - font_style_selected_cb, obj); - } - } - elm_font_properties_free(efp); - } - } - elm_list_go(list_font_style); - - text_setting_font_set(font_name, NULL); -} - -static char * -font_tag_create(const char *font_name, const char *font_style) -{ - if (!font_name) return NULL; - - Eina_Strbuf *strbuf = eina_strbuf_new(); - eina_strbuf_append(strbuf, ""); - - char *font_tag = strdup(eina_strbuf_string_get(strbuf)); - eina_strbuf_free(strbuf); - - return font_tag; -} - Evas_Object * text_setting_layout_create(Evas_Object *parent) { @@ -806,19 +686,8 @@ text_setting_layout_create(Evas_Object *parent) evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); - //Font information - const char *font_name; - const char *font_style; - config_font_get(&font_name, &font_style); - eina_stringshare_replace(&tsd->font_name, font_name); - eina_stringshare_replace(&tsd->font_style, font_style); - eina_stringshare_replace(&tsd->orig_font_tag, - font_tag_create(tsd->font_name, tsd->font_style)); - eina_stringshare_replace(&tsd->cur_font_tag, tsd->orig_font_tag); tsd->font_scale = (double) config_font_scale_get(); - - char *syntax_template_str = - syntax_template_create(tsd->orig_font_tag, tsd->font_scale); + char *syntax_template_str = syntax_template_create(tsd->font_scale); elm_entry_entry_set(entry, syntax_template_str); evas_object_smart_callback_add(entry, "clicked,double", text_setting_double_clicked_cb, tsd); @@ -878,90 +747,6 @@ text_setting_layout_create(Evas_Object *parent) config_auto_complete_get()); elm_box_pack_end(box, toggle_autocomp); - - //Font Name and Style (Box) - box = elm_box_add(layout); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_content_set(layout, "elm.swallow.font", box); - - //Font Name (Box) - box2 = elm_box_add(box); - evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(box2); - - elm_box_pack_end(box, box2); - - //Font Name (Label) - - /* This layout is intended to put the label aligned to left side - far from 3 pixels. */ - Evas_Object *layout_padding3 = elm_layout_add(box2); - elm_layout_file_set(layout_padding3, EDJE_PATH, "padding3_layout"); - evas_object_show(layout_padding3); - - elm_box_pack_end(box2, layout_padding3); - - Evas_Object *label_font_name = label_create(layout_padding3, "Font Name"); - elm_object_part_content_set(layout_padding3, "elm.swallow.content", - label_font_name); - - //Font Name (List) - Evas_Object *list_font_name = list_create(box2); - elm_box_pack_end(box2, list_font_name); - - //Font Style (Box) - box2 = elm_box_add(box); - evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(box2); - - elm_box_pack_end(box, box2); - - //Font Style (Label) - - /* This layout is intended to put the label aligned to left side - far from 3 pixels. */ - layout_padding3 = elm_layout_add(box2); - elm_layout_file_set(layout_padding3, EDJE_PATH, "padding3_layout"); - evas_object_show(layout_padding3); - - elm_box_pack_end(box2, layout_padding3); - - Evas_Object *label_font_style = label_create(layout_padding3, "Font Style"); - elm_object_part_content_set(layout_padding3, "elm.swallow.content", - label_font_style); - - //Font Style (List) - Evas_Object *list_font_style = list_create(box2); - elm_box_pack_end(box2, list_font_style); - - //Append Items of Font Name List - Elm_Font_Properties *efp; - Eina_List *font_list; - Eina_List *l; - char *font; - char prev_font[128] = {0}; - font_list = evas_font_available_list(evas_object_evas_get(parent)); - font_list = eina_list_sort(font_list, eina_list_count(font_list), - font_cmp_cb); - EINA_LIST_FOREACH(font_list, l, font) - { - efp = elm_font_properties_get(font); - if (efp) - { - if (strcmp(prev_font, efp->name)) - { - elm_list_item_append(list_font_name, efp->name, NULL, NULL, - font_name_selected_cb, list_font_style); - snprintf(prev_font, sizeof(prev_font), "%s", efp->name); - } - elm_font_properties_free(efp); - } - } - elm_list_go(list_font_name); - tsd->text_setting_layout = layout; tsd->slider_font = slider_font; tsd->toggle_linenum = toggle_linenum; @@ -1008,25 +793,12 @@ text_setting_config_set(void) { text_setting_data *tsd = g_tsd; - config_font_set(tsd->font_name, tsd->font_style); config_font_scale_set((float) elm_slider_value_get(tsd->slider_font)); config_linenumber_set(elm_check_state_get(tsd->toggle_linenum)); config_auto_indent_set(elm_check_state_get(tsd->toggle_indent)); config_auto_complete_set(elm_check_state_get(tsd->toggle_autocomp)); } -void -text_setting_font_set(const char *font_name, const char *font_style) -{ - text_setting_data *tsd = g_tsd; - - eina_stringshare_replace(&tsd->font_name, font_name); - eina_stringshare_replace(&tsd->font_style, font_style); - eina_stringshare_replace(&tsd->cur_font_tag, - font_tag_create(font_name, font_style)); - syntax_template_apply(); -} - void text_setting_font_scale_set(double font_scale) { @@ -1086,10 +858,6 @@ text_setting_term(void) free(tsd->syntax_template_format); if (tsd->syntax_template_str) free(tsd->syntax_template_str); - eina_stringshare_del(tsd->font_name); - eina_stringshare_del(tsd->font_style); - eina_stringshare_del(tsd->orig_font_tag); - eina_stringshare_del(tsd->cur_font_tag); free(tsd); g_tsd = NULL; } diff --git a/src/include/config_data.h b/src/include/config_data.h index a2de4c8..ffbafe6 100644 --- a/src/include/config_data.h +++ b/src/include/config_data.h @@ -40,8 +40,6 @@ void config_auto_indent_set(Eina_Bool auto_indent); Eina_Bool config_auto_indent_get(void); void config_auto_complete_set(Eina_Bool auto_complete); Eina_Bool config_auto_complete_get(void); -void config_font_set(const char *font_name, const char *font_style); -void config_font_get(const char **font_name, const char **font_style); void config_font_scale_set(float font_scale); float config_font_scale_get(void); void config_view_scale_set(double view_scale); diff --git a/src/include/text_setting.h b/src/include/text_setting.h index 0636e62..41d43b6 100644 --- a/src/include/text_setting.h +++ b/src/include/text_setting.h @@ -19,10 +19,6 @@ struct text_setting_s char *syntax_template_format; char *syntax_template_str; - const char *font_name; - const char *font_style; - const char *orig_font_tag; - const char *cur_font_tag; double font_scale; }; @@ -33,7 +29,6 @@ void text_setting_layout_show(Evas_Object *setting_layout, Evas_Object *tabbar, void text_setting_syntax_color_reset(void); void text_setting_syntax_color_save(void); void text_setting_config_set(void); -void text_setting_font_set(const char *font_name, const char *font_style); void text_setting_font_scale_set(double font_scale); void text_setting_linenumber_set(Eina_Bool enabled); void text_setting_auto_indent_set(Eina_Bool enabled);