4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 #include <setting-reset-main.h>
23 #define RESULT_FONT_SIZE 28//18
24 #define ITEM_NAME_FONT_SIZE 35//22
26 static int setting_reset_main_create(void *cb);
27 static int setting_reset_main_destroy(void *cb);
28 static int setting_reset_main_update(void *cb);
29 static int setting_reset_main_cleanup(void *cb);
31 setting_view setting_view_reset_main = {
32 .create = setting_reset_main_create,
33 .destroy = setting_reset_main_destroy,
34 .update = setting_reset_main_update,
35 .cleanup = setting_reset_main_cleanup,
38 static void setting_reset_main_click_softkey_cancel_cb(void *data,
41 #if SUPPORT_RESET_DETAILS
42 static void setting_reset_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj, void *event_info);
45 /* ***************************************************
49 ***************************************************/
50 static int setting_reset_main_create(void *cb)
54 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
56 SettingResetUG *ad = (SettingResetUG *) cb;
57 Evas_Object *scroller = NULL;
58 #if SIMPLY_SUPPORT_ALL_RESET
60 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
62 _("IDS_COM_BODY_RESET"),
63 _("IDS_COM_BODY_BACK"), NULL,
64 setting_reset_main_click_softkey_cancel_cb,
68 setting_create_Gendial_field_def(scroller, &(ad->itc_1text), NULL,
69 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
70 NULL, NULL, 0, RESET_ALL_DESC,
72 elm_genlist_item_select_mode_set(elm_genlist_item_append(scroller, &(itc_seperator), NULL, NULL,ELM_GENLIST_ITEM_NONE, NULL, NULL),
73 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
75 Setting_GenGroupItem_Data *item_data =
76 (Setting_GenGroupItem_Data *) calloc(1,
78 (Setting_GenGroupItem_Data));
79 setting_retvm_if(!item_data, SETTING_RETURN_FAIL, "calloc failed");
80 item_data->userdata = ad;
81 item_data->keyStr = (char *)g_strdup(RESET_ALL);
82 item_data->swallow_type = SWALLOW_Type_1BUTTON;
84 item_data->chk_change_cb = __reset_all_button_cb;
85 item_data->item = elm_genlist_item_append(scroller, &(ad->itc_1icon), item_data, NULL,
86 ELM_GENLIST_ITEM_NONE,
88 setting_view_reset_main.is_create = 1;
89 ad->main_scroller = scroller;
90 return SETTING_RETURN_SUCCESS;
93 #if SUPPORT_RESET_DETAILS
95 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
97 _("IDS_COM_BODY_RESET"),
98 _("IDS_COM_BODY_BACK"), NULL,
99 setting_reset_main_click_softkey_cancel_cb,
103 Elm_Object_Item *item = NULL;;
106 elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
107 ELM_GENLIST_ITEM_NONE, NULL, NULL);
108 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
110 /* 1. Reset settings */
111 setting_create_Gendial_field_def(scroller, &itc_1text,
112 setting_reset_main_mouse_up_Gendial_list_cb,ad,
113 SWALLOW_Type_INVALID,
115 0, RESET_SETTINGS_STR, NULL, NULL);
116 #if SUPPORT_SIM_CARD_PROFILE
117 /* 2. SIM card profile settings */
118 setting_create_Gendial_field_def(scroller, &itc_1text,
119 setting_reset_main_mouse_up_Gendial_list_cb,ad,
120 SWALLOW_Type_INVALID,
122 0, SIM_CARD_PROFILE_SETTINGS_STR, NULL, NULL);
127 setting_create_Gendial_field_def(scroller, &itc_multiline_text, NULL,
128 ad, SWALLOW_Type_LAYOUT_SPECIALIZTION_X,
129 NULL, NULL, 0, RESET_ALL_DESC,
132 setting_view_reset_main.is_create = 1;
133 ad->main_scroller = scroller;
134 return SETTING_RETURN_SUCCESS;
138 #if SUPPORT_RESET_OLD
139 Evas_Object *navi_bar = NULL;
141 Evas_Object *controllbar = NULL;
143 Evas_Object *view_layout = elm_layout_add(ad->win_main_layout);
144 elm_layout_file_set(view_layout, SETTING_THEME_EDJ_NAME,
146 evas_object_size_hint_weight_set(view_layout, EVAS_HINT_EXPAND, 0.0);
148 /* Evas_Object * win_layout, Evas_Object * win_obj */
150 setting_create_layout_navi_bar(ad->win_main_layout, ad->win_get,
151 _("IDS_COM_BODY_RESET"),
152 _("IDS_COM_SK_CANCEL"),
153 _("IDS_COM_BODY_RESET"), NULL,
154 setting_reset_main_click_softkey_cancel_cb,
155 setting_reset_main_click_softkey_reset_cb,
156 NULL, ad, view_layout, &navi_bar,
158 elm_object_item_disabled_set(elm_toolbar_last_item_get
159 (controllbar), EINA_TRUE);
161 /* ******************************************create frame */
162 Setting_Done_List_Data *list_data = &(ad->list_data); /* define a handle */
164 list_data->win_main = ad->ly_main;
165 list_data->UG_data = ad;
166 list_data->ly_parent = view_layout;
167 list_data->controllbar = controllbar;
170 list_data->chk_items[idx++].item_name = KeyStr_Select_All;
177 for (; i < setting_cfg_get_category_length(); i++) {
178 SETTING_TRACE("group is:%s", _(setting_cfg_get_category_name(i)));
180 for (j = 0; j < setting_cfg_get_menu_length(i); j++) {
181 /*SETTING_TRACE("i:%d\tj:%d", i, j);*/
182 if (Cfg_Item_unResetable ==
183 setting_cfg_get_resetable_flag_idx(i, j))
187 list_data->chk_items[idx].ug_args = ug_args =
188 setting_cfg_get_ug_args_idx(i, j);
189 list_data->chk_items[idx].item_name = item_name =
190 setting_cfg_get_keyname_idx(i, j);
192 SETTING_TRACE("process %s:\t%s",_(item_name), ug_args);
197 list_data->cur_item_num = idx;
198 SETTING_TRACE("list_data->cur_item_num:%d", list_data->cur_item_num);
199 scroller = setting_create_done_list(list_data);
200 elm_object_part_content_set(view_layout, "elm.swallow.contents", scroller);
202 ad->view_layout = view_layout;
203 ad->navi_bar = navi_bar;
204 ad->controllbar = controllbar;
205 /* *******************************************update info */
207 setting_view_reset_main.is_create = 1;
208 ad->itc_1text.func.text_get = __result_gl_text_get;
209 return SETTING_RETURN_SUCCESS;
213 static int setting_reset_main_destroy(void *cb)
217 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
219 SettingResetUG *ad = (SettingResetUG *) cb;
221 evas_object_del(ad->notify);
224 if (ad->old_notify) {
225 evas_object_del(ad->old_notify);
226 ad->old_notify = NULL;
228 if (ad->pop_progress)
230 evas_object_del(ad->pop_progress);
231 ad->pop_progress = NULL;
236 evas_object_del(ad->ask_popup);
237 ad->ask_popup = NULL;
241 ecore_animator_del(ad->animator);
245 if (ad->ly_main != NULL) {
246 evas_object_del(ad->ly_main);
247 setting_view_reset_main.is_create = 0;
250 return SETTING_RETURN_SUCCESS;
253 static int setting_reset_main_update(void *cb)
257 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
259 SettingResetUG *ad = (SettingResetUG *) cb;
261 if (ad->ly_main != NULL) {
262 evas_object_show(ad->ly_main);
265 return SETTING_RETURN_SUCCESS;
268 static int setting_reset_main_cleanup(void *cb)
272 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
274 SettingResetUG *ad = (SettingResetUG *) cb;
276 if (ad->ly_main != NULL) {
277 evas_object_hide(ad->ly_main);
280 return SETTING_RETURN_SUCCESS;
283 #if SUPPORT_RESET_DETAILS
285 setting_reset_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj, void *event_info)
288 setting_retm_if(data == NULL, "Data parameter is NULL");
290 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
291 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
292 elm_genlist_item_selected_set(item, 0);
294 Setting_GenGroupItem_Data *list_item =
295 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
297 SettingResetUG *ad = (SettingResetUG *) data;
299 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
301 if (!safeStrCmp(RESET_SETTINGS_STR, list_item->keyStr))
303 setting_view_change(&setting_view_reset_main, &setting_view_reset_settings, ad);
305 #if SUPPORT_SIM_CARD_PROFILE
306 else if (!safeStrCmp(SIM_CARD_PROFILE_SETTINGS_STR, list_item->keyStr))
309 SETTING_TRACE("SIM-CARD PROFILE");
310 setting_create_simple_popup(NULL, ad->win_get, NULL, "NOT IMPLMENTED YET");
319 setting_reset_main_click_softkey_cancel_cb(void *data, Evas_Object *obj,
324 retm_if(data == NULL, "Data parameter is NULL");
326 SettingResetUG *ad = (SettingResetUG *) data;
327 if (ad->list_data.selInfoPop) {
328 evas_object_del(ad->list_data.selInfoPop);
329 ad->list_data.selInfoPop = NULL;
331 /* Send destroy request */
332 ug_destroy_me(ad->ug);