conform: Revise postpone logic of indicator 63/124363/1
authorWonki Kim <wonki_.kim@samsung.com>
Sat, 7 Jan 2017 06:54:41 +0000 (15:54 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 11 Apr 2017 07:24:54 +0000 (16:24 +0900)
Refactoring name of type and variables to make sense.
Ignore main code block when coming event is duplicated.

Change-Id: Idb3797ec236812318d5b8fb0c2a28931c72b2c27
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
src/lib/elm_conform.c
src/lib/elm_widget_conform.h

index 306376b..66bcd34 100644 (file)
@@ -116,13 +116,15 @@ _quickpanel_visibility_changed_cb(int type, void *event_info, void *user_data)
    if(qp_mod && qp_mod->quickpanel_event_visible_get)
       qp_mod->quickpanel_event_visible_get(event_info, &visible);
 
+   if (sd->quickpanel_state == visible) return;
    sd->quickpanel_state = visible;
 
-   if (visible == CONFORM_QUICKPANEL_STATE_VISIBLE_SHOWN)
+   if ((visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_SHOWN) ||
+       (visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_PARTIALY_SHOWN))
      {
         elm_object_signal_emit(conform, "elm,state,quickpanel,visible", "elm");
      }
-   else if( visible == CONFORM_QUICKPANEL_STATE_VISIBLE_HIDDEN)
+   else if( visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_HIDDEN)
      {
         elm_object_signal_emit(conform, "elm,state,quickpanel,hidden", "elm");
      }
@@ -134,11 +136,12 @@ _quickpanel_visibility_changed_cb(int type, void *event_info, void *user_data)
           return;
      }
 
-   if (visible == CONFORM_QUICKPANEL_STATE_VISIBLE_SHOWN)
+   if ((visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_SHOWN) ||
+       (visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_PARTIALY_SHOWN))
      {
         _indicator_hide_effect_del(conform);
      }
-   else if( visible == CONFORM_QUICKPANEL_STATE_VISIBLE_HIDDEN)
+   else if( visible == CONFORM_QUICKPANEL_STATE_VISIBILITY_HIDDEN)
      {
         _indicator_hide_effect_set(conform, 0.5);
      }
@@ -790,7 +793,8 @@ _indicator_post_appearance_changed(Evas_Object *conformant)
    ELM_CONFORMANT_DATA_GET(conformant, sd);
 
    // Ignore when quickpanel is visible
-   if(sd->quickpanel_state == CONFORM_QUICKPANEL_STATE_VISIBLE_SHOWN)
+   if ((sd->quickpanel_state == CONFORM_QUICKPANEL_STATE_VISIBILITY_SHOWN) ||
+       (sd->quickpanel_state == CONFORM_QUICKPANEL_STATE_VISIBILITY_PARTIALY_SHOWN))
      {
         return;
      }
@@ -1521,7 +1525,7 @@ _elm_conformant_eo_base_constructor(Eo *obj, Elm_Conformant_Data *sd)
    if(sd->win && qp_mod && qp_mod->quickpanel_callback_add)
      {
         qp_mod->quickpanel_callback_add
-          (sd->win, CONFORM_QUICKPANEL_EVENT_VISIBLE, _quickpanel_visibility_changed_cb, obj);
+          (sd->win, CONFORM_QUICKPANEL_EVENT_VISIBILITY_CHANGED, _quickpanel_visibility_changed_cb, obj);
      }
    // END
 
index 247804d..58bc7eb 100644 (file)
@@ -75,27 +75,28 @@ enum _Conformant_Part_Type
 
 
 // TIZEN_ONLY(20161208): Support quickpanel callback
-typedef void (*quickpanel_callback_cb)(int type, void *event_info, void *user_data);
+typedef void (*quickpanel_callback_cb)(int event_type, void *event_info, void *user_data);
 
 typedef enum _Conformant_Quickpanel_Event Conformant_Quickpanel_Event;
 enum _Conformant_Quickpanel_Event
 {
-   CONFORM_QUICKPANEL_EVENT_VISIBLE     = 1,
-   CONFORM_QUICKPANEL_EVENT_ORIENTATION = 2,
+   CONFORM_QUICKPANEL_EVENT_UNKNOWN,
+   CONFORM_QUICKPANEL_EVENT_VISIBILITY_CHANGED,
 };
 
 typedef enum _Conformant_Quickpanel_State Conformant_Quickpanel_State;
 enum _Conformant_Quickpanel_State
 {
-   CONFORM_QUICKPANEL_STATE_VISIBLE_UNKNOWN = 0x0, /**< Unknown state. There is no quickpanel service. */
-   CONFORM_QUICKPANEL_STATE_VISIBLE_SHOWN = 0x1, /**< Shown state. */
-   CONFORM_QUICKPANEL_STATE_VISIBLE_HIDDEN = 0x2, /**< Hidden state. */
+   CONFORM_QUICKPANEL_STATE_VISIBILITY_UNKNOWN,         // Unknown state
+   CONFORM_QUICKPANEL_STATE_VISIBILITY_SHOWN,           // Shown state
+   CONFORM_QUICKPANEL_STATE_VISIBILITY_HIDDEN,          // Hidden state
+   CONFORM_QUICKPANEL_STATE_VISIBILITY_PARTIALY_SHOWN,  // Partialy shown state (Quickpanel is dragging now)
 };
 
 typedef struct _Elm_Conformant_Mod_Api Elm_Conformant_Mod_Api;
 struct _Elm_Conformant_Mod_Api
 {
-   void (*quickpanel_callback_add)(Evas_Object *win, int callback_type, quickpanel_callback_cb callback_cb, void *user_data);
+   void (*quickpanel_callback_add)(Evas_Object *win, int event_type, quickpanel_callback_cb callback_cb, void *user_data);
    void (*quickpanel_event_visible_get)(void *event_info, void *visible);
 };
 // END