slider: fix slider's handler bug
authorHosang Kim <hosang12.kim@samsung.com>
Tue, 15 Sep 2015 06:02:53 +0000 (15:02 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 17 Nov 2015 05:15:44 +0000 (14:15 +0900)
Add unfocused callback. when slider is unfocused, slider's handler is
hidden.

Change-Id: I2d3b95554ad90d0b97e4a6eb2c21a42d1b2faca0

Conflicts:
src/lib/elm_slider.c

src/lib/elm_slider.c
src/lib/tizen_vector.c

index 8f68fa9..6bb6e83 100644 (file)
@@ -1215,7 +1215,9 @@ _elm_slider_elm_widget_on_focus(Eo *obj, Elm_Slider_Data *sd EINA_UNUSED, Elm_Ob
 
    if ((sd->indicator_visible_mode == ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS) && elm_widget_focus_get(obj))
      _popup_show(obj, NULL, NULL, NULL);
-   else
+   //TIZEN_ONLY(20150915): slider: fix slider's handler bug
+   else if (!elm_widget_focus_get(obj))
+   //
      _popup_hide(obj, NULL, NULL, NULL);
 
    return int_ret;
index 8a9f3b2..02c8193 100644 (file)
@@ -2176,6 +2176,18 @@ slider_level_rest_resize_cb(void *data , Evas *e EINA_UNUSED,
    _append_round_rect(vd->shape[slider_level_rest], w, h);
 }
 
+//TIZEN_ONLY(20150915): slider: fix slider's handler bug
+static void
+slider_unfocused_cb(void *data,
+                   Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   vg_slider *vd = evas_object_data_get(obj, vg_key);
+   if (vd->popup)
+     evas_object_hide(vd->popup);
+}
+//
+
 static void
 _slider_create_handle(vg_slider *vd)
 {
@@ -2253,6 +2265,10 @@ tizen_vg_slider_set(Elm_Slider *obj, Evas_Object *popup)
         // callback to free vd data
         evas_object_event_callback_add(vd->obj, EVAS_CALLBACK_DEL,
                                        slider_del_cb, NULL);
+
+        //TIZEN_ONLY(20150915): slider: fix slider's handler bug
+        evas_object_smart_callback_add(vd->obj, SIG_LAYOUT_UNFOCUSED, slider_unfocused_cb, NULL);
+        //
      }
    if (!vd)
      {