hoversel: refactor a bit to avoid code duplication. 11/82711/4
authorSubodh Kumar <s7158.kumar@samsung.com>
Tue, 10 Nov 2015 00:05:05 +0000 (16:05 -0800)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 12 Aug 2016 05:17:13 +0000 (22:17 -0700)
==============================================================
   hoversel: refactor a bit to avoid code duplication.

   Summary:
   Avoid code duplication

   Two dismissal signals at two different places
   created some confusion and also code is duplicated.
   Also removed some extra space.

   Test Plan: NA

   Reviewers: cedric

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

   Conflicts:
           src/lib/elc_hoversel.c
==============================================================

Signed-Off-By: Jee-Yong Um <jc9.um@samsung.com>
Change-Id: Ia8ebbaff23dd3a2ad938fc96a95204dac9f260bb

src/lib/elc_hoversel.c

index 72667a3..51e084b 100644 (file)
@@ -311,13 +311,33 @@ _resizing_eval(Evas_Object *obj, Elm_Hoversel_Data *sd)
 }
 
 static void
+_hover_del(Evas_Object *obj)
+{
+   Elm_Object_Item *eo_item;
+   Eina_List *l;
+
+   ELM_HOVERSEL_DATA_GET(obj, sd);
+
+   sd->expanded = EINA_FALSE;
+
+   EINA_LIST_FOREACH(sd->items, l, eo_item)
+     {
+        ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
+        VIEW(it) = NULL;
+     }
+   ELM_SAFE_FREE(sd->hover, evas_object_del);
+   sd->scr = NULL;
+   sd->last_location = NULL;
+
+   eo_do(obj, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+}
+
+static void
 _hover_end_finished(void *data,
                     Evas_Object *obj EINA_UNUSED,
                     const char *emission EINA_UNUSED,
                     const char *source EINA_UNUSED)
 {
-   Elm_Object_Item *eo_item;
-   Eina_List *l;
    const char *dismissstr;
 
    ELM_HOVERSEL_DATA_GET(data, sd);
@@ -326,18 +346,7 @@ _hover_end_finished(void *data,
 
    if (dismissstr && !strcmp(dismissstr, "on"))
      {
-        sd->expanded = EINA_FALSE;
-
-        EINA_LIST_FOREACH(sd->items, l, eo_item)
-          {
-             ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
-             VIEW(it) = NULL;
-          }
-        ELM_SAFE_FREE(sd->hover, evas_object_del);
-        sd->scr = NULL;
-        sd->last_location = NULL;
-
-        eo_do(data, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+        _hover_del(data);
      }
 }
 
@@ -700,9 +709,6 @@ _elm_hoversel_hover_begin(Eo *obj, Elm_Hoversel_Data *sd)
 EOLIAN static void
 _elm_hoversel_hover_end(Eo *obj, Elm_Hoversel_Data *sd)
 {
-
-   Elm_Object_Item *eo_item;
-   Eina_List *l;
    const char *dismissstr;
 
    if (!sd->hover) return;
@@ -712,25 +718,10 @@ _elm_hoversel_hover_end(Eo *obj, Elm_Hoversel_Data *sd)
    if (dismissstr && !strcmp(dismissstr, "on"))
      {
         elm_hover_dismiss(sd->hover);
-
-
-
      }
    else
-
      {
-        sd->expanded = EINA_FALSE;
-
-        EINA_LIST_FOREACH(sd->items, l, eo_item)
-          {
-             ELM_HOVERSEL_ITEM_DATA_GET(eo_item, it);
-             VIEW(it) = NULL;
-          }
-        ELM_SAFE_FREE(sd->hover, evas_object_del);
-        sd->scr = NULL;
-        sd->last_location = NULL;
-
-        eo_do(obj, eo_event_callback_call(ELM_HOVERSEL_EVENT_DISMISSED, NULL));
+        _hover_del(obj);
      } // for backward compatibility
 }