diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c index 970edaa..60f7080 100644 --- a/src/bin/edi_main.c +++ b/src/bin/edi_main.c @@ -1488,7 +1488,7 @@ Evas_Object *edi_main_win_get(void) Eina_Bool edi_open(const char *inputpath) { - Evas_Object *win, *hbx, *vbx, *tb, *content; + Evas_Object *table, *win, *bg, *hbx, *vbx, *tb, *content; char *winname; char *path; @@ -1513,14 +1513,29 @@ edi_open(const char *inputpath) evas_object_smart_callback_add(win, "delete,request", _edi_exit, NULL); evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _edi_resize_cb, NULL); + table = elm_table_add(win); + evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(table); + hbx = elm_box_add(win); _edi_main_box = hbx; elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_win_resize_object_add(win, hbx); evas_object_show(hbx); + bg = elm_bg_add(win); + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(bg); + elm_win_resize_object_add(win, table); + elm_table_pack(table, bg, 0, 0, 1, 1); + elm_table_pack(table, hbx, 0, 0, 1, 1); + + evas_object_data_set(win, "background", bg); + evas_object_data_set(win, "mainbox", hbx); + edi_theme_window_alpha_set(); tb = edi_toolbar_setup(hbx); diff --git a/src/bin/edi_theme.c b/src/bin/edi_theme.c index 6bc3d05..69a4334 100644 --- a/src/bin/edi_theme.c +++ b/src/bin/edi_theme.c @@ -11,24 +11,30 @@ #include "edi_private.h" static Eina_List *_edi_themes = NULL; - // we are hooking into Efl for now... Efl_Ui_Theme_Apply efl_ui_widget_theme_apply(Eo *obj); void edi_theme_window_alpha_set(void) { - Evas_Object *win; + Evas_Object *win, *bg, *mainbox; Eina_Bool enabled = _edi_project_config->gui.translucent; win = edi_main_win_get(); elm_win_alpha_set(win, enabled); + bg = evas_object_data_get(win, "background"); if (enabled) - efl_gfx_color_set(efl_part(win, "background"), 64, 64, 64, _edi_project_config->gui.alpha); + efl_gfx_color_set(bg, 95, 95, 95, _edi_project_config->gui.alpha); else - efl_gfx_color_set(efl_part(win, "background"), 64, 64, 64, 255); + efl_gfx_color_set(bg, 95, 95, 95, 255); + + mainbox = evas_object_data_get(win, "mainbox"); + if (enabled) + efl_gfx_color_set(mainbox, 255, 255, 255, _edi_project_config->gui.alpha); + else + efl_gfx_color_set(mainbox, 255, 255, 255, 255); } void edi_theme_elm_code_alpha_set(Evas_Object *obj)