2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <setting-connectivity-usb.h>
20 #define DEFAULT_USB_BUF_SIZE 64
21 #define SETTING_USB_DEFAULT_MODE 0
23 static int setting_connectivity_usb_create(void *cb);
24 static int setting_connectivity_usb_destroy(void *cb);
25 static int setting_connectivity_usb_update(void *cb);
26 static int setting_connectivity_usb_cleanup(void *cb);
27 static void mode_change_vconf_cb(keynode_t *key, void *data);
28 static void set_progressbar_status (int mode);
29 static void unset_progressbar_status (int mode);
30 static int disable_glitem(int index);
31 static int enable_glitem(int index);
32 static void enable_all_buttons();
33 static int disable_all_buttons(int enable);
34 static void unload_popup();
35 void load_usb_connection_popup(Evas_Object *radio);
36 static void usb_status_vconf_cb(keynode_t *key, void *data);
38 /* set button style */
39 static Elm_Genlist_Item_Class itc;
40 static Elm_Genlist_Item_Class itc11;
42 /* This is pointer to indicate progressbars*/
43 static button_status button[NUM_PROGRESSBAR];
45 /* This variable indicates whether or not USB mode is being changed */
46 static int in_mode_change; /* NO_CHANGE: USB mode is not being changed, IN_CHANGE: USB mode is being changed */
48 /* This variable shows the current/selected USB mode */
49 static int curMode, selMode;
51 /* These variables are for the popup */
52 static Evas_Object *win_main, *popup_eo;
54 setting_view setting_view_connectivity_usb = {
55 .create = setting_connectivity_usb_create,
56 .destroy = setting_connectivity_usb_destroy,
57 .update = setting_connectivity_usb_update,
58 .cleanup = setting_connectivity_usb_cleanup,
62 * This function is for adding buttons with a radio box and a progressbar
64 Elm_Object_Item *setting_create_Gendial_field_group_item_1radio(Evas_Object * genlist,
65 Elm_Genlist_Item_Class *itc,
66 setting_call_back_func gl_sel,
68 SWALLOW_Type swallow_type,
72 setting_call_back_func chk_change_cb,
77 Setting_GenGroupItem_Data *item_data =
78 (Setting_GenGroupItem_Data *) calloc(1,
80 (Setting_GenGroupItem_Data));
81 item_data->keyStr = (char *)g_strdup(keyStr);
82 item_data->swallow_type = swallow_type;
83 item_data->chk_status = chk_status;
84 item_data->chk_change_cb = chk_change_cb;
86 item_data->index = index;
89 elm_genlist_item_append(genlist, itc, item_data, git,
90 ELM_GENLIST_ITEM_NONE, gl_sel, sel_data);
92 return item_data->item;
96 * Creating progressbar
98 Evas_Object *create_progressbar(Evas_Object *parent, int num)
101 button[num].progressbar = elm_progressbar_add(parent);
102 elm_object_style_set(button[num].progressbar, "list_process");
103 evas_object_size_hint_align_set(button[num].progressbar, EVAS_HINT_FILL,
105 evas_object_size_hint_weight_set(button[num].progressbar,
106 EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
107 evas_object_show(button[num].progressbar);
108 elm_progressbar_pulse(button[num].progressbar, EINA_TRUE);
110 return button[num].progressbar;
114 * This function set the icons: a radio box and a progressbar
116 Evas_Object *_gl_icon_get(void *data, Evas_Object *obj, const char *part)
119 Setting_GenGroupItem_Data *item_data =
120 (Setting_GenGroupItem_Data *) data;
121 Evas_Object *icon = NULL;
122 if (!strncmp(part, "elm.icon.2", sizeof("elm.icon.2"))) {
123 switch (button[item_data->index].pstate) {
124 case STATE_PROGRESSBAR:
125 icon = create_progressbar(obj, item_data->index);
131 icon = elm_radio_add(obj);
132 elm_radio_state_value_set(icon, item_data->chk_status);
133 elm_radio_group_add(icon, item_data->rgd);
134 item_data->eo_check = icon;
135 evas_object_smart_callback_add(icon, "changed",
136 item_data->chk_change_cb,
143 static void setting_connectivity_usb_radio_up_cb(void *data, Evas_Object *obj, void *event_info)
146 setting_retm_if(data == NULL, "ERROR: data == NULL");
147 Evas_Object *radio = (Evas_Object *)obj;
148 SETTING_TRACE("Radio set: when pushing cancel btn on popup\n");
149 elm_radio_value_set(radio, SETTING_USB_DEFAULT_MODE);
154 * Do process when clicking on some genlist item
156 static void setting_connectivity_usb_mouse_up_Gendial_list_radio_cb(void *data,
165 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
166 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
167 elm_genlist_item_selected_set(item, 0);
168 Setting_GenGroupItem_Data *list_item =
169 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
170 Evas_Object *radio = NULL;
172 setting_retm_if(data == NULL, "Data parameter is NULL");
174 if ( in_mode_change == IN_CHANGE)
176 SETTING_TRACE("Currently, USB mode is changing\n");
180 /* If selected mode is same as the previous mode, do nothing */
181 if (curMode == list_item->chk_status)
183 SETTING_TRACE("Selected mode is same as the previous mode\n");
187 selMode = list_item->chk_status;
188 /* If USB cable is connected, buttons should be disabled */
189 int jack_status = check_usb_jack_status();
190 if (jack_status == USB_CONNECTED)
192 /* USB mode is changing */
193 in_mode_change = IN_CHANGE;
195 if (SETTING_RETURN_FAIL == disable_all_buttons(selMode))
197 SETTING_TRACE("FAIL: disable_all_buttons(index)\n");
201 /* Drawing progressbar */
202 set_progressbar_status(selMode);
206 SETTING_TRACE("selMode : %d\n",selMode);
207 ret = vconf_set_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, selMode);
210 SETTING_TRACE("vconf_set_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT)\n");
213 SETTING_TRACE("selMode : %d\n",selMode);
215 if (jack_status == USB_DISCONNECTED)
220 case SETTING_USB_DEFAULT_MODE:
221 SETTING_TRACE("Radio set: clicked Default mode \n");
222 elm_radio_value_set(radio, SETTING_USB_DEFAULT_MODE);
224 case SETTING_USB_DEBUG_MODE:
226 load_usb_connection_popup(radio);
235 * To create the usb main view
237 static int setting_connectivity_usb_create(void *cb)
240 SETTING_TRACE("Start USB utilities\n");
242 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
244 SettingConnectivityUG *ad = (SettingConnectivityUG *) cb;
245 Evas_Object *scroller;
250 char title_default_usb_button[DEFAULT_USB_BUF_SIZE];
251 int jack_status = USB_DISCONNECTED;
252 SETTING_TRACE("in_mode_change = NO_CHANGE\n");
253 in_mode_change = NO_CHANGE;
255 /* win_main of the popup */
256 win_main = ad->win_get;
259 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
261 _(KeyStr_USBconnection),
262 dgettext("sys_string", "IDS_COM_BODY_BACK"),
263 _("IDS_COM_BODY_HELP"),
264 setting_connectivity_usb_click_softkey_cancel_cb,
265 setting_connectivity_usb_click_softkey_set_cb,
269 SETTING_TRACE("before init\n");
271 for (index = 0; index < NUM_PROGRESSBAR; index++) {
272 button[index].item = NULL;
273 button[index].pstate = STATE_NONE;
276 /* itc is for the group titles */
277 setting_create_Gendial_itc("dialogue/title", &itc);
278 SETTING_TRACE("itc is set\n");
280 /* itc11 is for the group members */
281 itc11.item_style = "dialogue/1text.2icon";
282 itc11.func.text_get = ad->itc_1text_1icon_2.func.text_get;
283 itc11.func.state_get = ad->itc_1text_1icon_2.func.state_get;
284 itc11.func.del = ad->itc_1text_1icon_2.func.del;
285 itc11.func.content_get = _gl_icon_get;
287 SETTING_TRACE("itc11 is set\n");
289 /* scroller is a genlist */
290 ad->chk_con = elm_radio_add(scroller);
291 elm_radio_state_value_set(ad->chk_con, -1);
294 setting_create_Gendial_field_titleItem(scroller, &itc,
295 _("IDS_ST_BODY_DEFAULT_CONNECTION_MODE"), NULL);
297 SETTING_TRACE("First group is made\n");
299 snprintf(title_default_usb_button, DEFAULT_USB_BUF_SIZE, "USB %s", _("IDS_COM_BODY_DEFAULT"));
301 /* First item of the first group */
302 button[SETTING_USB_DEFAULT_MODE].item =
303 setting_create_Gendial_field_group_item_1radio(scroller, &itc11,
304 setting_connectivity_usb_mouse_up_Gendial_list_radio_cb,
308 SETTING_USB_DEFAULT_MODE,
309 title_default_usb_button,
310 setting_connectivity_usb_radio_up_cb,
311 NULL, SETTING_USB_DEFAULT_MODE);
313 SETTING_TRACE("First item of First group is set\n");
316 setting_create_Gendial_field_titleItem(scroller, &itc,
317 _("IDS_ST_POP_SELECT_OTHER_CONNECTION"), NULL);
319 SETTING_TRACE("Second group is made\n");
321 /* First item of the second group */
322 button[SETTING_USB_DEBUG_MODE].item =
323 setting_create_Gendial_field_group_item_1radio(scroller, &itc11,
324 setting_connectivity_usb_mouse_up_Gendial_list_radio_cb,
328 SETTING_USB_DEBUG_MODE,
329 _("IDS_ST_BODY_USB_DEBUGGING"),
330 setting_connectivity_usb_radio_up_cb,
331 NULL, SETTING_USB_DEBUG_MODE);
333 SETTING_TRACE("First item of Second group is set\n");
335 ad->isUsbConnected = check_usb_jack_status();
337 /* Set curMode and selMode which are internal variables */
338 if ( ad->isUsbConnected == USB_CONNECTED)
340 setting_get_int_slp_key(INT_SLP_SETTING_USB_MODE, &curMode, &err);
343 SETTING_TRACE("FAIL: setting_get_int_slp_key(INT_SLP_SETTING_USB_MODE)\n");
344 return SETTING_RETURN_FAIL;
347 else /* USB cable is not connected */
348 curMode = SETTING_USB_NONE_MODE;
350 err = vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, &selMode);
353 SETTING_TRACE("FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT)\n");
354 return SETTING_RETURN_FAIL;
358 if (ad->isUsbConnected == USB_CONNECTED) {
359 SETTING_TRACE("Radio set: initial radio \n");
360 elm_radio_value_set(ad->chk_con, curMode);
363 SETTING_TRACE("Radio set: initial radio\n");
364 elm_radio_value_set(ad->chk_con, selMode);
367 /* Registering callback function for VCONFKEY_SETAPPL_USB_MODE_INT */
368 vconf_ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT, mode_change_vconf_cb, ad);
371 SETTING_TRACE("FAIL: vconf_notify_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT)\n");
372 return SETTING_RETURN_FAIL;
375 /* Registering callback function for VCONFKEY_SETAPPL_USB_MODE_INT */
376 vconf_ret = vconf_notify_key_changed(VCONFKEY_SYSMAN_USB_STATUS, usb_status_vconf_cb, ad);
379 SETTING_TRACE("FAIL: vconf_notify_key_changed(VCONFKEY_SYSMAN_USB_STATUS)\n");
380 return SETTING_RETURN_FAIL;
383 SETTING_TRACE("curMode: %d, selMode: %d\n", curMode, selMode);
385 setting_view_connectivity_usb.is_create = 1;
388 return SETTING_RETURN_SUCCESS;
391 /* check_usb_jack_status() is moved to setting-connectivity.c */
394 * Disable a button (genlist)
400 static int disable_glitem(int index)
404 if (SETTING_USB_DEFAULT_MODE != index && SETTING_USB_DEBUG_MODE != index )
406 SETTING_TRACE("ERROR: Item index to disable is invalid.\n");
407 return SETTING_RETURN_FAIL;
410 elm_object_item_disabled_set(button[index].item, EINA_TRUE);
412 return SETTING_RETURN_SUCCESS;
416 * Disable all buttons except a button whose index is the input value.
422 static int disable_all_buttons(int enable)
426 if (SETTING_USB_DEFAULT_MODE != enable && SETTING_USB_DEBUG_MODE != enable)
428 SETTING_TRACE("ERROR: Item index to disable is invalid.\n");
429 return SETTING_RETURN_FAIL;
432 if (enable_glitem(enable) == SETTING_RETURN_FAIL)
434 SETTING_TRACE("FAIL: enable_glitem()\n");
435 return SETTING_RETURN_FAIL;
437 /* When using y=3-x, we can get y=SETTING_USB_DEFAULT_MODE(=0) with x=SETTING_USB_DEBUG_MODE(=3)
438 * and y=SETTING_USB_DEBUG_MODE(=3) with x=SETTING_USB_DEFAULT_MODE(=0) */
439 if (disable_glitem(SETTING_USB_DEBUG_MODE - enable) == SETTING_RETURN_FAIL)
441 SETTING_TRACE("FAIL: disable_glitem()\n");
442 return SETTING_RETURN_FAIL;
446 return SETTING_RETURN_SUCCESS;
450 * Enable a button (genlist)
452 static int enable_glitem(int index)
456 if (SETTING_USB_DEFAULT_MODE != index && SETTING_USB_DEBUG_MODE != index)
458 SETTING_TRACE("ERROR: Item index to enable is invalid.\n");
459 return SETTING_RETURN_FAIL;
462 elm_object_item_disabled_set(button[index].item, EINA_FALSE);
464 return SETTING_RETURN_SUCCESS;
468 * Enable all buttons.
470 static void enable_all_buttons()
474 if(SETTING_RETURN_FAIL == enable_glitem(SETTING_USB_DEFAULT_MODE)
475 || SETTING_RETURN_FAIL == enable_glitem(SETTING_USB_DEBUG_MODE))
477 SETTING_TRACE("FAIL: enable_glitem()\n");
484 static void usb_status_vconf_cb(keynode_t *key, void *data)
487 setting_retm_if(data == NULL, "ERROR:The parameter(data) is NULL\n");
488 SettingConnectivityUG *ad = (SettingConnectivityUG *) data;
493 ret = vconf_get_int(VCONFKEY_SYSMAN_USB_STATUS, &val);
494 setting_retm_if(ret != 0, "FAIL: vconf_get_int(VCONFKEY_SYSMAN_USB_STATUS)");
497 case VCONFKEY_SYSMAN_USB_AVAILABLE:
498 SETTING_TRACE("USB cable is connected\n");
499 ad->isUsbConnected = USB_CONNECTED;
501 if (IN_CHANGE == in_mode_change) {
502 SETTING_TRACE("ERROR: Currently, USB mode is being changed. It occurs when USB cable is connected before USB-setting is terminated completely.\n");
505 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, &selMode);
506 setting_retm_if(ret != 0, "FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT)");
507 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &curMode);
508 setting_retm_if(ret != 0, "FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT)");
509 if (selMode == curMode) {
510 SETTING_TRACE("Mode Change completed\n");
515 SETTING_TRACE("in_mode_change = IN_CHANGE\n");
516 in_mode_change = IN_CHANGE;
518 if (SETTING_RETURN_FAIL == disable_all_buttons(selMode)) {
519 SETTING_TRACE("FAIL: diable_all_buttons()\n");
523 /* The progressbar of the selected mode should be visible */
524 set_progressbar_status(selMode);
526 /* When USB cable is connected, the popup should be unloaded after disabling all buttons and loading progress bar */
529 case VCONFKEY_SYSMAN_USB_DISCONNECTED:
530 SETTING_TRACE("USB cable is not connected\n");
532 if (USB_CONNECTED == ad->isUsbConnected) {
533 SETTING_TRACE("in_mode_change = IN_CHANGE\n");
534 in_mode_change = IN_CHANGE;
537 SETTING_TRACE("in_mode_change = NO_CHANGE\n");
538 in_mode_change = NO_CHANGE;
540 ad->isUsbConnected = USB_DISCONNECTED;
542 SETTING_TRACE("Radio set: Disconnecting USB \n");
543 elm_radio_value_set(ad->chk_con, SETTING_USB_DEFAULT_MODE);
544 unset_progressbar_status(selMode);
545 selMode = SETTING_USB_DEFAULT_MODE;
546 curMode = SETTING_USB_NONE_MODE;
547 ret = vconf_set_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, selMode);
550 SETTING_TRACE("FAIL: setting_get_int_slp_key(INT_SLP_SETTING_USB_MODE)\n");
552 enable_all_buttons();
562 * To change the status of progressbars
564 static void set_progressbar_status (int mode)
568 /* The progressbar of the selected mode is visible */
569 SETTING_TRACE("Loading progressbar on btn of %d\n", mode);
570 button[mode].pstate = STATE_PROGRESSBAR;
571 elm_genlist_item_update(button[mode].item);
576 static void unset_progressbar_status (int mode)
580 /* All progressbars are invisible */
581 SETTING_TRACE("Unloading progressbar on btn of %d\n", mode);
582 button[mode].pstate = STATE_NONE;
583 elm_genlist_item_update(button[mode].item);
589 * When VCONFKEY_SETAPPL_USB_MODE_INT is changed, all buttons are enabled
591 static void mode_change_vconf_cb(keynode_t *key, void *data)
597 SETTING_TRACE("ERROR:The parameter(data) is NULL\n");
600 SettingConnectivityUG *ad = (SettingConnectivityUG *)data;
605 SETTING_TRACE("curMode: %d, selMode: %d\n", curMode, selMode);
606 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &value);
609 SETTING_TRACE("ERROR: vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT)");
613 /* When USB cable is connected, current mode is changed to selected mode.
614 * When USB cable is not connceted, current mode is SETTING_USB_NONE_MODE. */
615 ad->isUsbConnected = check_usb_jack_status();
616 if (ad->isUsbConnected == USB_CONNECTED)
618 /* The progressbar of the selected mode is visible */
619 unset_progressbar_status(selMode);
621 /* The radio box is updated */
622 if (curMode != SETTING_USB_NONE_MODE)
623 elm_genlist_item_update(button[curMode].item);
625 elm_genlist_item_update(button[SETTING_USB_DEFAULT_MODE].item);
626 SETTING_TRACE("Radio set: When current mode is changed with connected USB\n");
627 elm_radio_value_set(ad->chk_con, selMode);
629 /* update the curMode state */
632 /* All buttons are enabled */
633 enable_all_buttons();
635 else /* If USB cable is disconnected, current mode is none */
637 curMode = SETTING_USB_NONE_MODE;
640 SETTING_TRACE("in_mode_change = NO_CHANGE\n");
641 in_mode_change = NO_CHANGE;
643 SETTING_TRACE("curMode: %d, selMode: %d\n", curMode, selMode);
649 * To destory the view of usb
651 static int setting_connectivity_usb_destroy(void *cb)
655 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
657 SettingConnectivityUG *ad = (SettingConnectivityUG *) cb;
661 /* Removing the popup if the popup is loaded */
665 /* Closing vconf trace */
666 vconf_ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT, mode_change_vconf_cb);
669 SETTING_TRACE("FAIL: vconf_ignore_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT)\n");
672 vconf_ret = vconf_ignore_key_changed(VCONFKEY_SYSMAN_USB_STATUS, usb_status_vconf_cb);
675 SETTING_TRACE("FAIL: vconf_ignore_key_changed(VCONFKEY_SYSMAN_USB_STATUS)\n");
679 if (ad->ly_usb != NULL) {
680 evas_object_del(ad->ly_usb);
681 setting_view_connectivity_usb.is_create = 0;
687 SETTING_TRACE("ERROR: the number of errors to destroy is %d\n", num_err);
688 return SETTING_RETURN_FAIL;
692 return SETTING_RETURN_SUCCESS;
698 * To update the view of usb
700 static int setting_connectivity_usb_update(void *cb)
704 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
705 SettingConnectivityUG *ad = (SettingConnectivityUG *) cb;
708 if (ad->ly_usb != NULL) {
709 evas_object_show(ad->ly_usb);
711 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &curMode);
712 setting_retvm_if(ret != 0, SETTING_RETURN_FAIL, "FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT");
713 if (SETTING_USB_NONE_MODE == curMode)
715 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, &selMode);
716 setting_retvm_if(ret != 0, SETTING_RETURN_FAIL, "FAIL: vconf_get_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT");
717 SETTING_TRACE("Radio set: when updating view \n");
718 elm_radio_value_set(ad->chk_con, selMode);
720 else /* curMode != SETTING_USB_NONE_MODE */
722 SETTING_TRACE("Radio set: when updating view \n");
723 elm_radio_value_set(ad->chk_con, curMode);
729 return SETTING_RETURN_SUCCESS;
733 * To cleanup the view of usb
735 static int setting_connectivity_usb_cleanup(void *cb)
737 return SETTING_RETURN_SUCCESS;
741 * Do process when clicking '<-' button
744 setting_connectivity_usb_click_softkey_cancel_cb(void *data, Evas_Object *obj,
749 setting_retm_if(data == NULL, "Data parameter is NULL");
751 SettingConnectivityUG *ad = (SettingConnectivityUG *) data;
753 /* Send destroy request */
754 ug_destroy_me(ad->ug);
759 * Do process when clicking 'Help' button
762 setting_connectivity_usb_click_softkey_set_cb(void *data, Evas_Object *obj,
767 setting_retm_if(data == NULL, "Data parameter is NULL");
769 SettingConnectivityUG *ad = (SettingConnectivityUG *) data;
771 /* Send destroy request */
772 setting_view_change(&setting_view_connectivity_usb,
773 &setting_view_connectivity_usb_help, ad);
779 * Here is for loading popup
785 static void unload_popup()
789 if (popup_eo != NULL)
791 SETTING_TRACE("evas_object_del(popup_eo)\n");
792 evas_object_del(popup_eo);
797 SETTING_TRACE("popup_eo == NULL\n");
804 * Callback function to respond pushing cancel button of the usb connection popup
806 static void usb_connection_response_cb(void *data, Evas_Object *obj, void *event_info)
809 setting_retm_if(!data, "ERROR: The parameter is NULL\n");
810 Evas_Object *radio = data;
813 curMode = SETTING_USB_NONE_MODE;
814 selMode = SETTING_USB_DEFAULT_MODE;
815 ret = vconf_set_int(VCONFKEY_SETAPPL_USB_SEL_MODE_INT, selMode);
816 setting_retm_if(ret != 0, "vconf_set_int(VCONF_SETAPPL_USB_SEL_MODE_INT)\n");
817 SETTING_TRACE("Radio set: When cancel btn is clicked\n");
818 elm_radio_value_set(radio, selMode);
825 * When a button on USB utilities is pushed,
826 * this function makes a popup if USB cable is not connected
828 void load_usb_connection_popup(Evas_Object *radio)
831 setting_retm_if(!radio, "ERROR: The parameter is NULL\n");
834 //popup_eo = elm_popup_with_buttons_add(win_main, popup_title, popup_msg, 1, _("IDS_COM_SK_CANCEL"), -10, NULL);
835 //evas_object_smart_callback_add(popup_eo, "response", usb_connection_response_cb, NULL);
836 popup_eo = elm_popup_add(win_main);
837 elm_object_part_text_set(popup_eo, "title,text", _("IDS_ST_BODY_USB_DEBUGGING"));
838 elm_object_text_set(popup_eo, _("IDS_ST_POP_CONNECT_TO_PC_USB_DEBUGGING_WILL_BE_DISABLED_AUTOMATICALLY_AFTER_USE"));
839 Evas_Object *btn = setting_create_button(win_main, _("IDS_COM_SK_CANCEL"), NULL, usb_connection_response_cb, radio);
840 elm_object_part_content_set(popup_eo, "button1", btn);
841 evas_object_show(popup_eo);
843 if (popup_eo == NULL)
844 SETTING_TRACE( "ERROR: ad->popup_eo is NULL \n");
845 if (win_main == NULL)
846 SETTING_TRACE( "ERROR: ad->win_main is NULL \n");