2 * Copyright 2012 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.
17 /*==================================================================================================
19 *==================================================================================================*/
20 #include "msg-ui-viewer-main.h"
21 #include "msg-ui-common-utility.h"
23 /*==================================================================================================
24 * FUNCTION IMPLEMENTATIONS
25 *================================================================================================*/
26 void msg_ui_viewer_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
28 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
29 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, ug == NULL);
30 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, priv == NULL);
31 Evas_Object *base = NULL;
32 MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)priv;
34 base = ug_get_layout(ug);
36 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "base is NULL");
42 case UG_MODE_FULLVIEW:
43 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
44 evas_object_show(base);
47 case UG_MODE_FRAMEVIEW:
48 elm_object_part_content_set(viewer_main_data->layout_main, "content", base);
54 MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
58 void msg_ui_viewer_result_cb(ui_gadget_h ug, service_h service, void *priv)
60 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
64 Eina_Bool msg_ui_viewer_ug_quit(void *data)
66 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
67 MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, ECORE_CALLBACK_CANCEL);
68 MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
70 if (viewer_main_data != NULL) {
71 /*destroy captured image and resource.*/
72 if (viewer_main_data->SmilHandle) {
73 msg_smil_destroy_smil_player(viewer_main_data->SmilHandle);
74 msg_ui_viewer_set_smilhandle(viewer_main_data, NULL);
76 if (viewer_main_data->player_view)
77 viewer_main_data->player_view->SmilHandle = NULL;
80 if (viewer_main_data->viewer_ug) {
81 msg_common_reset_font_size("entry");
82 ug_destroy_me(viewer_main_data->viewer_ug);
85 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "viewer_main_data is NULL");
88 return ECORE_CALLBACK_CANCEL;
92 void msg_ui_viewer_destroy_cb(ui_gadget_h ug, void *priv)
94 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
95 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, ug == NULL);
96 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, priv == NULL);
97 MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)priv;
99 if (viewer_main_data->loaded_ug) {
100 ug_destroy(viewer_main_data->loaded_ug);
101 viewer_main_data->loaded_ug = NULL;
104 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewer_main_data->view_mode : %d", viewer_main_data->view_mode);
105 if (viewer_main_data->view_mode == MSG_VIEWER_PLAYER_VIEW) {
106 if (viewer_main_data->player_view) {
107 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "PLAYER launch_cmd : %d, cmd_type : %d", viewer_main_data->player_view->launch_cmd, viewer_main_data->player_view->cmd_type);
108 if (viewer_main_data->player_view->launch_cmd == MSG_VIEWER_LOAD_OTHER_UG_MODE &&
109 (viewer_main_data->player_view->cmd_type == MSG_VIEWER_CMD_LOAD_CONTACT)) {
111 /*update title button text after contact sync */
112 msg_ui_viewer_title_update(viewer_main_data->player_view, MSG_VIEWER_OPTION_CONTACT);
115 bool isHelpText = (!viewer_main_data->player_view->smil_eventStatus) ? false : ((viewer_main_data->player_view->smil_eventStatus->isHelpSlide) ? true : false);
116 MSG_VIEWER_ENTRY_TYPE_E entry_type = (isHelpText) ? MSG_VIEWER_ENTRY_HELP_TEXT : MSG_VIEWER_ENTRY_NORMAL_TEXT;
117 msg_ui_viewer_set_font_size(viewer_main_data->player_view, entry_type, MSG_VIEWER_FONT_CHANGE_LATEST_UPDATE);
119 /*connect handler again*/
120 msg_ui_viewer_connect_handler(viewer_main_data->player_view);
122 viewer_main_data->player_view->launch_cmd = MSG_VIEWER_DEFAULT_MODE;
123 viewer_main_data->player_view->cmd_type = MSG_VIEWER_CMD_NONE;
127 MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);