.update = setting_about_main_update,
.cleanup = setting_about_main_cleanup,
};
-
-static void __setting_about_main_exp_cb(void *data, Evas_Object *obj, void *event_info);
-
/**
* Do process when clicking '<-' button
*
static void __setting_about_main_certificates_clicked(void *data);
static void __setting_about_main_device_name_clicked(void *data, Evas_Object *obj);
static void __setting_about_main_diagnostics_usage_clicked(void *data, Evas_Object *obj);
-
-static void __setting_about_sub_list_rd_change(void *data, Evas_Object *obj, void *event_info);
+static void __setting_about_main_exp_cb(void *data, Evas_Object *obj, void *event_info);
/* ***************************************************
*
*basic func
}
// [UI] My number
+ int err;
+ char sel_num[TAPI_SIM_XDN_DIALING_NUMBER_LEN + 1] = { 0, };
+ setting_get_string_slp_key(STR_SLP_SETTING_SELECT_NUM, sel_num, &err);
+
if (ad->my_numbers.count == 1) {
item_data =
setting_create_Gendial_field_def(scroller, &(ad->itc_2text_2),
- setting_about_main_mouse_up_Gendial_list_cb,
+ NULL,
ad, SWALLOW_Type_INVALID, NULL,
NULL, 0, SETTING_ABOUT_MY_NUMBER_STR,
- ad->my_numbers.list[0].name, NULL);
+ sel_num, NULL);
if (item_data) {
elm_genlist_item_select_mode_set(item_data->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
} else {
NULL, NULL,
SWALLOW_Type_INVALID,
SETTING_ABOUT_MY_NUMBER_STR,
- ad->my_numbers.list[ad->my_number_sel_idx].name);
+ sel_num);
+ if (item_data) {
+ item_data->int_slp_setting_binded = STR_SLP_SETTING_SELECT_NUM;
+ } else {
+ SETTING_TRACE_ERROR("ad->data_wap is NULL");
+ }
} else {
SETTING_TRACE_ERROR("don't have my number");
}
}
+void __setting_about_sub_list_sel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ /* error check */
+ retm_if(event_info == NULL, "Invalid argument: event info is NULL");
+ Elm_Object_Item *subitem = (Elm_Object_Item *) event_info;
+ Elm_Object_Item *parentItem = elm_genlist_item_parent_get(subitem);
+ elm_genlist_item_selected_set(subitem, 0);
+ Setting_GenGroupItem_Data *data_subItem = elm_object_item_data_get(subitem);
+ Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
+ ret_if(NULL == data_subItem || NULL == data_parentItem);
+
+
+ int err;
+ setting_set_string_slp_key(data_parentItem->int_slp_setting_binded, data_subItem->keyStr, &err);
+ setting_retm_if(0 != err, "Set vconf error[%d]",data_parentItem->int_slp_setting_binded);
+
+ data_parentItem->sub_desc = (char *)g_strdup(_(data_subItem->keyStr));
+ elm_object_item_data_set(data_parentItem->item, data_parentItem);
+ elm_genlist_item_update(data_parentItem->item);
+ elm_radio_value_set(data_subItem->rgd, data_subItem->chk_status);
+}
+
+static void __setting_about_sub_list_rd_change(void *data, Evas_Object *obj, void *event_info)
+
+{
+ SETTING_TRACE_BEGIN;
+ retm_if(data == NULL, "Data parameter is NULL");
+ Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
+
+ Elm_Object_Item *subItem = list_item->item;
+ Elm_Object_Item *parentItem = elm_genlist_item_parent_get(subItem);
+
+ Setting_GenGroupItem_Data *data_subItem = elm_object_item_data_get(subItem); /* subItem data */
+ Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
+ ret_if(NULL == data_subItem || NULL == data_parentItem);
+
+ int err;
+ setting_set_string_slp_key(data_parentItem->int_slp_setting_binded, data_subItem->keyStr, &err);
+
+ ret_if(0 != err);
+ data_parentItem->sub_desc = (char *)g_strdup(_(data_subItem->keyStr));
+ elm_object_item_data_set(data_parentItem->item, data_parentItem);
+ elm_genlist_item_update(data_parentItem->item);
+ elm_radio_value_set(obj, data_subItem->chk_status);
+}
+
static void __setting_about_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
{
SETTING_TRACE_BEGIN;
SettingAboutUG *ad = (SettingAboutUG *) data;
Elm_Object_Item *parentItem = event_info; /* parent item */
+ Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem);
Evas_Object *scroller = elm_object_item_widget_get(parentItem);
Evas_Object *rgd = elm_radio_add(scroller);
elm_radio_value_set(rgd, -1);
+ int err;
+ char sel_num[TAPI_SIM_XDN_DIALING_NUMBER_LEN + 1] = { 0, };
+ setting_get_string_slp_key(data_parentItem->int_slp_setting_binded, sel_num, &err);
+ SETTING_TRACE("binded: %d, checked: %s, err: %d", data_parentItem->int_slp_setting_binded, sel_num, err);
+
int i = 0;
+ int sel_idx = -1;
Setting_GenGroupItem_Data *item_data = NULL;
for(; i < SETTING_ABOUT_MY_NUMBERS_LEN; i++) {
- if (ad->my_numbers.list[i].name == NULL) {
+ if (ad->my_numbers.list[i].num == NULL) {
break;
}
+ if (sel_idx == -1 && 0 == safeStrCmp(sel_num, ad->my_numbers.list[i].num)) {
+ sel_idx = i;
+ }
item_data = setting_create_Gendial_exp_sub_field(scroller,
&(ad->itc_1icon_1text_sub),
- NULL, NULL, parentItem,
+ __setting_about_sub_list_sel_cb, ad, parentItem,
SWALLOW_Type_1RADIO, rgd,
i,
- ad->my_numbers.list[i].name, __setting_about_sub_list_rd_change);
+ ad->my_numbers.list[i].num, __setting_about_sub_list_rd_change);
if (item_data) {
item_data->userdata = ad;
- elm_genlist_item_select_mode_set(item_data->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ //elm_genlist_item_select_mode_set(item_data->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
} else {
SETTING_TRACE_ERROR("item_data is NULL");
}
}
- elm_radio_value_set(rgd, ad->my_number_sel_idx);
-}
-static void __setting_about_sub_list_rd_change(void *data, Evas_Object *obj, void *event_info) {
- SETTING_TRACE_BEGIN;
- retm_if(data == NULL, "Data parameter is NULL");
- Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
- SettingAboutUG *ad = (SettingAboutUG *) list_item->userdata;
- SETTING_TRACE("my_number_sel_idx = %d", ad->my_number_sel_idx);
- elm_radio_value_set(obj, ad->my_number_sel_idx);
+ elm_radio_value_set(rgd, sel_idx);
}
int i =0;
SETTING_TRACE("access_rt[%d]", access_rt);
+
+ //#define TEST
+ #ifndef TEST
memcpy(&(ad->my_numbers), data, sizeof(TelSimMsisdnList_t));
+ #else
+ TelSimMsisdnList_t r_numbers;
+ /////////r_numbers.count = 3;
+ r_numbers.count = 3;
+ safeCopyStr(r_numbers.list[0].name, "n1", 30);
+ safeCopyStr(r_numbers.list[1].name, "n2", 30);
+ safeCopyStr(r_numbers.list[2].name, "n3", 30);
+ safeCopyStr(r_numbers.list[0].num, "1111111111", 30);
+ safeCopyStr(r_numbers.list[1].num, "2222222222", 30);
+ safeCopyStr(r_numbers.list[2].num, "3333333333", 30);
+ memcpy(&(ad->my_numbers), &r_numbers, sizeof(TelSimMsisdnList_t));
+ #endif
+
+ int err;
+ char sel_num[TAPI_SIM_XDN_DIALING_NUMBER_LEN + 1] = { 0, };
+ setting_get_string_slp_key(STR_SLP_SETTING_SELECT_NUM, sel_num, &err);
+
+ bool isFound = FALSE;
SETTING_TRACE("ad->my_numbers.count[%d]", ad->my_numbers.count);
- for (i = 0; i < ad->my_numbers.count && i < SETTING_ABOUT_MY_NUMBERS_LEN; i++)
- {
+
+ for (i = 0; i < ad->my_numbers.count && i < SETTING_ABOUT_MY_NUMBERS_LEN; i++) {
SETTING_TRACE("index[%d] - name[%s], num[%s]", i, ad->my_numbers.list[i].name, ad->my_numbers.list[i].num);
+ if (0 == safeStrCmp(sel_num, ad->my_numbers.list[i].num)) {
+ isFound = TRUE;
+ }
+ }
+ if (!isFound && ad->my_numbers.count > 0) {//if not found, set as the first num of returned-list
+ SETTING_TRACE("Selected-num hasn't been found, to let the first one as defalut one");
+ setting_set_string_slp_key(STR_SLP_SETTING_SELECT_NUM, ad->my_numbers.list[0].num, &err);
}
- ad->my_number_sel_idx = 0;//default is 0, need improving
ad->tapi_responsed = TRUE;
if (ad->popup) {
evas_object_del(ad->popup);