summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2017-11-10 15:24:19 +0100
committerMarcel Hollerbach <marcel@osg.samsung.com>2017-11-11 20:21:56 +0100
commitc075b7caaac0c6cf8c1043312041afaf5d4a7cb9 (patch)
tree8d9b9620f0a0d1c23c640eb467ac557eb8b2e146 /src
parent1ff0d6462bf26864b43fac37c494e7c6ed513486 (diff)
elm_gengrid: improve the performance while realizing
realization is now back to the normal performance mode, the widgets are reevalulated when composition calls for preparing
Diffstat (limited to 'src')
-rw-r--r--src/lib/elementary/elm_gengrid.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 6923a0b5ec..abc894eb2e 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -1066,10 +1066,9 @@ _item_content_realize(Elm_Gen_Item *it,
1066 evas_object_del(content); 1066 evas_object_del(content);
1067 goto out; 1067 goto out;
1068 } 1068 }
1069 elm_widget_sub_object_del(WIDGET(it), content);
1070 elm_widget_sub_object_add(WIDGET(it), content);
1071 if (elm_wdg_item_disabled_get(EO_OBJ(it))) 1069 if (elm_wdg_item_disabled_get(EO_OBJ(it)))
1072 elm_widget_disabled_set(content, EINA_TRUE); 1070 elm_widget_disabled_set(content, EINA_TRUE);
1071
1073out: 1072out:
1074 if (old && content != old) 1073 if (old && content != old)
1075 { 1074 {
@@ -5742,17 +5741,19 @@ _elm_gengrid_elm_widget_focus_state_apply(Eo *obj, Elm_Gengrid_Data *pd EINA_UNU
5742EOLIAN static void 5741EOLIAN static void
5743_elm_gengrid_item_efl_ui_focus_object_prepare_logical(Eo *obj, Elm_Gen_Item *pd) 5742_elm_gengrid_item_efl_ui_focus_object_prepare_logical(Eo *obj, Elm_Gen_Item *pd)
5744{ 5743{
5745 efl_ui_focus_object_prepare_logical(efl_super(obj, ELM_GENGRID_ITEM_CLASS)); 5744 Eina_List *n;
5745 Elm_Widget *wid;
5746
5746 _item_realize(pd); 5747 _item_realize(pd);
5747 5748
5748 if (!efl_ui_focus_manager_request_subchild(WIDGET(pd), obj)) 5749 EINA_LIST_FOREACH(pd->contents, n, wid)
5749 { 5750 {
5750 Eo *adapter = efl_add(EFL_UI_FOCUS_COMPOSITION_ADAPTER_CLASS, VIEW(pd) , efl_ui_focus_composition_adapter_canvas_object_set(efl_added, VIEW(pd))); 5751 if (efl_isa(wid, ELM_WIDGET_CLASS))
5751 5752 _elm_widget_full_eval(wid);
5752 efl_ui_focus_manager_calc_register(WIDGET(pd), adapter, obj, NULL);
5753 } 5753 }
5754}
5755 5754
5755 efl_ui_focus_object_prepare_logical(efl_super(obj, ELM_GENGRID_ITEM_CLASS));
5756}
5756 5757
5757/* Standard widget overrides */ 5758/* Standard widget overrides */
5758 5759