diff --git a/src/modules/conf_theme/e_int_config_fonts.c b/src/modules/conf_theme/e_int_config_fonts.c index 8e097c48b..2609fd1d4 100644 --- a/src/modules/conf_theme/e_int_config_fonts.c +++ b/src/modules/conf_theme/e_int_config_fonts.c @@ -461,6 +461,43 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dia return ot; } +static void +_basic_font_list_select(E_Config_Dialog_Data *cfdata, const char *cur_font) +{ + const char *f; + Eina_List *next; + int n; + /* Select Current Font */ + n = 0; + EINA_LIST_FOREACH(cfdata->font_list, next, f) + { + if (!strcasecmp(f, cur_font)) + { + e_widget_ilist_selected_set(cfdata->gui.font_list, n); + break; + } + n++; + } +} + +static void +_basic_size_list_select(Evas_Object *ob, int cur_size) +{ + int n; + + for (n = 0; n < e_widget_ilist_count(ob); n++) + { + E_Font_Size_Data *size_data; + + if (!(size_data = e_widget_ilist_nth_data_get(ob, n))) continue; + if (cur_size == size_data->size) + { + e_widget_ilist_selected_set(ob, n); + break; + } + } +} + static void _basic_font_cb_change(void *data, Evas_Object *obj EINA_UNUSED) { @@ -482,7 +519,9 @@ _basic_enable_cb_change(void *data, Evas_Object *obj EINA_UNUSED) e_widget_disabled_set(cfdata->gui.font_list, !cfdata->cur_enabled); e_widget_disabled_set(cfdata->gui.size_list, !cfdata->cur_enabled); - if (!cfdata->cur_enabled) + if (cfdata->cur_enabled) + _basic_size_list_select(cfdata->gui.size_list, cfdata->cur_size); + else { e_widget_ilist_unselect(cfdata->gui.font_list); e_widget_ilist_unselect(cfdata->gui.size_list); @@ -991,7 +1030,6 @@ _size_list_load(E_Config_Dialog_Data *cfdata, Eina_List *size_list, Evas_Font_Si Eina_List *next; Evas_Object *ob; Evas *evas; - int n; ob = cfdata->gui.size_list; evas = evas_object_evas_get(ob); @@ -1015,17 +1053,7 @@ _size_list_load(E_Config_Dialog_Data *cfdata, Eina_List *size_list, Evas_Font_Si edje_thaw(); evas_event_thaw(evas); - for (n = 0; n < e_widget_ilist_count(ob); n++) - { - E_Font_Size_Data *size_data; - - if (!(size_data = e_widget_ilist_nth_data_get(ob, n))) continue; - if (cur_size == size_data->size) - { - e_widget_ilist_selected_set(ob, n); - break; - } - } + _basic_size_list_select(ob, cur_size); } static void @@ -1036,7 +1064,6 @@ _font_list_load(E_Config_Dialog_Data *cfdata, const char *cur_font) Evas_Object *ob; Evas *evas; Evas_Coord w; - int n; ob = cfdata->gui.font_list; evas = evas_object_evas_get(ob); @@ -1079,19 +1106,7 @@ _font_list_load(E_Config_Dialog_Data *cfdata, const char *cur_font) edje_thaw(); evas_event_thaw(evas); - if (!cur_font) return; - - /* Select Current Font */ - n = 0; - EINA_LIST_FOREACH(cfdata->font_list, next, f) - { - if (!strcasecmp(f, cur_font)) - { - e_widget_ilist_selected_set(ob, n); - break; - } - n++; - } + if (cur_font) _basic_font_list_select(cfdata, cur_font); } static void