Fix a error in more menu 40/251240/1 accepted/tizen/unified/20210113.121042 submit/tizen/20210112.015013
authorKiseok Chang <kiso.chang@samsung.com>
Tue, 12 Jan 2021 01:45:59 +0000 (10:45 +0900)
committerKiseok Chang <kiso.chang@samsung.com>
Tue, 12 Jan 2021 01:47:41 +0000 (10:47 +0900)
- add codes to check if misc list is empty before show menu

Change-Id: Id48574966a758d23cff7492a94babed3f6a5a603
Signed-off-by: Kiseok Chang <kiso.chang@samsung.com>
setting-storage/include/setting-storage.h
setting-storage/src/setting-storage-miscellaneous.c

index c06bda51e0f5b2bb74f80904c58b67add0f6ac3b..8f4553e9439088965c12d8babd3c3da3fa2a2492 100755 (executable)
@@ -136,6 +136,9 @@ typedef struct _SettingStorage {
        Evas_Object *misces_genlist;            /** genlist for misc list */
        Elm_Widget_Item *apps_uninstall_ctx_it; /* More menu popup uninstall item */
        Evas_Object *main_menu_popup;
+       Elm_Object_Item *misc_more_delete;
+       Elm_Object_Item * misc_more_sort;
+
        Evas_Object *sort_by_sub_menu_popup;
        Evas_Object *sort_by_radio_group;
        Evas_Object *no_content_layout;
index c4704ed795e013294fe9ad0fa880cc3a1c6d75eb..41021d87295637a13079bd27c634539ee295067e 100755 (executable)
@@ -186,28 +186,39 @@ static void __create_sort_by_sub_menu(SettingStorage *ad)
 
 static void __create_more_main_menu(SettingStorage *ad)
 {
+       int count = elm_genlist_items_count(ad->misces_genlist);
+       SETTING_TRACE_DEBUG("count of ad->misces_genlist : %d", count);
+
        ad->main_menu_popup = __create_ctxpopup(ad);
 
        Elm_Object_Item *it = NULL;
        it = elm_ctxpopup_item_append(ad->main_menu_popup, _("IDS_ST_BODY_DELETE"),
                                NULL, __ctx_delete_click_cb, ad);
-       elm_object_item_disabled_set(it,
-                               (elm_genlist_items_count(ad->misces_genlist) == 0));
+       elm_object_item_disabled_set(it, (count == 0));
+       ad->misc_more_delete = it;
        it = elm_ctxpopup_item_append(ad->main_menu_popup,
                                _("IDS_ST_HEADER_SORT_BY"), NULL,
                                __show_sort_by_menu_cb, ad);
-       elm_object_item_disabled_set(it,
-                               (elm_genlist_items_count(ad->misces_genlist) == 0));
+       elm_object_item_disabled_set(it, (count == 0));
+       ad->misc_more_sort = it;
 }
 
 static void __show_more_menu_cb(void *data, Evas_Object *obj,
                void *event_info)
 {
-       int y;
-       SettingStorage *ad = (SettingStorage *)data;
+       SETTING_TRACE_BEGIN;
 
+       SettingStorage *ad = (SettingStorage *)data;
        ret_if(!ad || ad->select_mode);
 
+       int count = elm_genlist_items_count(ad->misces_genlist);
+       SETTING_TRACE_DEBUG("count of ad->misces_genlist : %d", count);
+       if(ad->misc_more_delete)
+               elm_object_item_disabled_set(ad->misc_more_delete, (count == 0));
+       if(ad->misc_more_sort)
+               elm_object_item_disabled_set(ad->misc_more_sort, (count == 0));
+
+       int y;
        evas_object_geometry_get(ad->md.genlist, NULL, &y, NULL, NULL);
        evas_object_move(ad->main_menu_popup, 1280, y);
        evas_object_show(ad->main_menu_popup);