From ad7a01b7e47f79bb21b69df6e5a57d8223c6c86c Mon Sep 17 00:00:00 2001 From: Rahul Dadhich Date: Wed, 5 Oct 2016 10:34:52 +0530 Subject: [PATCH] [TSAM-8602] corrected popup update logic on media update Change-Id: I6afc3998c4147d100c420a3230a90ce178896c13 Signed-off-by: Rahul Dadhich --- inc/gallery.h | 1 + inc/widget/gl-popup.h | 1 + src/2dview/gl-timeline.c | 1 + src/features/gl-albums.c | 6 ++++-- src/features/gl-thumbs.c | 14 +++----------- src/widget/gl-popup.c | 32 +++++++++++++++++++++++--------- 6 files changed, 33 insertions(+), 22 deletions(-) diff --git a/inc/gallery.h b/inc/gallery.h index 4dd11df..add76ca 100644 --- a/inc/gallery.h +++ b/inc/gallery.h @@ -398,6 +398,7 @@ typedef struct typedef struct { Evas_Object *popup; + Evas_Object *view_as_popup; Evas_Object *memory_full_popup; int mode; /* Selectioninfo popup layout */ diff --git a/inc/widget/gl-popup.h b/inc/widget/gl-popup.h index ccc6cce..4602c95 100644 --- a/inc/widget/gl-popup.h +++ b/inc/widget/gl-popup.h @@ -65,6 +65,7 @@ int _gl_popup_add_block_callback(void *data); void _gl_list_pop_create(void *data, Evas_Object *obj, void *ei, char *title, char *first_text, char *second_text, int state_index); int _gl_popup_create_copy_move(void *data, void *sel_cb, void *cb_data); void _gl_update_copy_move_popup(void *data); +void _gl_del_popup(void *data); #endif /* _GL_POPUP_H_ */ diff --git a/src/2dview/gl-timeline.c b/src/2dview/gl-timeline.c index baa95b3..e2d7c23 100644 --- a/src/2dview/gl-timeline.c +++ b/src/2dview/gl-timeline.c @@ -2362,6 +2362,7 @@ int _gl_timeline_update_view(void *data) if (ad->tlinfo->nocontents) { if (ad->tlinfo->view_m != GL_TL_VIEW_NORMAL) __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL); + _gl_del_popup(data); } /* Update buttons state */ __gl_timeline_reset_btns(data); diff --git a/src/features/gl-albums.c b/src/features/gl-albums.c index 74e050b..e3ca08d 100644 --- a/src/features/gl-albums.c +++ b/src/features/gl-albums.c @@ -832,7 +832,7 @@ GL_ALBUMS_SHOW_NOCONTENTS: } evas_object_del(ad->albuminfo.view); } - + _gl_del_popup(data); if (view_mode == GL_VIEW_ALBUM_REORDER) { gl_albums_change_to_view(data); return 0; @@ -949,6 +949,7 @@ int gl_albums_change_to_view(void *data) btn = elm_object_item_part_content_unset(ad->ctrlinfo.nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN); evas_object_del(btn); + _gl_del_popup(data); Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly); ad->albuminfo.nocontents = noc; ad->albuminfo.view = noc; @@ -1360,7 +1361,7 @@ Evas_Object *_gl_albums_sel_add_view(void *data, Evas_Object *parent) _gl_ui_del_scroller_pos(grid); evas_object_del(grid); grid = NULL; - + _gl_del_popup(data); Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly); evas_object_show(noc); ad->albuminfo.nocontents = noc; @@ -1410,6 +1411,7 @@ Evas_Object *_gl_albums_add_view(void *data, Evas_Object *parent) evas_object_del(grid); grid = NULL; + _gl_del_popup(data); Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly); evas_object_show(noc); ad->albuminfo.nocontents = noc; diff --git a/src/features/gl-thumbs.c b/src/features/gl-thumbs.c index 71d20ee..0fde7c8 100644 --- a/src/features/gl-thumbs.c +++ b/src/features/gl-thumbs.c @@ -921,17 +921,6 @@ static void __gl_thumbs_move_cb(void *data, Evas_Object *obj, void *ei) } } -static void __gl_thumbs_sortby_cb(void *data, Evas_Object *obj, void *ei) -{ - gl_dbg("ENTRY"); - GL_CHECK(data); - gl_appdata *ad = (gl_appdata *)data; - int state_index = -1; - state_index = ad->gridinfo.media_display_order == ORDER_ASC ? 1 : 0; - _gl_list_pop_create(data, obj, ei, GL_STR_SORT, GL_STR_DATE_MOST_RECENT, GL_STR_DATE_OLDEST, state_index); - gl_dbg("EXIT"); -} - static void __gl_thumbs_soft_back_cb(void *data, Evas_Object *obj, void *ei) { GL_CHECK(data); @@ -1310,6 +1299,7 @@ Evas_Object *_gl_thumbs_add_grid(void *data, Evas_Object *parent, _gl_ui_del_scroller_pos(grid); evas_object_del(grid); grid = NULL; + _gl_del_popup(data); Evas_Object *noc = _gl_nocontents_create(parent); _gl_thumbs_set_nocontents(ad, noc); evas_object_show(noc); @@ -1399,6 +1389,7 @@ Eina_Bool _gl_thumbs_show_items(void *data) "elm.swallow.view"); _gl_thumbs_delete_view(data); __gl_thumbs_set_view(ad, NULL, false); + _gl_del_popup(data); Evas_Object *noc = _gl_nocontents_create(ad->gridinfo.layout); evas_object_show(noc); __gl_thumbs_set_view(ad, noc, true); @@ -1840,6 +1831,7 @@ bool _gl_thumbs_show_nocontents(void *data) _gl_thumbs_delete_view(ad); /* Create nocontents widget */ Evas_Object *noc = NULL; + _gl_del_popup(data); noc = _gl_nocontents_create(ad->gridinfo.layout); ad->gridinfo.view = noc; ad->gridinfo.nocontents = noc; diff --git a/src/widget/gl-popup.c b/src/widget/gl-popup.c index a9dffc0..f61edf9 100644 --- a/src/widget/gl-popup.c +++ b/src/widget/gl-popup.c @@ -1294,9 +1294,9 @@ void _gl_time_view_selected_cb(void *data, Evas_Object *obj, void *event_info) gl_dbg("ENTRY"); GL_CHECK(data); gl_appdata *ad = (gl_appdata *)data; - if (ad->popupinfo.popup) { - evas_object_del(ad->popupinfo.popup); - ad->popupinfo.popup = NULL; + if (ad->popupinfo.view_as_popup) { + evas_object_del(ad->popupinfo.view_as_popup); + ad->popupinfo.view_as_popup = NULL; } int view_mode = gl_get_view_mode(ad); if (view_mode == GL_VIEW_TIMELINE) { @@ -1312,9 +1312,9 @@ void _gl_album_view_selected_cb(void *data, Evas_Object *obj, void *event_info) gl_dbg("ENTRY"); GL_CHECK(data); gl_appdata *ad = (gl_appdata *)data; - if (ad->popupinfo.popup) { - evas_object_del(ad->popupinfo.popup); - ad->popupinfo.popup = NULL; + if (ad->popupinfo.view_as_popup) { + evas_object_del(ad->popupinfo.view_as_popup); + ad->popupinfo.view_as_popup = NULL; } int view_mode = gl_get_view_mode(ad); if (view_mode == GL_VIEW_ALBUMS) { @@ -1382,7 +1382,7 @@ void _gl_list_pop_create(void *data, Evas_Object *obj, void *ei, char *title, ch if (strcmp(title, GL_STR_SORT)) { _gl_list_viewas_popup_cb_add(btn, btn1, ad); } - ad->popupinfo.popup = popup; + ad->popupinfo.view_as_popup = popup; elm_object_part_content_set(ly, "list", ly1); elm_object_content_set(popup, ly); evas_object_show(popup); @@ -1455,8 +1455,8 @@ static void __gl_thumbs_edit_create_album_cb(void *data, Evas_Object *obj, void if (ad->popupinfo.popup) { evas_object_del(ad->popupinfo.popup); + ad->popupinfo.popup = NULL; } - ad->popupinfo.popup = NULL; ad->albuminfo.path = NULL; ad->albuminfo.file_mc_mode = GL_MC_COPY; if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_COPY || _gl_is_timeline_edit_copy_mode(ad)) { @@ -1480,8 +1480,8 @@ static void __gl_thumbs_edit_copy_cb(void *data, Evas_Object *obj, void *ei) if (ad->popupinfo.popup) { evas_object_del(ad->popupinfo.popup); + ad->popupinfo.popup = NULL; } - ad->popupinfo.popup = NULL; ad->albuminfo.file_mc_mode = GL_MC_COPY; if (ad->gridinfo.it) { gl_move_copy_to_album(ad); @@ -1714,3 +1714,17 @@ int _gl_popup_create_copy_move(void *data, void *sel_cb, void *cb_data) return 0; } + +void _gl_del_popup(void *data) { + GL_CHECK(data); + gl_dbg(""); + gl_appdata *ad = (gl_appdata *)data; + if (ad->popupinfo.popup) { + evas_object_del(ad->popupinfo.popup); + ad->popupinfo.popup = NULL; + } + if (ad->popupinfo.view_as_popup) { + evas_object_del(ad->popupinfo.view_as_popup); + ad->popupinfo.view_as_popup = NULL; + } +} -- 2.34.1