static void _create_start_date_list_popup(void *data, Evas_Object *obj, void *event_info);
static void create_custom_start_date_popup(void *data, Evas_Object *obj, void *event_info);
+static Evas_Object *_genlist_cycle_radio_content_get(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *_genlist_start_date_radio_content_get(void *data, Evas_Object *obj, const char *part);
+static char *_genlist_radio_text_get(void *data, Evas_Object *obj, const char *part);
+static void _genlist_radio_del(void *data, Evas_Object *obj);
+
static void _softkey_back_cb(void *data, Evas_Object *obj,
void *event_info);
static Eina_Bool _pop_view_cb(void *data, Elm_Object_Item *it);
static Popup_Info popup_info = {0,};
+static Evas_Object *mobile_data_setting_genlist = NULL;
static Evas_Object *cycle_mode_radio_group = NULL;
static Evas_Object *start_weekday_radio_group = NULL;
+static Elm_Genlist_Item_Class itc_genlist_element = {
+ .item_style = "type2",
+ .func.text_get = _item_label_get
+};
+
+static Elm_Genlist_Item_Class itc_genlist_last_element = {
+ .item_style = "multiline",
+ .func.text_get = _last_item_label_get
+};
+
+static Elm_Genlist_Item_Class itc_cycle_list = {
+ .item_style = "type1",
+ .func.content_get = _genlist_cycle_radio_content_get,
+ .func.text_get = _genlist_radio_text_get,
+ .func.del = _genlist_radio_del
+};
+
+static Elm_Genlist_Item_Class itc_start_date_list = {
+ .item_style = "type1",
+ .func.content_get = _genlist_start_date_radio_content_get,
+ .func.text_get = _genlist_radio_text_get,
+ .func.del = _genlist_radio_del
+};
+
static Elm_Entry_Filter_Accept_Set accept_set = {
.accepted = "0123456789.",
.rejected = NULL
void complement_data_usage_mobile_genlist(Evas_Object *mobile_genlist, SmartMgrData *smd)
{
int i = 0;
- Elm_Genlist_Item_Class *itc_genlist_element = NULL;
- Elm_Genlist_Item_Class *itc_genlist_last_element = NULL;
Elm_Object_Item *last_item = NULL;
elm_genlist_mode_set(mobile_genlist, ELM_LIST_COMPRESS);
elm_genlist_clear(mobile_genlist);
- itc_genlist_element = elm_genlist_item_class_new();
- itc_genlist_element->item_style = "type2";
- itc_genlist_element->func.text_get = _item_label_get;
-
_update_genlist_warning_item(smd);
_update_genlist_limit_item(smd);
_update_genlist_cycle_item(smd);
for (i = 0; i < EINA_C_ARRAY_LENGTH(elements)-1; i++) {
elements[i].smd = smd;
if (elements[i].value) {
- elm_genlist_item_append(mobile_genlist, itc_genlist_element,
+ elm_genlist_item_append(mobile_genlist, &itc_genlist_element,
&elements[i], NULL, ELM_GENLIST_ITEM_NONE, elements[i].function,
smd);
}
}
- elm_genlist_item_class_free(itc_genlist_element);
-
- itc_genlist_last_element = elm_genlist_item_class_new();
- itc_genlist_last_element->item_style = "multiline";
- itc_genlist_last_element->func.text_get = _last_item_label_get;
-
_update_genlist_info_item(smd);
elements[EINA_C_ARRAY_LENGTH(elements)-1].smd = smd;
last_item = elm_genlist_item_append(mobile_genlist,
- itc_genlist_last_element, &elements[EINA_C_ARRAY_LENGTH(elements)-1],
+ &itc_genlist_last_element, &elements[EINA_C_ARRAY_LENGTH(elements)-1],
NULL, ELM_GENLIST_ITEM_NONE, NULL,
&elements[EINA_C_ARRAY_LENGTH(elements)-1]);
elm_genlist_item_select_mode_set(last_item, ELM_OBJECT_SELECT_MODE_NONE);
- elm_genlist_item_class_free(itc_genlist_last_element);
-
evas_object_show(mobile_genlist);
}
} else {
smd->selected_sim_limits->custom_mode_interval = value;
complement_data_usage_mobile_genlist(
- smd->mobile_data_setting_genlist,
+ mobile_data_setting_genlist,
smd);
write_cycle_interval(smd);
elm_datetime_value_set(popup_info.content, (Elm_Datetime_Time *)&max_date);
} else {
smd->selected_sim_limits->cycle_start = set_date;
- complement_data_usage_mobile_genlist(smd->mobile_data_setting_genlist, smd);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, smd);
write_cycle_mode(smd);
write_cycle_start(smd);
free(item_data);
}
-static Elm_Gen_Item_Class *_create_genlist_1_line_class(Elm_Gen_Item_Content_Get_Cb _genlist_radio_content_get)
-{
- Elm_Gen_Item_Class *itc = elm_genlist_item_class_new();
- retv_if(!itc, NULL);
-
- itc->item_style = "type1";
- itc->func.content_get = _genlist_radio_content_get;
- itc->func.text_get = _genlist_radio_text_get;
- itc->func.del = _genlist_radio_del;
- return itc;
-}
-
void _radio_cycle_list_item_selected_cb(void *data, Evas_Object *obj, void *event_info)
{
Radio_List_Item_T *item_data = (Radio_List_Item_T *)data;
elm_radio_value_set(cycle_mode_radio_group, item_data->smd->selected_sim_limits->cycle_mode);
}
- complement_data_usage_mobile_genlist(item_data->smd->mobile_data_setting_genlist, item_data->smd);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, item_data->smd);
if (item_data->smd->selected_sim_limits->cycle_mode == CYCLE_MODE_CUSTOM)
_create_custom_cycle_popup(item_data->smd, "Set data usage cycle", item_data->smd->selected_sim_limits->custom_mode_interval);
elm_radio_value_set(cycle_mode_radio_group, item_data->smd->selected_sim_limits->cycle_mode);
}
- complement_data_usage_mobile_genlist(item_data->smd->mobile_data_setting_genlist, item_data->smd);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, item_data->smd);
if (item_data->smd->selected_sim_limits->cycle_mode == CYCLE_MODE_CUSTOM)
_create_custom_cycle_popup(item_data->smd, "Set data usage cycle", item_data->smd->selected_sim_limits->custom_mode_interval);
int i;
Evas_Object *genlist = NULL;
- Elm_Gen_Item_Class *itc = NULL;
Evas_Object *popup = setting_create_popup_with_list(&genlist, NULL, smd->md.naviframe, "Select data usage cycle", NULL, 0, EINA_TRUE, EINA_FALSE, 0);
cycle_mode_radio_group = elm_radio_add(genlist);
elm_radio_value_set(cycle_mode_radio_group, smd->selected_sim_limits->cycle_mode);
- itc = _create_genlist_1_line_class(_genlist_cycle_radio_content_get);
for (i = 0; i < EINA_C_ARRAY_LENGTH(elements_cycle_initial_values); ++i) {
- _append_item_to_radio_list(smd, popup, genlist, itc, elements_cycle_initial_values[i],
+ _append_item_to_radio_list(smd, popup, genlist, &itc_cycle_list, elements_cycle_initial_values[i],
i, !i, _radio_cycle_list_item_selected_cb);
}
-
- elm_genlist_item_class_free(itc);
}
static void _monthly_start_date_popup_done_cb(void *data, Evas_Object *obj, void *event_info)
smd->selected_sim_limits->cycle_start);
elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
elm_genlist_realized_items_update(
- smd->mobile_data_setting_genlist);
+ mobile_data_setting_genlist);
write_cycle_mode(smd);
write_cycle_start(smd);
item_data->smd->selected_sim_limits->cycle_start = item_data->radio_value;
elm_radio_value_set(start_weekday_radio_group, item_data->smd->selected_sim_limits->cycle_start);
- complement_data_usage_mobile_genlist(item_data->smd->mobile_data_setting_genlist, item_data->smd);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, item_data->smd);
evas_object_del(item_data->popup);
}
int i;
Evas_Object *genlist = NULL;
- Elm_Gen_Item_Class *itc = NULL;
Evas_Object *popup = setting_create_popup_with_list(&genlist, NULL, smd->md.naviframe, "Select start day", NULL, 0, EINA_TRUE, EINA_FALSE, 0);
start_weekday_radio_group = elm_radio_add(genlist);
elm_radio_value_set(start_weekday_radio_group, smd->selected_sim_limits->cycle_mode);
- itc = _create_genlist_1_line_class(
- _genlist_start_date_radio_content_get);
for (i = 0; i < EINA_C_ARRAY_LENGTH(elements_cycle_day_of_week); ++i) {
- _append_item_to_radio_list(smd, popup, genlist, itc, elements_cycle_day_of_week[i],
+ _append_item_to_radio_list(smd, popup, genlist, &itc_start_date_list, elements_cycle_day_of_week[i],
i+1, !i, _radio_start_date_list_item_selected_cb);
}
-
- elm_genlist_item_class_free(itc);
}
static void create_custom_start_date_popup(void *data, Evas_Object *obj, void *event_info)
elements[ELEMENT_TYPE_WARNING].value = elements_initial_values[ELEMENT_TYPE_WARNING];
}
- elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
+ elm_genlist_realized_items_update(mobile_data_setting_genlist);
}
static void _update_genlist_limit_item(SmartMgrData *smd)
elements[ELEMENT_TYPE_LIMIT].value = elements_initial_values[ELEMENT_TYPE_LIMIT];
}
- elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
+ elm_genlist_realized_items_update(mobile_data_setting_genlist);
}
static void _update_genlist_cycle_item(SmartMgrData *smd)
elements[ELEMENT_TYPE_CYCLE].value = strdup(elements_cycle_initial_values[smd->selected_sim_limits->cycle_mode]);
}
- elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
+ elm_genlist_realized_items_update(mobile_data_setting_genlist);
}
static void _update_genlist_start_date_item(SmartMgrData *smd)
}
}
- elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
+ elm_genlist_realized_items_update(mobile_data_setting_genlist);
}
static void _update_genlist_info_item(SmartMgrData *smd)
elements[ELEMENT_TYPE_INFO].value = strdup(elements_info_initial_values[smd->selected_sim_limits->cycle_mode]);
- elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
+ elm_genlist_realized_items_update(mobile_data_setting_genlist);
}
static int _create(void *data)
elm_object_style_set(back_btn, NAVI_BACK_ARROW_BUTTON_STYLE);
evas_object_smart_callback_add(back_btn, "clicked", _softkey_back_cb, smd);
- smd->mobile_data_setting_genlist = elm_genlist_add(smd->md.naviframe);
- complement_data_usage_mobile_genlist(smd->mobile_data_setting_genlist, smd);
+ mobile_data_setting_genlist = elm_genlist_add(smd->md.naviframe);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, smd);
- nf_it = elm_naviframe_item_push(smd->md.naviframe, data_usage_mobile_strings[0], back_btn, NULL, smd->mobile_data_setting_genlist, NULL);
+ nf_it = elm_naviframe_item_push(smd->md.naviframe, data_usage_mobile_strings[0], back_btn, NULL, mobile_data_setting_genlist, NULL);
elm_naviframe_item_style_set(nf_it, "tabbar");
elm_naviframe_item_pop_cb_set(nf_it, _pop_view_cb, smd);
SmartMgrData *smd = (SmartMgrData *)data;
retv_if(NULL == smd, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
- complement_data_usage_mobile_genlist(smd->mobile_data_setting_genlist, smd);
+ complement_data_usage_mobile_genlist(mobile_data_setting_genlist, smd);
return 0;
}