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-applications-main.h>
22 #include <dd-display.h>
24 #include <setting-common-draw-widget.h>
26 #define KEYSTR_SCREEN_ROTATION "IDS_ST_MBODY_SCREEN_ROTATION"
27 #define KEYSTR_TTS "TTS"
29 #define KEYSTR_APPLICATION_MANAGER "Application Manager"
30 #define KEYSTR_DEFAULT_APPLICATION "Default applications"
34 static int setting_applications_main_create(void *cb);
35 static int setting_applications_main_destroy(void *cb);
36 static int setting_applications_main_update(void *cb);
37 static int setting_applications_main_cleanup(void *cb);
39 setting_view setting_view_applications_main = {
40 .create = setting_applications_main_create,
41 .destroy = setting_applications_main_destroy,
42 .update = setting_applications_main_update,
43 .cleanup = setting_applications_main_cleanup,
46 extern const char *str_in_arr[];
47 extern const char *str_out_arr[];
48 const char *screen_capture_destination[] = {
49 KeyStr_ScreenCapture_Ask,
50 KeyStr_ScreenCapture_Gallery,
51 KeyStr_ScreenCapture_KeepIt,
55 /* ***************************************************
59 ***************************************************/
61 __setting_applications_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
63 ret_if(NULL == data || NULL == event_info);
65 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
66 Elm_Object_Item *parentItem = event_info; /* parent item */
67 Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
68 Evas_Object *scroller = elm_object_item_widget_get(parentItem);
73 ad->data_back->sub_desc = get_pa_backlight_time_str();
74 elm_object_item_data_set(ad->data_back->item, ad->data_back);
75 elm_genlist_item_update(ad->data_back->item);
79 if (data_parentItem == ad->data_back) {
80 /* Update backlight menu for MDM update */
81 rgd = elm_radio_add(scroller);
82 elm_radio_value_set(rgd, -1);
84 /*evas_object_smart_callback_add(scroller, "realized", __gl_realized_cb, NULL); */
85 /*elm_object_signal_emit(scroller, "realized", ""); */
88 ad->data_backlight_always_on = setting_create_Gendial_exp_sub_field(scroller,
89 &(ad->itc_1icon_1text_sub),
90 NULL, NULL, parentItem,
91 SWALLOW_Type_1RADIO, rgd,
93 KeyStr_Backlight_Alays_On, NULL);
95 if (ad->data_backlight_always_on) {
96 ad->data_backlight_always_on->userdata = ad;
97 /*ad->data_backlight_always_on->group_style = SETTING_GROUP_STYLE_CENTER; */
98 setting_genlist_item_groupstyle_set(ad->data_backlight_always_on, SETTING_GROUP_STYLE_CENTER);
99 __BACK_POINTER_SET(ad->data_backlight_always_on);
101 SETTING_TRACE_ERROR("ad->data_backlight_always_on is NULL");
105 char backlight_time[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
106 snprintf(backlight_time, sizeof(backlight_time), "15 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
107 ad->data_backlight_15sec = setting_create_Gendial_exp_sub_field(scroller,
108 &(ad->itc_1icon_1text_sub),
109 NULL, NULL, parentItem,
110 SWALLOW_Type_1RADIO, rgd,
112 KeyStr_Backlight_15_SEC_STR, NULL);
113 if (ad->data_backlight_15sec) {
114 ad->data_backlight_15sec->userdata = ad;
115 setting_genlist_item_groupstyle_set(ad->data_backlight_15sec, SETTING_GROUP_STYLE_CENTER);
116 __BACK_POINTER_SET(ad->data_backlight_15sec);
118 SETTING_TRACE_ERROR("ad->data_backlight_15sec is NULL");
120 snprintf(backlight_time, sizeof(backlight_time), "30 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
121 ad->data_backlight_30sec = setting_create_Gendial_exp_sub_field(scroller,
122 &(ad->itc_1icon_1text_sub),
123 NULL, NULL, parentItem,
124 SWALLOW_Type_1RADIO, rgd,
126 KeyStr_Backlight_30_SEC_STR, NULL);
127 if (ad->data_backlight_30sec) {
128 ad->data_backlight_30sec->userdata = ad;
129 setting_genlist_item_groupstyle_set(ad->data_backlight_30sec, SETTING_GROUP_STYLE_CENTER);
130 __BACK_POINTER_SET(ad->data_backlight_30sec);
132 SETTING_TRACE_ERROR("ad->data_backlight_30sec is NULL");
134 snprintf(backlight_time, sizeof(backlight_time), "1 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
135 ad->data_backlight_1min = setting_create_Gendial_exp_sub_field(scroller,
136 &(ad->itc_1icon_1text_sub),
137 NULL, NULL, parentItem,
138 SWALLOW_Type_1RADIO, rgd,
140 KeyStr_Backlight_1_MIN_STR, NULL);
141 if (ad->data_backlight_1min) {
142 ad->data_backlight_1min->userdata = ad;
143 setting_genlist_item_groupstyle_set(ad->data_backlight_1min, SETTING_GROUP_STYLE_CENTER);
144 __BACK_POINTER_SET(ad->data_backlight_1min);
146 SETTING_TRACE_ERROR("ad->data_backlight_1min is NULL");
148 snprintf(backlight_time, sizeof(backlight_time), "2 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
149 ad->data_backlight_2min = setting_create_Gendial_exp_sub_field(scroller,
150 &(ad->itc_1icon_1text_sub),
151 NULL, NULL, parentItem,
152 SWALLOW_Type_1RADIO, rgd,
154 KeyStr_Backlight_2_MIN_STR, NULL);
155 if (ad->data_backlight_2min) {
156 ad->data_backlight_2min->userdata = ad;
157 setting_genlist_item_groupstyle_set(ad->data_backlight_2min, SETTING_GROUP_STYLE_CENTER);
158 __BACK_POINTER_SET(ad->data_backlight_2min);
160 SETTING_TRACE_ERROR("ad->data_backlight_2min is NULL");
162 snprintf(backlight_time, sizeof(backlight_time), "5 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
163 ad->data_backlight_5min = setting_create_Gendial_exp_sub_field(scroller,
164 &(ad->itc_1icon_1text_sub),
165 NULL, NULL, parentItem,
166 SWALLOW_Type_1RADIO, rgd,
168 KeyStr_Backlight_5_MIN_STR, NULL);
169 if (ad->data_backlight_5min) {
170 ad->data_backlight_5min->userdata = ad;
171 setting_genlist_item_groupstyle_set(ad->data_backlight_5min, SETTING_GROUP_STYLE_CENTER);
172 __BACK_POINTER_SET(ad->data_backlight_5min);
174 SETTING_TRACE_ERROR("ad->data_backlight_5min is NULL");
176 snprintf(backlight_time, sizeof(backlight_time), "10 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
177 ad->data_backlight_10min = setting_create_Gendial_exp_sub_field(scroller,
178 &(ad->itc_1icon_1text_sub),
179 NULL, NULL, parentItem,
180 SWALLOW_Type_1RADIO, rgd,
182 KeyStr_Backlight_10_MIN_STR, NULL);
183 if (ad->data_backlight_10min) {
184 ad->data_backlight_10min->userdata = ad;
185 setting_genlist_item_groupstyle_set(ad->data_backlight_10min, SETTING_GROUP_STYLE_CENTER);
186 __BACK_POINTER_SET(ad->data_backlight_10min);
188 SETTING_TRACE_ERROR("ad->data_backlight_10min is NULL");
191 setting_update_chk_status(rgd,
192 data_parentItem->int_slp_setting_binded);
194 } else if (data_parentItem == ad->data_touchkey_light_duration) {
195 rgd = elm_radio_add(scroller);
196 elm_radio_value_set(rgd, -1);
198 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
199 snprintf(duration, sizeof(duration), "1.5 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
200 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
201 &(ad->itc_1icon_1text_sub),
202 NULL, ad, parentItem,
203 SWALLOW_Type_1RADIO, rgd,
204 90, "IDS_ST_BODY_1_5_SECONDS",
205 NULL, SETTING_GROUP_STYLE_CENTER);
207 snprintf(duration, sizeof(duration), "6 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
208 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
209 &(ad->itc_1icon_1text_sub),
210 NULL, ad, parentItem,
211 SWALLOW_Type_1RADIO, rgd,
212 360, "IDS_MSG_OPT_6_SECONDS",
213 NULL, SETTING_GROUP_STYLE_CENTER);
214 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
215 &(ad->itc_1icon_1text_sub),
216 NULL, ad, parentItem,
217 SWALLOW_Type_1RADIO, rgd,
218 0, "IDS_ST_BODY_ALWAYS_OFF",
219 NULL, SETTING_GROUP_STYLE_CENTER);
220 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
221 &(ad->itc_1icon_1text_sub_touch),
222 NULL, ad, parentItem,
223 SWALLOW_Type_1RADIO, rgd,
224 -1, "IDS_ST_BODY_ALWAYS_ON",
225 NULL, SETTING_GROUP_STYLE_BOTTOM);
227 setting_update_chk_status(rgd, data_parentItem->int_slp_setting_binded);
230 evas_object_show(scroller);
232 #if !SUPPOR_SEPARATE_BRIGHTNESS
234 static void setting_applications_main_lowbat_cb(keynode_t *key, void *data)
236 ret_if(data == NULL);
237 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
239 ret_if(ad->data_br == NULL);
241 char *vconf_key = vconf_keynode_get_name(key);
242 SETTING_TRACE("the value of [ %s ] just changed", vconf_key);
243 /* VCONFKEY_SYSMAN_BATTERY_STATUS_LOW */
246 vconf_get_int(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, &battery_value);
247 ad->low_bat = battery_value;
249 if (battery_value < VCONFKEY_SYSMAN_BAT_WARNING_LOW) {
250 elm_slider_value_set(ad->data_br->eo_check, 1);
252 setting_disable_genlist_item(ad->data_br->item);
254 setting_enable_genlist_item(ad->data_br->item);
260 static char *___touchkey_light_duration_sub_desc()
264 vconf_get_int(VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION, &value);
267 return g_strdup("IDS_ST_BODY_ALWAYS_OFF");
269 return g_strdup("IDS_ST_BODY_ALWAYS_ON");
271 return g_strdup("IDS_ST_BODY_1_5_SECONDS");
274 return g_strdup("IDS_MSG_OPT_6_SECONDS");
277 return g_strdup("IDS_ST_BODY_ALWAYS_ON");
281 static char *___format_touchkey_light_duration_sub_desc(char *temp)
283 /*SETTING_TRACE_BEGIN; */
284 /*SETTING_TRACE("temp:%s",temp); */
285 if (!safeStrCmp(temp, "IDS_ST_BODY_ALWAYS_OFF")) {
286 return g_strdup(_("IDS_ST_BODY_ALWAYS_OFF"));
287 } else if (!safeStrCmp(temp, "IDS_ST_BODY_ALWAYS_ON")) {
288 return g_strdup(_("IDS_ST_BODY_ALWAYS_ON"));
289 } else if (!safeStrCmp(temp, "1.5")) {
290 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
291 snprintf(duration, sizeof(duration), "%s %s", temp, (char *)(_("IDS_ST_BODY_SECONDS")));
292 return g_strdup(duration);
293 } else if (!safeStrCmp(temp, "6")) {
294 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
295 snprintf(duration, sizeof(duration), "%s %s", temp, (char *)(_("IDS_ST_BODY_SECONDS")));
296 return g_strdup(duration);
298 return g_strdup(_("IDS_ST_BODY_ALWAYS_ON"));
303 char *__setting_applications_screen_capture_destination_get()
307 int ret = vconf_get_int(VCONFKEY_SETAPPL_SCREEN_CAPTURE_DESTINATION, &value);
309 SETTING_TRACE_ERROR("get vconf failed");
313 case SETTING_SCREEN_CAPTURE_DESTINATION_ASK:
314 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_ASK]);
316 case SETTING_SCREEN_CAPTURE_DESTINATION_GALLERY:
317 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_GALLERY]);
319 case SETTING_SCREEN_CAPTURE_DESTINATION_KEEPIT:
320 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_KEEPIT]);
323 SETTING_TRACE_ERROR("incorrect screen capture destination");
324 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_ASK]);
330 setting_applications_main_chk_btn_cb(void *data, Evas_Object *obj,
333 /*SETTING_TRACE_BEGIN; */
335 retm_if(data == NULL, "Data parameter is NULL");
336 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
338 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
339 if (!safeStrCmp(KeyStr_Dynamic_Status_Bar, list_item->keyStr)) {
340 vconf_set_bool(VCONFKEY_SETAPPL_DYNAMIC_STATUS_BAR, list_item->chk_status);
345 setting_applications_main_screen_capture_edit_chk_btn_cb(void *data, Evas_Object *obj,
348 /*SETTING_TRACE_BEGIN; */
350 retm_if(data == NULL, "Data parameter is NULL");
351 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
353 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
354 vconf_set_bool(VCONFKEY_SETAPPL_SCREEN_CAPTURE_EDIT_AFTER_CAPTURE, list_item->chk_status);
356 char *__item_touch_duration_sub_item_text_get(void *data, Evas_Object *obj, const char *part)
358 /*SETTING_TRACE_BEGIN; */
359 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
360 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
361 char *ret_str = NULL;
362 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
363 if (item_data->keyStr) {
364 ret_str = ___format_touchkey_light_duration_sub_desc(item_data->keyStr);
369 char *__item_touch_duration_text_get(void *data, Evas_Object *obj, const char *part)
371 /*SETTING_TRACE_BEGIN; */
372 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
373 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
374 char *ret_str = NULL;
375 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
376 if (item_data->keyStr) {
377 ret_str = (char *)g_strdup(_(item_data->keyStr));
379 } else if (!safeStrCmp(part, "elm.text.2")) { /* bottom or right */
380 if (item_data->sub_desc) {
381 ret_str = ___format_touchkey_light_duration_sub_desc(item_data->sub_desc);
386 char *__item_backlight_sub_item_text_get(void *data, Evas_Object *obj, const char *part)
388 /*SETTING_TRACE_BEGIN; */
389 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
390 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
391 char *ret_str = NULL;
392 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
393 if (item_data->keyStr) {
394 ret_str = format_backlight_time_str(item_data->keyStr);
401 char *__item_backlight_text_get(void *data, Evas_Object *obj, const char *part)
403 /*SETTING_TRACE_BEGIN; */
404 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
405 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
406 char *ret_str = NULL;
407 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
408 if (item_data->keyStr) {
409 ret_str = (char *)g_strdup(_(item_data->keyStr));
411 } else if (!safeStrCmp(part, "elm.text.2")) { /* bottom or right */
412 if (item_data->sub_desc) {
413 ret_str = format_backlight_time_str(item_data->sub_desc);
416 /*SETTING_TRACE_END; */
419 static void setting_applications_main_vconf_change_cb(keynode_t *key, void *data)
421 ret_if(data == NULL);
423 SettingApplicationsUG *ad = data;
426 status = vconf_keynode_get_bool(key);
427 char *vconf_name = vconf_keynode_get_name(key);
428 SETTING_TRACE("status:%d", status);
429 if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL)) {
430 if (ad->data_auto_rotate && ad->data_auto_rotate->eo_check) {
431 setting_update_gl_item_chk_status(ad->data_auto_rotate, status);
432 if (status == TRUE) {
433 if (ad->data_smart_rotation && ad->data_smart_rotation->item) {
434 setting_enable_genlist_item(ad->data_smart_rotation->item);
436 } else if (status == FALSE) {
437 if (ad->data_smart_rotation && ad->data_smart_rotation->item) {
438 setting_disable_genlist_item(ad->data_smart_rotation->item);
442 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_LCD_AUTO_DISPLAY_ADJUSTMENT)) {
443 setting_update_gl_item_chk_status(ad->data_auto_adjust_scrn_tone, status);
444 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_DYNAMIC_STATUS_BAR)) {
445 setting_update_gl_item_chk_status(ad->data_dynamic, status);
446 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL)) {
448 G_FREE(ad->data_back->sub_desc);
449 ad->data_back->sub_desc = get_pa_backlight_time_value_str();
450 elm_object_item_data_set(ad->data_back->item, ad->data_back);
451 elm_genlist_item_update(ad->data_back->item);
453 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION)) {
454 if (ad->data_touchkey_light_duration) {
455 G_FREE(ad->data_touchkey_light_duration->sub_desc);
456 ad->data_touchkey_light_duration->sub_desc = ___touchkey_light_duration_sub_desc();
457 elm_object_item_data_set(ad->data_touchkey_light_duration->item, ad->data_touchkey_light_duration);
458 elm_genlist_item_update(ad->data_touchkey_light_duration->item);
465 static int setting_applications_main_create(void *cb)
469 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
471 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
473 Evas_Object *scroller = NULL;
478 /* add basic layout */
479 char setBtnStr[MAX_DISPLAY_NAME_LEN_ON_UI];
480 snprintf(setBtnStr, sizeof(setBtnStr), "%s",
481 (char *)dgettext("sys_string", "IDS_ST_BUTTON_BACK"));
484 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
486 KeyStr_Applications, setBtnStr,
488 (setting_call_back_func)setting_applications_main_click_softkey_back_cb,
492 ad->genlist = scroller;
493 elm_genlist_mode_set(ad->genlist, ELM_LIST_COMPRESS);
494 /*register vconf key */
496 setting_enable_expandable_genlist(scroller, ad, __setting_applications_main_exp_cb, NULL);
497 evas_object_smart_callback_add(ad->genlist, "realized", __gl_realized_cb, NULL);
499 Elm_Object_Item *item = NULL;
502 elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
503 ELM_GENLIST_ITEM_NONE, NULL, NULL);
504 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
506 setting_create_Gendial_field_def(ad->genlist, &itc_1text,
507 setting_applications_main_mouse_up_Gendial_list_cb,
508 ad, SWALLOW_Type_INVALID, NULL,
510 KEYSTR_APPLICATION_MANAGER, NULL, NULL);
512 setting_create_Gendial_field_def(ad->genlist, &itc_1text,
513 setting_applications_main_mouse_up_Gendial_list_cb,
514 ad, SWALLOW_Type_INVALID, NULL,
516 KEYSTR_DEFAULT_APPLICATION, NULL, NULL);
518 setting_view_applications_main.is_create = 1;
519 return SETTING_RETURN_SUCCESS;
522 static int setting_applications_main_destroy(void *cb)
526 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
527 retv_if(!(setting_view_applications_main.is_create), SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
529 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
531 /*ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION, setting_applications_main_vconf_change_cb); */
536 if (ad->ly_main != NULL) {
537 evas_object_del(ad->ly_main);
539 /* if(ad->back_dialData) FREE(ad->back_dialData); */
541 setting_view_applications_main.is_create = 0;
544 return SETTING_RETURN_SUCCESS;
547 static int setting_applications_main_update(void *cb)
551 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
553 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
555 if (ad->ly_main != NULL) {
556 evas_object_show(ad->ly_main);
558 ad->data_br->sub_desc =
559 (char *)g_strdup(get_brightness_mode_str());
560 elm_object_item_data_set(ad->data_br->item, ad->data_br);
561 elm_genlist_item_update(ad->data_br->item);
564 #ifdef SUPPORT_SCREEN_MODE
565 if (ad->data_screen_mode) {
566 char *curmode = vconf_get_str(VCONFKEY_SETAPPL_SCREENMODE_SELNAME);
567 SETTING_TRACE(">>> CUR SCREEN MODE : %s ", curmode);
569 for (; i < SCREENMODE_MAX; i++) {
570 if (0 == safeStrCmp(str_in_arr[i], curmode)) {
571 ad->data_screen_mode->sub_desc = (char *)g_strdup(_(str_out_arr[i]));
577 elm_object_item_data_set(ad->data_screen_mode->item, ad->data_screen_mode);
578 elm_genlist_item_update(ad->data_screen_mode->item);
583 return SETTING_RETURN_SUCCESS;
586 static int setting_applications_main_cleanup(void *cb)
589 return SETTING_RETURN_SUCCESS;
592 /* ***************************************************
596 ***************************************************/
598 void setting_applications_destroy_appmgr_ug_cb(ui_gadget_h ug,
601 ret_if(priv == NULL);
602 SettingApplicationsUG *ad = (SettingApplicationsUG *) priv;
604 setting_ug_destroy(ug);
605 ad->ug_appmgr = NULL;
607 elm_genlist_realized_items_update(ad->genlist);
610 gboolean setting_applications_create_appmgr_ug(void *data)
613 retv_if(data == NULL, FALSE);
615 SettingApplicationsUG *ad = (SettingApplicationsUG *) data; /* ad is point to data */
618 SETTING_TRACE("Font UG is already loaded.");
621 struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
626 cbs->layout_cb = setting_applications_layout_ug_cb;
627 cbs->result_cb = NULL;
628 cbs->destroy_cb = setting_applications_destroy_appmgr_ug_cb;
629 cbs->priv = (void *)ad;
631 elm_object_tree_focus_allow_set(ad->ly_main, EINA_FALSE);
633 if (app_control_create(&svc)) {
637 app_control_add_extra_data(svc, "viewtype", "manage-applications");
638 ad->ug_appmgr = setting_ug_create(ad->ug, "setting-manage-applications-efl", UG_MODE_FULLVIEW, NULL, cbs);
639 if (NULL == ad->ug_appmgr) { /* error handling */
640 SETTING_TRACE_ERROR("NULL == ad->ug_appmgr");
641 evas_object_show(ad->ly_main);
644 app_control_destroy(svc);
651 setting_applications_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj,
655 setting_retm_if(data == NULL, "Data parameter is NULL");
657 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
658 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
659 elm_genlist_item_selected_set(item, 0);
660 Setting_GenGroupItem_Data *list_item =
661 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
663 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
665 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
667 if (!safeStrCmp(KEYSTR_APPLICATION_MANAGER, list_item->keyStr)) {
668 setting_applications_create_appmgr_ug(ad);
669 } else if (!safeStrCmp(KEYSTR_DEFAULT_APPLICATION, list_item->keyStr)) {
670 setting_view_change(&setting_view_applications_main,
671 &setting_view_applications_defaultapp, ad);
676 setting_applications_main_click_softkey_back_cb(void *data, Evas_Object *obj,
681 setting_retvm_if(data == NULL, EINA_FALSE,
682 "[Setting > Applications] Data parameter is NULL");
684 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
686 /* Send destroy request */
687 ug_destroy_me(ad->ug);
693 static void setting_applications_main_tts_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
697 retm_if(data == NULL, "Data parameter is NULL");
698 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
699 SettingApplicationsUG *ad = (SettingApplicationsUG *)list_item->userdata;
701 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
702 SETTING_TRACE("TTS check - clicked");
704 if (list_item->chk_status == 1) {
705 /*SETTING_TRACE("TTS check - 1111111111111"); */
706 vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 1);
708 vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 0);
714 static void setting_applications_main_auto_rotate_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
718 retm_if(data == NULL, "Data parameter is NULL");
719 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
720 SettingApplicationsUG *ad = (SettingApplicationsUG *)list_item->userdata;
722 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
724 if (list_item->chk_status == 1) {
725 int angle = elm_win_rotation_get(ad->win_main_layout);
726 elm_win_rotation_with_resize_set(ad->win_main_layout, angle);
728 elm_win_rotation_with_resize_set(ad->win_main_layout, 0);
731 vconf_set_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, list_item->chk_status);