Fix elm client applications to support maximize properly (ie: removing

border shadow and resizing properly).

NB: Elm Theme needs fullscreen support old man !! :P

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2013-10-31 17:00:23 +00:00
parent 9503c1f95b
commit 1f69d676c0
1 changed files with 30 additions and 0 deletions

View File

@ -2438,6 +2438,24 @@ _elm_win_frame_cb_close(void *data,
evas_object_unref(win);
}
static void
_elm_win_frame_obj_maximized(void *data, Evas_Object *obj, void *event)
{
Elm_Win_Smart_Data *sd;
sd = data;
edje_object_signal_emit(sd->frame_obj, "elm,state,maximized", "elm");
}
static void
_elm_win_frame_obj_unmaximized(void *data, Evas_Object *obj, void *event)
{
Elm_Win_Smart_Data *sd;
sd = data;
edje_object_signal_emit(sd->frame_obj, "elm,state,unmaximized", "elm");
}
static void
_elm_win_frame_add(Elm_Win_Smart_Data *sd,
const char *style)
@ -2477,6 +2495,13 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd,
evas_object_event_callback_add
(sd->frame_obj, EVAS_CALLBACK_RESIZE, _elm_win_frame_obj_resize, sd);
/* FIXME: Elm Theme needs support for fullscreen state
* (elm,state,fullscreen/unfullscreen) */
evas_object_smart_callback_add(sd->obj, SIG_MAXIMIZED,
_elm_win_frame_obj_maximized, sd);
evas_object_smart_callback_add(sd->obj, SIG_UNMAXIMIZED,
_elm_win_frame_obj_unmaximized, sd);
/* NB: Do NOT remove these calls !! Needed to calculate proper
* framespace on inital show of the window */
edje_object_size_min_calc(sd->frame_obj, &mw, &mh);
@ -2536,6 +2561,11 @@ _elm_win_frame_del(Elm_Win_Smart_Data *sd)
evas_object_event_callback_del_full
(sd->frame_obj, EVAS_CALLBACK_RESIZE, _elm_win_frame_obj_resize, sd);
evas_object_smart_callback_del(sd->obj, SIG_MAXIMIZED,
_elm_win_frame_obj_maximized);
evas_object_smart_callback_del(sd->obj, SIG_UNMAXIMIZED,
_elm_win_frame_obj_unmaximized);
edje_object_signal_callback_del
(sd->frame_obj, "elm,action,move,start", "elm",
_elm_win_frame_cb_move_start);