** basic func
**
** **************************************************/
+static void __process_after_item_realized(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ SettingFontUG *ad = data;
+ if (ad->popup)
+ {
+ evas_object_del(ad->popup);
+ ad->popup = NULL;
+ }
+}
static int setting_font_font_size_create(void *cb)
{
retvm_if(ad->win_main_layout == NULL, SETTING_DRAW_ERR_FAIL_LOAD_EDJ,
"win_main_layout is NULL");
+ // create a navigation bar
if (ad->view_to_load == &setting_view_font_font_size) {
ad->ly_main = setting_create_layout_navi_bar_genlist(ad->win_main_layout,
ad->win_get,
NULL,
ad, &scroller, ad->navibar);
}
- ad->size_rdg = elm_radio_add(scroller);
- elm_radio_state_value_set(ad->size_rdg, -1);
+
+ // [UI] separator
Elm_Object_Item *item =
elm_genlist_item_append(scroller, &(ad->itc_seperator), NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ // [UI] create the font list
+ ad->size_rdg = elm_radio_add(scroller);
+ elm_radio_state_value_set(ad->size_rdg, -1);
+
int idx = 0;
Setting_GenGroupItem_Data *item_data;
while(font_size_table[idx].key_font_name) {
idx++;
}
+ // [UI] help text
setting_create_Gendial_field_def(scroller, &(ad->itc_bg_1icon), NULL,
ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
NULL, NULL, 0, STR_FONT_SIZE_CHANGING, NULL,
NULL);
- //update check status
+ // update check status - init values
setting_update_chk_status(ad->size_rdg, INT_SLP_SETTING_ACCESSIBILITY_FONT_SIZE);
setting_view_font_font_size.is_create = 1;
+ evas_object_smart_callback_add(scroller, "realized", __process_after_item_realized, ad);
return SETTING_RETURN_SUCCESS;
}
SETTING_TRACE_BEGIN;
//error check
retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
SettingFontUG *ad = (SettingFontUG *) cb;
if (ad->popup) {
static int setting_font_font_size_update(void *cb)
{
SETTING_TRACE_BEGIN;
+ // do nothing here
return SETTING_RETURN_SUCCESS;
}
setting_view_change(&setting_view_font_font_size, &setting_view_font_main, ad);
}
}
-
-/**
- * font-popup
- */
-#if DISABLED_CODE
-static void __font_size_ask_reboot_resp_cb(void *data, Evas_Object * obj,
- void *event_info)
-{
- SETTING_TRACE_BEGIN;
- ret_if(!data);
- Setting_GenGroupItem_Data *list_item = data;
- int response_type = btn_type(obj);
- ret_if(!list_item->userdata);
- SettingFontUG *ad = (SettingFontUG *)list_item->userdata;
-
- int err = -1;
- int ret = -1;
- if (POPUP_RESPONSE_OK == response_type) {
- ret = setting_set_int_slp_key(INT_SLP_SETTING_ACCESSIBILITY_FONT_SIZE, list_item->chk_status, &err);
- setting_retm_if(ret == -1, "Failed to set vconf");
-
- font_size_set();
-
- if (ad->view_to_load == &setting_view_font_font_size) {
- // B/S occurs if UG quit without calling redraw handler
- // ug_destroy_me(ad->ug);
- } else {
- setting_view_change(&setting_view_font_font_size, &setting_view_font_main, ad);
- }
- } else if (POPUP_RESPONSE_CANCEL == response_type) {
- int old_value = -1;
- ret = setting_get_int_slp_key(INT_SLP_SETTING_ACCESSIBILITY_FONT_SIZE, &old_value, &err);
- elm_radio_value_set(list_item->rgd, old_value);
- }
-
- if (ad->popup) {
- evas_object_del(ad->popup);
- ad->popup = NULL;
- }
- SETTING_TRACE_END;
-}
-#endif
static void setting_font_font_size_list_mouse_up_cb(void *data, Evas_Object *obj, void *event_info)
{
/* error check */
+ SETTING_TRACE_BEGIN;
retm_if(event_info == NULL, "Invalid argument: event info is NULL");
Elm_Object_Item *item = (Elm_Object_Item *) event_info;
elm_genlist_item_selected_set(item, 0);
- Setting_GenGroupItem_Data *list_item =
- (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
setting_retm_if(data == NULL, "Data parameter is NULL");
+
+ SettingFontUG *ad = list_item->userdata;
Evas_Object *radio = data;
elm_radio_value_set(radio, list_item->chk_status);
int err = 0;
if (old_value == list_item->chk_status) return;
-#if DISABLED_CODE
- SettingFontUG *ad = (SettingFontUG *)list_item->userdata;
+ //Due to long time taken by font Setting, add the block code when font is Setting.
+ if (ad->popup) {
+ evas_object_del(ad->popup);
+ ad->popup = NULL;
+ }
+ ad->popup = setting_create_popup_with_progressbar(ad, ad->win_get,
+ "pending_list",
+ NULL, NULL, NULL, 0, TRUE, TRUE);
- Evas_Object *popup = setting_create_popup_with_btn(list_item, (Evas_Object *)ug_get_window(),
- NULL, SETTING_FONT_SIZE_ASK,
- __font_size_ask_reboot_resp_cb,
- 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
- ret_if(!list_item->userdata);
- ad->popup = popup;
-#else
ret = setting_set_int_slp_key(INT_SLP_SETTING_ACCESSIBILITY_FONT_SIZE, list_item->chk_status, &err);
setting_retm_if(ret == -1, "Failed to set vconf");
-
font_size_set();
-#endif
-}
+ }