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");
41 Evas_Object *win = ug_get_window();
44 case UG_MODE_FULLVIEW:
45 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
46 evas_object_show(base);
49 case UG_MODE_FRAMEVIEW:
50 elm_object_part_content_set(viewer_main_data->layout_main, "content", base);
56 MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
60 void msg_ui_viewer_result_cb(ui_gadget_h ug, service_h service, void *priv)
62 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
66 Eina_Bool msg_ui_viewer_ug_quit(void *data)
68 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
69 MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, ECORE_CALLBACK_CANCEL);
70 MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
72 if (viewer_main_data != NULL) {
73 /*destroy captured image and resource.*/
74 if (viewer_main_data->SmilHandle) {
75 msg_smil_destroy_smil_player(viewer_main_data->SmilHandle);
76 msg_ui_viewer_set_smilhandle(viewer_main_data, NULL);
78 if (viewer_main_data->player_view)
79 viewer_main_data->player_view->SmilHandle = NULL;
82 if (viewer_main_data->viewer_ug) {
83 msg_common_reset_font_size("entry");
84 ug_destroy_me(viewer_main_data->viewer_ug);
87 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "viewer_main_data is NULL");
90 return ECORE_CALLBACK_CANCEL;
94 void msg_ui_viewer_destroy_cb(ui_gadget_h ug, void *priv)
96 MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
97 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, ug == NULL);
98 MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, priv == NULL);
99 MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)priv;
101 if (viewer_main_data->loaded_ug) {
102 ug_destroy(viewer_main_data->loaded_ug);
103 viewer_main_data->loaded_ug = NULL;
106 MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewer_main_data->view_mode : %d", viewer_main_data->view_mode);
107 if (viewer_main_data->view_mode == MSG_VIEWER_PLAYER_VIEW) {
108 if (viewer_main_data->player_view) {
109 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);
110 if (viewer_main_data->player_view->launch_cmd == MSG_VIEWER_LOAD_OTHER_UG_MODE &&
111 (viewer_main_data->player_view->cmd_type == MSG_VIEWER_CMD_LOAD_CONTACT)) {
113 /*update title button text after contact sync */
114 msg_ui_viewer_title_update(viewer_main_data->player_view, MSG_VIEWER_OPTION_CONTACT);
117 bool isHelpText = (!viewer_main_data->player_view->smil_eventStatus) ? false : ((viewer_main_data->player_view->smil_eventStatus->isHelpSlide) ? true : false);
118 MSG_VIEWER_ENTRY_TYPE_E entry_type = (isHelpText) ? MSG_VIEWER_ENTRY_HELP_TEXT : MSG_VIEWER_ENTRY_NORMAL_TEXT;
119 msg_ui_viewer_set_font_size(viewer_main_data->player_view, entry_type, MSG_VIEWER_FONT_CHANGE_LATEST_UPDATE);
121 /*connect handler again*/
122 msg_ui_viewer_connect_handler(viewer_main_data->player_view);
124 viewer_main_data->player_view->launch_cmd = MSG_VIEWER_DEFAULT_MODE;
125 viewer_main_data->player_view->cmd_type = MSG_VIEWER_CMD_NONE;
129 MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);