2 * Copyright (c) 2009 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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.
19 #ifndef __LOCKSCREEN_OPTIONS_UTIL_H__
20 #define __LOCKSCREEN_OPTIONS_UTIL_H__
22 #include <Elementary.h>
23 #include <efl_extension.h>
24 #include "lockscreen-options.h"
28 #define EIWNNU8 unsigned char /**< Unsigned 8-bit quantity. */
31 #define EIWNNU16 unsigned short /**< Unsigned 16-bit quantity. */
34 #define EIWNNU32 unsigned long /**< Unsigned 32-bit quantity. */
37 #define EIWNNSYMB EIWNNU16
40 #define USE_STYLE_PREVIEW 1
42 #define EDJE_DIR "/usr/apps/ug-lockscreen-options/res/edje"
43 #define IMAGE_DIR "/usr/apps/ug-lockscreen-options/res/images"
44 #define LOCKSCREEN_THEMES_DIR IMAGE_DIR "/lockscreen-options-theme"
47 #define MAX_LENGTH_LINE 2000
53 void (*func) (void *data, Evas_Object * obj, void *event_info);
55 Elm_Object_Item *item;
56 } lockscreen_menu_item_info;
61 IDS_LOCKSCREEN_OPTIONS_SNS,
62 IDS_LOCKSCREEN_OPTIONS_SYSTEM_STRING_MAX,
66 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_SETTINGS =
67 IDS_LOCKSCREEN_OPTIONS_SYSTEM_STRING_MAX,
68 IDS_LOCKSCREEN_ACHEADER2_PERSONAL_MESSAGE,
69 IDS_LOCKSCREEN_ACHEADER2_LOCK_SCREEN_THEMES,
70 IDS_LOCKSCREEN_ACHEADER1_LOCK_SCREEN_SETTINGS,
71 IDS_LOCKSCREEN_ACHEADER1_SET_SHORTCUTS,
72 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_TYPE,
73 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_WALLPAPER,
74 IDS_LOCKSCREEN_OPTIONS_SHORTCUTS,
75 IDS_LOCKSCREEN_OPTIONS_SHORTCUTS_HELP,
76 IDS_LOCKSCREEN_OPTIONS_SHORTCUTS_SETTINGS,
77 IDS_LOCKSCREEN_OPTIONS_SHORTCUTS_SETTINGS_HELP,
79 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_STYTLE_TITLE,
80 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_STYTLE_CONTENT,
81 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_STYTLE_HELP,
82 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_STYTLE_HELP_1,
84 IDS_LOCKSCREEN_OPTIONS_LOCKSCREEN_BRIEFING,
85 IDS_LOCKSCREEN_OPTIONS_LOCKSCREEN_BRIEFING_SUB_TITLE,
86 IDS_LOCKSCREEN_OPTIONS_LOCKSCREEN_BRIEFING_HELP,
87 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_TITLE,
88 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_TITLE_HELP,
89 IDS_LOCKSCREEN_OPTIONS_EVENT_NOTIFICATIONS,
90 IDS_LOCKSCREEN_OPTIONS_EVENT_NOTIFICATIONS_HELP,
91 IDS_LOCKSCREEN_OPTIONS_CONTEXTAWARE_NOTI,
92 IDS_LOCKSCREEN_OPTIONS_CONTEXTAWARE_NOTI_HELP,
94 IDS_LOCKSCREEN_OPTIONS_CAMERA_QUICK_ACCESS,
95 IDS_LOCKSCREEN_OPTIONS_CAMERA_QUICK_ACCESS_HELP,
97 IDS_LOCKSCREEN_OPTIONS_CLOCK,
98 IDS_LOCKSCREEN_OPTIONS_DUAL_CLOCK,
99 IDS_LOCKSCREEN_OPTIONS_DUAL_CLOCK_HELP,
100 IDS_LOCKSCREEN_OPTIONS_DUAL_CLOCK_CONTENT,
101 IDS_LOCKSCREEN_OPTIONS_WAKE_UP,
102 IDS_LOCKSCREEN_OPTIONS_WAKE_UP_HELP,
103 IDS_LOCKSCREEN_OPTIONS_WEATHER,
104 IDS_LOCKSCREEN_OPTIONS_HELPTEXT,
105 IDS_LOCKSCREEN_OPTIONS_HELPTEXT_HELP,
106 IDS_LOCKSCREEN_OPTIONS_SET_SHORTCUTS,
107 IDS_LOCKSCREEN_OPTIONS_EDIT_SHORTCUTS,
108 IDS_LOCKSCREEN_OPTIONS_SET_SHORTCUTS_ON_LOCKSCREEN,
109 IDS_LOCKSCREEN_OPTIONS_TAP_SHORTCUTS,
110 IDS_LOCKSCREEN_OPTIONS_DRAG_DROP_SHORTCUTS,
111 IDS_LOCKSCREEN_OPTIONS_SELECT_APPLICATIONS,
112 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_TITLE_GUIDE_TEXT,
113 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_THEME,
114 IDS_LOCKSCREEN_OPTIONS_SET_LOCKSTYLE,
115 IDS_LOCKSCREEN_OPTIONS_PREVIEW,
116 IDS_LOCKSCREEN_OPTIONS_APPLY,
117 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_BRIEFING,
118 IDS_LOCKSCREEN_OPTIONS_BRIEFING_ITEMS,
119 IDS_LOCKSCREEN_OPTIONS_MUSIC_CONTROLLER,
120 IDS_LOCKSCREEN_OPTIONS_MISSED_EVENTS,
121 IDS_LOCKSCREEN_OPTIONS_NEWS,
122 IDS_LOCKSCREEN_OPTIONS_SCHEDULE,
123 IDS_LOCKSCREEN_OPTIONS_CLEAR,
124 IDS_LOCKSCREEN_OPTIONS_CLOSEUP,
125 IDS_LOCKSCREEN_OPTIONS_BOOKCOVER,
126 IDS_LOCKSCREEN_OPTIONS_SPLENDID,
127 IDS_LOCKSCREEN_OPTIONS_PEACEFUL,
128 IDS_LOCKSCREEN_OPTIONS_FUN,
129 IDS_LOCKSCREEN_OPTIONS_HUMAN,
130 IDS_LOCKSCREEN_OPTIONS_WEATHER_THEME,
132 IDS_LOCKSCREEN_OPTIONS_STYLE_NONE,
133 IDS_LOCKSCREEN_OPTIONS_STYLE_SWIPE,
134 IDS_LOCKSCREEN_OPTIONS_STYLE_MOTION,
135 IDS_LOCKSCREEN_OPTIONS_STYLE_VOICE,
136 IDS_LOCKSCREEN_OPTIONS_STYLE_SIMPLE_PASSWORD,
137 IDS_LOCKSCREEN_OPTIONS_STYLE_PASSWORD,
138 IDS_LOCKSCREEN_OPTIONS_WALLPAPER_CHANGED,
139 IDS_LOCKSCREEN_OPTIONS_SET_WAKE_UP,
140 IDS_LOCKSCREEN_OPTIONS_EDIT_PERSONAL_MESSAGE,
141 IDS_LOCKSCREEN_OPTIONS_EDIT,
142 IDS_LOCKSCREEN_OPTIONS_EDIT_HELP,
143 IDS_LOCKSCREEN_OPTIONS_UNLOCK_EFFECT,
144 IDS_LOCKSCREEN_OPTIONS_CONFETTI_M_EFFECT,
145 IDS_LOCKSCREEN_OPTIONS_GEOMETRIC_M_EFFECT,
146 IDS_LOCKSCREEN_OPTIONS_STARDUST_M_EFFECT,
147 IDS_LOCKSCREEN_OPTIONS_GLOWWORM_M_EFFECT,
148 IDS_LOCKSCREEN_OPTIONS_EDIT_TITLE,
149 IDS_LOCKSCREEN_OPTIONS_FESTIVAL_WALLPAPER,
150 IDS_LOCKSCREEN_OPTIONS_WEATHER_EFFECT,
151 IDS_LOCKSCREEN_OPTIONS_LOCK_SCREEN_WEATHEREFFECT_HELP,
152 IDS_LOCKSCREEN_OPTIONS_STYLE_FINGERPRINT,
153 IDS_LOCKSCREEN_OPTIONS_STYLE_AUTOLOCK,
154 IDS_LOCKSCREEN_OPTIONS_CAMERA_SHORTCUT,
155 IDS_LOCKSCREEN_OPTIONS_ADD_INFORMATION,
156 IDS_LOCKSCREEN_OPTIONS_ADD_INFORMATION_HELP,
157 IDS_LOCKSCREEN_OPTIONS_ADDINF_WEATHER,
158 IDS_LOCKSCREEN_OPTIONS_PEDOMETER,
159 IDS_LOCKSCREEN_OPTIONS_ADDINF_HELP,
160 IDS_LOCKSCREEN_OPTIONS_WEATHER_EFFECT_HELP,
161 IDS_LOCKSCREEN_OPTIONS_HELP_SHORTCUT,
162 IDS_LOCKSCREEN_OPTIONS_HELP_SHORTCUT_HELP,
163 IDS_LOCKSCREEN_OPTIONS_FESTIVAL_WALLPAPER_HELP,
164 IDS_LOCKSCREEN_OPTIONS_SWIPE_PW,
165 IDS_LOCKSCREEN_OPTIONS_SWIPE_PW_HELP,
166 IDS_LOCKSCREEN_OPTIONS_APP_STRING_MAX, /* 55 */
170 #define COLORTODECIMAL(color, A, R, G, B) \
171 A = (color>>24)&0xFF; \
172 R = (color>>16)&0xFF; \
173 G = (color>>8)&0xFF; \
176 #define DECIMALTOCOLOR(color, A, R, G, B) \
177 color = A<<24|R<<16|G<<8|B;
180 LOCKSCREEN_READER_OBJ_TYPE_ELM_OBJECT,
181 LOCKSCREEN_READER_OBJ_TYPE_EDJ_OBJECT,
182 } lockscreen_object_type_e;
184 Evas_Object *lockscreen_options_util_create_navigation(Evas_Object * parent);
185 Evas_Object *lockscreen_options_util_create_layout(Evas_Object * parent,
188 void lockscreen_options_util_create_seperator(Evas_Object * genlist);
189 void lockscreen_options_util_create_seperator2(Evas_Object * genlist);
190 void lockscreen_options_util_create_underline(Evas_Object * genlist);
191 char *lockscreen_optoins_get_string(int id);
192 void _lockscreen_options_submenu_gl_item(Elm_Gen_Item_Class * item);
193 int x_to_int(char c);
194 Evas_Object *get_bg_image(Evas_Object *parent);
195 void remove_unused_string(char *text, char *unused_string);
196 void replace_unused_string_with_char(char *text, char *unused_string, char c);
197 void set_object_colors(void *ao, const char *color_class, int color);
198 void get_font_list(Eina_List **font_list);
199 void get_font_name(const char *font_data, char *new_name, int bufsize);
200 int translate_cur_idx(int cur_idx);
201 int revert_cur_idx(int index);
203 int ConvertUTF8toUCS2(const char* src, EIWNNSYMB* psTargetStart);
204 int WmStrlen(const EIWNNSYMB* mszInText);
207 int get_vconf_screenreader(void);
208 void *lockscreen_options_tts_reader_object_get(void *obj, lockscreen_object_type_e type, const char *part, void *parent);
209 void *lockscreen_options_tts_get_focus_object(void *parent);
210 void lockscreen_options_set_tts_info(Evas_Object* obj, const char* label,
211 const char* traits, const char *state,
213 Eina_Bool _client_message_rotation_cb(void *data, int type, void *event);
217 Eina_Bool isEmptyStr(const char *str);
218 int safeStrNCmp(const char *s1, const char *s2, int len);
219 void launch_ug(char* ug_name, app_control_h svc_mt_ug, void *data);
222 #endif /* __OPENLOCK_SETTING_UTIL_H__ */