Revert "text_setting: Add font name and font style settings."

This reverts commit 74e72e6234.

Conflicts:
	src/bin/text_setting.c

font change is critically buggy.
need to test more and review in detail.
This commit is contained in:
ChunEon Park 2015-03-01 03:08:18 +09:00
parent cb339befe2
commit b19304d4c7
7 changed files with 8 additions and 301 deletions

View File

@ -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";
}
}
}
}

View File

@ -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)
{

View File

@ -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());

View File

@ -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());

View File

@ -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>",
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, "<font=");
eina_strbuf_append(strbuf, font_name);
if (font_style)
{
eina_strbuf_append(strbuf, ":style=");
eina_strbuf_append(strbuf, font_style);
}
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;
}

View File

@ -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);

View File

@ -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);