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:
parent
cb339befe2
commit
b19304d4c7
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue