Merge "packaging: spec cleanup" into tizen
[apps/core/preloaded/settings.git] / setting-reset / src / setting-reset-settings.c
index 899156b..31ac049 100755 (executable)
@@ -1,26 +1,21 @@
 /*
  * setting
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
- *
- * Contact: MyoungJune Park <mj2004.park@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ *     http://floralicense.org/license/
  *
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
+ * distributed under the License is distributed on an AS IS BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- *
  */
 #include <setting-cfg.h>
 #include <setting-reset-settings.h>
-#include <heynoti.h>
 #include <Ecore_X.h>
 #include <utilX.h>
 
@@ -45,13 +40,12 @@ static void setting_reset_settings_click_softkey_reset_cb(void *data,
 static void setting_reset_settings_click_softkey_cancel_cb(void *data,
                                                       Evas_Object *obj,
                                                       void *event_info);
-#if SUPPORT_SECURITY
+
 static bool setting_reset_settings_create_password_sg(void *data);
+static void setting_reset_settings_check_state(Setting_Done_List_Data *list_data);
 static void setting_reset_settings_result_password_ug_cb(ui_gadget_h ug,
                                                     service_h result,
                                                     void *priv);
-#endif
-static void setting_reset_settings_check_state(Setting_Done_List_Data *list_data);
 
 /* ***************************************************
  *
@@ -76,8 +70,9 @@ static char *__result_gl_text_get(void *data, Evas_Object *obj,
                }
                if (item_data->sub_desc)
                {
-                       safeStrNCat(label, ": ",HELP_MSG_BUFF_SIZE);
-                       const char *sub_desc = setting_customize_text(_(item_data->sub_desc), RESULT_FONT_SIZE, NULL, NULL);
+                       char desc[SETTING_STR_SLP_LEN + 1] = { 0, };
+                       snprintf(desc, SETTING_STR_SLP_LEN, ": %s", _(item_data->sub_desc));
+                       const char *sub_desc = setting_customize_text(desc, RESULT_FONT_SIZE, NULL, NULL);
                        safeStrNCat(label, sub_desc,HELP_MSG_BUFF_SIZE);
                        FREE(sub_desc);
                }
@@ -197,7 +192,7 @@ bool __reset_all_idler(void *data)
        return FALSE;
 }
 
-static void __reset_all_button_cb(void *data, Evas_Object *obj, void *event_info)
+void __reset_all_button_cb(void *data, Evas_Object *obj, void *event_info)
 {
        SETTING_TRACE_BEGIN;
        ret_if(!data);
@@ -246,7 +241,6 @@ static int setting_reset_settings_create(void *cb)
 
        SettingResetUG *ad = (SettingResetUG *) cb;
        Evas_Object *scroller = NULL;
-       Evas_Object *controllbar = NULL;
 
        Evas_Object *view_layout = elm_layout_add(ad->win_main_layout);
        elm_layout_file_set(view_layout, SETTING_THEME_EDJ_NAME,
@@ -254,13 +248,13 @@ static int setting_reset_settings_create(void *cb)
        evas_object_size_hint_weight_set(view_layout, EVAS_HINT_EXPAND, 0.0);
 
        /*  Evas_Object * win_layout, Evas_Object * win_obj */
-       setting_push_layout_navi_bar(_(RESET_SETTINGS_STR),
+       Elm_Object_Item *navi_it = setting_push_layout_navi_bar(_(RESET_SETTINGS_STR),
                                   _("IDS_COM_BODY_RESET"),
                                   _("IDS_COM_SK_CANCEL"), NULL,
                                   setting_reset_settings_click_softkey_reset_cb,
                                   setting_reset_settings_click_softkey_cancel_cb,
                                   NULL, ad, view_layout, ad->navi_bar,
-                                  &controllbar);
+                                  NULL);
 
        /* ******************************************create frame */
        Setting_Done_List_Data *list_data = &(ad->list_data);   /* define a handle */
@@ -268,9 +262,8 @@ static int setting_reset_settings_create(void *cb)
        list_data->win_main = ad->win_main_layout;
        list_data->UG_data = ad;
        list_data->ly_parent = view_layout;
-       list_data->controllbar = controllbar;
        list_data->select_all_checked = EINA_FALSE;
-       bool is_emulator = isEmulBin();
+       list_data->navi_it = navi_it;
 
        char *ug_args;
        char *item_name;
@@ -295,24 +288,24 @@ static int setting_reset_settings_create(void *cb)
                        }
 
                        item_name = setting_cfg_get_keyname_idx(i, j);
-                       if (is_emulator)
+                       if (isEmulBin())
                        {
                                if (!safeStrCmp(KeyStr_FlightMode, item_name)) {
                                        continue; /* hide Flight Mode in Emulator*/
                                } else if (!safeStrCmp(KeyStr_WiFi, item_name)) {
                                        continue; /* hide WIFI in Emulator*/
+                               } else if (!safeStrCmp(KeyStr_MobileAP, item_name)) {
+                                       continue; /* hide Tethering in Emulator*/
                                } else if (!safeStrCmp(KeyStr_WiFiDirect, item_name)) {
                                        continue; /* hide WiFiDirect in Emulator*/
                                } else if (!safeStrCmp(KeyStr_Network, item_name)) {
                                        continue; /* hide Network in Emulator*/
                                } else if (!safeStrCmp(KeyStr_Bluetooth, item_name)) {
                                        continue; /* hide Bluetooth in Emulator*/
+                               } else if (!safeStrCmp(KeyStr_DateTime, item_name)) {
+                                       continue; /* hide Date&Time in Emulator*/
                                } else if (!safeStrCmp(KeyStr_Security, item_name)) {
                                        continue; /* hide Security in Emulator*/
-                               } else if (!safeStrCmp(KeyStr_Motions, item_name)) {
-                                       continue; /* hide Motion in Emulator*/
-                               } else if (!safeStrCmp(KeyStr_Accessibility, item_name)) {
-                                       continue; /* hide Accessibility in Emulator*/
                                } else if (!safeStrCmp(KeyStr_Memory, item_name)) {
                                        continue; /* hide Memory in Emulator*/
                                } else if (!safeStrCmp(KeyStr_Powersaving, item_name)) {
@@ -323,7 +316,8 @@ static int setting_reset_settings_create(void *cb)
                        }
 
                        list_data->chk_items[idx].ug_args = ug_args;
-                       list_data->chk_items[idx].item_name = item_name;
+                       list_data->chk_items[idx].item_name = item_name =
+                                       setting_cfg_get_keyname_idx(i, j);
 
                        SETTING_TRACE("process %s:\t%s",_(item_name), ug_args);
                        idx++;
@@ -335,8 +329,12 @@ static int setting_reset_settings_create(void *cb)
        scroller = setting_create_done_list(list_data);
        elm_object_part_content_set(view_layout, "elm.swallow.contents", scroller);
 
+       if(idx == 0 || !setting_done_list_is_some_item_selected(list_data)) {
+               Evas_Object *reset_btn = elm_object_item_part_content_get(navi_it, "toolbar_button1");
+               elm_object_disabled_set(reset_btn, EINA_TRUE);
+       }
+
        ad->view_layout = view_layout;
-       ad->controllbar = controllbar;
        ad->reset_list = elm_object_part_content_get(scroller, "search_list");
        /* *******************************************update info */
 
@@ -392,6 +390,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;
 
@@ -434,17 +434,17 @@ bool __delay_reset_location(void *data)
        if (LOAD_LIB_FAILED == plugin_ret) // -1
        {
                result_str = LOAD_LIB_FAILED_STR;
-       
+
        } else if (UNDEFINED_LIB_SYMBOL == plugin_ret) // -2
        {
                result_str = UNDEFINE_STR;
        } else if (OPERATE_LIB_SUCESS > plugin_ret){ // 0
                result_str = RESET_FAILED_STR;
-       
+
        } else {
                return FALSE;
        }
-       
+
        item_data->sub_desc = (char *) g_strdup(_(result_str));
        elm_object_item_data_set(item_data->item, item_data);
        elm_genlist_item_update(item_data->item);
@@ -502,6 +502,9 @@ static void __reset_an_item(Setting_Done_List_Data *list_data,
                                                         (char *)item_name,
                                                         (char *)result_str, NULL);
                        ecore_idler_add((Ecore_Task_Cb) __delay_reset_location, item_data);
+
+                       service_destroy(svc);
+                       FREE(path);
                        return;
                }
 
@@ -552,11 +555,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);
@@ -564,6 +567,13 @@ static Eina_Bool __reset_animator_cb(void *data)
                        elm_genlist_item_show(elm_genlist_first_item_get(genlist), ELM_GENLIST_ITEM_SCROLLTO_TOP);
                if(ad->reset_list)
                        elm_genlist_item_show(elm_genlist_first_item_get(ad->reset_list), ELM_GENLIST_ITEM_SCROLLTO_TOP);
+
+               if(!setting_done_list_is_some_item_selected(&ad->list_data)) {
+                       if (ad->list_data.navi_it) {
+                               Evas_Object *button = elm_object_item_part_content_get(ad->list_data.navi_it, "toolbar_button1");
+                               elm_object_disabled_set(button, EINA_TRUE);
+                       }
+               }
                return ECORE_CALLBACK_CANCEL;
        }
        if (ad->list_data.chk_items[ad->gl_index].data_GenItem->chk_status) {
@@ -607,6 +617,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");
@@ -635,7 +646,6 @@ static void setting_reset_settings_check_state(Setting_Done_List_Data *list_data
 
 }
 
-#if SUPPORT_SECURITY
 static void
 setting_reset_settings_result_password_ug_cb(ui_gadget_h ug, service_h result,
                                         void *priv)
@@ -695,7 +705,7 @@ setting_reset_settings_layout_ug_cb(ui_gadget_h ug, enum ug_mode mode,
        case UG_MODE_FULLVIEW:
                evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
                                                 EVAS_HINT_EXPAND);
-               elm_win_resize_object_add(ad->win_get, base);
+               //elm_win_resize_object_add(ad->win_get, base);
                evas_object_show(base);
                break;
        default:
@@ -751,7 +761,7 @@ static bool setting_reset_settings_create_password_sg(void *data)
 
        return TRUE;
 }
-#endif
+
 /* ***************************************************
  *
  *call back func
@@ -793,19 +803,8 @@ setting_reset_settings_click_softkey_reset_cb(void *data, Evas_Object *obj,
        if (!setting_done_list_is_some_item_selected(&(ad->list_data))) {
                setting_create_simple_popup(NULL, ad->win_get, NULL, "No item selected");
        } else {
-#if SUPPORT_SECURITY
-               vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &screen_lock_type);
-               if(screen_lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD
-                       || screen_lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD)
-               {
-                       setting_reset_settings_create_password_sg(ad);
-               }
-               else
-               {
-#endif
-                       setting_reset_settings_check_state(&(ad->list_data));
-#if SUPPORT_SECURITY
-               }
-#endif
+
+               setting_reset_settings_check_state(&(ad->list_data));
+
        }
 }