From dfe3376955d6d302a0443257e953306c170d3b4d Mon Sep 17 00:00:00 2001 From: Priya Kohli Date: Wed, 17 May 2017 17:27:15 +0530 Subject: [PATCH] Fix for Focus issue in Manual case - Partial. In Manual case focus not working for IP Settings/Done button to DNS Setting. Indentation fix and commented code removel. Change-Id: I09be84442aaa4dcf51e72bf95d77085e866c957c Signed-off-by: Priya Kohli --- src/view/view_new_network.c | 657 +++++++++++++++----------------------------- 1 file changed, 227 insertions(+), 430 deletions(-) diff --git a/src/view/view_new_network.c b/src/view/view_new_network.c index a9ae33d..2d0f355 100644 --- a/src/view/view_new_network.c +++ b/src/view/view_new_network.c @@ -43,16 +43,6 @@ enum object_type { EO_BTN_DONE, }; -struct _content_automatic { - Evas_Object *layout; - Evas_Object *layout_content; - - /* Internal swallow contents */ - Evas_Object *radio1, *radio2; - Evas_Object *layout_dns_addr; - Evas_Object *dns_ip1, *dns_ip2, *dns_ip3, *dns_ip4; -}; - struct _content_manual { Evas_Object *layout; Evas_Object *layout_content_ip; @@ -79,7 +69,6 @@ static int id_config_type_opt[] = { TYPE_MANUALLY, }; - const char *str_config_type_opt[] = { STR_AUTOMATICALLY, STR_MAUALLY, @@ -103,7 +92,6 @@ struct _priv { bool input_panel_show; Evas_Object *focused_entry; - struct _content_automatic *content_automatic; struct _content_manual *content_manual; /* Result structure to return previous view */ @@ -157,7 +145,7 @@ static void _update_profile_from_input_data(struct _priv *priv) char address_gateway[IPV4_ADDRESS_MAX_LEN] = {0, }; char address_dns[IPV4_ADDRESS_MAX_LEN] = {0, }; int val[4] = {0, }; - + if (priv->ip_menu == 0) { if (priv->dns_menu == 0) { _ERR("2"); @@ -165,9 +153,9 @@ static void _update_profile_from_input_data(struct _priv *priv) } else { /* Get DNS Address manually */ if (!_validate_address(priv->content_manual->dns_ip1, &val[0]) || - !_validate_address(priv->content_manual->dns_ip2, &val[1]) || - !_validate_address(priv->content_manual->dns_ip3, &val[2]) || - !_validate_address(priv->content_manual->dns_ip4, &val[3])) { + !_validate_address(priv->content_manual->dns_ip2, &val[1]) || + !_validate_address(priv->content_manual->dns_ip3, &val[2]) || + !_validate_address(priv->content_manual->dns_ip4, &val[3])) { _DBG("Invalid DNS address"); return; } @@ -178,9 +166,9 @@ static void _update_profile_from_input_data(struct _priv *priv) } } else { if (!_validate_address(priv->content_manual->ip1, &val[0]) || - !_validate_address(priv->content_manual->ip2, &val[1]) || - !_validate_address(priv->content_manual->ip3, &val[2]) || - !_validate_address(priv->content_manual->ip4, &val[3])) { + !_validate_address(priv->content_manual->ip2, &val[1]) || + !_validate_address(priv->content_manual->ip3, &val[2]) || + !_validate_address(priv->content_manual->ip4, &val[3])) { _DBG("Invalid IP address"); return; } @@ -189,9 +177,9 @@ static void _update_profile_from_input_data(struct _priv *priv) _DBG("IP Address : [%s]", address_ip); if (!_validate_address(priv->content_manual->sub_ip1, &val[0]) || - !_validate_address(priv->content_manual->sub_ip2, &val[1]) || - !_validate_address(priv->content_manual->sub_ip3, &val[2]) || - !_validate_address(priv->content_manual->sub_ip4, &val[3])) { + !_validate_address(priv->content_manual->sub_ip2, &val[1]) || + !_validate_address(priv->content_manual->sub_ip3, &val[2]) || + !_validate_address(priv->content_manual->sub_ip4, &val[3])) { _DBG("Invalid Subnet mask"); return; } @@ -200,9 +188,9 @@ static void _update_profile_from_input_data(struct _priv *priv) _DBG("subnet mask : [%s]", address_subnet); if (!_validate_address(priv->content_manual->gateway_ip1, &val[0]) || - !_validate_address(priv->content_manual->gateway_ip2, &val[1]) || - !_validate_address(priv->content_manual->gateway_ip3, &val[2]) || - !_validate_address(priv->content_manual->gateway_ip4, &val[3])) { + !_validate_address(priv->content_manual->gateway_ip2, &val[1]) || + !_validate_address(priv->content_manual->gateway_ip3, &val[2]) || + !_validate_address(priv->content_manual->gateway_ip4, &val[3])) { _DBG("Invalid Gateway address"); return; } @@ -211,9 +199,9 @@ static void _update_profile_from_input_data(struct _priv *priv) _DBG("Gateway Address : [%s]", address_gateway); if (!_validate_address(priv->content_manual->dns_ip1, &val[0]) || - !_validate_address(priv->content_manual->dns_ip2, &val[1]) || - !_validate_address(priv->content_manual->dns_ip3, &val[2]) || - !_validate_address(priv->content_manual->dns_ip4, &val[3])) { + !_validate_address(priv->content_manual->dns_ip2, &val[1]) || + !_validate_address(priv->content_manual->dns_ip3, &val[2]) || + !_validate_address(priv->content_manual->dns_ip4, &val[3])) { _DBG("Invalid DNS address"); return; } @@ -250,18 +238,18 @@ static void _set_result(struct _priv *priv, int id) /* Handle return type */ switch (id) { - case EO_BTN_CANCEL: - priv->conn->result = false; - priv->conn->network_type = WIRED_TYPE_DEFAULT; - break; - case EO_BTN_DONE: - default: - priv->conn->result = true; + case EO_BTN_CANCEL: + priv->conn->result = false; + priv->conn->network_type = WIRED_TYPE_DEFAULT; + break; + case EO_BTN_DONE: + default: + priv->conn->result = true; - /* TODO: Update result data from user input here */ - _update_profile_from_input_data(priv); - _DBG("DNS Address : [%s]", priv->conn->wired_dns); - break; + /* TODO: Update result data from user input here */ + _update_profile_from_input_data(priv); + _DBG("DNS Address : [%s]", priv->conn->wired_dns); + break; } /* Send event to network layout */ @@ -312,8 +300,8 @@ static void _base_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj, } if (!strcmp(ev->keyname, KEY_BACK) - || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) - ) { + || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) + ) { _set_result(priv, EO_BTN_CANCEL); viewmgr_remove_view(VIEW_NEW_NETWORK); } @@ -373,8 +361,6 @@ static bool _draw_menu_area(struct _priv *priv) evas_object_hide(priv->content_manual->layout_content_dns); } - elm_object_focus_set(priv->base, EINA_TRUE); - return true; } @@ -389,9 +375,9 @@ static void _focused_cb(void *data, Evas_Object *obj, void *ei) priv->focused_entry = obj; if (obj == priv->content_manual->ip1 - || obj == priv->content_manual->ip2 - || obj == priv->content_manual->ip3 - || obj == priv->content_manual->ip4) { + || obj == priv->content_manual->ip2 + || obj == priv->content_manual->ip3 + || obj == priv->content_manual->ip4) { elm_object_signal_emit(priv->content_manual->address_ip, SIG_IP_ADDRESS_SELECTED, SRC_ELM); @@ -399,9 +385,9 @@ static void _focused_cb(void *data, Evas_Object *obj, void *ei) * when user input ip address in sequence */ priv->input_panel_show = true; } else if (obj == priv->content_manual->sub_ip1 - || obj == priv->content_manual->sub_ip2 - || obj == priv->content_manual->sub_ip3 - || obj == priv->content_manual->sub_ip4) { + || obj == priv->content_manual->sub_ip2 + || obj == priv->content_manual->sub_ip3 + || obj == priv->content_manual->sub_ip4) { elm_object_signal_emit(priv->content_manual->address_subnet, SIG_IP_ADDRESS_SELECTED, SRC_ELM); @@ -409,9 +395,9 @@ static void _focused_cb(void *data, Evas_Object *obj, void *ei) * when user input ip address in sequence */ priv->input_panel_show = true; } else if (obj == priv->content_manual->gateway_ip1 - || obj == priv->content_manual->gateway_ip2 - || obj == priv->content_manual->gateway_ip3 - || obj == priv->content_manual->gateway_ip4) { + || obj == priv->content_manual->gateway_ip2 + || obj == priv->content_manual->gateway_ip3 + || obj == priv->content_manual->gateway_ip4) { elm_object_signal_emit(priv->content_manual->address_gateway, SIG_IP_ADDRESS_SELECTED, SRC_ELM); @@ -419,9 +405,9 @@ static void _focused_cb(void *data, Evas_Object *obj, void *ei) * when user input ip address in sequence */ priv->input_panel_show = true; } else if (obj == priv->content_manual->dns_ip1 - || obj == priv->content_manual->dns_ip2 - || obj == priv->content_manual->dns_ip3 - || obj == priv->content_manual->dns_ip4) { + || obj == priv->content_manual->dns_ip2 + || obj == priv->content_manual->dns_ip3 + || obj == priv->content_manual->dns_ip4) { elm_object_signal_emit(priv->content_manual->address_dns, SIG_IP_ADDRESS_SELECTED, SRC_ELM); @@ -443,27 +429,27 @@ static void _unfocused_cb(void *data, Evas_Object *obj, void *ei) return; if (obj == priv->content_manual->ip1 - || obj == priv->content_manual->ip2 - || obj == priv->content_manual->ip3 - || obj == priv->content_manual->ip4) { + || obj == priv->content_manual->ip2 + || obj == priv->content_manual->ip3 + || obj == priv->content_manual->ip4) { elm_object_signal_emit(priv->content_manual->address_ip, SIG_IP_ADDRESS_UNFOCUSED, SRC_ELM); } else if (obj == priv->content_manual->sub_ip1 - || obj == priv->content_manual->sub_ip2 - || obj == priv->content_manual->sub_ip3 - || obj == priv->content_manual->sub_ip4) { + || obj == priv->content_manual->sub_ip2 + || obj == priv->content_manual->sub_ip3 + || obj == priv->content_manual->sub_ip4) { elm_object_signal_emit(priv->content_manual->address_subnet, SIG_IP_ADDRESS_UNFOCUSED, SRC_ELM); } else if (obj == priv->content_manual->gateway_ip1 - || obj == priv->content_manual->gateway_ip2 - || obj == priv->content_manual->gateway_ip3 - || obj == priv->content_manual->gateway_ip4) { + || obj == priv->content_manual->gateway_ip2 + || obj == priv->content_manual->gateway_ip3 + || obj == priv->content_manual->gateway_ip4) { elm_object_signal_emit(priv->content_manual->address_gateway, SIG_IP_ADDRESS_UNFOCUSED, SRC_ELM); } else if (obj == priv->content_manual->dns_ip1 - || obj == priv->content_manual->dns_ip2 - || obj == priv->content_manual->dns_ip3 - || obj == priv->content_manual->dns_ip4) { + || obj == priv->content_manual->dns_ip2 + || obj == priv->content_manual->dns_ip3 + || obj == priv->content_manual->dns_ip4) { elm_object_signal_emit(priv->content_manual->address_dns, SIG_IP_ADDRESS_UNFOCUSED, SRC_ELM); } @@ -476,52 +462,41 @@ static void _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *ei) if (!strcmp(ev->key, KEY_ENTER)) { /* set focus to next item */ - /*if (priv->ip_menu == 0) { - if (obj == priv->content_automatic->dns_ip1) - elm_object_focus_set(priv->content_automatic->dns_ip2, EINA_TRUE); - if (obj == priv->content_automatic->dns_ip2) - elm_object_focus_set(priv->content_automatic->dns_ip3, EINA_TRUE); - if (obj == priv->content_automatic->dns_ip3) - elm_object_focus_set(priv->content_automatic->dns_ip4, EINA_TRUE); - if (obj == priv->content_automatic->dns_ip4) - elm_object_focus_set(priv->btn_done, EINA_TRUE); - } else if (priv->ip_menu == 1) */{ - if (obj == priv->content_manual->ip1) - elm_object_focus_set(priv->content_manual->ip2, EINA_TRUE); - if (obj == priv->content_manual->ip2) - elm_object_focus_set(priv->content_manual->ip3, EINA_TRUE); - if (obj == priv->content_manual->ip3) - elm_object_focus_set(priv->content_manual->ip4, EINA_TRUE); - if (obj == priv->content_manual->ip4) - elm_object_focus_set(priv->content_manual->sub_ip1, EINA_TRUE); - - if (obj == priv->content_manual->sub_ip1) - elm_object_focus_set(priv->content_manual->sub_ip2, EINA_TRUE); - if (obj == priv->content_manual->sub_ip2) - elm_object_focus_set(priv->content_manual->sub_ip3, EINA_TRUE); - if (obj == priv->content_manual->sub_ip3) - elm_object_focus_set(priv->content_manual->sub_ip4, EINA_TRUE); - if (obj == priv->content_manual->sub_ip4) - elm_object_focus_set(priv->content_manual->gateway_ip1, EINA_TRUE); - - if (obj == priv->content_manual->gateway_ip1) - elm_object_focus_set(priv->content_manual->gateway_ip2, EINA_TRUE); - if (obj == priv->content_manual->gateway_ip2) - elm_object_focus_set(priv->content_manual->gateway_ip3, EINA_TRUE); - if (obj == priv->content_manual->gateway_ip3) - elm_object_focus_set(priv->content_manual->gateway_ip4, EINA_TRUE); - if (obj == priv->content_manual->gateway_ip4) - elm_object_focus_set(priv->content_manual->dns_ip1, EINA_TRUE); - - if (obj == priv->content_manual->dns_ip1) - elm_object_focus_set(priv->content_manual->dns_ip2, EINA_TRUE); - if (obj == priv->content_manual->dns_ip2) - elm_object_focus_set(priv->content_manual->dns_ip3, EINA_TRUE); - if (obj == priv->content_manual->dns_ip3) - elm_object_focus_set(priv->content_manual->dns_ip4, EINA_TRUE); - if (obj == priv->content_manual->dns_ip4) - elm_object_focus_set(priv->btn_done, EINA_TRUE); - } + if (obj == priv->content_manual->ip1) + elm_object_focus_set(priv->content_manual->ip2, EINA_TRUE); + if (obj == priv->content_manual->ip2) + elm_object_focus_set(priv->content_manual->ip3, EINA_TRUE); + if (obj == priv->content_manual->ip3) + elm_object_focus_set(priv->content_manual->ip4, EINA_TRUE); + if (obj == priv->content_manual->ip4) + elm_object_focus_set(priv->content_manual->sub_ip1, EINA_TRUE); + + if (obj == priv->content_manual->sub_ip1) + elm_object_focus_set(priv->content_manual->sub_ip2, EINA_TRUE); + if (obj == priv->content_manual->sub_ip2) + elm_object_focus_set(priv->content_manual->sub_ip3, EINA_TRUE); + if (obj == priv->content_manual->sub_ip3) + elm_object_focus_set(priv->content_manual->sub_ip4, EINA_TRUE); + if (obj == priv->content_manual->sub_ip4) + elm_object_focus_set(priv->content_manual->gateway_ip1, EINA_TRUE); + + if (obj == priv->content_manual->gateway_ip1) + elm_object_focus_set(priv->content_manual->gateway_ip2, EINA_TRUE); + if (obj == priv->content_manual->gateway_ip2) + elm_object_focus_set(priv->content_manual->gateway_ip3, EINA_TRUE); + if (obj == priv->content_manual->gateway_ip3) + elm_object_focus_set(priv->content_manual->gateway_ip4, EINA_TRUE); + if (obj == priv->content_manual->gateway_ip4) + elm_object_focus_set(priv->content_manual->dns_ip1, EINA_TRUE); + + if (obj == priv->content_manual->dns_ip1) + elm_object_focus_set(priv->content_manual->dns_ip2, EINA_TRUE); + if (obj == priv->content_manual->dns_ip2) + elm_object_focus_set(priv->content_manual->dns_ip3, EINA_TRUE); + if (obj == priv->content_manual->dns_ip3) + elm_object_focus_set(priv->content_manual->dns_ip4, EINA_TRUE); + if (obj == priv->content_manual->dns_ip4) + elm_object_focus_set(priv->btn_done, EINA_TRUE); } /* Update done button state */ @@ -531,15 +506,15 @@ static void _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *ei) static bool _update_entry_input_state(struct _priv *priv) { if (priv == NULL || - priv->content_manual == NULL) + priv->content_manual == NULL) return false; if (priv->ip_menu == 0) { if (priv->dns_menu == 0) { if (!_check_entry_filled(priv->content_manual->dns_ip1) || - !_check_entry_filled(priv->content_manual->dns_ip2) || - !_check_entry_filled(priv->content_manual->dns_ip3) || - !_check_entry_filled(priv->content_manual->dns_ip4)) { + !_check_entry_filled(priv->content_manual->dns_ip2) || + !_check_entry_filled(priv->content_manual->dns_ip3) || + !_check_entry_filled(priv->content_manual->dns_ip4)) { elm_object_disabled_set(priv->btn_done, EINA_TRUE); return false; @@ -547,21 +522,21 @@ static bool _update_entry_input_state(struct _priv *priv) } } else { if (!_check_entry_filled(priv->content_manual->ip1) || - !_check_entry_filled(priv->content_manual->ip2) || - !_check_entry_filled(priv->content_manual->ip3) || - !_check_entry_filled(priv->content_manual->ip4) || - !_check_entry_filled(priv->content_manual->sub_ip1) || - !_check_entry_filled(priv->content_manual->sub_ip2) || - !_check_entry_filled(priv->content_manual->sub_ip3) || - !_check_entry_filled(priv->content_manual->sub_ip4) || - !_check_entry_filled(priv->content_manual->gateway_ip1) || - !_check_entry_filled(priv->content_manual->gateway_ip2) || - !_check_entry_filled(priv->content_manual->gateway_ip3) || - !_check_entry_filled(priv->content_manual->gateway_ip4) || - !_check_entry_filled(priv->content_manual->dns_ip1) || - !_check_entry_filled(priv->content_manual->dns_ip2) || - !_check_entry_filled(priv->content_manual->dns_ip3) || - !_check_entry_filled(priv->content_manual->dns_ip4)) { + !_check_entry_filled(priv->content_manual->ip2) || + !_check_entry_filled(priv->content_manual->ip3) || + !_check_entry_filled(priv->content_manual->ip4) || + !_check_entry_filled(priv->content_manual->sub_ip1) || + !_check_entry_filled(priv->content_manual->sub_ip2) || + !_check_entry_filled(priv->content_manual->sub_ip3) || + !_check_entry_filled(priv->content_manual->sub_ip4) || + !_check_entry_filled(priv->content_manual->gateway_ip1) || + !_check_entry_filled(priv->content_manual->gateway_ip2) || + !_check_entry_filled(priv->content_manual->gateway_ip3) || + !_check_entry_filled(priv->content_manual->gateway_ip4) || + !_check_entry_filled(priv->content_manual->dns_ip1) || + !_check_entry_filled(priv->content_manual->dns_ip2) || + !_check_entry_filled(priv->content_manual->dns_ip3) || + !_check_entry_filled(priv->content_manual->dns_ip4)) { elm_object_disabled_set(priv->btn_done, EINA_TRUE); return false; @@ -592,7 +567,7 @@ static void _imf_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value) if (entry_y + entry_h >= (DEFAULT_KEYPAD_POS)) { Evas_Coord moved_height; moved_height = (DEFAULT_KEYPAD_POS - PADDING_VKEYBOARD) - - (entry_y + entry_h); + - (entry_y + entry_h); evas_object_move(priv->base, x, moved_height); } else { evas_object_move(priv->base, x, 0); @@ -606,7 +581,7 @@ static void _imf_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value) if (entry_y - y + entry_h >= (DEFAULT_KEYPAD_POS)) { Evas_Coord moved_height; moved_height = (DEFAULT_KEYPAD_POS - PADDING_VKEYBOARD) - - (entry_y - y + entry_h); + - (entry_y - y + entry_h); evas_object_move(priv->base, x, moved_height); } else { evas_object_move(priv->base, x, 0); @@ -629,21 +604,6 @@ static void _imf_panel_event_cb(void *data, Ecore_IMF_Context *ctx, int value) } } -/*static void _radio_changed_cb(void *data, Evas_Object *obj, void *event_info) -{ - struct _priv *priv = data; - int val = elm_radio_value_get(obj); - - switch (val) { - case 1: - elm_object_disabled_set(priv->btn_done, EINA_FALSE); - break; - case 2: - _update_entry_input_state(priv); - break; - } -}*/ - static void _markup_cb(void *data, Evas_Object *entry, char **text) { struct _priv *priv = data; @@ -695,7 +655,7 @@ static void _markup_cb(void *data, Evas_Object *entry, char **text) candidate = val_priv * 10 + val_input; if (0 > val_priv || 255 < val_priv - || 0 > candidate || 255 < candidate) { + || 0 > candidate || 255 < candidate) { /* Ignore input value */ free(*text); *text = NULL; @@ -758,48 +718,15 @@ static Evas_Object *_create_ip_address_entry(Evas_Object *parent, ctx = (Ecore_IMF_Context*)elm_entry_imf_context_get(obj); ecore_imf_context_input_panel_event_callback_add(ctx, - ECORE_IMF_INPUT_PANEL_STATE_EVENT, _imf_panel_event_cb, user_data); + ECORE_IMF_INPUT_PANEL_STATE_EVENT, _imf_panel_event_cb, user_data); /* Handle 'delete all' button event */ ecore_imf_context_event_callback_add(ctx, - ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _imf_delete_event_cb, user_data); + ECORE_IMF_CALLBACK_DELETE_SURROUNDING, _imf_delete_event_cb, user_data); return obj; } -/*static void _remove_content_automatic(struct _content_automatic *content, - struct _priv *priv) -{ - if (!content) - return; - - if (content->dns_ip1) - _remove_ip_address_entry(content->dns_ip1); - if (content->dns_ip2) - _remove_ip_address_entry(content->dns_ip2); - if (content->dns_ip3) - _remove_ip_address_entry(content->dns_ip3); - if (content->dns_ip4) - _remove_ip_address_entry(content->dns_ip4); - - if (content->radio1) - evas_object_del(content->radio1); - if (content->radio2) - evas_object_del(content->radio2); - - if (content->layout_dns_addr) - evas_object_del(content->layout_dns_addr); - if (content->layout_content) - evas_object_del(content->layout_content); - if (content->layout) - evas_object_del(content->layout); - - free(content); - - if (priv) - priv->content_automatic = NULL; -}*/ - static void _remove_content_manual(struct _content_manual *content, struct _priv *priv) { @@ -864,96 +791,9 @@ static void _remove_content_manual(struct _content_manual *content, priv->content_manual = NULL; } -/*static void _create_content_automatic(struct _priv *priv) -{ - struct _content_automatic *content; - - if (!priv) { - _ERR("Private data is NULL"); - return; - } - - content = calloc(1, sizeof(struct _content_automatic)); - if (!content) { - _ERR("Calloc failed."); - return; - } - - content->layout = utils_add_layout(priv->base, - "grp.layout.new_network.automatic", EINA_TRUE); - if (!content->layout) { - _ERR("Add layout failed."); - _remove_content_automatic(content, priv); - return; - } - - content->layout_content = utils_add_layout(content->layout, - "grp.content.automatic", EINA_TRUE); - if (!content->layout_content) { - _ERR("Add layout failed."); - _remove_content_automatic(content, priv); - return; - } - - content->layout_dns_addr = utils_add_layout(content->layout_content, - "grp.item.ip_address", EINA_TRUE); - if (!content->layout_dns_addr) { - _ERR("Add layout failed."); - _remove_content_automatic(content, priv); - return; - } - - Radio items */ - /*content->radio1 = utils_add_radio(content->layout_content, - "part.swallow.radio_1", "style.network", "Obtain automatically"); - if (!content->radio1) { - _ERR("Add radio button failed."); - _remove_content_automatic(content, priv); - return; - } - content->radio2 = utils_add_radio(content->layout_content, - "part.swallow.radio_2", "style.network", "Enter manually (DNS Server)"); - if (!content->radio2) { - _ERR("Add radio button failed."); - _remove_content_automatic(content, priv); - return; - } - elm_radio_state_value_set(content->radio1, 1); - elm_radio_state_value_set(content->radio2, 2); - elm_radio_group_add(content->radio2, content->radio1); - elm_radio_value_set(content->radio1, 1); - evas_object_smart_callback_add(content->radio1, "changed", _radio_changed_cb, priv); - evas_object_smart_callback_add(content->radio2, "changed", _radio_changed_cb, priv); - - content->dns_ip1 = _create_ip_address_entry(content->layout_dns_addr, - "part.swallow.ip_1", priv); - content->dns_ip2 = _create_ip_address_entry(content->layout_dns_addr, - "part.swallow.ip_2", priv); - content->dns_ip3 = _create_ip_address_entry(content->layout_dns_addr, - "part.swallow.ip_3", priv); - content->dns_ip4 = _create_ip_address_entry(content->layout_dns_addr, - "part.swallow.ip_4", priv); - - elm_object_focus_next_object_set(content->dns_ip1, content->dns_ip1, ELM_FOCUS_LEFT); - elm_object_focus_next_object_set(content->dns_ip4, content->dns_ip4, ELM_FOCUS_RIGHT); - elm_object_focus_next_object_set(content->radio1, content->radio1, ELM_FOCUS_LEFT); - elm_object_focus_next_object_set(content->radio1, content->radio1, ELM_FOCUS_RIGHT); - elm_object_focus_next_object_set(content->radio2, content->radio2, ELM_FOCUS_LEFT); - elm_object_focus_next_object_set(content->radio2, content->radio2, ELM_FOCUS_RIGHT); - - Set automatic contents */ - /*elm_object_part_content_set(content->layout_content, - "part.swallow.dns_address", content->layout_dns_addr); - elm_object_part_content_set(content->layout, - "part.content.automatic", content->layout_content); - - priv->content_automatic = content; -}*/ - static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info) - { - evas_object_del(obj); + evas_object_del(obj); } static void _destroy_ip_type_popup(struct _priv *priv) @@ -964,45 +804,41 @@ static void _destroy_ip_type_popup(struct _priv *priv) static void _ip_type_option_selected(struct _priv *priv, int id, Evas_Object *obj) { - //elm_object_text_set(priv->ip_type_btn, str_config_type_opt[id]); - switch (id) { - case TYPE_AUTOMATICALLY: - SETTING_TRACE("Automatic IP"); - elm_object_text_set(priv->ip_type_btn, str_config_type_opt[0]); - _update_entry_input_state(priv); - priv->ip_menu = 0; - elm_object_disabled_set(priv->content_manual->address_ip, EINA_TRUE); - elm_object_disabled_set(priv->content_manual->address_subnet, EINA_TRUE); - elm_object_disabled_set(priv->content_manual->address_gateway, EINA_TRUE); - - elm_object_disabled_set(priv->btn_done, EINA_FALSE); - elm_object_disabled_set(priv->dns_type_btn, EINA_FALSE); - break; - - case TYPE_MANUALLY: - SETTING_TRACE("Manual IP"); - elm_object_text_set(priv->ip_type_btn, str_config_type_opt[1]); - _update_entry_input_state(priv); - priv->ip_menu = 1; - elm_object_disabled_set(priv->content_manual->address_ip, EINA_FALSE); - elm_object_disabled_set(priv->content_manual->address_subnet, EINA_FALSE); - elm_object_disabled_set(priv->content_manual->address_gateway, EINA_FALSE); - - elm_object_text_set(priv->dns_type_btn, str_config_type_opt[1]); - elm_object_disabled_set(priv->content_manual->address_dns, EINA_FALSE); - //elm_object_disabled_set(priv->dns_type_popup, EINA_TRUE); - elm_object_disabled_set(priv->dns_type_btn, EINA_TRUE); - //inputmgr_add_callback(priv->dns_type_btn, 0, NULL, priv); - break; - default: - _ERR("Unhandled network type."); - return; + case TYPE_AUTOMATICALLY: + SETTING_TRACE("Automatic IP"); + elm_object_text_set(priv->ip_type_btn, str_config_type_opt[0]); + _update_entry_input_state(priv); + priv->ip_menu = 0; + elm_object_disabled_set(priv->content_manual->address_ip, EINA_TRUE); + elm_object_disabled_set(priv->content_manual->address_subnet, EINA_TRUE); + elm_object_disabled_set(priv->content_manual->address_gateway, EINA_TRUE); + + elm_object_disabled_set(priv->btn_done, EINA_FALSE); + elm_object_disabled_set(priv->dns_type_btn, EINA_FALSE); + break; + + case TYPE_MANUALLY: + SETTING_TRACE("Manual IP"); + elm_object_text_set(priv->ip_type_btn, str_config_type_opt[1]); + _update_entry_input_state(priv); + priv->ip_menu = 1; + elm_object_disabled_set(priv->content_manual->address_ip, EINA_FALSE); + elm_object_disabled_set(priv->content_manual->address_subnet, EINA_FALSE); + elm_object_disabled_set(priv->content_manual->address_gateway, EINA_FALSE); + + elm_object_text_set(priv->dns_type_btn, str_config_type_opt[1]); + elm_object_disabled_set(priv->content_manual->address_dns, EINA_FALSE); + elm_object_disabled_set(priv->dns_type_btn, EINA_TRUE); + elm_object_focus_set(priv->ip_type_btn, EINA_TRUE); + break; + default: + _ERR("Unhandled network type."); + return; } evas_object_hide(priv->ip_type_popup); priv->config_cur_type = id; - elm_win_activate(priv->base); - elm_object_focus_set(priv->base, EINA_TRUE); + elm_object_focus_set(priv->content_manual->address_ip, EINA_TRUE); } static void _ip_type_option_key_down_cb(int id, void *data, Evas *e, @@ -1017,8 +853,8 @@ static void _ip_type_option_key_down_cb(int id, void *data, Evas *e, priv = data; if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_WAY) - || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) - ) + || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) + ) _destroy_ip_type_popup(priv); else if (!strcmp(ev->keyname, KEY_ENTER)) _ip_type_option_selected(priv, id, obj); @@ -1070,7 +906,7 @@ static void _draw_ip_type_popup(struct _priv *priv) void _destroy_dns_type_popup(struct _priv *priv) { - evas_object_hide(priv->dns_type_popup); + evas_object_hide(priv->dns_type_popup); } static void _dns_type_option_selected(struct _priv *priv, int id, @@ -1079,98 +915,94 @@ static void _dns_type_option_selected(struct _priv *priv, int id, if(elm_object_disabled_get(priv->dns_type_btn)) return; - //elm_object_text_set(priv->dns_type_btn, str_config_type_opt[id]); - - switch (id) { - case TYPE_AUTOMATICALLY: - SETTING_TRACE("Automatic DNS"); - elm_object_text_set(priv->dns_type_btn, str_config_type_opt[0]); - priv->dns_menu = 0; - elm_object_disabled_set(priv->content_manual->address_dns, EINA_TRUE); - _update_entry_input_state(priv); - break; - - case TYPE_MANUALLY: - SETTING_TRACE("Manual DNS"); - elm_object_text_set(priv->dns_type_btn, str_config_type_opt[1]); - priv->dns_menu = 1; - elm_object_disabled_set(priv->content_manual->address_dns, EINA_FALSE); - _update_entry_input_state(priv); - break; - default: - _ERR("Unhandled dns type."); - return; - } + switch (id) { + case TYPE_AUTOMATICALLY: + SETTING_TRACE("Automatic DNS"); + elm_object_text_set(priv->dns_type_btn, str_config_type_opt[0]); + priv->dns_menu = 0; + elm_object_disabled_set(priv->content_manual->address_dns, EINA_TRUE); + _update_entry_input_state(priv); + break; + + case TYPE_MANUALLY: + SETTING_TRACE("Manual DNS"); + elm_object_text_set(priv->dns_type_btn, str_config_type_opt[1]); + priv->dns_menu = 1; + elm_object_disabled_set(priv->content_manual->address_dns, EINA_FALSE); + _update_entry_input_state(priv); + break; + default: + _ERR("Unhandled dns type."); + return; + } evas_object_hide(priv->dns_type_popup); - priv->config_cur_type = id; - elm_win_activate(priv->base); - elm_object_focus_set(priv->base, EINA_TRUE); + priv->config_cur_type = id; + elm_object_focus_set(priv->content_manual->address_dns, EINA_TRUE); } static void _dns_type_option_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj, Evas_Event_Key_Down *ev) { - struct _priv *priv; - - if (!data || !obj || !ev) { - _ERR("Invalid argument."); - return; - } - priv = data; - - if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_WAY) - || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) - ) - _destroy_dns_type_popup(priv); - else if (!strcmp(ev->keyname, KEY_ENTER)) - _dns_type_option_selected(priv, id, obj); + struct _priv *priv; + + if (!data || !obj || !ev) { + _ERR("Invalid argument."); + return; + } + priv = data; + + if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_WAY) + || !strcmp(ev->keyname, KEY_ESC) || !strcmp(ev->keyname, KEY_ESC_WAY) + ) + _destroy_dns_type_popup(priv); + else if (!strcmp(ev->keyname, KEY_ENTER)) + _dns_type_option_selected(priv, id, obj); } static void _dns_type_option_mouse_down_cb(int id, void *data, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Down *ev) { - struct _priv *priv; + struct _priv *priv; - if (!data || !obj || !ev) { - _ERR("Invalid argument."); - return; - } - priv = data; + if (!data || !obj || !ev) { + _ERR("Invalid argument."); + return; + } + priv = data; - _dns_type_option_selected(priv, id, obj); + _dns_type_option_selected(priv, id, obj); } static input_handler _dns_type_option_input_handler = { - .mouse_move = _mouse_move_cb, - .key_down = _dns_type_option_key_down_cb, - .mouse_down = _dns_type_option_mouse_down_cb + .mouse_move = _mouse_move_cb, + .key_down = _dns_type_option_key_down_cb, + .mouse_down = _dns_type_option_mouse_down_cb }; static void _draw_dns_type_popup(struct _priv *priv) { - Evas_Object *configpopup; - Evas_Coord x, y, w, h; + Evas_Object *configpopup; + Evas_Coord x, y, w, h; - elm_object_signal_emit(priv->dns_type_btn, SIG_SELECTED, SRC_ELM); + elm_object_signal_emit(priv->dns_type_btn, SIG_SELECTED, SRC_ELM); - configpopup = utils_add_configpopup(priv->base, 2, - id_config_type_opt, str_config_type_opt, - &_dns_type_option_input_handler, priv, priv->config_cur_type); - if (!configpopup) { - _ERR("Add ctxpopup failed."); - return; - } + configpopup = utils_add_configpopup(priv->base, 2, + id_config_type_opt, str_config_type_opt, + &_dns_type_option_input_handler, priv, priv->config_cur_type); + if (!configpopup) { + _ERR("Add ctxpopup failed."); + return; + } evas_object_smart_callback_add(configpopup, "dismissed", _dismissed_cb, NULL); - evas_object_geometry_get(priv->dns_type_btn, &x, &y, &w, &h); - evas_object_move(configpopup, (x + w / 2), (y + h)); - evas_object_size_hint_min_set(configpopup, w, 0); + evas_object_geometry_get(priv->dns_type_btn, &x, &y, &w, &h); + evas_object_move(configpopup, (x + w / 2), (y + h)); + evas_object_size_hint_min_set(configpopup, w, 0); - priv->dns_type_popup = configpopup; + priv->dns_type_popup = configpopup; elm_object_signal_emit(priv->content_manual->address_dns, SIG_IP_ADDRESS_UNFOCUSED, SRC_ELM); - } static void _ip_type_clicked_cb(int id, void *data, Evas_Object *obj) @@ -1188,15 +1020,15 @@ static void _ip_type_clicked_cb(int id, void *data, Evas_Object *obj) static void _dns_type_clicked_cb(int id, void *data, Evas_Object *obj) { - struct _priv *priv; - - if (!data) { - _ERR("Invalid argument."); - return; - } - priv = data; - - _draw_dns_type_popup(priv); + struct _priv *priv; + + if (!data) { + _ERR("Invalid argument."); + return; + } + priv = data; + + _draw_dns_type_popup(priv); } static input_handler _ipconfig_type_option_input_handler = { @@ -1360,14 +1192,14 @@ static void _create_content_manual(struct _priv *priv) elm_object_focus_next_object_set(content->sub_ip1, content->sub_ip1, ELM_FOCUS_LEFT); elm_object_focus_next_object_set(content->gateway_ip1, content->gateway_ip1, ELM_FOCUS_LEFT); elm_object_focus_next_object_set(content->dns_ip4, content->dns_ip4, ELM_FOCUS_RIGHT); - elm_object_focus_next_object_set(content->ip1, priv->btn_automatic, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->ip2, priv->btn_automatic, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->ip3, priv->btn_automatic, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->ip4, priv->btn_automatic, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->dns_ip1, priv->btn_manual, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->dns_ip2, priv->btn_manual, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->dns_ip3, priv->btn_manual, ELM_FOCUS_UP); - elm_object_focus_next_object_set(content->dns_ip4, priv->btn_manual, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->ip1, priv->ip_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->ip2, priv->ip_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->ip3, priv->ip_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->ip4, priv->ip_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->dns_ip1, priv->dns_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->dns_ip2, priv->dns_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->dns_ip3, priv->dns_type_btn, ELM_FOCUS_UP); + elm_object_focus_next_object_set(content->dns_ip4, priv->dns_type_btn, ELM_FOCUS_UP); elm_object_focus_next_object_set(content->dns_ip1, priv->btn_done, ELM_FOCUS_DOWN); elm_object_focus_next_object_set(content->dns_ip2, priv->btn_done, ELM_FOCUS_DOWN); elm_object_focus_next_object_set(content->dns_ip3, priv->btn_done, ELM_FOCUS_DOWN); @@ -1434,7 +1266,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) } btn_cancel = utils_add_button(base, "part.new_network.btn.cancel", - STYLE_DISABLE_BTN, "Cancel"); + STYLE_DISABLE_BTN, "Cancel"); if (!btn_cancel) { _ERR("Add cancel button failed."); evas_object_del(base); @@ -1443,7 +1275,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) } btn_done = utils_add_button(base, "part.new_network.btn.done", - STYLE_DISABLE_BTN, "Done"); + STYLE_DISABLE_BTN, "Done"); if (!btn_done) { _ERR("Add done button failed."); evas_object_del(base); @@ -1451,29 +1283,17 @@ static Evas_Object *_create(Evas_Object *win, void *data) return NULL; } - //priv->btn_automatic = btn_automatic; - //priv->btn_manual = btn_manual; priv->btn_cancel = btn_cancel; priv->btn_done = btn_done; - //evas_object_smart_callback_add(btn_automatic, "focused", _focused_cb, priv); - //evas_object_smart_callback_add(btn_automatic, "unfocused", _unfocused_cb, priv); - //evas_object_smart_callback_add(btn_manual, "focused", _focused_cb, priv); - //evas_object_smart_callback_add(btn_manual, "unfocused", _unfocused_cb, priv); evas_object_smart_callback_add(btn_cancel, "focused", _focused_cb, priv); evas_object_smart_callback_add(btn_cancel, "unfocused", _unfocused_cb, priv); evas_object_smart_callback_add(btn_done, "focused", _focused_cb, priv); evas_object_smart_callback_add(btn_done, "unfocused", _unfocused_cb, priv); - //inputmgr_add_callback(btn_automatic, EO_BTN_AUTOMATIC, &_menu_btn_input_handler, priv); - //inputmgr_add_callback(btn_manual, EO_BTN_MANUAL, &_menu_btn_input_handler, priv); inputmgr_add_callback(btn_cancel, EO_BTN_CANCEL, &_menu_btn_input_handler, priv); inputmgr_add_callback(btn_done, EO_BTN_DONE, &_menu_btn_input_handler, priv); - //elm_object_focus_next_object_set(btn_automatic, btn_automatic, ELM_FOCUS_LEFT); - //elm_object_focus_next_object_set(btn_automatic, btn_automatic, ELM_FOCUS_UP); - //elm_object_focus_next_object_set(btn_manual, btn_manual, ELM_FOCUS_RIGHT); - //elm_object_focus_next_object_set(btn_manual, btn_manual, ELM_FOCUS_UP); elm_object_focus_next_object_set(btn_cancel, btn_cancel, ELM_FOCUS_LEFT); elm_object_focus_next_object_set(btn_cancel, btn_cancel, ELM_FOCUS_DOWN); elm_object_focus_next_object_set(btn_done, btn_done, ELM_FOCUS_RIGHT); @@ -1493,20 +1313,13 @@ static Evas_Object *_create(Evas_Object *win, void *data) priv->conn = data; priv->input_panel_show = false; - //_create_content_automatic(priv); _create_content_manual(priv); - /* Set 'Automatically' as default page */ elm_object_part_content_set(base, "part.content.area", - priv->content_manual->layout);//priv->content_automatic->layout); + priv->content_manual->layout); priv->ip_menu = 0; priv->dns_menu = 0; - /* Prevent losing focus issue */ - /*elm_object_focus_next_object_set(btn_automatic, priv->content_automatic->radio1, ELM_FOCUS_DOWN); - elm_object_focus_next_object_set(priv->content_automatic->radio1, btn_automatic, ELM_FOCUS_UP); - elm_object_focus_next_object_set(btn_manual, priv->content_automatic->radio1, ELM_FOCUS_DOWN);*/ - if (!viewmgr_set_view_data(VIEW_NEW_NETWORK, priv)) { _ERR("Set view data failed."); evas_object_del(base); @@ -1555,16 +1368,11 @@ static void _hide(void *data) static void _update(void *view_data, int update_type, void *data) { SETTING_TRACE_BEGIN; - struct _priv *priv; if (!view_data) { _ERR("Get data failed."); return; } - priv = view_data; - - if (update_type == UPDATE_FOCUS) - elm_object_focus_set(priv->base, EINA_TRUE); } static void _destroy(void *data) @@ -1580,17 +1388,7 @@ static void _destroy(void *data) /* Remove contents */ _remove_content_manual(priv->content_manual, priv); - //_remove_content_automatic(priv->content_automatic, priv); - /* Remove input callback */ - /*if (priv->btn_automatic) { - inputmgr_remove_callback(priv->btn_automatic, &_menu_btn_input_handler); - evas_object_del(priv->btn_automatic); - } - if (priv->btn_manual) { - inputmgr_remove_callback(priv->btn_manual, &_menu_btn_input_handler); - evas_object_del(priv->btn_manual); - }*/ if (priv->btn_cancel) { inputmgr_remove_callback(priv->btn_cancel, &_menu_btn_input_handler); evas_object_del(priv->btn_cancel); @@ -1623,4 +1421,3 @@ view_class *view_new_network_get_vclass(void) { return &_vclass; } - -- 2.7.4