rotary_selector: do not select item in the editing mode 07/168407/1
authorThiep Ha <thiep.ha@samsung.com>
Fri, 26 Jan 2018 04:59:39 +0000 (13:59 +0900)
committerThiep Ha <thiep.ha@samsung.com>
Fri, 26 Jan 2018 08:12:37 +0000 (08:12 +0000)
In the editing mode, no item should be selected.
They are selected back when editing mode is tuned off.

Change-Id: I5a40f0804b605b770862597081c7dd4ee6260917
(cherry picked from commit f2eb34886ffce544ba895a2a01d5b9dc66ec73bf)

src/wearable/efl_extension_rotary_selector.c

index 6d75d4500dac7a60fc9be417a9ead0f3a7166dde..3d996fbd6a931e059b475eeffe57099e916b2df1 100644 (file)
@@ -1761,6 +1761,8 @@ _editing_timer_cb(void *data)
 {
    Eext_Rotary_Selector_Data *rsd = data;
    Evas_Object *bg;
+   Eina_List *l;
+   Eext_Rotary_Selector_Item *item;
 
    rsd->editing_timer = NULL;
    //FIXME: translate text Editing
@@ -1781,6 +1783,11 @@ _editing_timer_cb(void *data)
      }
    _rotary_selector_item_delete_icon_show(rsd);
 
+   EINA_LIST_FOREACH(rsd->item_list, l, item)
+     {
+        elm_object_signal_emit(item->base.obj, "elm,action,button,unselected", "");
+     }
+
    bg = elm_object_part_content_get(rsd->rotary_selector, "selector,bg_image");
    elm_object_signal_emit(bg, "elm,selector,bg,hide", "elm");
 
@@ -1808,6 +1815,7 @@ _editing_mode_turnoff(Eext_Rotary_Selector_Data *rsd)
         _items_invalidate(rsd);
      }
    _selector_update(rsd, EINA_FALSE, EINA_FALSE, EINA_FALSE);
+   _item_selected_signal_send(rsd, -1, rsd->selected_index);
    eext_object_event_callback_del(rsd->rotary_selector, EEXT_CALLBACK_BACK,
                                   _back_event_cb);
 }
@@ -2263,7 +2271,9 @@ _item_selected_signal_send(Eext_Rotary_Selector_Data *rsd, int previous_item_ind
              INF("item is unselected!! : index(%d)", previous_item_index);
 #endif
           }
-        if (current_item_index !=-1 && i == current_item_index)
+        if ((current_item_index != -1) &&
+            (i == current_item_index) &&
+            !rsd->editing)
           {
              elm_object_signal_emit(item->base.obj, "elm,action,button,selected", "");
 #if _ROTARY_SELECTOR_DEBUG_ENABLED