static Popup_Info popup_info = {0,};
+static Evas_Object *cycle_mode_radio_group = NULL;
+static Evas_Object *start_weekday_radio_group = NULL;
+
static Elm_Entry_Filter_Accept_Set accept_set = {
.accepted = "0123456789.",
.rejected = NULL
_update_genlist_cycle_item(smd);
_update_genlist_start_date_item(smd);
- elements[ELEMENT_TYPE_START_DATE].function = create_start_popup_functions[smd->selected_sim_limits->cycle_mode-1];
+ elements[ELEMENT_TYPE_START_DATE].function = create_start_popup_functions[smd->selected_sim_limits->cycle_mode];
for (i = 0; i < EINA_C_ARRAY_LENGTH(elements)-1; i++) {
elements[i].smd = smd;
return time_tm;
}
+void write_cycle_mode(SmartMgrData *smd)
+{
+ if (smd->selected_sim_subscriber_id == smd->subscriber_id_1) {
+ write_sim_1_cycle_mode(smd->selected_sim_limits->cycle_mode);
+ } else if (smd->selected_sim_subscriber_id == smd->subscriber_id_2) {
+ write_sim_2_cycle_mode(smd->selected_sim_limits->cycle_mode);
+ }
+}
+
void write_cycle_start(SmartMgrData *smd)
{
if (smd->selected_sim_subscriber_id == smd->subscriber_id_1) {
smd->selected_sim_limits->cycle_start = set_date;
complement_data_usage_mobile_genlist(smd->mobile_data_setting_genlist, smd);
+ write_cycle_mode(smd);
write_cycle_start(smd);
evas_object_del(popup_info.popup);
return itc;
}
-void write_cycle_mode(SmartMgrData *smd)
-{
- if (smd->selected_sim_subscriber_id == smd->subscriber_id_1) {
- write_sim_1_cycle_mode(smd->selected_sim_limits->cycle_mode);
- } else if (smd->selected_sim_subscriber_id == smd->subscriber_id_2) {
- write_sim_2_cycle_mode(smd->selected_sim_limits->cycle_mode);
- }
-}
-
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;
if (item_data->smd->selected_sim_limits->cycle_mode != item_data->radio_value) {
item_data->smd->selected_sim_limits->cycle_mode = item_data->radio_value;
item_data->smd->selected_sim_limits->cycle_start = 1;
+ 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);
evas_object_del(item_data->popup);
write_cycle_mode(item_data->smd);
+ write_cycle_start(item_data->smd);
}
static Elm_Widget_Item *_append_item_to_radio_list(SmartMgrData *smd, Evas_Object *popup, Evas_Object *genlist, Elm_Gen_Item_Class *itc,
if (item_data->smd->selected_sim_limits->cycle_mode != item_data->radio_value) {
item_data->smd->selected_sim_limits->cycle_mode = item_data->radio_value;
item_data->smd->selected_sim_limits->cycle_start = 1;
+ 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);
evas_object_del(item_data->popup);
write_cycle_mode(item_data->smd);
+ write_cycle_start(item_data->smd);
+
}
static Evas_Object *_genlist_cycle_radio_content_get(void *data, Evas_Object *obj, const char *part)
radio = elm_radio_add(obj);
retv_if(!radio, NULL);
+ elm_radio_group_add(radio, cycle_mode_radio_group);
elm_radio_state_value_set(radio, item_data->radio_value);
evas_object_smart_callback_add(radio, "changed", _radio_cycle_selected_cb, data);
- if (item_data->smd->selected_sim_limits->cycle_mode == item_data->radio_value)
- elm_radio_value_set(radio, item_data->radio_value);
+ if (item_data->radio_value == item_data->smd->selected_sim_limits->cycle_mode)
+ elm_radio_value_set(start_weekday_radio_group, item_data->smd->selected_sim_limits->cycle_mode);
return radio;
}
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],
- i+1, !i, _radio_cycle_list_item_selected_cb);
+ i, !i, _radio_cycle_list_item_selected_cb);
}
elm_genlist_item_class_free(itc);
elm_genlist_realized_items_update(
smd->mobile_data_setting_genlist);
+ write_cycle_mode(smd);
write_cycle_start(smd);
evas_object_del(popup_info.popup);
{
Radio_List_Item_T *item_data = (Radio_List_Item_T *)data;
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);
+
_update_genlist_start_date_item(item_data->smd);
evas_object_del(item_data->popup);
+ write_cycle_mode(item_data->smd);
write_cycle_start(item_data->smd);
}
Radio_List_Item_T *item_data = (Radio_List_Item_T *)data;
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);
evas_object_del(item_data->popup);
radio = elm_radio_add(obj);
retv_if(!radio, NULL);
+ elm_radio_group_add(radio, start_weekday_radio_group);
elm_radio_state_value_set(radio, item_data->radio_value);
evas_object_smart_callback_add(radio, "changed", _radio_start_date_selected_cb, data);
+ if (item_data->radio_value == item_data->smd->selected_sim_limits->cycle_start)
+ elm_radio_value_set(start_weekday_radio_group, item_data->smd->selected_sim_limits->cycle_start);
- if (item_data->smd->selected_sim_limits->cycle_start == item_data->radio_value)
- elm_radio_value_set(radio, item_data->radio_value);
-
+ write_cycle_mode(item_data->smd);
write_cycle_start(item_data->smd);
return radio;
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) {
snprintf(buf, sizeof(buf), "%d Days", smd->selected_sim_limits->custom_mode_interval);
elements[ELEMENT_TYPE_CYCLE].value = strdup(buf);
} else {
- elements[ELEMENT_TYPE_CYCLE].value = strdup(elements_cycle_initial_values[smd->selected_sim_limits->cycle_mode-1]);
+ 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);
{
char buf[256] = {0};
struct tm min_date = {0};
+ struct tm *time = {0};
free(elements[ELEMENT_TYPE_START_DATE].value);
- if (elements_start_time_initial_values[smd->selected_sim_limits->cycle_mode-1]) {
- if (smd->selected_sim_limits->cycle_start > 1) {
- if (smd->selected_sim_limits->cycle_mode == CYCLE_MODE_MONTHLY) {
- snprintf(buf, sizeof(buf), "%d", smd->selected_sim_limits->cycle_start);
- elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
- } else if (smd->selected_sim_limits->cycle_mode == CYCLE_MODE_WEEKLY) {
- elements[ELEMENT_TYPE_START_DATE].value =
- strdup(elements_cycle_day_of_week[smd->selected_sim_limits->cycle_start-1]);
- } else if (smd->selected_sim_limits->cycle_mode == CYCLE_MODE_CUSTOM) {
- struct tm *time = localtime((time_t*)&smd->selected_sim_limits->cycle_start);
- strftime(buf, sizeof(buf), date_format, time);
- elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
- }
+ if (smd->selected_sim_limits->cycle_start > 1) {
+ switch (smd->selected_sim_limits->cycle_mode) {
+ case CYCLE_MODE_MONTHLY:
+ snprintf(buf, sizeof(buf), "%d", smd->selected_sim_limits->cycle_start);
+ elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
+ break;
+ case CYCLE_MODE_WEEKLY:
+ elements[ELEMENT_TYPE_START_DATE].value =
+ strdup(elements_cycle_day_of_week[smd->selected_sim_limits->cycle_start-1]);
+ break;
+ case CYCLE_MODE_DAILY:
+ break;
+ case CYCLE_MODE_CUSTOM:
+ time = localtime((time_t*)&smd->selected_sim_limits->cycle_start);
+ strftime(buf, sizeof(buf), date_format, time);
+ elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
+ break;
+ }
+ } else {
+ if (smd->selected_sim_limits->cycle_mode == CYCLE_MODE_CUSTOM) {
+ min_date = _get_margin_date(DATE_MIN);
+ smd->selected_sim_limits->cycle_start = (int)mktime(&min_date);
+ strftime(buf, sizeof(buf), date_format, &min_date);
+ elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
} else {
- if (smd->selected_sim_limits->cycle_mode == CYCLE_MODE_CUSTOM) {
- min_date = _get_margin_date(DATE_MIN);
- smd->selected_sim_limits->cycle_start = (int)mktime(&min_date);
- strftime(buf, sizeof(buf), date_format, &min_date);
- elements[ELEMENT_TYPE_START_DATE].value = strdup(buf);
+ if (elements_start_time_initial_values[smd->selected_sim_limits->cycle_mode]) {
+ elements[ELEMENT_TYPE_START_DATE].value = strdup(elements_start_time_initial_values[smd->selected_sim_limits->cycle_mode]);
} else {
- elements[ELEMENT_TYPE_START_DATE].value = strdup(elements_start_time_initial_values[smd->selected_sim_limits->cycle_mode-1]);
+ elements[ELEMENT_TYPE_START_DATE].value = NULL;
}
}
- } else {
- elements[ELEMENT_TYPE_START_DATE].value = NULL;
}
elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
{
free(elements[ELEMENT_TYPE_INFO].value);
- elements[ELEMENT_TYPE_INFO].value = strdup(elements_info_initial_values[smd->selected_sim_limits->cycle_mode-1]);
+ 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);
}