From 93654354929552b709610a07325dc4a39ef0017e Mon Sep 17 00:00:00 2001 From: JinYong Park Date: Mon, 27 Nov 2017 16:03:57 +0900 Subject: [PATCH] popup: add popup compress mode UX(Tizen 2.4) original patch : https://review.tizen.org/gerrit/#/c/76197/ Change-Id: I7c5b0ee0f6230380a3b8e43a8443a8029727bdf5 Signed-off-by: JinYong Park --- src/lib/elementary/elc_popup.c | 37 +++++++++++++++++++++++++++++++++++ src/lib/elementary/elm_widget_popup.h | 4 ++++ 2 files changed, 41 insertions(+) diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 60128963..7b8ba3c 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -149,6 +149,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); + /* END */ if (!sd->scroll && !sd->items) return; @@ -169,9 +172,36 @@ _scroller_size_calc(Evas_Object *obj) / edje_object_base_scale_get(elm_layout_edje_get(sd->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); + /* END */ } +/* 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); +} +/* END */ + static void _size_hints_changed_cb(void *data, Evas *e EINA_UNUSED, @@ -1540,6 +1570,13 @@ _elm_popup_efl_canvas_group_group_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); + /* END */ + elm_notify_align_set(priv->notify, _elm_config->popup_horizontal_align, _elm_config->popup_vertical_align); diff --git a/src/lib/elementary/elm_widget_popup.h b/src/lib/elementary/elm_widget_popup.h index 330b074..9d20026 100644 --- a/src/lib/elementary/elm_widget_popup.h +++ b/src/lib/elementary/elm_widget_popup.h @@ -53,6 +53,10 @@ struct _Elm_Popup_Data unsigned int last_button_number; Evas_Coord max_sc_h; + /* TIZEN_ONLY(20160623): Apply popup compress mode UX */ + Evas_Display_Mode dispmode; + /* END */ + Eina_Bool visible : 1; Eina_Bool scr_size_recalc : 1; Eina_Bool scroll : 1; -- 2.7.4