diff --git a/legacy/elementary/data/themes/default.edc b/legacy/elementary/data/themes/default.edc index 87cba47e74..1efb6b8a38 100644 --- a/legacy/elementary/data/themes/default.edc +++ b/legacy/elementary/data/themes/default.edc @@ -7163,6 +7163,61 @@ collections { } } } + group { name: "elm/notify/base/center"; + //this group is a design similar to the inwin group + images { + image: "bt_dis_base.png" COMP; + } + parts { + part { name: "base"; + type: RECT; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: "pop"; + mouse_events: 1; + description { state: "default" 0.0; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + image { + normal: "bt_dis_base.png"; + border: 4 4 4 4; + } + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + } + } + } + programs { + program { name: "show"; + signal: "elm,action,show"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; + } + program { name: "show_2"; + signal: "show"; + action: STATE_SET "default" 0.0; + target: "base"; + } + program { name: "hide"; + signal: "elm,action,hide"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } + } group { name: "elm/notify/base/bottom"; //this group is a design similar to the inwin group images { diff --git a/legacy/elementary/src/bin/test_notify.c b/legacy/elementary/src/bin/test_notify.c index 4a964217ee..d1b38efb32 100644 --- a/legacy/elementary/src/bin/test_notify.c +++ b/legacy/elementary/src/bin/test_notify.c @@ -118,6 +118,33 @@ test_notify(void *data, Evas_Object *obj, void *event_info) elm_table_pack(tb, bt, 0, 1, 1, 1); evas_object_show(bt); + notify = elm_notify_add(win); + evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_CENTER); + elm_notify_timeout_set(notify, 10); + + bx = elm_box_add(win); + elm_notify_content_set(notify, bx); + elm_box_horizontal_set(bx, 1); + evas_object_show(bx); + + lb = elm_label_add(win); + elm_label_label_set(lb, "Center position. This notify use a timeout of 10 sec."); + elm_box_pack_end(bx, lb); + evas_object_show(lb); + + bt = elm_button_add(win); + elm_button_label_set(bt, "Close"); + evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); + elm_box_pack_end(bx, bt); + evas_object_show(bt); + + bt = elm_button_add(win); + elm_button_label_set(bt, "Center"); + evas_object_smart_callback_add(bt, "clicked", _bt, notify); + elm_table_pack(tb, bt, 1, 1, 1, 1); + evas_object_show(bt); + notify = elm_notify_add(win); evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_RIGHT); diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 1bae6eae36..96dbffd6e5 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -482,6 +482,7 @@ extern "C" { typedef enum _Elm_Notify_Orient { ELM_NOTIFY_ORIENT_TOP, + ELM_NOTIFY_ORIENT_CENTER, ELM_NOTIFY_ORIENT_BOTTOM, ELM_NOTIFY_ORIENT_LEFT, ELM_NOTIFY_ORIENT_RIGHT, diff --git a/legacy/elementary/src/lib/elm_notify.c b/legacy/elementary/src/lib/elm_notify.c index 48fcbc99b3..a3e0514c5b 100644 --- a/legacy/elementary/src/lib/elm_notify.c +++ b/legacy/elementary/src/lib/elm_notify.c @@ -136,6 +136,9 @@ _calc(Evas_Object *obj) case ELM_NOTIFY_ORIENT_TOP: evas_object_move(wd->notify, x + offx, y); break; + case ELM_NOTIFY_ORIENT_CENTER: + evas_object_move(wd->notify, x + offx, y + offy); + break; case ELM_NOTIFY_ORIENT_BOTTOM: evas_object_move(wd->notify, x + offx, y + h - minh); break; @@ -371,6 +374,9 @@ elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient) case ELM_NOTIFY_ORIENT_TOP: _elm_theme_set(wd->notify, "notify", "base", "default"); break; + case ELM_NOTIFY_ORIENT_CENTER: + _elm_theme_set(wd->notify, "notify", "base", "center"); + break; case ELM_NOTIFY_ORIENT_BOTTOM: _elm_theme_set(wd->notify, "notify", "base", "bottom"); break;