rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d25e49b737927731c38989389ab59757b4dfee16
commit d25e49b737927731c38989389ab59757b4dfee16 Author: Vitalii Vorobiov <[email protected]> Date: Thu Oct 27 20:48:11 2016 +0300 tabs.c: do not hide Property block but clean it up instead When all tabs are closed or home tab is clicked Fixes T4773 --- src/bin/ui/property/property_group.c | 14 ++++++++++---- src/bin/ui/tabs.c | 12 ++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index 1469386..a4348ad 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -338,13 +338,19 @@ _on_group_changed(void *data, assert(pd != NULL); - resource_name_validator_list_set(group_pd.part_name_validator, &group_pd.group->parts, false); - resource_name_validator_list_set(group_pd.group_data_name_validator, &group_pd.group->data_items, true); - resource_name_validator_resource_set(group_pd.part_name_validator, group_pd.group->current_selected); - resource_name_validator_resource_set(group_pd.group_data_name_validator, group_pd.group->current_selected); + /* in case if no group selected then its clean up and no groups are selected */ + if (event_info) + { + resource_name_validator_list_set(group_pd.part_name_validator, &group_pd.group->parts, false); + resource_name_validator_list_set(group_pd.group_data_name_validator, &group_pd.group->data_items, true); + resource_name_validator_resource_set(group_pd.part_name_validator, group_pd.group->current_selected); + resource_name_validator_resource_set(group_pd.group_data_name_validator, group_pd.group->current_selected); + } GENLIST_FILTER_APPLY(pd->genlist); + if (!event_info) return; + if (!group_pd.group->current_selected) /* group_only */ { DBG("selected group \"%s\"", group_pd.group ? group_pd.group->common.name : NULL); diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 82a37d7..95b75d9 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -101,8 +101,10 @@ _content_set(void *data, { elm_object_part_content_set(ap.panes.left_ver, "right", workspace_group_navigator_get(NULL)); elm_object_part_content_unset(ap.panes.right, "right"); - evas_object_hide(ap.property.group); - evas_object_hide(ap.property.demo); + /* this case for when Property shows something selected in NORMAL mode */ + evas_object_smart_callback_call(ap.win, SIGNAL_GROUP_CHANGED, NULL); + /* this case for when Property shows something selected in DEMO mode */ + evas_object_smart_callback_call(ap.win, SIGNAL_DIFFERENT_TAB_CLICKED, NULL); return; } else @@ -1111,8 +1113,10 @@ _tab_close(void *data, evas_object_hide(content); elm_layout_content_set(ap.panes.left_ver, "right", workspace_group_navigator_get(NULL)); elm_object_part_content_unset(ap.panes.right, "right"); - evas_object_hide(ap.property.group); - evas_object_hide(ap.property.demo); + /* this case for when Property shows something selected in NORMAL mode */ + evas_object_smart_callback_call(ap.win, SIGNAL_GROUP_CHANGED, NULL); + /* this case for when Property shows something selected in DEMO mode */ + evas_object_smart_callback_call(ap.win, SIGNAL_DIFFERENT_TAB_CLICKED, NULL); } } --
