N_SE-24098 : Tapping volumebar is not working
[apps/home/message-app.git] / viewer / src / msg-ui-viewer-main.c
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
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
7  *
8  *    http://floralicense.org/license
9  *
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.
15  */
16
17 /*==================================================================================================
18                                                                           INCLUDE HEADERS
19 *==================================================================================================*/
20 #include <msg.h>
21 #include <msg_storage.h>
22
23 #include "msg-smil-player-interface.h"
24 #include "msg-ui-common-utility.h"
25
26 #include "msg-ui-viewer-main.h"
27 #include "msg-ui-viewer-drm-utility.h"
28
29 /*==================================================================================================
30  *                                                      FUNCTION DECLARATIONS
31  *==================================================================================================*/
32 static MSG_BOOL __msg_ui_viewer_check_drm_content(void *data);
33 static MSG_SMIL_ERROR_E __msg_ui_viewer_main_smil_cb(SMIL_SLIDE_CLIENT_CB_PARAM_S *eventStatus, void *data);
34 static MSG_BOOL __msg_ui_vewer_get_smil_handle(void *data);
35 static MSG_BOOL __msg_ui_viewer_launch_drm_list(void *data);
36 static MSG_BOOL __msg_ui_viewer_launch_play_view(void *data);
37 static MSG_BOOL __msg_ui_viewer_show_play_view(void *data);
38
39 /*==================================================================================================
40  *                                                      FUNCTION IMPLEMENTATIONS
41  *================================================================================================*/
42 void msg_ui_viewer_main_init(void *data)
43 {
44         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
45         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, data == NULL);
46         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
47
48         viewer_main_data->main_window = NULL;
49         viewer_main_data->layout_main = NULL;
50         viewer_main_data->bg = NULL;
51         viewer_main_data->msgHandle = NULL;
52         viewer_main_data->msgID = -1;
53         viewer_main_data->launchmode = MSG_VIEWER_FULLVIEW_MODE;
54         viewer_main_data->SmilHandle = NULL;
55         viewer_main_data->msg_t = NULL;
56         viewer_main_data->mms_t = NULL;
57         viewer_main_data->ug_launch_mode = MSG_UG_MODE_FULLVIEW;
58         viewer_main_data->navi_frame = NULL;
59         viewer_main_data->player_view = NULL;
60         viewer_main_data->drm_list_view = NULL;
61         viewer_main_data->del_idler = NULL;
62 }
63
64 MSG_BOOL msg_ui_viewer_launch(void *data)
65 {
66         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
67         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
68         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
69         MSG_BOOL ret = TRUE;
70
71         if (!__msg_ui_vewer_get_smil_handle(viewer_main_data)) {
72                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "__msg_ui_vewer_get_smil_handle is failed");
73                 return FALSE;
74         }
75
76         if (viewer_main_data->launchmode == MSG_VIEWER_FULLVIEW_MODE) {
77                 if (__msg_ui_viewer_check_drm_content(viewer_main_data)) {
78                         ret = __msg_ui_viewer_launch_drm_list(viewer_main_data);
79                         viewer_main_data->view_mode = MSG_VIEWER_DRM_LIST_VIEW;
80                 } else {
81                         ret = __msg_ui_viewer_launch_play_view(viewer_main_data);
82                         viewer_main_data->view_mode = MSG_VIEWER_PLAYER_VIEW;
83                 }
84         } else {
85                 ret = __msg_ui_viewer_launch_play_view(viewer_main_data);
86                 viewer_main_data->view_mode = MSG_VIEWER_PLAYER_VIEW;
87         }
88
89         return ret;
90 }
91
92 void msg_ui_viewer_show_view_by_mode(void *data, MSG_VIEWER_VIEW_MODE_E viewMode, unsigned int commandType)
93 {
94         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, data == NULL);
95         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
96
97         MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewMode = %d", viewMode);
98         MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewer_main_data->player_view = 0x%x", viewer_main_data->player_view);
99         MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewer_main_data->drm_list_view = 0x%x", viewer_main_data->drm_list_view);
100
101         if (viewMode == MSG_VIEWER_PLAYER_VIEW) {
102                 if (commandType == MSG_VIEWER_VIEW_CMD_PLAY) {
103                         if (__msg_ui_viewer_show_play_view(viewer_main_data))
104                                 viewer_main_data->view_mode = MSG_VIEWER_PLAYER_VIEW;
105                 } else {
106                         __msg_ui_viewer_launch_play_view(viewer_main_data);
107                         viewer_main_data->view_mode = MSG_VIEWER_PLAYER_VIEW;
108                 }
109         } else if (viewMode == MSG_VIEWER_DRM_LIST_VIEW) {
110                 __msg_ui_viewer_launch_drm_list(viewer_main_data);
111                 viewer_main_data->view_mode = MSG_VIEWER_DRM_LIST_VIEW;
112         } else {
113                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "Invalid viewMode!!");
114         }
115 }
116
117 static MSG_BOOL __msg_ui_viewer_launch_drm_list(void *data)
118 {
119         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
120         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
121         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
122         MSG_DRM_LIST_DATA_S *pdrm_list_data = NULL;
123
124         /*allocate drm_list_view*/
125         if (!viewer_main_data->drm_list_view) {
126                 pdrm_list_data = (MSG_DRM_LIST_DATA_S *)calloc(1, sizeof(MSG_DRM_LIST_DATA_S));
127                 if (!pdrm_list_data) {
128                         MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "calloc is failed");
129                         return FALSE;
130                 } else
131                         viewer_main_data->drm_list_view = pdrm_list_data;
132         } else {
133                 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "drm list view is already created");
134                 pdrm_list_data = viewer_main_data->drm_list_view;
135         }
136
137         msg_ui_viewer_drm_list_init(pdrm_list_data);
138         /*set drm list view data from viewer_main_data*/
139         pdrm_list_data->mms_t = viewer_main_data->mms_t;
140         pdrm_list_data->msgID = viewer_main_data->msgID;
141         pdrm_list_data->main_window = viewer_main_data->main_window;
142         if (viewer_main_data->navi_frame)
143                 pdrm_list_data->navi_frame = viewer_main_data->navi_frame;
144
145         if (viewer_main_data->drm_list) {
146                 MSG_VIEWER_MEDIA_INFO_S *pmedia_info = NULL;
147                 int ntotal = eina_list_count(viewer_main_data->drm_list);
148                 int index = 0;
149
150                 /*copy drm list*/
151                 for (index = 0; index < ntotal; index++) {
152                         pmedia_info = eina_list_nth(viewer_main_data->drm_list, index);
153                         if (pmedia_info) {
154                                 MSG_VIEWER_MEDIA_INFO_S *ptmp_media_info = (MSG_VIEWER_MEDIA_INFO_S *)calloc(1, sizeof(MSG_VIEWER_MEDIA_INFO_S));
155                                 if (ptmp_media_info) {
156                                         memcpy(ptmp_media_info, pmedia_info, sizeof(MSG_VIEWER_MEDIA_INFO_S));
157                                 } else {
158                                         MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "calloc is failed");
159                                         break;
160                                 }
161
162                                 pdrm_list_data->drm_list = eina_list_append(pdrm_list_data->drm_list, ptmp_media_info);
163                         }
164                 }
165
166                 /*free the drm list*/
167                 if (viewer_main_data->drm_list) {
168                         MSG_VIEWER_MEDIA_INFO_S *pmedia_info = NULL;
169                         int ntotal = eina_list_count(viewer_main_data->drm_list);
170                         int index = 0;
171
172                         for (index = 0; index < ntotal; index++) {
173                                 pmedia_info = eina_list_nth(viewer_main_data->drm_list, index);
174                                 if (pmedia_info) {
175                                         free(pmedia_info);
176                                         pmedia_info = NULL;
177                                 }
178                         }
179                         eina_list_free(viewer_main_data->drm_list);
180                         viewer_main_data->drm_list = NULL;
181                 }
182         }
183         pdrm_list_data->viewer_main = viewer_main_data;
184
185         return msg_ui_viewer_create_drm_list_view(pdrm_list_data);
186 }
187
188 static MSG_BOOL __msg_ui_viewer_show_play_view(void *data)
189 {
190         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
191         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
192         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
193         MSG_PLAY_DATA_S *viewer_play_data = NULL;
194
195         if (!viewer_main_data->player_view) {
196                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "player view is not created");
197                 return FALSE;
198         } else
199                 viewer_play_data = viewer_main_data->player_view;
200
201         return msg_ui_viewer_show_player_view(viewer_play_data);
202 }
203
204 static MSG_BOOL __msg_ui_viewer_launch_play_view(void *data)
205 {
206         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
207         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
208         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
209         MSG_PLAY_DATA_S *viewer_play_data = NULL;
210
211         if (!viewer_main_data->player_view) {
212                 viewer_play_data = (MSG_PLAY_DATA_S *)calloc(1, sizeof(MSG_PLAY_DATA_S));
213                 if (!viewer_play_data) {
214                         MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "calloc is failed");
215                         return FALSE;
216                 }
217                 viewer_main_data->player_view = viewer_play_data;
218         } else {
219                 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "play view is already created");
220                 viewer_play_data = viewer_main_data->player_view;
221         }
222
223         msg_ui_viewer_play_view_init(viewer_play_data);
224
225         viewer_play_data->msgID = viewer_main_data->msgID;
226         viewer_play_data->msgHandle = viewer_main_data->msgHandle;
227         viewer_play_data->SmilHandle = viewer_main_data->SmilHandle;
228         viewer_play_data->msg_t = viewer_main_data->msg_t;
229         viewer_play_data->mms_t = viewer_main_data->mms_t;
230         viewer_play_data->main_window = viewer_main_data->main_window;
231         viewer_play_data->msg_box_viewer = viewer_main_data->msg_box_viewer;
232
233         if (viewer_main_data->navi_frame)
234                 viewer_play_data->navi_frame = viewer_main_data->navi_frame;
235
236         viewer_play_data->cbs = viewer_main_data->cbs;
237         viewer_play_data->viewer_main = viewer_main_data;
238
239         return msg_ui_viewer_create_player_view(viewer_play_data);
240 }
241
242 static MSG_SMIL_ERROR_E __msg_ui_viewer_main_smil_cb(SMIL_SLIDE_CLIENT_CB_PARAM_S *eventStatus, void *data)
243 {
244         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, eventStatus == NULL, MSG_ERR_SMIL_INVALID_PARAMETER);
245         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, MSG_ERR_SMIL_INVALID_PARAMETER);
246         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
247         MSG_PLAY_DATA_S *viewer_data = viewer_main_data->player_view;
248
249         return msg_ui_viewer_smil_cb(eventStatus, viewer_data);
250 }
251
252 static MSG_BOOL __msg_ui_vewer_get_smil_handle(void *data)
253 {
254         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
255         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
256         MSG_SMIL_ERROR_E Error = MSG_SMIL_SUCCESS;
257
258         if (viewer_main_data->launchmode == MSG_VIEWER_FULLVIEW_MODE) {
259                 if (!viewer_main_data->mms_t) {
260                         MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "viewer_main_data->mms_t is null");
261                         return FALSE;
262                 }
263         }
264
265         /*Create smilplayer handler*/
266         Error = msg_smil_create_smil_player(viewer_main_data->mms_t, __msg_ui_viewer_main_smil_cb, (void *)viewer_main_data, &(viewer_main_data->SmilHandle));
267         if (Error != MSG_SMIL_SUCCESS) {
268                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "msg_smil_create_smil_player is failed! Error = %d", Error);
269                 service_h svc_handle = NULL;
270                 service_create(&svc_handle);
271                 MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, svc_handle < 0 || svc_handle == NULL, FALSE);
272
273                 service_add_extra_data(svc_handle, MSG_BUNDLE_KEY_VIEWER_MESSAGE, MSG_BUNDLE_VALUE_ERROR);
274                 ug_send_result(viewer_main_data->viewer_ug, svc_handle);
275                 service_destroy(svc_handle);
276
277                 return FALSE;
278         }
279
280         return TRUE;
281 }
282
283 static MSG_BOOL __msg_ui_viewer_check_drm_content(void *data)
284 {
285         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
286         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
287         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
288         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, viewer_main_data->mms_t == NULL, FALSE);
289
290         MSG_BOOL isdrm_content = FALSE;
291
292         /*check invalid sd, ssd type drm file*/
293         if (msg_ui_viewer_get_invalid_ro_drm_list(viewer_main_data->mms_t, &viewer_main_data->drm_list)) {
294                 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "RO is required");
295                 isdrm_content = TRUE;
296         } else
297                 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "Ro is not required");
298
299         return isdrm_content;
300 }
301
302 Evas_Object *msg_ui_viewer_create_bg(void *data, Evas_Object *parent)
303 {
304         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, NULL);
305         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, parent == NULL, NULL);
306         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
307         Evas_Object *bg = NULL;
308
309         if (viewer_main_data->bg == NULL) {
310                 bg = elm_bg_add(parent);
311                 MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, bg == NULL, NULL);
312                 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
313                 elm_win_resize_object_add(parent, bg);
314                 evas_object_show(bg);
315                 viewer_main_data->bg = bg;
316         } else {
317                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "bg is already created");
318                 return NULL;
319         }
320
321         return bg;
322 }
323
324 Evas_Object *msg_ui_viewer_create_layout_main(Evas_Object *parent, bool indicator)
325 {
326         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, parent == NULL, NULL);
327         Evas_Object *layout = NULL;
328
329         layout = elm_layout_add(parent);
330         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, layout == NULL, NULL);
331
332         if (indicator)
333                 elm_layout_theme_set(layout, "layout", "application", "default");
334         else
335                 elm_layout_theme_set(layout, "layout", "application", "noindicator");
336
337         evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
338         evas_object_show(layout);
339
340         return layout;
341 }
342
343 void msg_ui_viewer_set_loaded_ug(void *data, ui_gadget_h loaded_ug)
344 {
345         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, data == NULL);
346         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, loaded_ug == NULL);
347         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
348         viewer_main_data->loaded_ug = loaded_ug;
349 }
350
351 void msg_ui_viewer_set_navi_frame(void *data, Evas_Object *navi_frame)
352 {
353         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, data == NULL);
354         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, navi_frame == NULL);
355         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
356         viewer_main_data->navi_frame = navi_frame;
357 }
358
359 void msg_ui_viewer_set_smilhandle(void *data, void *smilhandle)
360 {
361         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, data == NULL);
362         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
363
364         if (!smilhandle)
365                 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "smilhandle is set as NULL");
366
367         viewer_main_data->SmilHandle = smilhandle;
368 }
369
370 MSG_BOOL msg_ui_viewer_get_viewer_launchmode(void *data, MSG_VIEWER_LAUNCH_VIEW_MODE_E *launchmode)
371 {
372         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
373         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, launchmode == NULL, FALSE);
374         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
375         *launchmode = viewer_main_data->launchmode;
376
377         return TRUE;
378 }
379
380 MSG_BOOL msg_ui_viewer_get_viewer_ug_mode(void *data, MSG_UG_LAUNCH_MODE_E *ug_mode)
381 {
382         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, FALSE);
383         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, ug_mode == NULL, FALSE);
384         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
385         *ug_mode = viewer_main_data->ug_launch_mode;
386
387         return TRUE;
388 }
389
390 ui_gadget_h msg_ui_viewer_get_viewer_ug(void *data)
391 {
392         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, NULL);
393         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
394
395         return viewer_main_data->viewer_ug;
396 }
397
398 Evas_Object *msg_ui_viewer_get_main_layout(void *data)
399 {
400         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, NULL);
401         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
402
403         return viewer_main_data->layout_main;
404 }
405
406 Evas_Object *msg_ui_viewer_get_bg_layout(void *data)
407 {
408         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, NULL);
409         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
410
411         return viewer_main_data->bg;
412 }
413
414 void msg_ui_viewer_change_language(void *data)
415 {
416         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
417         MSG_UI_RET_IF(MSG_UI_LEVEL_DEBUG, data == NULL);
418         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
419
420         if (viewer_main_data->player_view) {
421                 MSG_PLAY_DATA_S *viewer_play_data = (MSG_PLAY_DATA_S *)viewer_main_data->player_view;
422
423                 if (viewer_play_data->popup) {
424                         switch (viewer_play_data->popup_type) {
425                                 case MSG_VIEWER_DELETE_POPUP:
426                                         msg_ui_viewer_delete_button_cb(viewer_play_data, NULL, NULL);
427                                         break;
428                                 case MSG_VIEWER_ATTACHMENTS_POPUP:
429                                         msg_ui_viewer_create_save_attachments_popup(viewer_play_data);
430                                         break;
431                                 case MSG_VIEWER_DETAILS_POPUP:
432                                         msg_ui_viewer_create_msg_detail_popup(viewer_play_data);
433                                         break;
434                                 case MSG_VIEWER_MENU_CTX_POPUP:
435                                         msg_ui_viewer_more_button_cb(viewer_play_data, NULL, NULL);
436                                         break;
437                                 case MSG_VIEWER_CUTLINK_POPUP:
438                                 case MSG_VIEWER_TITLE_MENU_POPUP:
439                                 case MSG_VIEWER_BLOCK_POPOP:
440                                         /* fall through */
441                                 default:
442                                         evas_object_del(viewer_play_data->popup);
443                                         viewer_play_data->popup = NULL;
444                                         viewer_play_data->popup_type = MSG_VIEWER_POPUP_NONE;
445                                         break;
446                         }
447                 }
448
449                 if (viewer_play_data->title_menu_opened) {
450                         /* close and open again */
451                         msg_ui_viewer_close_title_menu_genlist(viewer_play_data);
452                         msg_ui_viewer_open_title_menu_genlist(viewer_play_data);
453                 }
454
455                 if (viewer_play_data->render_entry && viewer_play_data->smil_eventStatus->isHelpSlide) {
456                         char buf_helptext[DEF_BUF_LEN+1] = {0,};
457                         snprintf(buf_helptext, sizeof(buf_helptext), "<color=#6ca8c7>%s", ((viewer_play_data->attach_count > 1) ? dgettext(MESSAGE_PKGNAME, "IDS_MSGF_POP_HELP_PAGE_MESSAGE") : dgettext(MESSAGE_PKGNAME, "IDS_MSGF_POP_HELP_PAGE_MESSAGE_FOR_ONE_FILE")));
458                         elm_entry_entry_set(viewer_play_data->render_entry, buf_helptext);
459                 }
460         }
461 }