jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=ea8a89467a141988647caca87818b8bc916d5fd6
commit ea8a89467a141988647caca87818b8bc916d5fd6 Author: Daniel Zaoui <daniel.za...@samsung.com> Date: Mon Nov 9 09:02:39 2015 +0200 Updater: apply modification to all the registered sessions and not only to the editor session --- src/lib/updater.c | 52 +++++++++++++++++++++------------------------------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/src/lib/updater.c b/src/lib/updater.c index 8c976ed..69c917d 100644 --- a/src/lib/updater.c +++ b/src/lib/updater.c @@ -51,6 +51,18 @@ _eo_del_apply(const Eina_List *sessions, Eid *eid) } static void +_eo_prop_apply(const Eina_List *sessions, Eid *eid, Gui_Widget_Property *prop) +{ + const Eina_List *itr; + Gui_Session *s; + Gui_Widget *wdg = wdg_get(eid); + EINA_LIST_FOREACH(sessions, itr, s) + { + manager_widget_property_add(s, wdg, prop, NULL); + } +} + +static void _obj_container_update(const Eina_List *sessions, Eid *eid) { const Eina_List *itr; @@ -118,38 +130,20 @@ _update_check(void *data EINA_UNUSED) { _eo_add_apply(sessions, eid); Eid *parent_container_id = wdg_parent_container_eid_get(wdg); - if (parent_container_id) - { - Gui_Widget *cont = wdg_get(parent_container_id); - Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); - manager_widget_content_unset_all(session, cont, wdg_obj_container_class_name_get(cont), NULL); - manager_widget_content_add(session, cont, NULL); - } + if (parent_container_id) _obj_container_update(sessions, parent_container_id); } break; } case MEMENTO_PROPERTY: { - Gui_Widget_Property *prop = to; - - if (prop) - { - Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); - manager_widget_property_add(session, wdg, prop, NULL); - } + if (to) _eo_prop_apply(sessions, eid, to); else { _eo_del_apply(sessions, eid); _eo_add_apply(sessions, eid); /* Here separate algorithm for each kind of container can be implemented. */ Eid *parent_container_id = wdg_parent_container_eid_get(wdg); - if (parent_container_id) - { - Gui_Widget *cont = wdg_get(parent_container_id); - Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); - manager_widget_content_unset_all(session, cont, wdg_obj_container_class_name_get(cont), NULL); - manager_widget_content_add(session, cont, NULL); - } + if (parent_container_id) _obj_container_update(sessions, parent_container_id); } break; } @@ -171,18 +165,14 @@ _update_check(void *data EINA_UNUSED) Eid *parent_eid = wdg_parent_id_get(wdg); _eo_del_apply(sessions, parent_eid); _eo_add_apply(sessions, parent_eid); - break; } - _eo_del_apply(sessions, eid); - _eo_add_apply(sessions, eid); - /* Here separate algorithm for each kind of container can be implemented. */ - Eid *parent_container_id = wdg_parent_container_eid_get(wdg); - if (parent_container_id) + else { - Gui_Widget *cont = wdg_get(parent_container_id); - Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); - manager_widget_content_unset_all(session, cont, wdg_obj_container_class_name_get(cont), NULL); - manager_widget_content_add(session, cont, NULL); + _eo_del_apply(sessions, eid); + _eo_add_apply(sessions, eid); + /* Here separate algorithm for each kind of container can be implemented. */ + Eid *parent_container_id = wdg_parent_container_eid_get(wdg); + if (parent_container_id) _obj_container_update(sessions, parent_container_id); } break; } --