struct listmgr *listmgr;
struct datamgr *wirelessmgr;
Elm_Object_Item *selected_wireless_item;
+ Elm_Object_Item *focused_wireless_item;
Evas_Object *passcode_popup;
Evas_Object *passcode_entry;
enum network_type cur_type;
static void _remove_wifi_passcode_popup(struct _priv *priv);
static void _retry_wired_network(struct _priv *priv);
static void _retry_wireless_network(struct _priv *priv);
+static void _wireless_selected_cb(Elm_Object_Item *it, void *data);
static void _mouse_move_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Mouse_Move *ev)
}
}
+static void _grid_focused_cb(int id, void *data, Evas_Object *obj, Elm_Object_Item *item)
+{
+ struct _priv *priv = data;
+ if (NULL == priv) {
+ _ERR("User data not found");
+ return;
+ }
+
+ priv->focused_wireless_item = item;
+}
+
+static void _grid_pressed_cb(int id, void *data, Evas_Object *obj)
+{
+ struct _priv *priv = data;
+ if (NULL == priv) {
+ _ERR("User data not found");
+ return;
+ }
+
+ priv->selected_wireless_item = priv->focused_wireless_item;
+ _wireless_selected_cb(priv->selected_wireless_item, data);
+}
+
static void _focused(int id, void *data, Evas_Object *obj, Elm_Object_Item *item)
{
viewmgr_update_view(VIEW_BASE, UPDATE_SUB_ITEM_SELECTED, (void *)LAYOUT_NETWORK);
static input_handler _grid_input_handler = {
.realized = _grid_realized_cb,
- .focused = _focused
+ .pressed = _grid_pressed_cb,
+ .focused = _grid_focused_cb
};
static void _draw_no_contents_message(struct _priv *priv)
return;
}
- priv->selected_wireless_item = it;
-
if (ap_info->secure_type != WIFI_SECURITY_TYPE_NONE) {
wifi_name = ap_info->essid;
if (!wifi_name)
goto err;
}
- if (!listmgr_add_list(listmgr, LIST_WIRELESS, get_wireless_grid_class(),
- _wireless_selected_cb, priv)) {
+ if (!listmgr_add_list(listmgr, LIST_WIRELESS,
+ get_wireless_grid_class(), NULL, priv)) {
_ERR("Add wireless list failed.");
listmgr_destroy(listmgr);
goto err;
layoutmgr_set_layout_data(lmgr, LAYOUT_ID_NETWORK, priv);
listmgr_add_inner_grid_cb(priv->listmgr, LIST_WIRELESS,
- &_grid_input_handler, NULL);
+ &_grid_input_handler, priv);
if(data) {
listmgr_set_list_next_focus(priv->listmgr, LIST_WIRELESS,