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);
      }
 }
 

-- 


Reply via email to