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-shortcut-main.h>
22 #include <setting-common-data-slp-setting.h>
23 #include <setting-debug.h>
25 static int setting_shortcut_main_create(void *cb);
26 static int setting_shortcut_main_destroy(void *cb);
27 static int setting_shortcut_main_update(void *cb);
28 static int setting_shortcut_main_cleanup(void *cb);
30 setting_view setting_view_shortcut_main = {
31 .create = setting_shortcut_main_create,
32 .destroy = setting_shortcut_main_destroy,
33 .update = setting_shortcut_main_update,
34 .cleanup = setting_shortcut_main_cleanup,
37 /* ***************************************************
41 ***************************************************/
43 static void setting_shortcut_main_sk_cancel_cb(void *data, Evas_Object *obj, void *event_info)
49 SettingShortcutUG *ad = (SettingShortcutUG *)data;
50 /* Send destroy request */
51 ug_destroy_me(ad->ug);
55 setting_shortcut_main_mouse_up_Gendial_list_cb(void *data, Evas_Object *obj, void *event_info)
61 retm_if(event_info == NULL, "Invalid argument: event info is NULL");
63 //SettingShortcutUG *ad = (SettingShortcutUG*)data;
64 Elm_Object_Item *item = (Elm_Object_Item *) event_info;
65 elm_genlist_item_selected_set(item, 0);
67 Setting_GenGroupItem_Data *list_item =
68 (Setting_GenGroupItem_Data *) elm_object_item_data_get(item);
70 SETTING_TRACE_DEBUG("%s selected", list_item->keyStr);
74 void setting_shortcut_add_genlist_items(void *data)
80 SettingShortcutUG *ad = (SettingShortcutUG*)data;
83 Elm_Object_Item *item = elm_genlist_item_append(ad->scroller, &itc_seperator, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
84 elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
86 /* To do : Add 6 items */
87 ad->acc_assistive_light = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
88 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
91 0, _("IDS_ST_MBODY_ASSISTIVE_LIGHT"), NULL, NULL);
93 ad->acc_led_notification = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
94 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
97 0, _("LED notification"), NULL, NULL);
99 ad->acc_mono_audio = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
100 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
101 SWALLOW_Type_INVALID,
103 0, _("IDS_ST_MBODY_MONO_AUDIO"), NULL, NULL);
105 ad->acc_negative_color = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
106 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
107 SWALLOW_Type_INVALID,
109 0, _("IDS_ST_BODY_NEGATIVE_COLOURS"), NULL, NULL);
111 ad->acc_screen_reader = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
112 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
113 SWALLOW_Type_INVALID,
115 0, _("IDS_ST_MBODY_SCREEN_READER_HTTS"), NULL, NULL);
117 ad->acc_zoom = setting_create_Gendial_field_def(ad->scroller, &itc_1text,
118 setting_shortcut_main_mouse_up_Gendial_list_cb,ad,
119 SWALLOW_Type_INVALID,
121 0, _("IDS_ST_MBODY_ZOOM"), NULL, NULL);
125 setting_shortcut_main_create(void *cb)
129 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
131 SettingShortcutUG *ad = (SettingShortcutUG *) cb;
133 char setBtnStr[MAX_DISPLAY_NAME_LEN_ON_UI];
134 snprintf(setBtnStr, sizeof(setBtnStr), "%s",
135 (char *)dgettext("sys_string", "IDS_COM_BODY_BACK"));
138 setting_create_layout_navi_bar_genlist(ad->win_main_layout,
140 "Accessibility shortcut list",
142 setting_shortcut_main_sk_cancel_cb,
143 NULL, ad, &(ad->scroller),
146 if(ad->ly_main == NULL)
147 return SETTING_RETURN_FAIL;
149 setting_shortcut_add_genlist_items(ad);
151 setting_view_shortcut_main.is_create = 1;
153 return SETTING_RETURN_SUCCESS;
156 static int setting_shortcut_main_destroy(void *cb)
159 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
161 SettingShortcutUG *ad = (SettingShortcutUG *) cb;
163 if (ad->ly_main != NULL) {
164 evas_object_del(ad->ly_main);
166 setting_view_shortcut_main.is_create = 0;
168 return SETTING_RETURN_SUCCESS;
171 static int setting_shortcut_main_update(void *cb)
174 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
176 SettingShortcutUG *ad = (SettingShortcutUG *) cb;
178 if (ad->ly_main != NULL) {
179 evas_object_show(ad->ly_main);
182 return SETTING_RETURN_SUCCESS;
185 static int setting_shortcut_main_cleanup(void *cb)
188 retv_if(cb == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
190 SettingShortcutUG *ad = (SettingShortcutUG *) cb;
192 if (ad->ly_main != NULL) {
193 evas_object_hide(ad->ly_main);
196 return SETTING_RETURN_SUCCESS;