From 356a3f565b782ce0a27e0717ed4ab004bb611741 Mon Sep 17 00:00:00 2001 From: Taehyub Kim Date: Thu, 23 Jun 2016 15:22:48 +0900 Subject: [PATCH] popup: add popup compress mode UX(Tizen 2.4) Change-Id: I4c789d69a5cff9a7ff44298e2d9061ba257383aa --- src/lib/elc_popup.c | 38 +++++++++++++++++++++++++++++++++++++- src/lib/elm_widget_popup.h | 4 ++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index 06b7c0447..196e97d2c 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c @@ -169,6 +169,9 @@ _scroller_size_calc(Evas_Object *obj) const char *action_area_height; ELM_POPUP_DATA_GET(obj, sd); + //TIZEN_ONLY(20160623):Apply popup compress mode UX + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + // if (!sd->scroll && !sd->items) return; @@ -189,8 +192,34 @@ _scroller_size_calc(Evas_Object *obj) / edje_object_base_scale_get(elm_layout_edje_get(sd->action_area)); } - sd->max_sc_h = h - (h_title + h_action_area); + //TIZEN_ONLY(20160623):Apply popup compress mode UX + //sd->max_sc_h = h - (h_title + h_action_area); + if ((sd->dispmode == EVAS_DISPLAY_MODE_COMPRESS) && + ((wd->orient_mode == 90) || (wd->orient_mode == 270))) + sd->max_sc_h = h - h_action_area; + else + sd->max_sc_h = h - (h_title + h_action_area); + // +} + +//TIZEN_ONLY(20160623):Apply popup compress mode UX +static void +_on_obj_size_hints_changed(void *data EINA_UNUSED, Evas *e EINA_UNUSED, + Evas_Object *obj, void *event_info EINA_UNUSED) +{ + Evas_Display_Mode dispmode; + + ELM_POPUP_DATA_GET(obj, sd); + + dispmode = evas_object_size_hint_display_mode_get(obj); + if (sd->dispmode == dispmode) return; + + sd->dispmode = dispmode; + + _scroller_size_calc(obj); + elm_layout_sizing_eval(obj); } +// static void _size_hints_changed_cb(void *data, @@ -1722,6 +1751,13 @@ _elm_popup_evas_object_smart_add(Eo *obj, Elm_Popup_Data *priv) } /* END */ + //TIZEN_ONLY(20160623):Apply popup compress mode UX + priv->dispmode = evas_object_size_hint_display_mode_get(obj); + + evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, + _on_obj_size_hints_changed, NULL); + // + elm_notify_align_set(priv->notify, _elm_config->popup_horizontal_align, _elm_config->popup_vertical_align); diff --git a/src/lib/elm_widget_popup.h b/src/lib/elm_widget_popup.h index e0669c462..7dd0f2b7f 100644 --- a/src/lib/elm_widget_popup.h +++ b/src/lib/elm_widget_popup.h @@ -51,6 +51,10 @@ struct _Elm_Popup_Data Evas_Coord max_sc_w; Evas_Coord max_sc_h; + //TIZEN_ONLY(20160623): Apply popup compress mode UX + Evas_Display_Mode dispmode; + // + Eina_Bool visible : 1; Eina_Bool scr_size_recalc : 1; Eina_Bool scroll : 1; -- 2.34.1