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>
23 #include <dd-display.h>
25 #include <setting-common-draw-widget.h>
27 #define KEYSTR_SCREEN_ROTATION "IDS_ST_MBODY_SCREEN_ROTATION"
28 #define KEYSTR_TTS "TTS"
30 #define KEYSTR_APPLICATION_MANAGER "Application Manager"
31 #define KEYSTR_DEFAULT_APPLICATION "Default applications"
35 static int setting_applications_main_create(void *cb);
36 static int setting_applications_main_destroy(void *cb);
37 static int setting_applications_main_update(void *cb);
38 static int setting_applications_main_cleanup(void *cb);
40 setting_view setting_view_applications_main = {
41 .create = setting_applications_main_create,
42 .destroy = setting_applications_main_destroy,
43 .update = setting_applications_main_update,
44 .cleanup = setting_applications_main_cleanup,
47 extern const char *str_in_arr[];
48 extern const char *str_out_arr[];
49 const char *screen_capture_destination[] = {
50 KeyStr_ScreenCapture_Ask,
51 KeyStr_ScreenCapture_Gallery,
52 KeyStr_ScreenCapture_KeepIt,
56 /* ***************************************************
60 ***************************************************/
62 __setting_applications_main_exp_cb(void *data, Evas_Object *obj, void *event_info)
64 ret_if(NULL == data || NULL == event_info);
66 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
67 Elm_Object_Item *parentItem = event_info; /* parent item */
68 Setting_GenGroupItem_Data *data_parentItem = elm_object_item_data_get(parentItem); /* parent data */
69 Evas_Object *scroller = elm_object_item_widget_get(parentItem);
74 ad->data_back->sub_desc = get_pa_backlight_time_str();
75 elm_object_item_data_set(ad->data_back->item, ad->data_back);
76 elm_genlist_item_update(ad->data_back->item);
80 if (data_parentItem == ad->data_back) {
81 /* Update backlight menu for MDM update */
82 rgd = elm_radio_add(scroller);
83 elm_radio_value_set(rgd, -1);
85 /*evas_object_smart_callback_add(scroller, "realized", __gl_realized_cb, NULL); */
86 /*elm_object_signal_emit(scroller, "realized", ""); */
89 ad->data_backlight_always_on = setting_create_Gendial_exp_sub_field(scroller,
90 &(ad->itc_1icon_1text_sub),
91 NULL, NULL, parentItem,
92 SWALLOW_Type_1RADIO, rgd,
94 KeyStr_Backlight_Alays_On, NULL);
96 if (ad->data_backlight_always_on) {
97 ad->data_backlight_always_on->userdata = ad;
98 /*ad->data_backlight_always_on->group_style = SETTING_GROUP_STYLE_CENTER; */
99 setting_genlist_item_groupstyle_set(ad->data_backlight_always_on, SETTING_GROUP_STYLE_CENTER);
100 __BACK_POINTER_SET(ad->data_backlight_always_on);
102 SETTING_TRACE_ERROR("ad->data_backlight_always_on is NULL");
106 char backlight_time[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
107 snprintf(backlight_time, sizeof(backlight_time), "15 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
108 ad->data_backlight_15sec = setting_create_Gendial_exp_sub_field(scroller,
109 &(ad->itc_1icon_1text_sub),
110 NULL, NULL, parentItem,
111 SWALLOW_Type_1RADIO, rgd,
113 KeyStr_Backlight_15_SEC_STR, NULL);
114 if (ad->data_backlight_15sec) {
115 ad->data_backlight_15sec->userdata = ad;
116 setting_genlist_item_groupstyle_set(ad->data_backlight_15sec, SETTING_GROUP_STYLE_CENTER);
117 __BACK_POINTER_SET(ad->data_backlight_15sec);
119 SETTING_TRACE_ERROR("ad->data_backlight_15sec is NULL");
121 snprintf(backlight_time, sizeof(backlight_time), "30 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
122 ad->data_backlight_30sec = setting_create_Gendial_exp_sub_field(scroller,
123 &(ad->itc_1icon_1text_sub),
124 NULL, NULL, parentItem,
125 SWALLOW_Type_1RADIO, rgd,
127 KeyStr_Backlight_30_SEC_STR, NULL);
128 if (ad->data_backlight_30sec) {
129 ad->data_backlight_30sec->userdata = ad;
130 setting_genlist_item_groupstyle_set(ad->data_backlight_30sec, SETTING_GROUP_STYLE_CENTER);
131 __BACK_POINTER_SET(ad->data_backlight_30sec);
133 SETTING_TRACE_ERROR("ad->data_backlight_30sec is NULL");
135 snprintf(backlight_time, sizeof(backlight_time), "1 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
136 ad->data_backlight_1min = setting_create_Gendial_exp_sub_field(scroller,
137 &(ad->itc_1icon_1text_sub),
138 NULL, NULL, parentItem,
139 SWALLOW_Type_1RADIO, rgd,
141 KeyStr_Backlight_1_MIN_STR, NULL);
142 if (ad->data_backlight_1min) {
143 ad->data_backlight_1min->userdata = ad;
144 setting_genlist_item_groupstyle_set(ad->data_backlight_1min, SETTING_GROUP_STYLE_CENTER);
145 __BACK_POINTER_SET(ad->data_backlight_1min);
147 SETTING_TRACE_ERROR("ad->data_backlight_1min is NULL");
149 snprintf(backlight_time, sizeof(backlight_time), "2 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
150 ad->data_backlight_2min = setting_create_Gendial_exp_sub_field(scroller,
151 &(ad->itc_1icon_1text_sub),
152 NULL, NULL, parentItem,
153 SWALLOW_Type_1RADIO, rgd,
155 KeyStr_Backlight_2_MIN_STR, NULL);
156 if (ad->data_backlight_2min) {
157 ad->data_backlight_2min->userdata = ad;
158 setting_genlist_item_groupstyle_set(ad->data_backlight_2min, SETTING_GROUP_STYLE_CENTER);
159 __BACK_POINTER_SET(ad->data_backlight_2min);
161 SETTING_TRACE_ERROR("ad->data_backlight_2min is NULL");
163 snprintf(backlight_time, sizeof(backlight_time), "5 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
164 ad->data_backlight_5min = setting_create_Gendial_exp_sub_field(scroller,
165 &(ad->itc_1icon_1text_sub),
166 NULL, NULL, parentItem,
167 SWALLOW_Type_1RADIO, rgd,
169 KeyStr_Backlight_5_MIN_STR, NULL);
170 if (ad->data_backlight_5min) {
171 ad->data_backlight_5min->userdata = ad;
172 setting_genlist_item_groupstyle_set(ad->data_backlight_5min, SETTING_GROUP_STYLE_CENTER);
173 __BACK_POINTER_SET(ad->data_backlight_5min);
175 SETTING_TRACE_ERROR("ad->data_backlight_5min is NULL");
177 snprintf(backlight_time, sizeof(backlight_time), "10 %s", (char *)(_("IDS_CLD_OPT_MINUTES_LC_ABB")));
178 ad->data_backlight_10min = setting_create_Gendial_exp_sub_field(scroller,
179 &(ad->itc_1icon_1text_sub),
180 NULL, NULL, parentItem,
181 SWALLOW_Type_1RADIO, rgd,
183 KeyStr_Backlight_10_MIN_STR, NULL);
184 if (ad->data_backlight_10min) {
185 ad->data_backlight_10min->userdata = ad;
186 setting_genlist_item_groupstyle_set(ad->data_backlight_10min, SETTING_GROUP_STYLE_CENTER);
187 __BACK_POINTER_SET(ad->data_backlight_10min);
189 SETTING_TRACE_ERROR("ad->data_backlight_10min is NULL");
192 setting_update_chk_status(rgd,
193 data_parentItem->int_slp_setting_binded);
195 } else if (data_parentItem == ad->data_touchkey_light_duration) {
196 rgd = elm_radio_add(scroller);
197 elm_radio_value_set(rgd, -1);
199 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
200 snprintf(duration, sizeof(duration), "1.5 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
201 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
202 &(ad->itc_1icon_1text_sub),
203 NULL, ad, parentItem,
204 SWALLOW_Type_1RADIO, rgd,
205 90, "IDS_ST_BODY_1_5_SECONDS",
206 NULL, SETTING_GROUP_STYLE_CENTER);
208 snprintf(duration, sizeof(duration), "6 %s", (char *)(_("IDS_ST_BODY_SECONDS")));
209 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
210 &(ad->itc_1icon_1text_sub),
211 NULL, ad, parentItem,
212 SWALLOW_Type_1RADIO, rgd,
213 360, "IDS_MSG_OPT_6_SECONDS",
214 NULL, SETTING_GROUP_STYLE_CENTER);
215 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
216 &(ad->itc_1icon_1text_sub),
217 NULL, ad, parentItem,
218 SWALLOW_Type_1RADIO, rgd,
219 0, "IDS_ST_BODY_ALWAYS_OFF",
220 NULL, SETTING_GROUP_STYLE_CENTER);
221 setting_create_Gendial_exp_sub_field_with_group_style(scroller,
222 &(ad->itc_1icon_1text_sub_touch),
223 NULL, ad, parentItem,
224 SWALLOW_Type_1RADIO, rgd,
225 -1, "IDS_ST_BODY_ALWAYS_ON",
226 NULL, SETTING_GROUP_STYLE_BOTTOM);
228 setting_update_chk_status(rgd, data_parentItem->int_slp_setting_binded);
231 evas_object_show(scroller);
233 #if !SUPPOR_SEPARATE_BRIGHTNESS
235 static void setting_applications_main_lowbat_cb(keynode_t *key, void *data)
237 ret_if(data == NULL);
238 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
240 ret_if(ad->data_br == NULL);
242 char *vconf_key = vconf_keynode_get_name(key);
243 SETTING_TRACE("the value of [ %s ] just changed", vconf_key);
244 /* VCONFKEY_SYSMAN_BATTERY_STATUS_LOW */
247 vconf_get_int(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, &battery_value);
248 ad->low_bat = battery_value;
250 if (battery_value < VCONFKEY_SYSMAN_BAT_WARNING_LOW) {
251 elm_slider_value_set(ad->data_br->eo_check, 1);
253 setting_disable_genlist_item(ad->data_br->item);
255 setting_enable_genlist_item(ad->data_br->item);
261 static char *___touchkey_light_duration_sub_desc()
265 vconf_get_int(VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION, &value);
268 return g_strdup("IDS_ST_BODY_ALWAYS_OFF");
270 return g_strdup("IDS_ST_BODY_ALWAYS_ON");
272 return g_strdup("IDS_ST_BODY_1_5_SECONDS");
275 return g_strdup("IDS_MSG_OPT_6_SECONDS");
278 return g_strdup("IDS_ST_BODY_ALWAYS_ON");
282 static char *___format_touchkey_light_duration_sub_desc(char *temp)
284 /*SETTING_TRACE_BEGIN; */
285 /*SETTING_TRACE("temp:%s",temp); */
286 if (!safeStrCmp(temp, "IDS_ST_BODY_ALWAYS_OFF")) {
287 return g_strdup(_("IDS_ST_BODY_ALWAYS_OFF"));
288 } else if (!safeStrCmp(temp, "IDS_ST_BODY_ALWAYS_ON")) {
289 return g_strdup(_("IDS_ST_BODY_ALWAYS_ON"));
290 } else if (!safeStrCmp(temp, "1.5")) {
291 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
292 snprintf(duration, sizeof(duration), "%s %s", temp, (char *)(_("IDS_ST_BODY_SECONDS")));
293 return g_strdup(duration);
294 } else if (!safeStrCmp(temp, "6")) {
295 char duration[MAX_DISPLAY_NAME_LEN_ON_UI] = {0, };
296 snprintf(duration, sizeof(duration), "%s %s", temp, (char *)(_("IDS_ST_BODY_SECONDS")));
297 return g_strdup(duration);
299 return g_strdup(_("IDS_ST_BODY_ALWAYS_ON"));
304 char *__setting_applications_screen_capture_destination_get()
308 int ret = vconf_get_int(VCONFKEY_SETAPPL_SCREEN_CAPTURE_DESTINATION, &value);
310 SETTING_TRACE_ERROR("get vconf failed");
314 case SETTING_SCREEN_CAPTURE_DESTINATION_ASK:
315 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_ASK]);
317 case SETTING_SCREEN_CAPTURE_DESTINATION_GALLERY:
318 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_GALLERY]);
320 case SETTING_SCREEN_CAPTURE_DESTINATION_KEEPIT:
321 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_KEEPIT]);
324 SETTING_TRACE_ERROR("incorrect screen capture destination");
325 temp = (char *)(screen_capture_destination[SETTING_SCREEN_CAPTURE_DESTINATION_ASK]);
331 setting_applications_main_chk_btn_cb(void *data, Evas_Object *obj,
334 /*SETTING_TRACE_BEGIN; */
336 retm_if(data == NULL, "Data parameter is NULL");
337 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
339 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
340 if (!safeStrCmp(KeyStr_Dynamic_Status_Bar, list_item->keyStr)) {
341 vconf_set_bool(VCONFKEY_SETAPPL_DYNAMIC_STATUS_BAR, list_item->chk_status);
346 setting_applications_main_screen_capture_edit_chk_btn_cb(void *data, Evas_Object *obj,
349 /*SETTING_TRACE_BEGIN; */
351 retm_if(data == NULL, "Data parameter is NULL");
352 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
354 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
355 vconf_set_bool(VCONFKEY_SETAPPL_SCREEN_CAPTURE_EDIT_AFTER_CAPTURE, list_item->chk_status);
357 char *__item_touch_duration_sub_item_text_get(void *data, Evas_Object *obj, const char *part)
359 /*SETTING_TRACE_BEGIN; */
360 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
361 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
362 char *ret_str = NULL;
363 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
364 if (item_data->keyStr) {
365 ret_str = ___format_touchkey_light_duration_sub_desc(item_data->keyStr);
370 char *__item_touch_duration_text_get(void *data, Evas_Object *obj, const char *part)
372 /*SETTING_TRACE_BEGIN; */
373 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
374 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
375 char *ret_str = NULL;
376 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
377 if (item_data->keyStr) {
378 ret_str = (char *)g_strdup(_(item_data->keyStr));
380 } else if (!safeStrCmp(part, "elm.text.2")) { /* bottom or right */
381 if (item_data->sub_desc) {
382 ret_str = ___format_touchkey_light_duration_sub_desc(item_data->sub_desc);
387 char *__item_backlight_sub_item_text_get(void *data, Evas_Object *obj, const char *part)
389 /*SETTING_TRACE_BEGIN; */
390 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
391 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
392 char *ret_str = NULL;
393 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
394 if (item_data->keyStr) {
395 ret_str = format_backlight_time_str(item_data->keyStr);
402 char *__item_backlight_text_get(void *data, Evas_Object *obj, const char *part)
404 /*SETTING_TRACE_BEGIN; */
405 setting_retvm_if(data == NULL, NULL, "Data parameter is NULL");
406 Setting_GenGroupItem_Data *item_data = (Setting_GenGroupItem_Data *) data;
407 char *ret_str = NULL;
408 if (!safeStrCmp(part, "elm.text") || !safeStrCmp(part, "elm.text.1")) {
409 if (item_data->keyStr) {
410 ret_str = (char *)g_strdup(_(item_data->keyStr));
412 } else if (!safeStrCmp(part, "elm.text.2")) { /* bottom or right */
413 if (item_data->sub_desc) {
414 ret_str = format_backlight_time_str(item_data->sub_desc);
417 /*SETTING_TRACE_END; */
420 static void setting_applications_main_vconf_change_cb(keynode_t *key, void *data)
422 ret_if(data == NULL);
424 SettingApplicationsUG *ad = data;
427 status = vconf_keynode_get_bool(key);
428 char *vconf_name = vconf_keynode_get_name(key);
429 SETTING_TRACE("status:%d", status);
430 if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL)) {
431 if (ad->data_auto_rotate && ad->data_auto_rotate->eo_check) {
432 setting_update_gl_item_chk_status(ad->data_auto_rotate, status);
433 if (status == TRUE) {
434 if (ad->data_smart_rotation && ad->data_smart_rotation->item) {
435 setting_enable_genlist_item(ad->data_smart_rotation->item);
437 } else if (status == FALSE) {
438 if (ad->data_smart_rotation && ad->data_smart_rotation->item) {
439 setting_disable_genlist_item(ad->data_smart_rotation->item);
443 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_LCD_AUTO_DISPLAY_ADJUSTMENT)) {
444 setting_update_gl_item_chk_status(ad->data_auto_adjust_scrn_tone, status);
445 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_DYNAMIC_STATUS_BAR)) {
446 setting_update_gl_item_chk_status(ad->data_dynamic, status);
447 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL)) {
449 G_FREE(ad->data_back->sub_desc);
450 ad->data_back->sub_desc = get_pa_backlight_time_value_str();
451 elm_object_item_data_set(ad->data_back->item, ad->data_back);
452 elm_genlist_item_update(ad->data_back->item);
454 } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION)) {
455 if (ad->data_touchkey_light_duration) {
456 G_FREE(ad->data_touchkey_light_duration->sub_desc);
457 ad->data_touchkey_light_duration->sub_desc = ___touchkey_light_duration_sub_desc();
458 elm_object_item_data_set(ad->data_touchkey_light_duration->item, ad->data_touchkey_light_duration);
459 elm_genlist_item_update(ad->data_touchkey_light_duration->item);
466 static int setting_applications_main_create(void *cb)
470 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
472 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
474 Evas_Object *scroller = NULL;
479 /* add basic layout */
480 char setBtnStr[MAX_DISPLAY_NAME_LEN_ON_UI];
481 snprintf(setBtnStr, sizeof(setBtnStr), "%s",
482 (char *)dgettext("sys_string", "IDS_ST_BUTTON_BACK"));
485 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
487 KeyStr_Applications, setBtnStr,
489 (setting_call_back_func)setting_applications_main_click_softkey_back_cb,
493 ad->genlist = scroller;
494 elm_genlist_mode_set(ad->genlist, ELM_LIST_COMPRESS);
495 /*register vconf key */
497 setting_enable_expandable_genlist(scroller, ad, __setting_applications_main_exp_cb, NULL);
498 evas_object_smart_callback_add(ad->genlist, "realized", __gl_realized_cb, NULL);
500 Elm_Object_Item *item = NULL;
503 elm_genlist_item_append(scroller, &itc_seperator, NULL, NULL,
504 ELM_GENLIST_ITEM_NONE, NULL, NULL);
505 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
507 setting_create_Gendial_field_def(ad->genlist, &itc_1text,
508 setting_applications_main_mouse_up_Gendial_list_cb,
509 ad, SWALLOW_Type_INVALID, NULL,
511 KEYSTR_APPLICATION_MANAGER, NULL, NULL);
513 setting_create_Gendial_field_def(ad->genlist, &itc_1text,
514 setting_applications_main_mouse_up_Gendial_list_cb,
515 ad, SWALLOW_Type_INVALID, NULL,
517 KEYSTR_DEFAULT_APPLICATION, NULL, NULL);
519 setting_view_applications_main.is_create = 1;
520 return SETTING_RETURN_SUCCESS;
523 static int setting_applications_main_destroy(void *cb)
527 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
528 retv_if(!(setting_view_applications_main.is_create), SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
530 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
532 /*ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_TOUCHKEY_LIGHT_DURATION, setting_applications_main_vconf_change_cb); */
537 if (ad->ly_main != NULL) {
538 evas_object_del(ad->ly_main);
540 /* if(ad->back_dialData) FREE(ad->back_dialData); */
542 setting_view_applications_main.is_create = 0;
545 return SETTING_RETURN_SUCCESS;
548 static int setting_applications_main_update(void *cb)
552 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
554 SettingApplicationsUG *ad = (SettingApplicationsUG *) cb;
556 if (ad->ly_main != NULL) {
557 evas_object_show(ad->ly_main);
559 ad->data_br->sub_desc =
560 (char *)g_strdup(get_brightness_mode_str());
561 elm_object_item_data_set(ad->data_br->item, ad->data_br);
562 elm_genlist_item_update(ad->data_br->item);
565 #ifdef SUPPORT_SCREEN_MODE
566 if (ad->data_screen_mode) {
567 char *curmode = vconf_get_str(VCONFKEY_SETAPPL_SCREENMODE_SELNAME);
568 SETTING_TRACE(">>> CUR SCREEN MODE : %s ", curmode);
570 for (; i < SCREENMODE_MAX; i++) {
571 if (0 == safeStrCmp(str_in_arr[i], curmode)) {
572 ad->data_screen_mode->sub_desc = (char *)g_strdup(_(str_out_arr[i]));
578 elm_object_item_data_set(ad->data_screen_mode->item, ad->data_screen_mode);
579 elm_genlist_item_update(ad->data_screen_mode->item);
584 return SETTING_RETURN_SUCCESS;
587 static int setting_applications_main_cleanup(void *cb)
590 return SETTING_RETURN_SUCCESS;
593 /* ***************************************************
597 ***************************************************/
599 void setting_applications_destroy_appmgr_ug_cb(ui_gadget_h ug,
602 ret_if(priv == NULL);
603 SettingApplicationsUG *ad = (SettingApplicationsUG *) priv;
605 setting_ug_destroy(ug);
606 ad->ug_appmgr = NULL;
608 elm_genlist_realized_items_update(ad->genlist);
611 gboolean setting_applications_create_appmgr_ug(void *data)
614 retv_if(data == NULL, FALSE);
616 SettingApplicationsUG *ad = (SettingApplicationsUG *) data; /* ad is point to data */
619 SETTING_TRACE("Font UG is already loaded.");
622 struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
627 cbs->layout_cb = setting_applications_layout_ug_cb;
628 cbs->result_cb = NULL;
629 cbs->destroy_cb = setting_applications_destroy_appmgr_ug_cb;
630 cbs->priv = (void *)ad;
632 elm_object_tree_focus_allow_set(ad->ly_main, EINA_FALSE);
634 if (app_control_create(&svc)) {
638 app_control_add_extra_data(svc, "viewtype", "manage-applications");
639 ad->ug_appmgr = setting_ug_create(ad->ug, "setting-manage-applications-efl", UG_MODE_FULLVIEW, NULL, cbs);
640 if (NULL == ad->ug_appmgr) { /* error handling */
641 SETTING_TRACE_ERROR("NULL == ad->ug_appmgr");
642 evas_object_show(ad->ly_main);
645 app_control_destroy(svc);
652 setting_applications_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj,
656 setting_retm_if(data == NULL, "Data parameter is NULL");
658 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
659 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
660 elm_genlist_item_selected_set(item, 0);
661 Setting_GenGroupItem_Data *list_item =
662 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
664 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
666 SETTING_TRACE("clicking item[%s]", _(list_item->keyStr));
668 if (!safeStrCmp(KEYSTR_APPLICATION_MANAGER, list_item->keyStr)) {
669 setting_applications_create_appmgr_ug(ad);
670 } else if (!safeStrCmp(KEYSTR_DEFAULT_APPLICATION, list_item->keyStr)) {
671 setting_view_change(&setting_view_applications_main,
672 &setting_view_applications_defaultapp, ad);
677 setting_applications_main_click_softkey_back_cb(void *data, Evas_Object *obj,
682 setting_retvm_if(data == NULL, EINA_FALSE,
683 "[Setting > Applications] Data parameter is NULL");
685 SettingApplicationsUG *ad = (SettingApplicationsUG *) data;
687 /* Send destroy request */
688 ug_destroy_me(ad->ug);
694 static void setting_applications_main_tts_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
698 retm_if(data == NULL, "Data parameter is NULL");
699 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
700 SettingApplicationsUG *ad = (SettingApplicationsUG *)list_item->userdata;
702 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
703 SETTING_TRACE("TTS check - clicked");
705 if (list_item->chk_status == 1) {
706 /*SETTING_TRACE("TTS check - 1111111111111"); */
707 vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 1);
709 vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 0);
715 static void setting_applications_main_auto_rotate_chk_btn_cb(void *data, Evas_Object *obj, void *event_info)
719 retm_if(data == NULL, "Data parameter is NULL");
720 Setting_GenGroupItem_Data *list_item = (Setting_GenGroupItem_Data *) data;
721 SettingApplicationsUG *ad = (SettingApplicationsUG *)list_item->userdata;
723 list_item->chk_status = elm_check_state_get(obj); /* for genlist update status */
725 if (list_item->chk_status == 1) {
726 int angle = elm_win_rotation_get(ad->win_main_layout);
727 elm_win_rotation_with_resize_set(ad->win_main_layout, angle);
729 elm_win_rotation_with_resize_set(ad->win_main_layout, 0);
732 vconf_set_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, list_item->chk_status);