2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <Ecore_X.h> /* ecore_x_window_size_get */
19 #include <utilX.h> /* KEY_END */
21 #include <vconf-keys.h>
23 #include <appcore-efl.h>
24 #include <efl_assist.h>
25 #include <system_settings.h>
27 #include "setting-sound.h"
28 #include "setting-volume.h"
29 #include "setting-clock.h"
30 #include "setting-homescreen.h"
31 #include "setting-info.h"
32 #include "setting-bluetooth.h"
33 #include "setting-motion.h"
34 #include "setting-display.h"
35 #include "setting-language.h"
36 #include "setting-reset.h"
37 #include "setting-battery.h"
38 #include "setting-privacy.h"
39 #include "setting-double.h"
40 #include "setting-safety.h"
41 #include "setting-notification.h"
43 #include "setting-common-sound.h"
45 #include "setting_control_bt.h"
46 #include "setting_view_toast.h"
47 #include "setting_indicator_util.h"
49 #define FEATURE_SETTING_CHANGEABLE
51 #ifdef FEATURE_SETTING_CHANGEABLE
52 #include "setting-theme.h"
56 Evas_Object *_create_location_list(void *data);
57 static Evas_Object *location_genlist = NULL;
58 static void _location_cb(void *data, Evas_Object *obj, void *event_info);
61 #define LANGUAGE_ICON_DISABLED "b_settings_language_disabled.png"
62 #define LANGUAGE_ICON_ENABLED "b_settings_language.png"
64 static struct _menu_item setting_emergency_menu_its[] = {
65 #ifdef FEATURE_SETTING_EMUL
66 { "IDS_ST_BUTTON_CLOCK", "b_settings_change_clock.png", clock_cb },
68 /*#if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL) */
69 { "IDS_ST_OPT_SOUND_ABB2", "b_settings_volume.png", sound_cb },
70 /* { "IDS_ST_OPT_VOLUME", "b_settings_volume.png", volume_cb }, */
72 { "IDS_ST_MBODY_DISPLAY_ABB", "b_setting_display.png", display_cb },
73 #ifndef FEATURE_SETTING_EMUL
74 /* { "IDS_ST_BODY_BATTERY_ABB", "b_settings_battery.png", battery_cb }, */
75 { "IDS_QP_BUTTON_BLUETOOTH", "b_settings_bluetooth.png", bluetooth_cb },
77 #if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL)
78 { "IDS_ST_MBODY_SAFETY_ABB", "b_settings_safety.png", safety_cb },
83 static struct _menu_item setting_menu_its[] = {
84 { "IDS_ST_BUTTON_CLOCK", "b_settings_change_clock.png", clock_cb },
85 #if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL)
86 { "IDS_ST_BODY_WALLPAPERS", "b_setting_wallpaper.png", homescreen_cb },
87 { "IDS_ST_BUTTON_NOTIFICATIONS", "b_settings_notifications.png", notification_cb },
89 /*#ifndef FEATURE_SETTING_EMUL */
90 { "IDS_ST_OPT_SOUND_ABB2", "b_settings_volume.png", sound_cb },
91 /* { "IDS_ST_OPT_VOLUME", "b_settings_volume.png", volume_cb }, */
93 { "IDS_ST_MBODY_DISPLAY_ABB", "b_setting_display.png", display_cb },
94 #if defined(_LOCATION_MENU_ON)
95 { "Location", "b_settings_location.png", location_cb },
97 { "IDS_ST_MBODY_TEXT_INPUT_ABB", "text_input_icon.png", keyboard_cb },
98 #ifndef FEATURE_SETTING_EMUL
99 /* { "IDS_ST_BODY_BATTERY_ABB", "b_settings_battery.png", battery_cb }, */
100 { "IDS_QP_BUTTON_BLUETOOTH", "b_settings_bluetooth.png", bluetooth_cb },
101 /* { "IDS_WMGR_HEADER_MOTIONS", "b_settings_motion.png", motion_cb }, */
103 #if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL)
104 { "IDS_ST_MBODY_DOUBLE_PRESS_ABB", "b_setting_double-press.png", double_pressing_cb },
106 /* { "IDS_ST_BUTTON_LANGUAGE", "b_settings_language.png", language_cb }, */
107 #if !defined(FEATURE_SETTING_SDK) && !defined(FEATURE_SETTING_EMUL)
108 /*{ "Safety", "b_settings_safety.png", safety_cb }, */
111 /* factory reset is not supported in tizen_2.3 */
113 { "IDS_ST_BODY_RESET_GEAR_ABB", "b_settings_reset.png", reset_gear_cb },
116 #ifndef FEATURE_SETTING_EMUL
117 { "IDS_ST_BUTTON_GEAR_INFO", "b_settings_info.png", gear_info_cb },
122 static int is_emergency;
123 static Elm_Object_Item *lang_item = NULL;
124 static bool running = false;
125 static Ecore_Timer *running_timer = NULL;
126 static Ecore_Timer *scrl_timer = NULL;
128 static Evas_Object *_create_bg(Evas_Object *parent);
129 static Evas_Object *_create_layout_main(Evas_Object *parent);
130 static Evas_Object *_create_naviframe_layout(Evas_Object *parent);
131 static void _create_view_layout(appdata *ad);
132 static int init_clocksetting(appdata *ad);
133 static Eina_Bool _app_ctrl_timer_cb(void *data);
134 static Eina_Bool _scroller_timer_cb(void *data);
136 #ifdef FEATURE_SETTING_CHANGEABLE
138 static Ea_Theme_Color_Table *_changeable_colors_set(void)
140 Ea_Theme_Color_Table *table;
142 /* Enable changeable UI */
143 ea_theme_changeable_ui_enabled_set(EINA_TRUE);
145 table = ea_theme_color_table_new(COLOR_INFO_TABLE);
146 ea_theme_colors_set(table, EA_THEME_STYLE_DEFAULT);
151 static void _changeable_colors_free(Ea_Theme_Color_Table *table)
153 /* when the process is killed, you don’t need to call this */
154 /*ea_theme_colors_unset(table, EA_THEME_STYLE_DEFAULT); // This API will be removed. */
155 ea_theme_color_table_free(table);
159 void clock_cb(void *data, Evas_Object *obj, void *event_info)
161 Evas_Object *layout = NULL;
162 Elm_Object_Item *nf_it = NULL;
166 DBG("Setting - ad is null");
171 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
175 if (is_running_clock) {
176 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
180 initialize_clock(data);
182 /*genlist = _create_clock_list(data); */
183 layout = _clock_type_cb(data);
184 if (layout == NULL) {
185 DBG("%s", "clock cb - layout is null");
188 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
189 evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_clock_cb, ad);
190 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_clock_cb, ad); */
191 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
193 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
194 is_running_clock = 1;
196 ad->MENU_TYPE = SETTING_CLOCK;
199 void notification_cb(void *data, Evas_Object *obj, void *event_info)
201 Evas_Object *genlist = NULL;
202 Elm_Object_Item *nf_it = NULL;
206 DBG("Setting - ad is null");
211 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
217 genlist = _create_noti_list(data);
218 if (genlist == NULL) {
219 DBG("%s", "notification_cb - genlist is null");
222 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
223 elm_naviframe_item_pop_cb_set(nf_it, _clear_noti_cb, ad);
224 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
226 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
228 ad->MENU_TYPE = SETTING_NOTIFICATION;
231 void homescreen_cb(void *data, Evas_Object *obj, void *event_info)
233 Evas_Object *layout = NULL;
234 Elm_Object_Item *nf_it = NULL;
238 DBG("Setting - ad is null");
243 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
247 /*layout = _create_homescreen_list(data); */
248 layout = create_wallpaper_list(data);
249 if (layout == NULL) {
250 DBG("%s", "homescreen cb - layout is null");
253 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
254 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_homescreen_cb, ad); */
255 evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_homescreen_cb, ad);
256 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
258 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
260 ad->MENU_TYPE = SETTING_HOMESCREEN;
264 void sound_cb(void *data, Evas_Object *obj, void *event_info)
266 Evas_Object *genlist = NULL;
267 Elm_Object_Item *nf_it = NULL;
271 DBG("Setting - ad is null");
276 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
282 genlist = _create_sound_list(data);
283 if (genlist == NULL) {
284 DBG("%s", "sound cb - genlist is null");
287 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
288 elm_naviframe_item_pop_cb_set(nf_it, _clear_sound_cb, ad);
289 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
291 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
293 ad->MENU_TYPE = SETTING_SOUND;
296 void volume_cb(void *data, Evas_Object *obj, void *event_info)
298 Evas_Object *genlist = NULL;
299 Elm_Object_Item *nf_it = NULL;
303 DBG("Setting - ad is null");
308 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
312 _initialize_volume();
314 genlist = _create_volume_list(data);
315 if (genlist == NULL) {
316 DBG("%s", "volume cb - genlist is null");
319 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
320 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_volume_cb, ad); */
321 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
323 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
325 ad->MENU_TYPE = SETTING_VOLUME;
328 void display_cb(void *data, Evas_Object *obj, void *event_info)
330 Evas_Object *genlist = NULL;
331 Elm_Object_Item *nf_it = NULL;
335 DBG("Setting - ad is null");
340 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
346 genlist = _create_display_list(data);
347 if (genlist == NULL) {
348 DBG("%s", "display cb - genlist is null");
351 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
352 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_display_cb, ad); */
353 evas_object_event_callback_add(genlist, EVAS_CALLBACK_DEL, _clear_display_cb, ad);
354 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
356 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
358 ad->MENU_TYPE = SETTING_DISPLAY;
361 void keyboard_cb(void *data, Evas_Object *obj, void *event_info)
363 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
368 DBG("Setting - ad is null");
377 app_control_h service;
378 app_control_create(&service);
379 app_control_set_package(service, "org.tizen.w-text-input-setting");
380 app_control_send_launch_request(service, NULL, NULL);
381 app_control_destroy(service);
386 ecore_timer_del(running_timer);
387 running_timer = NULL;
389 running_timer = ecore_timer_add(0.5, (Ecore_Task_Cb)_app_ctrl_timer_cb, NULL);
393 void battery_cb(void *data, Evas_Object *obj, void *event_info)
395 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
397 Evas_Object *layout = NULL;
398 Elm_Object_Item *nf_it = NULL;
402 DBG("Setting - ad is null");
407 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
411 _initialize_battery();
412 layout = _battery_status_cb(data);
413 if (layout == NULL) {
414 DBG("%s", "battery cb - layout is null");
417 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
418 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_battery_list_cb, ad); */
419 evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _clear_battery_cb, ad);
420 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
422 ad->MENU_TYPE = SETTING_BATTERY;
425 void bluetooth_cb(void *data, Evas_Object *obj, void *event_info)
427 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
429 Evas_Object *genlist = NULL;
430 Elm_Object_Item *nf_it = NULL;
434 DBG("Setting - ad is null");
444 genlist = _create_bt_list(data);
445 if (genlist == NULL) {
446 DBG("%s", "bluetooth cb - genlist is null");
449 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
450 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_bluetooth_cb, ad); */
451 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
453 ad->MENU_TYPE = SETTING_BLUETOOTH;
456 void location_cb(void *data, Evas_Object *obj, void *event_info)
458 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
460 Evas_Object *genlist = NULL;
461 Elm_Object_Item *nf_it = NULL;
465 DBG("Setting - ad is null");
473 genlist = _create_location_list(data);
474 if (genlist == NULL) {
475 DBG("%s", "bluetooth cb - genlist is null");
478 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
479 /*elm_naviframe_item_pop_cb_set(nf_it, _clear_bluetooth_cb, ad); */
480 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
482 ad->MENU_TYPE = SETTING_LOCATION;
485 void motion_cb(void *data, Evas_Object *obj, void *event_info)
487 Evas_Object *genlist = NULL;
488 Elm_Object_Item *nf_it = NULL;
492 DBG("Setting - ad is null");
497 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
501 _initialize_motion();
502 genlist = _create_motion_list(data);
503 if (genlist == NULL) {
504 DBG("%s", "motion cb - genlist is null");
507 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
508 elm_naviframe_item_pop_cb_set(nf_it, _clear_motion_cb, ad);
509 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
511 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
514 void lockscreen_cb(void *data, Evas_Object *obj, void *event_info)
516 Evas_Object *layout = NULL;
517 Elm_Object_Item *nf_it = NULL;
522 DBG("Setting - ad is null");
527 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
531 layout = create_privacy_list(data);
532 if (layout == NULL) {
533 DBG("%s", "lockscreen cb - genlist is null");
537 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
538 elm_naviframe_item_pop_cb_set(nf_it, clear_privacy_cb, ad);
539 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
541 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
543 ad->MENU_TYPE = SETTING_SCREEN_LOCK;
546 void double_pressing_cb(void *data, Evas_Object *obj, void *event_info)
548 Evas_Object *layout = NULL;
549 Elm_Object_Item *nf_it = NULL;
554 DBG("Setting - ad is null");
559 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
563 init_double_pressing(ad);
565 layout = create_double_app_list(data);
566 if (layout == NULL) {
567 DBG("%s", "double cb - genlist is null");
571 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
572 evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, clear_double_app_cb, ad);
573 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
575 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
577 ad->MENU_TYPE = SETTING_DOUBLE_PRESSING;
580 void language_cb(void *data, Evas_Object *obj, void *event_info)
582 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
584 Evas_Object *genlist = NULL;
585 Elm_Object_Item *nf_it = NULL;
589 DBG("Setting - ad is null");
594 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
598 if (is_connected_GM()) {
599 DBG("Setting - language can not change!!");
601 /* automatic freed!! */
602 struct _toast_data *toast = _create_toast(ad, _("IDS_ST_TPOP_CHANGE_LANGUAGE_ON_MOBILE_DEVICE"));
604 _show_toast(ad, toast);
609 _initialize_language(ad);
610 _set_launguage_update_cb(_update_main_menu_title);
612 genlist = _create_lang_list(data);
613 if (genlist == NULL) {
614 DBG("%s", "language cb - genlist is null");
617 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
618 elm_naviframe_item_pop_cb_set(nf_it, _clear_lang_cb, ad);
619 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
621 ad->MENU_TYPE = SETTING_LANGUAGE;
624 void safety_cb(void *data, Evas_Object *obj, void *event_info)
626 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
630 DBG("Setting - ad is null");
635 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
639 Evas_Object *layout = NULL;
640 Elm_Object_Item *nf_it = NULL;
642 layout = create_safety_list(ad);
643 if (layout == NULL) {
644 DBG("%s", "safety cb - genlist is null");
648 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, layout, NULL);
649 elm_naviframe_item_pop_cb_set(nf_it, clear_safety_cb, ad);
650 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
652 ad->MENU_TYPE = SETTING_SAFETY;
655 void reset_gear_cb(void *data, Evas_Object *obj, void *event_info)
659 DBG("Setting - ad is null");
664 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
668 _reset_popup_cb(data, obj, event_info);
670 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
672 ad->MENU_TYPE = SETTING_RESET;
675 void gear_info_cb(void *data, Evas_Object *obj, void *event_info)
677 Evas_Object *genlist = NULL;
678 Elm_Object_Item *nf_it = NULL;
682 DBG("Setting - ad is null");
687 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
691 genlist = _create_info_list(data);
692 if (genlist == NULL) {
693 DBG("%s", "info cb - genlist is null");
696 nf_it = elm_naviframe_item_push(ad->nf, NULL, NULL, NULL, genlist, NULL);
697 elm_naviframe_item_pop_cb_set(nf_it, _clear_info_cb, ad);
698 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
700 elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
702 ad->MENU_TYPE = SETTING_INFO;
705 static Eina_Bool _app_ctrl_timer_cb(void *data)
709 running_timer = NULL;
710 return ECORE_CALLBACK_CANCEL;
713 static Eina_Bool _scroller_timer_cb(void *data)
715 DBG("hide scroller bar");
717 Evas_Object *genlist = data;
720 elm_layout_signal_emit(genlist, "do-hide-vbar", "");
722 return ECORE_CALLBACK_CANCEL;
725 static void _quit_cb(void *data, Evas_Object *obj, void *ei)
728 //To make your application go to background,
729 //Call the elm_win_lower() instead
730 Evas_Object *win = (Evas_Object *) data;
736 static Eina_Bool _pop_cb(void *data, Elm_Object_Item *it)
738 /* Stop timer and task */
741 ecore_timer_del(running_timer);
742 running_timer = NULL;
748 ecore_timer_del(scrl_timer);
752 if (ad && ad->win_main) {
753 elm_win_lower(ad->win_main);
759 static Evas_Object *_create_bg(Evas_Object *parent)
763 if (parent == NULL) return NULL;
765 bg = elm_bg_add(parent);
766 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
767 elm_win_resize_object_add(parent, bg);
768 evas_object_show(bg);
773 static Evas_Object *_create_conform(Evas_Object *parent)
775 Evas_Object *conform;
777 if (parent == NULL) return NULL;
779 conform = elm_conformant_add(parent);
780 evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
781 elm_win_resize_object_add(parent, conform);
782 evas_object_show(conform);
788 static Evas_Object *_create_layout_main(Evas_Object *parent)
792 if (parent == NULL) return NULL;
794 layout = elm_layout_add(parent);
796 if (layout == NULL) {
797 DBG("Failed elm_layout_add.\n");
801 elm_layout_theme_set(layout, "layout", "application", "default");
802 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
803 elm_win_resize_object_add(parent, layout);
805 evas_object_show(layout);
810 static void _lang_changed(app_event_info_h event_info, void *data)
813 if (ad && ad->MENU_TYPE == SETTING_LANGUAGE)
816 char *locale = vconf_get_str(VCONFKEY_LANGSET);
818 DBG("Setting - language is changed : %s", locale);
819 elm_language_set(locale);
820 elm_config_all_flush();
824 static void _window_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
826 appdata *ad = (appdata *)data;
827 evas_object_geometry_get(ad->win_main, NULL, NULL, &ad->root_w, &ad->root_h);
830 static void init_values(appdata *ad)
836 ad->is_motion_smart_relay_on = 1;
837 ad->is_motion_wake_up_on = 1;
840 static int init_clocksetting(appdata *ad)
842 DBG("init_clocksetting() is called!");
847 ad->bg = _create_bg(ad->win_main);
849 /* Conformant *** disable comform : lauching time issue *** */
851 ad->layout_main = _create_layout_main(ad->win_main);
852 /*ad->conform = _create_conform(ad->win_main); */
853 if (ad->layout_main == NULL)
858 elm_win_indicator_mode_set(ad->win_main, ELM_WIN_INDICATOR_HIDE);
861 ad->nf = _create_naviframe_layout(ad->layout_main);
863 /* Naviframe Content */
864 _create_view_layout(ad);
868 int vibration_level = 0;
869 vconf_get_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, &vibration_level);
871 DBG("Setting - vibration level : %d", vibration_level);
873 if (vibration_level == 2) { /* wrong value!! */
874 vconf_set_int(VCONFKEY_SETAPPL_NOTI_VIBRATION_LEVEL_INT, VIBRATION_LEVEL_HIGH_INT);
875 vconf_set_int(VCONFKEY_SETAPPL_TOUCH_FEEDBACK_VIBRATION_LEVEL_INT, VIBRATION_LEVEL_HIGH_INT);
880 static Evas_Object *_create_naviframe_layout(Evas_Object *parent)
882 Evas_Object *nf = NULL;
884 if (parent == NULL) return NULL;
886 nf = elm_naviframe_add(parent);
887 elm_object_part_content_set(parent, "elm.swallow.content", nf);
889 evas_object_show(nf);
894 static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
897 Item_Data *id = data;
898 int index = id->index;
900 DBG("_gl_text_get : -----> part : %s ", part);
905 if( index == LANGUAGE_MENU_INDEX ) {
906 if( is_connected_GM() ) {
907 strcpy(expression, "<font color=#515151>%s</font>");
909 strcpy(expression, "%s");
912 strcpy(expression, "%s");
916 snprintf(buf, sizeof(buf) - 1, "%s", _(setting_emergency_menu_its[index].name));
918 snprintf(buf, sizeof(buf) - 1, "%s", _(setting_menu_its[index].name));
923 static Evas_Object *_gl_icon_get(void *data, Evas_Object *obj, const char *part)
926 Item_Data *id = data;
927 int index = id->index;
930 DBG("_gl_icon_get : -----> part : %s ", part);
932 if (part && !strcmp(part, "elm.icon")) {
934 snprintf(buf, sizeof(buf) - 1, "%s", setting_emergency_menu_its[index].icon_name);
936 snprintf(buf, sizeof(buf) - 1, "%s", setting_menu_its[index].icon_name);
938 Evas_Object *icon = elm_image_add(obj);
939 elm_image_file_set(icon, EDJE_PATH, buf);
940 evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
941 evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
942 evas_object_size_hint_min_set(icon, 52, 52);
949 static void _gl_del(void *data, Evas_Object *obj)
951 Item_Data *id = data;
956 static Evas_Object *_gl_indicator_get(void *data, Evas_Object *obj, const char *part)
958 Evas_Object *layout = NULL;
960 layout = elm_layout_add(obj);
961 elm_layout_file_set(layout, EDJE_PATH, "setting/indicator");
963 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
964 indicator_view_update(layout);
965 evas_object_show(layout);
966 DBG("indicator get!!!!!!!!");
971 static Evas_Object *_create_mainlist_winset(Evas_Object *parent, appdata *ad)
973 Evas_Object *genlist = NULL;
974 struct _menu_item *menu_its = NULL;
977 /* Create item class */
978 elm_theme_extension_add(NULL, EDJE_PATH);
979 Elm_Genlist_Item_Class *itc_tmp = elm_genlist_item_class_new();
980 itc_tmp->item_style = "setting_indicator";
981 itc_tmp->func.content_get = _gl_indicator_get;
982 itc_tmp->func.del = _gl_del;
984 Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
987 itc->item_style = "1text";
989 itc->item_style = "1text.1icon";
991 itc->func.text_get = _gl_text_get;
992 itc->func.content_get = _gl_icon_get;
993 itc->func.del = _gl_del;
995 genlist = elm_genlist_add(ad->nf);
996 if (genlist == NULL) {
997 elm_genlist_item_class_free(itc);
998 elm_genlist_item_class_free(itc_tmp);
1001 elm_genlist_realization_mode_set(genlist, EINA_TRUE);
1002 elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
1004 Item_Data *id_indi = calloc(sizeof(Item_Data), 1);
1006 id_indi->index = idx;
1007 id_indi->item = elm_genlist_item_append(
1012 ELM_GENLIST_ITEM_NONE,
1014 elm_genlist_item_select_mode_set(id_indi->item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
1018 vconf_get_bool(VCONFKEY_SETAPPL_EMERGENCY_STATUS_BOOL, &is_emergency);
1024 menu_its = setting_emergency_menu_its;
1025 item_count = sizeof(setting_emergency_menu_its) / sizeof(struct _menu_item);
1027 menu_its = setting_menu_its;
1028 item_count = sizeof(setting_menu_its) / sizeof(struct _menu_item);
1031 DBG("Setting - Main menu item count: %d", item_count);
1033 /*while (menu_its[idx].name != NULL) { */
1034 for (idx = 0; idx < item_count - 1; idx++) {
1035 Item_Data *id = calloc(sizeof(Item_Data), 1);
1038 id->item = elm_genlist_item_append(
1039 genlist, /* genlist object */
1040 itc, /* item class */
1043 ELM_GENLIST_ITEM_NONE,
1048 elm_genlist_item_class_free(itc);
1049 elm_genlist_item_class_free(itc_tmp);
1053 indicator_set_vconf_changed_cb(ad);
1058 static void _update_main_menu_title(void *data)
1060 DBG("_update_main_menu_title() is called");
1064 DBG("appdata is NULL");
1068 if (ad->main_genlist) {
1069 elm_genlist_realized_items_update(ad->main_genlist);
1073 static void _naviframe_back_cb(void *data, Evas_Object *obj, void *event_info)
1079 if (ad->MENU_TYPE == SETTING_BLUETOOTH) {
1080 clear_bt_resource();
1081 ad->MENU_TYPE = SETTING_MAIN;
1082 } else if (ad->MENU_TYPE == SETTING_VOLUME_2_DEPTH) {
1083 _clear_volume_resources();
1085 ad->MENU_TYPE = SETTING_VOLUME;
1086 } else if (ad->MENU_TYPE == SETTING_SOUND_RINGTONE) {
1089 ad->MENU_TYPE = SETTING_SOUND;
1090 } else if (ad->MENU_TYPE == SETTING_SOUND_NOTIFICATION) {
1093 ad->MENU_TYPE = SETTING_SOUND;
1096 ea_naviframe_back_cb(data, obj, event_info);
1099 static void _create_view_layout(appdata *ad)
1101 Evas_Object *genlist = NULL;
1102 Evas_Object *btn = NULL;
1103 Elm_Object_Item *nf_it = NULL;
1105 if (ad == NULL) return;
1106 if (ad->nf == NULL) return;
1108 genlist = _create_mainlist_winset(ad->win_main, ad);
1109 ad->main_genlist = genlist;
1112 Evas_Object *circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface);
1113 eext_circle_object_genlist_scroller_policy_set(circle_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
1114 eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
1116 ea_object_event_callback_add(ad->nf, EA_CALLBACK_BACK, _naviframe_back_cb, ad);
1117 ea_object_event_callback_add(ad->nf, EA_CALLBACK_MORE, ea_naviframe_more_cb, NULL);
1119 nf_it = elm_naviframe_item_push(ad->nf, NULL, btn, NULL, genlist, NULL);
1120 elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE);
1122 elm_naviframe_item_pop_cb_set(nf_it, _pop_cb, ad); /* ad->win_main */
1124 /*register_vconf_changing(VCONFKEY_WMS_WMANAGER_CONNECTED, change_language_enabling, NULL); */
1127 static Evas_Object *create_win(const char *name)
1132 eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
1136 elm_win_title_set(eo, name);
1137 elm_win_autodel_set(eo, EINA_TRUE);
1139 if (elm_win_wm_rotation_supported_get(eo)) {
1140 int rots[4] = { 0, 90, 180, 270 };
1141 elm_win_wm_rotation_available_rotations_set(eo, (const int *)(&rots), 4);
1144 evas_object_smart_callback_add(eo, "delete,request", _quit_cb, NULL);
1148 int _time_cb(system_settings_key_e key, system_settings_changed_cb callback, void *user_data)
1154 bool app_create(void *data)
1156 /*DBG("[TIME] 3. it taked %d msec from main to setting_main_app_create ", appcore_measure_time()); */
1157 /*appcore_measure_start(); */
1159 DBG("Setting - app_create");
1161 appdata *ad = (appdata *) data;
1164 DBG("app_create start.");
1166 ecore_x_window_size_get(ecore_x_window_root_first_get(), &ad->root_w, &ad->root_h);
1168 ad->win_main = create_win(PACKAGE);
1169 if (ad->win_main == NULL)
1172 ad->conform = _create_conform(ad->win_main);
1175 ad->circle_surface = eext_circle_surface_conformant_add(ad->conform);
1177 evas_object_resize(ad->win_main, ad->root_w, ad->root_h);
1179 double scale = elm_config_scale_get();
1181 DBG("Setting - scale is more less than 1.0");
1182 elm_config_scale_set(1.0);
1185 ad->evas = evas_object_evas_get(ad->win_main);
1187 locale = vconf_get_str(VCONFKEY_LANGSET);
1189 elm_language_set(locale);
1192 #ifdef FEATURE_SETTING_CHANGEABLE
1193 /* set color table for changeable color */
1194 ad->color_table = _changeable_colors_set();
1197 ad->is_first_launch = 1;
1201 init_clocksetting(ad);
1203 DBG("app_create finish.");
1205 DBG("[TIME] 4. setting_main_app_create taked %d msec ", appcore_measure_time());
1206 /*appcore_measure_start(); */
1208 evas_object_show(ad->win_main);
1210 int ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, _time_cb, NULL);
1211 DBG("ret = %d", ret);
1216 void app_terminate(void *data)
1218 DBG("Setting - app_terminate");
1222 indicator_unset_vconf_changed_cb();
1224 if (ad->alert_rdg) {
1225 ad->alert_rdg = NULL;
1228 ad->datetime = NULL;
1230 if (ad->dt_genlist_item_of_date) {
1231 ad->dt_genlist_item_of_date = NULL;
1233 if (ad->dt_genlist_item_of_time) {
1234 ad->dt_genlist_item_of_time = NULL;
1236 if (ad->pref_arm_rdg) {
1237 ad->pref_arm_rdg = NULL;
1239 if (ad->main_genlist) {
1240 ad->main_genlist = NULL;
1242 if (ad->double_rdg) {
1243 ad->double_rdg = NULL;
1245 if (ad->font_size_rdg) {
1246 ad->font_size_rdg = NULL;
1248 if (ad->language_item) {
1249 ad->language_item = NULL;
1251 if (ad->language_rdg) {
1252 ad->language_rdg = NULL;
1255 /* unregister motion vconf changed callback */
1256 /*unregister_vconf_changing(VCONFKEY_WMS_WMANAGER_CONNECTED, change_language_enabling); */
1258 #ifdef FEATURE_SETTING_CHANGEABLE
1259 if (ad->color_table) {
1260 _changeable_colors_free(ad->color_table);
1261 ad->color_table = NULL;
1264 int ret = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE);
1265 DBG("222222ret = %d", ret);
1268 void app_pause(void *data)
1270 DBG("Setting - app_pause()");
1274 if (ad->MENU_TYPE == SETTING_VOLUME_2_DEPTH) {
1275 _stop_all_volume_sound();
1276 } else if (ad->MENU_TYPE == SETTING_SOUND_RINGTONE ||
1277 ad->MENU_TYPE == SETTING_SOUND_NOTIFICATION) {
1278 _stop_all_sound_play();
1279 } else if (ad->MENU_TYPE == SETTING_BATTERY) {
1280 _clear_battery_cb(NULL, NULL, NULL, NULL);
1281 } else if (ad->MENU_TYPE == SETTING_SOUND) {
1282 _stop_all_sound_play();
1287 void app_resume(void *data)
1289 DBG("Setting - app_resume()");
1297 void app_reset(app_control_h service, void *data)
1299 DBG("Setting - app_reset()");
1303 char *operation = NULL;
1304 app_control_get_operation(service, &operation);
1305 DBG("operation : %s", operation);
1306 if (!ad->is_first_launch) {
1307 if (operation && !strcmp(operation, "http://tizen.org/appcontrol/operation/main")) {
1308 Elm_Object_Item *bottom = elm_naviframe_bottom_item_get(ad->nf);
1309 Elm_Object_Item *top = elm_naviframe_top_item_get(ad->nf);
1312 evas_object_del(ad->popup);
1316 while (bottom != top) {
1317 elm_object_item_del(top);
1318 top = elm_naviframe_top_item_get(ad->nf);
1321 if (ad->main_genlist) {
1322 elm_genlist_item_show(elm_genlist_first_item_get(ad->main_genlist),
1323 ELM_GENLIST_ITEM_SCROLLTO_TOP);
1324 elm_layout_signal_emit(ad->main_genlist, "do-show-vbar", "");
1327 ecore_timer_del(scrl_timer);
1330 scrl_timer = ecore_timer_add(1, (Ecore_Task_Cb)_scroller_timer_cb, ad->main_genlist);
1334 ad->is_first_launch = 0;
1338 elm_win_activate(ad->win_main);
1341 ad->MENU_TYPE = SETTING_MAIN;
1343 /* Register language change vconf */
1344 /*register_vconf_changing(VCONFKEY_WMS_WMANAGER_CONNECTED, change_language_enabling, NULL); */
1348 int main(int argc, char *argv[])
1350 DBG("%s,%d", __func__, __LINE__);
1354 ui_app_lifecycle_callback_s event_callback = {0,};
1355 app_event_handler_h handlers[5] = {NULL, };
1359 event_callback.create = app_create;
1360 event_callback.terminate = app_terminate;
1361 event_callback.pause = app_pause;
1362 event_callback.resume = app_resume;
1363 event_callback.app_control = app_reset;
1365 ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, NULL, NULL);
1366 ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, NULL, NULL);
1367 ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, _lang_changed, NULL);
1368 ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, NULL, NULL);
1369 ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, NULL, NULL);
1371 memset(&ad, 0x0, sizeof(appdata));
1373 ret = ui_app_main(argc, argv, &event_callback, &ad);
1374 if (APP_ERROR_NONE != ret) {
1376 ERR("app_main() is failed. err = %d", ret);
1383 int main(int argc, char *argv[])
1387 DBG("[TIME] 1. aul_launch -> main :: Setting main : %d msec ", appcore_measure_time_from("APP_START_TIME"));
1388 appcore_measure_start();
1390 struct appcore_ops ops = {
1391 .create = app_create,
1392 .terminate = app_terminate,
1394 .resume = app_resume,
1398 memset(&ad, 0x0, sizeof(appdata));
1401 ad.MENU_TYPE = SETTING_MAIN;
1403 DBG("[TIME] 2. main : %d msec ", appcore_measure_time());
1404 appcore_measure_start();
1406 return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
1411 /*////////////////////////////////////////////////////////////////////////////////////////////// */
1414 typedef struct Location_Item_Data {
1416 Elm_Object_Item *item;
1418 Evas_Object *state_label;
1419 } Location_Item_Data;
1421 struct _location_menu_item {
1424 void (*func)(void *data, Evas_Object *obj, void *event_info);
1429 static struct _location_menu_item location_menu_its[] = {
1430 { "Location", DISABLE, _location_cb },
1431 { NULL, DISABLE, NULL }
1434 static char *_gl_location_title_get(void *data, Evas_Object *obj, const char *part)
1436 char buf[1024] = {0,};
1437 Location_Item_Data *id = data;
1438 int index = id->index;
1439 char expression[32];
1441 if (!strcmp(part, "elm.text")) {
1442 snprintf(buf, sizeof(buf) - 1, "%s", location_menu_its[index].name);
1447 void _location_chk_changed_cb(void *data, Evas_Object *obj, void *event_info)
1449 DBG("Setting - _location_chk_changed_cb() is called!!");
1451 /*vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, &sound_menu_its[2].is_enable_touch_sound); */
1453 /*location_menu_its[0].is_enable = !location_menu_its[0].is_enable; */
1455 /* Update touch sound enable state */
1456 /*vconf_set_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, sound_menu_its[2].is_enable_touch_sound); */
1457 /*vconf_set_bool(VCONFKEY_SETAPPL_BUTTON_SOUNDS_BOOL, sound_menu_its[2].is_enable_touch_sound); */
1462 Evas_Object *_gl_sound_check_get(void *data, Evas_Object *obj, const char *part)
1464 Evas_Object *check = NULL;
1466 Sound_Item_Data *id = data;
1467 int index = id->index;
1469 if (!strcmp(part, "elm.icon")) {
1470 check = elm_check_add(obj);
1472 if (vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_SOUNDS_BOOL, &sound_menu_its[2].is_enable_touch_sound) < 0) {
1473 sound_menu_its[2].is_enable_touch_sound = TOUCH_SOUND_ENABLE; /* default value of touch sounds : on */
1475 elm_check_state_set(check, (sound_menu_its[2].is_enable_touch_sound) ? EINA_TRUE : EINA_FALSE);
1476 evas_object_smart_callback_add(check, "changed", _sound_chk_changed_cb, (void *)1);
1477 evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
1478 evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
1479 evas_object_propagate_events_set(check, EINA_FALSE);
1489 static Evas_Object *_gl_location_check_get(void *data, Evas_Object *obj, const char *part)
1491 Evas_Object *check = NULL;
1493 Location_Item_Data *id = data;
1494 int index = id->index;
1496 if (!strcmp(part, "elm.icon")) {
1497 check = elm_check_add(obj);
1498 elm_object_style_set(check, "list");
1501 DBG("index = %d", index);
1502 elm_check_state_set(check, (location_menu_its[index].is_enable == 1) ? EINA_TRUE : EINA_FALSE);
1504 location_menu_its[index].check = check;
1506 /*evas_object_smart_callback_add(check, "changed", _location_chk_changed_cb, (void *)1); */
1507 evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
1508 evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
1509 evas_object_propagate_events_set(check, EINA_FALSE);
1510 evas_object_repeat_events_set(check, EINA_TRUE);
1518 static void _location_gl_del(void *data, Evas_Object *obj)
1520 Location_Item_Data *id = data;
1528 Evas_Object *_create_location_list(void *data)
1532 DBG("%s", "_create_location_list - appdata is null");
1536 Evas_Object *genlist = NULL;
1537 struct _location_menu_item *menu_its = NULL;
1538 Elm_Genlist_Item_Class *temp_itc = NULL;
1541 Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
1542 itc->item_style = "1text.1icon.1";
1543 itc->func.text_get = _gl_location_title_get;
1544 itc->func.content_get = _gl_location_check_get;
1545 itc->func.del = _location_gl_del;
1547 Evas_Object *layout = elm_layout_add(ad->nf);
1548 elm_layout_file_set(layout, EDJE_PATH, "setting/genlist/layout");
1549 evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
1551 genlist = elm_genlist_add(layout);
1552 elm_genlist_block_count_set(genlist, 14);
1553 elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
1556 Elm_Genlist_Item_Class *padding = elm_genlist_item_class_new();
1557 padding->item_style = "padding";
1558 padding->func.del = _location_gl_del;
1560 elm_genlist_item_append(genlist, padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
1563 menu_its = location_menu_its;
1565 int location_val = 0;
1566 vconf_get_int("db/location/setting/GpsEnabled", &location_val);
1567 location_menu_its[0].is_enable = location_val;
1569 Elm_Genlist_Item_Class *itc_arr[1] = { itc};
1571 for (idx = 0; idx < 1; idx++) {
1572 Location_Item_Data *id = calloc(sizeof(Location_Item_Data), 1);
1575 id->item = elm_genlist_item_append(
1576 genlist, /* genlist object */
1577 itc_arr[idx], /* item class */
1580 ELM_GENLIST_ITEM_NONE,
1581 menu_its[idx].func, /* call back */
1585 elm_genlist_item_class_free(itc);
1587 location_genlist = genlist;
1589 elm_object_part_content_set(layout, "elm.genlist", genlist);
1594 static void _location_cb(void *data, Evas_Object *obj, void *event_info)
1596 DBG("Setting - %s", "Setting - _location_cb is called");
1598 Elm_Object_Item *it = (Elm_Object_Item *)event_info;
1599 elm_genlist_item_selected_set(it, EINA_FALSE);
1603 DBG("%s", "Setting - _location_cb - ad or check is null");
1607 DBG(" before %d", location_menu_its[0].is_enable);
1608 location_menu_its[0].is_enable = !location_menu_its[0].is_enable;
1609 DBG(" after %d", location_menu_its[0].is_enable);
1610 vconf_set_int("db/location/setting/GpsEnabled", location_menu_its[0].is_enable);
1611 /*location_menu_its[index].check = check; */
1612 elm_check_state_set(location_menu_its[0].check, (location_menu_its[0].is_enable == 1) ? EINA_TRUE : EINA_FALSE);