struct _connection_data *conn;
};
+static bool _update_entry_input_state(struct _priv *priv);
+
static inline bool _check_entry_filled(Evas_Object *entry)
{
const char *str = elm_entry_entry_get(entry);
elm_object_focus_next_object_set(priv->btn_automatic, priv->content_automatic->radio1, ELM_FOCUS_DOWN);
elm_object_focus_next_object_set(priv->content_automatic->radio1, priv->btn_automatic, ELM_FOCUS_UP);
elm_object_focus_next_object_set(priv->btn_manual, priv->content_automatic->radio1, ELM_FOCUS_DOWN);
+
+ /* Update done button state */
+ _update_entry_input_state(priv);
break;
case EO_BTN_MANUAL:
/* Store menu type */
/* Prevent losing focus issue */
elm_object_focus_next_object_set(priv->btn_automatic, priv->content_manual->ip1, ELM_FOCUS_DOWN);
elm_object_focus_next_object_set(priv->btn_manual, priv->content_manual->ip1, ELM_FOCUS_DOWN);
+
+ /* Update done button state */
+ _update_entry_input_state(priv);
break;
- case EO_BTN_CANCEL:
case EO_BTN_DONE:
+ if (EINA_FALSE == elm_object_disabled_get(priv->btn_done)) {
+ _set_result(priv, id);
+ viewmgr_remove_view(VIEW_NEW_NETWORK);
+ }
+ break;
+ case EO_BTN_CANCEL:
default:
_set_result(priv, id);
viewmgr_remove_view(VIEW_NEW_NETWORK);
};
static input_handler _menu_btn_input_handler = {
+ .mouse_move = _mouse_move_cb,
.mouse_down = _menu_btn_mouse_down_cb,
.key_down = _menu_btn_key_down_cb,
};
elm_object_focus_set(priv->btn_done, EINA_TRUE);
}
}
+
+ /* Update done button state */
+ _update_entry_input_state(priv);
}
static bool _update_entry_input_state(struct _priv *priv)
{
+ if (priv == NULL ||
+ priv->content_manual == NULL ||
+ priv->content_automatic == NULL)
+ {
+ return false;
+ }
+
if (priv->cur_menu == EO_BTN_AUTOMATIC) {
if (elm_radio_value_get(priv->content_automatic->radio1) == 2) {
if (!_check_entry_filled(priv->content_automatic->dns_ip1) ||
!_check_entry_filled(priv->content_automatic->dns_ip3) ||
!_check_entry_filled(priv->content_automatic->dns_ip4)) {
- /* TODO: Change button style for disable state */
- //elm_object_disabled_set(priv->btn_done, EINA_TRUE);
+ elm_object_disabled_set(priv->btn_done, EINA_TRUE);
return false;
}
}
!_check_entry_filled(priv->content_manual->dns_ip3) ||
!_check_entry_filled(priv->content_manual->dns_ip4)) {
- /* TODO: Change button style for disable state */
- //elm_object_disabled_set(priv->btn_done, EINA_TRUE);
+ elm_object_disabled_set(priv->btn_done, EINA_TRUE);
return false;
}
}
free(tmp);
return;
}
+}
- /* Update done btn state */
- _update_entry_input_state(priv);
+static void _imf_delete_event_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
+{
+ struct _priv *priv = data;
+
+ /* Update done button state */
+ if (priv)
+ _update_entry_input_state(priv);
}
static void _remove_ip_address_entry(Evas_Object *obj)
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);
return obj;
}
}
btn_automatic = utils_add_button(base, "part.new_network.btn.automatic",
- STYLE_BASE_BTN, "Automatically");
+ STYLE_DISABLE_BTN, "Automatically");
if (!btn_automatic) {
_ERR("Add automatic button failed.");
evas_object_del(base);
}
btn_manual = utils_add_button(base, "part.new_network.btn.manual",
- STYLE_BASE_BTN, "Enter manually");
+ STYLE_DISABLE_BTN, "Enter manually");
if (!btn_manual) {
_ERR("Add manual button failed.");
evas_object_del(base);
}
btn_cancel = utils_add_button(base, "part.new_network.btn.cancel",
- STYLE_BASE_BTN, "Cancel");
+ STYLE_DISABLE_BTN, "Cancel");
if (!btn_cancel) {
_ERR("Add cancel button failed.");
evas_object_del(base);
}
btn_done = utils_add_button(base, "part.new_network.btn.done",
- STYLE_BASE_BTN, "Done");
+ STYLE_DISABLE_BTN, "Done");
if (!btn_done) {
_ERR("Add done button failed.");
evas_object_del(base);