combobox: "return" key handled correctly and removed unreachable code.
authordivyesh purohit <div.purohit@samsung.com>
Fri, 22 Jan 2016 19:00:20 +0000 (11:00 -0800)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 22 Jan 2016 20:10:14 +0000 (12:10 -0800)
Summary:

_key_action_activate was triggered when "return" was pressed, _key_action_move
contained the "return" key handling, which is unreachable code.
@fix T3075 (1st point).

Signed-off-by: divyesh purohit <div.purohit@samsung.com>
Test Plan: please run combobox example in elementary_test

Reviewers: shilpasingh, cedric, raster

Subscribers: rajeshps, govi

Maniphest Tasks: T3075

Differential Revision: https://phab.enlightenment.org/D3599

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
legacy/elementary/src/lib/elc_combobox.c

index cb2a835..3d1a808 100644 (file)
@@ -384,9 +384,7 @@ _key_action_move(Evas_Object *obj, const char *params)
    const char *dir = params;
    if (!sd->hover) return EINA_FALSE;
 
-   if (!strcmp(dir, "return"))
-     eo_do(obj, eo_event_callback_call(ELM_COMBOBOX_EVENT_CLICKED, NULL));
-   else if (!strcmp(dir, "up"))
+   if (!strcmp(dir, "up"))
      {
         it = sd->item;
         it = elm_genlist_item_prev_get(it);
@@ -409,7 +407,15 @@ _key_action_move(Evas_Object *obj, const char *params)
 static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
-   elm_combobox_hover_begin(obj);
+   ELM_COMBOBOX_DATA_GET(obj, sd);
+   if (!sd->expanded)
+     elm_combobox_hover_begin(obj);
+   else
+     {
+        eo_do(sd->genlist, eo_event_callback_call(EVAS_CLICKABLE_INTERFACE_EVENT_PRESSED,
+                                                  sd->item));
+        elm_entry_cursor_end_set(sd->entry);
+     }
    return EINA_TRUE;
 }