diff --git a/data/themes/default_menu.edc b/data/themes/default_menu.edc index 13a3b5798..9690abfa6 100644 --- a/data/themes/default_menu.edc +++ b/data/themes/default_menu.edc @@ -79,6 +79,93 @@ group { } } } + part { + name: "title_bg"; + description { + state: "default" 0.0; + rel1 { + to: "title_overlay"; + } + rel2 { + to: "title_overlay"; + } + image { + normal: "e17_ibar_bg_h.png"; + border: 6 6 6 6; + } + fill { + smooth: 0; + } + } + } + part { + name: "title"; + type: TEXT; + effect: SHADOW; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 0; + fixed: 0 1; + rel1 { + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + relative: 1.0 0.0; + offset: -1 0; + } + color: 0 0 0 255; + color3: 255 255 255 128; + text { + text: "Menu Label"; + font: "Edje-Vera-Bold"; + size: 12; + min: 1 0; + align: 0.5 0.7; + text_class: "menu_title"; + } + } + description { + state: "active" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 { + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + relative: 1.0 0.0; + offset: -1 26; + } + } + } + part { + name: "title_overlay"; + mouse_events: 0; + description { + state: "default" 0.0; + align: 0.5 1.0; + rel1 { + relative: 0.0 0.0; + offset: 16 0; + to_y: "title"; + } + rel2 { + relative: 1.0 1.0; + offset: -17 0; + to_y: "title"; + } + image { + normal: "e17_ibar_over_h.png"; + border: 13 13 13 13; + middle: 0; + } + fill { + smooth: 0; + } + } + } part { name: "items"; mouse_events: 0; @@ -86,8 +173,9 @@ group { description { state: "default" 0.0; rel1 { - relative: 0.0 0.0; - offset: 1 1; + to_y: "title"; + relative: 0.0 1.0; + offset: 1 0; } rel2 { relative: 1.0 1.0; @@ -97,6 +185,22 @@ group { } } } + programs { + program { + name: "on"; + signal: "title,on"; + source: ""; + action: STATE_SET "active" 0.0; + target: "title"; + } + program { + name: "off"; + signal: "title,off"; + source: ""; + action: STATE_SET "default" 0.0; + target: "title"; + } + } } group { name: "widgets/menu/default/separator"; diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 98f975781..09392a749 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -66,6 +66,7 @@ e_int_menus_main_new(void) dat = calloc(1, sizeof(Main_Data)); m = e_menu_new(); + e_menu_title_set(m, _("Main")); dat->menu = m; e_object_data_set(E_OBJECT(m), dat); e_object_del_attach_func_set(E_OBJECT(m), _e_int_menus_main_del_hook); diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 842dd4988..a9d0a8486 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -379,7 +379,6 @@ e_menu_title_set(E_Menu *m, char *title) { E_OBJECT_CHECK(m); E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE); - /* FIXME: support menu titles */ if ((m->header.title) && (title) && (!strcmp(m->header.title, title))) return; if (m->header.title) @@ -1380,6 +1379,12 @@ _e_menu_realize(E_Menu *m) } } } + if (m->header.title) + { + edje_object_part_text_set(o, "title", m->header.title); + edje_object_signal_emit(o, "title,on", ""); + edje_object_message_signal_process(o); + } evas_object_show(o); if (m->shaped)