ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=4da088b51c4f4d005d67185322a0ff0ce03e7210
commit 4da088b51c4f4d005d67185322a0ff0ce03e7210 Author: Andy Williams <a...@andywilliams.me> Date: Tue Jun 9 22:31:33 2015 +0100 tabs: load in the correct order... Remove some unneeded duplication at the same time --- src/bin/edi_main.c | 11 +++++++++-- src/bin/mainview/edi_mainview.c | 32 ++++++-------------------------- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c index 48aae6b..3ce91be 100644 --- a/src/bin/edi_main.c +++ b/src/bin/edi_main.c @@ -985,15 +985,22 @@ void _edi_open_tabs() { Edi_Project_Config_Tab *tab; - Eina_List *list, *next; + Eina_List *tabs, *list; - EINA_LIST_FOREACH_SAFE(_edi_project_config->tabs, list, next, tab) + tabs = _edi_project_config->tabs; + _edi_project_config->tabs = NULL; + EINA_LIST_FOREACH(tabs, list, tab) { if (tab->windowed) edi_mainview_open_window_path(tab->path); else edi_mainview_open_path(tab->path); } + + EINA_LIST_FREE(tabs, tab) + { + free(tab); + } } Evas_Object * diff --git a/src/bin/mainview/edi_mainview.c b/src/bin/mainview/edi_mainview.c index 6551164..837e255 100644 --- a/src/bin/mainview/edi_mainview.c +++ b/src/bin/mainview/edi_mainview.c @@ -196,7 +196,6 @@ _edi_mainview_item_tab_add(Edi_Path_Options *options, const char *mime) if (options->line) edi_mainview_goto(options->line); - _edi_project_config_tab_add(options->path, EINA_FALSE); } static void @@ -251,7 +250,6 @@ _edi_mainview_item_win_add(Edi_Path_Options *options, const char *mime) evas_object_resize(win, 380 * elm_config_scale_get(), 260 * elm_config_scale_get()); evas_object_show(win); - _edi_project_config_tab_add(options->path, EINA_TRUE); } static void @@ -378,18 +376,9 @@ void edi_mainview_open_path(const char *path) { Edi_Path_Options *options; - Edi_Mainview_Item *it; - - it = _get_item_for_path(path); - if (it) - { - edi_mainview_item_select(it); - return; - } options = edi_path_options_create(path); - - eio_file_direct_stat(path, _edi_mainview_tab_stat_done, dummy, options); + edi_mainview_open(options); } void @@ -414,29 +403,18 @@ edi_mainview_open(Edi_Path_Options *options) { _edi_mainview_item_tab_add(options, NULL); } + + _edi_project_config_tab_add(options->path, EINA_FALSE); } void edi_mainview_open_window_path(const char *path) { Edi_Path_Options *options; - Edi_Mainview_Item *it; - - it = _get_item_for_path(path); - if (it) - { - edi_mainview_item_select(it); - elm_naviframe_item_pop(nf); - elm_object_item_del(elm_toolbar_selected_item_get(tb)); - _edi_mainview_items = eina_list_remove(_edi_mainview_items, it); - - eina_stringshare_del(it->path); - free(it); - } options = edi_path_options_create(path); - eio_file_direct_stat(path, _edi_mainview_win_stat_done, dummy, options); + edi_mainview_open_window(options); } void @@ -464,6 +442,8 @@ edi_mainview_open_window(Edi_Path_Options *options) { _edi_mainview_item_win_add(options, NULL); } + + _edi_project_config_tab_add(options->path, EINA_TRUE); } void --