From 4095c754382b8cf6892918257f4b1479423e3df8 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Tue, 24 Dec 2019 00:51:06 +0000 Subject: [PATCH] toolbar: use static state storage. --- src/bin/edi_main.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c index f386caf..99ea13f 100644 --- a/src/bin/edi_main.c +++ b/src/bin/edi_main.c @@ -44,7 +44,7 @@ typedef struct _Edi_Panel_Slide_Effect Eina_Bool left; } Edi_Panel_Slide_Effect; -static Evas_Object *_edi_toolbar_win = NULL, *_edi_leftpanes, *_edi_bottompanes; +static Evas_Object *_edi_toolbar_win, *_edi_leftpanes, *_edi_bottompanes; static Evas_Object *_edi_logpanel, *_edi_consolepanel, *_edi_testpanel, *_edi_searchpanel, *_edi_taskspanel, *_edi_debugpanel; static Elm_Object_Item *_edi_logpanel_item, *_edi_consolepanel_item, *_edi_testpanel_item, *_edi_searchpanel_item, *_edi_taskspanel_item, *_edi_debugpanel_item; static Elm_Object_Item *_edi_selected_bottompanel; @@ -58,8 +58,6 @@ static Evas_Object *_edi_main_win, *_edi_main_box; static Evas_Object *_edi_toolbar_run, *_edi_toolbar_terminate; int _edi_log_dom = -1; -static Eina_Bool _edi_toolbar_win_is_horizontal; - static void _edi_active_process_icons_set(Eina_Bool active) { @@ -1360,27 +1358,34 @@ edi_toolbar_win_add(void) Evas_Object *win, *tb, *box, *notify; Elm_Object_Item *tb_it; Evas_Coord w, h; + static Eina_Bool is_horizontal = EINA_TRUE, is_init = EINA_TRUE; + + if (is_init) + { + is_horizontal = _edi_project_config->gui.toolbar_horizontal; + is_init = EINA_FALSE; + _edi_toolbar_win = NULL; + } if (_edi_project_config->gui.toolbar_hidden) { edi_toolbar_win_del(); + return; } if ((edi_toolbar_win_get()) && - (_edi_toolbar_win_is_horizontal == _edi_project_config->gui.toolbar_horizontal)) + (is_horizontal == _edi_project_config->gui.toolbar_horizontal)) { return; } + is_horizontal = _edi_project_config->gui.toolbar_horizontal; + edi_toolbar_win_del(); - _edi_toolbar_win_is_horizontal = _edi_project_config->gui.toolbar_horizontal; - _edi_toolbar_win = win = elm_win_add(edi_main_win_get(), "toolbar", ELM_WIN_BASIC); - elm_object_focus_allow_set(win, EINA_FALSE); - box = elm_box_add(win); elm_box_horizontal_set(box, _edi_project_config->gui.toolbar_horizontal); evas_object_show(box); @@ -1670,8 +1675,6 @@ edi_open(const char *inputpath) evas_object_data_set(win, "background", bg); evas_object_data_set(win, "mainbox", hbx); - _edi_toolbar_win_is_horizontal = _edi_project_config->gui.toolbar_horizontal; - edi_toolbar_win_add(); _edi_menu_setup(win);