Fix N_SE-17884,N_SE-13031,N_SE-13756,N_SE-17900 .
authoryigang.jing <yigang.jing@samsung.com>
Fri, 28 Dec 2012 00:47:57 +0000 (08:47 +0800)
committeryigang.jing <yigang.jing@samsung.com>
Fri, 28 Dec 2012 00:47:57 +0000 (08:47 +0800)
Change-Id: Ib0c4e6018262487b375192494c8bf36c760b7e51

setting-about/src/setting-about-main.c
setting-common/include/setting-common-data-type.h
setting-reset/include/setting-reset.h
setting-reset/src/setting-reset-settings.c
setting-reset/src/setting-reset.c
setting-storage/src/setting-storage-miscellaneous-files.c
src/setting-main.c

index 30a311b..aca35bb 100755 (executable)
@@ -509,6 +509,7 @@ static Eina_Bool __timer_update_cb(const void *data)
 static void
 __about_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event)
 {
+       SETTING_TRACE_BEGIN;
        ret_if(!data);
        SettingAboutUG *ad = (SettingAboutUG *) data;
        retm_if(event == NULL, "Invalid argument: event info is NULL");
@@ -516,8 +517,15 @@ __about_main_gl_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event)
 
        if (ad->item_dev_name) {
                Elm_Object_Item *selected_item = elm_genlist_at_xy_item_get(ad->genlsit, ev->output.x, ev->output.y, NULL);
-               if (ad->item_dev_name->item == selected_item)//do nothing..
-                       return;
+               if (ad->item_dev_name->item == selected_item) {
+                       if (elm_object_focus_get(ad->item_dev_name->eo_check)) {
+                               Ecore_IMF_Context *imf_context = (Ecore_IMF_Context *)elm_entry_imf_context_get(ad->item_dev_name->eo_check);
+                               if (imf_context) {
+                                       ecore_imf_context_input_panel_show(imf_context);
+                               }
+                               return;
+                       }
+               }
 
                elm_object_focus_set(ad->item_dev_name->eo_check, EINA_FALSE);//to make inputing words input
        }
@@ -561,12 +569,6 @@ static void __entry_unfocus_cb(void *data, Evas_Object *obj, void *event_info)
        setting_hide_input_pannel_cb(item_dev_name->eo_check);
        if (item_dev_name) {
                if (ad->empty_flag) {
-                       if (ad->popup) {
-                               evas_object_del(ad->popup);
-                               ad->popup = NULL;
-                       }
-                       ad->popup = setting_create_popup_without_btn(ad, ad->win_get, NULL, _(EMPTY_LIMITATION_STR),
-                                            __about_popup_rsp_cb, POPUP_INTERVAL, FALSE, FALSE);
                        return;
                } else {
                }
index b364cb8..de8f865 100755 (executable)
@@ -232,6 +232,7 @@ typedef enum _POPUP_BTN_RESPONSE_TYPE{
 } POPUP_BTN_RESPONSE_TYPE;
 
 typedef enum {
+       SETTING_GROUP_STYLE_NONE = -1,
        SETTING_GROUP_STYLE_TOP = 0,
        SETTING_GROUP_STYLE_CENTER,
        SETTING_GROUP_STYLE_BOTTOM
index 79c1938..14d199b 100755 (executable)
@@ -98,6 +98,7 @@ struct _SettingResetUG {
        Evas_Object *ly_reset;
        Evas_Object *pop;
 #endif
+       Evas_Object *pop_btn;
 };
 
 extern setting_view setting_view_reset_main;
index e8452c1..80468c3 100755 (executable)
@@ -392,6 +392,8 @@ static int setting_reset_settings_destroy(void *cb)
                ad->reset_all_idler = NULL;
        }
 
+       ad->pop_btn = NULL;
+
        elm_naviframe_item_pop(ad->navi_bar);
        setting_view_reset_settings.is_create = 0;
 
@@ -552,11 +554,11 @@ static Eina_Bool __reset_animator_cb(void *data)
                        evas_object_del(ad->pop_progress);
                        ad->pop_progress = NULL;
                }
-               Evas_Object *btn = elm_object_part_content_get(ad->notify, "button1");
-               if (btn)
+               //Evas_Object *btn = elm_object_part_content_get(ad->notify, "button1");
+               if (ad->pop_btn)
                {
-                       setting_enable_evas_object(btn);
-                       setting_undo_dim_evas_object(btn, TRUE);
+                       setting_enable_evas_object(ad->pop_btn);
+                       setting_undo_dim_evas_object(ad->pop_btn, TRUE);
                }
 
                Evas_Object *genlist = elm_object_content_get(ad->notify);
@@ -614,6 +616,7 @@ static void setting_reset_settings_check_state(Setting_Done_List_Data *list_data
        elm_object_style_set(btn, "popup_button/default");
        setting_disable_evas_object(btn);
        setting_dim_evas_object(btn, TRUE);
+       ad->pop_btn = btn;
 
        Evas_Object *genlist = elm_genlist_add(ad->notify);
        elm_object_style_set(genlist, "dialogue");
index c8e5335..9487e59 100755 (executable)
@@ -281,6 +281,7 @@ void setting_reset_result_popup_resp_cb(void *data, Evas_Object *obj, void *even
                evas_object_del(ad->old_notify);
                ad->old_notify = NULL;
        }
+       ad->pop_btn = NULL;
 }
 
 void setting_reset_result_popup_update(void *data)
index bf10978..4e89385 100755 (executable)
@@ -334,6 +334,8 @@ static Evas_Object *__setting_create_done_list(void *data)
        setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
        SettingStorageUG *ad = (SettingStorageUG *) data;
 
+       int count = eina_list_count(ad->files_list);
+
        Evas_Object *sub_layout = elm_layout_add(ad->win_main_layout);
        elm_layout_file_set(sub_layout, SETTING_THEME_EDJ_NAME, "search_layout");
        evas_object_size_hint_weight_set(sub_layout, EVAS_HINT_EXPAND, 0.0);
@@ -344,7 +346,10 @@ static Evas_Object *__setting_create_done_list(void *data)
        elm_layout_theme_set(select_all_layout, "genlist", "item", "select_all/default"); //select_all/default
        evas_object_size_hint_weight_set(select_all_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
        evas_object_size_hint_align_set(select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, __setting_select_all_layout_mouse_down_cb, &ad->miscellaneous_list);
+
+       if (count > 0) {
+               evas_object_event_callback_add(select_all_layout, EVAS_CALLBACK_MOUSE_DOWN, __setting_select_all_layout_mouse_down_cb, &ad->miscellaneous_list);
+       }
 
        Eina_Bool select_all_checked = ad->miscellaneous_list.select_all_checked;
        Evas_Object *select_all_checkbox = elm_check_add(select_all_layout);
@@ -353,6 +358,10 @@ static Evas_Object *__setting_create_done_list(void *data)
        evas_object_propagate_events_set(select_all_checkbox, EINA_FALSE);
        elm_object_part_content_set(select_all_layout, "elm.icon", select_all_checkbox);
 
+       if (count == 0) {
+               elm_object_disabled_set(select_all_checkbox, EINA_TRUE);
+       }
+
        ad->miscellaneous_list.select_all_checkbox = select_all_checkbox;
        elm_object_part_text_set(select_all_layout, "elm.text", _(KeyStr_Select_All));
 
index 2261772..d26d471 100755 (executable)
@@ -562,6 +562,8 @@ void __gl_realized(void *data, Evas_Object *obj, void *event_info)
                        elm_object_item_signal_emit(item, "elm,state,bottom", "");
                } else if (list_item->group_style == SETTING_GROUP_STYLE_CENTER) {
                        elm_object_item_signal_emit(item, "elm,state,center", "");
+               } else if (list_item->group_style == SETTING_GROUP_STYLE_NONE) {
+                       /* do nothing */
                } else {
                        SETTING_TRACE_ERROR("list_item->group_style is wrong");
                }
@@ -742,12 +744,21 @@ void __load_connectivity_menu_list(void *data, Cfg_Item_Position inputPos, Evas_
                        __BACK_POINTER_SET(ad->data_moreConnect);
 
                        /* if has <more ..> item , change the last item_date to SETTING_GROUP_STYLE_CENTER*/
-                       if (item_data) {
+                       if (item_data && index > 1) {
                                item_data->group_style = SETTING_GROUP_STYLE_CENTER;
                        }
                        ad->data_moreConnect->group_style = SETTING_GROUP_STYLE_BOTTOM;
+
+                       item_data = ad->data_moreConnect;
+                       index++;
                }
 #endif
+
+       if (index == 1) {
+               item_data->group_style = SETTING_GROUP_STYLE_NONE;
+       } else if (index == 2) {
+               item_data->group_style = SETTING_GROUP_STYLE_BOTTOM;
+       }
        SETTING_TRACE_END;
 }
 
@@ -945,12 +956,20 @@ void __load_system_menu_list(void *data, Cfg_Item_Position inputPos, Evas_Object
                        __BACK_POINTER_SET(ad->data_moreSystem);
 
                        /* if has <more ..> item , change the last item_date to SETTING_GROUP_STYLE_CENTER*/
-                       if (item_data) {
+                       if (item_data && index > 1) {
                                item_data->group_style = SETTING_GROUP_STYLE_CENTER;
                        }
                        ad->data_moreSystem->group_style = SETTING_GROUP_STYLE_BOTTOM;
+
+                       item_data = ad->data_moreSystem;
+                       index++;
                }
 #endif
+       if (index == 1) {
+               item_data->group_style = SETTING_GROUP_STYLE_NONE;
+       } else if (index == 2) {
+               item_data->group_style = SETTING_GROUP_STYLE_BOTTOM;
+       }
 }
 
 static void __load_system_level0_list(void *data)
@@ -988,7 +1007,7 @@ static void __load_applications_menu_list(void *data,
        int i, j;
 
        Setting_GenGroupItem_Data *item_data = NULL;
-
+       int index = 0;
        for (i = 0; i < setting_cfg_get_category_length(); i++) {
                if (safeStrCmp
                    (setting_cfg_get_category_name(i), KeyStr_Applications))
@@ -1033,10 +1052,21 @@ static void __load_applications_menu_list(void *data,
                                } else {
                                        item_data->group_style = SETTING_GROUP_STYLE_CENTER;
                                }
+
+                               if (index == 0) {
+                                       item_data->group_style = SETTING_GROUP_STYLE_TOP;
+                               }
+                               index++;
                        }
                }
        }
 
+       if (index == 1) {
+               item_data->group_style = SETTING_GROUP_STYLE_NONE;
+       } else if (index == 2) {
+               item_data->group_style = SETTING_GROUP_STYLE_BOTTOM;
+       }
+
        SETTING_TRACE_END;
 }