multi-file: improve a use case.

hide a previous preview if a new represent file hans't any viewable group.
This commit is contained in:
Hermet Park 2016-07-17 00:40:08 +09:00
parent adc7ba1c48
commit 09f19b7654
4 changed files with 13 additions and 9 deletions

View File

@ -156,22 +156,22 @@ edj_mgr_view_new(Enventor_Item *it, const char *group)
return vd;
}
view_data *
void
edj_mgr_view_switch_to(view_data *vd)
{
edj_mgr *em = g_em;
if (em->edj && (em->edj->vd == vd)) return vd;
if (em->edj && (em->edj->vd == vd)) return;
//Switch views
Evas_Object *prev =
elm_object_part_content_unset(em->layout, "elm.swallow.content");
elm_object_part_content_set(em->layout, "elm.swallow.content",
view_obj_get(vd));
view_scale_set(vd, em->view_scale);
//Switching effect
if (prev && (prev != view_obj_get(vd)))
if (prev != view_obj_get(vd))
{
Evas_Object *tmp =
elm_object_part_content_unset(em->layout, "elm.swallow.prev");
@ -186,8 +186,11 @@ edj_mgr_view_switch_to(view_data *vd)
//Reset caching timers
edj_data *cur_edj = view_data_get(vd);
ecore_timer_del(cur_edj->timer);
cur_edj->timer = NULL;
if (cur_edj)
{
ecore_timer_del(cur_edj->timer);
cur_edj->timer = NULL;
}
edj_data *prev_edj = em->edj;
if (prev_edj)
@ -197,8 +200,6 @@ edj_mgr_view_switch_to(view_data *vd)
prev_edj->vd);
}
em->edj = view_data_get(vd);
return vd;
}
Evas_Object *

View File

@ -669,6 +669,7 @@ view_term(view_data *vd)
Evas_Object *
view_obj_get(view_data *vd)
{
if (!vd) return NULL;
return vd->scroller;
}
@ -768,6 +769,7 @@ view_group_name_get(view_data *vd)
void *
view_data_get(view_data *vd)
{
if (!vd) return NULL;
return vd->data;
}

View File

@ -172,7 +172,7 @@ void edj_mgr_term(void);
view_data * edj_mgr_view_new(Enventor_Item *it, const char *group);
view_data *edj_mgr_view_get(Eina_Stringshare *group);
Evas_Object * edj_mgr_obj_get(void);
view_data *edj_mgr_view_switch_to(view_data *vd);
void edj_mgr_view_switch_to(view_data *vd);
void edj_mgr_view_del(view_data *vd);
void edj_mgr_reload_need_set(Eina_Bool reload);
Eina_Bool edj_mgr_reload_need_get(void);

View File

@ -886,6 +886,7 @@ enventor_item_represent(Enventor_Item *it)
{
edit_view_sync_cb_set(pd->focused_it->ed, NULL, NULL);
evas_object_hide(edit_obj_get(pd->focused_it->ed));
edj_mgr_view_switch_to(NULL);
}
edit_view_sync_cb_set(it->ed, edit_view_sync_cb, it);