📄 jmmscomposeui.c
字号:
#include "JMMSInbox.h"
#include "FileManagerGProt.h"
#ifdef __MMI_FILE_MANAGER__
#include "FileMgr.h"
#endif
#include "JMMSCoreAPI.h"
#include "ddlbase.h"
#include "JMMSGdcl.h"
#include "jcutils.h"
#include "ddlutils.h"
#include "ddl.h"
#include "jdi_MMSErr.h"
#include "jcerror.h"
#include "ddl.h"
#include "FileSystemDef.h"
#include "FileManagerDef.h"
#include "FileSystemGProt.h"
#include "fs_type.h"
#include "fs_func.h"
#include "fs_errcode.h"
#include "FileMgr.h"
#include "jdd_memapi.h"
#include "JMMSGprot.h"
#include "ToDoListDef.h"
#include "FontRes.h"
#include "vCard.h"
#include "PhoneBookDef.h"
#include "PhoneBookGprot.h"
#include "PhoneBookTypes.h"
#include "MainMenuDef.h"
#include "NVRAMEnum.h"
#include "NVRAMProt.h"
#include "jMMSDRMHandler.h"
#include "DebugInitDef.h"
/* PMT VIKAS START 20060502 */
#if defined(__MMI_AUDIO_PLAYER__) || defined (_MMI_VIDEO_PLAYER__)
#include "PixtelDataTypes.h" /* dependent headers for AudioPlayerProt.h" */
#include "mdi_datatype.h" /* dependent headers for AudioPlayerProt.h" */
#endif /* defined(__MMI_AUDIO_PLAYER__) || defined (_MMI_VIDEO_PLAYER__) */
#if defined(__MMI_AUDIO_PLAYER__)
#include "AudioPlayerProt.h"
#endif
#ifdef __MMI_VIDEO_PLAYER__
#include "mdi_video.h"
#include "jdd_videoapi.h"
/* PMT VIKAS END 20060502 */
#endif /* __MMI_VIDEO_PLAYER__ */
#include "wgui_categories_multimedia.h"
#include "JMMSMessageSettingsUtils.h"
#include "jdd_fileapi.h"
#include "lcd_sw_rnd.h"
#include "custom_wap_config.h"
#ifdef __MMI_UNIFIED_MESSAGE__
#include "JMMSUMHandling.h"
#endif
#include "CallManagementGprot.h"
/* Include: PS header file */
/* ... Add More PS header */
extern MMI_ALERT_TYPE GetMtCallAlertTypeEnum(void);
static FuncPtr g_add_media_hdlr;
MMI_BOOL is_add_media_as_drm;
/* IMPORTANT - If you add an entry in this table, increemnt MAX_NON_ATTACH_FILE_TYPE count as well */
#define MAX_NON_ATTACH_FILE_TYPE 5
const fmgr_filter_struct g_jmms_non_attach_filter[MAX_NON_ATTACH_FILE_TYPE] =
{
{FMGR_TYPE_EMS, "EMS"},
{FMGR_TYPE_ANM, "ANM"},
{FMGR_TYPE_DCF, "DCF"},
{FMGR_TYPE_DM, "DM"},
{FMGR_TYPE_SVG, "SVG"}
};
extern const fmgr_filter_struct fmgr_filter[FMGR_MAX_FILTER_COUNT];
/*****************************************************************************
* Define
*****************************************************************************/
/*****************************************************************************
* Typedef
*****************************************************************************/
/*****************************************************************************
* Local static Variable
*****************************************************************************/
/*****************************************************************************
* Local Function
*****************************************************************************/
/* PMT VIKAS START 20060502 */
static void mmi_jmms_video_idle_preview_in_composer(
S8 *filename,
S32 x_frame,
S32 y_frame,
S32 width_frame,
S32 height_frame);
static void mmi_jmms_image_idle_preview_in_composer(S8 *filename, S32 img_x, S32 img_y, S32 img_width, S32 img_height);
/* PMT VIKAS END 20060502 */
/*****************************************************************************
* Global Variable
*****************************************************************************/
static U8 g_custom_color_RGB_list[3];
static U32 g_text_custom_color_RGB = 0x00000064; /* to save the color customized by user. */
static U32 g_bg_custom_color_RGB = 0x00000064; /* to save the color customized by user. */
static U8 g_custom_var_change = 0;
/* MAUI_00018451 Start */
static mmi_cat91_color_slider_enum g_slider_info = MMI_CAT91_COLOR_SLIDER_RED_COLOR;
/* MAUI_00018451 End */
/* PMT VIKAS START 20060502 */
U8 *g_media_buffer_p = NULL;
/* PMT VIKAS END 20060502 */
extern BOOL r2lMMIFlag; /* Right-to-left languages (e.g. Arabic) */
/*****************************************************************************
* Global Function
*****************************************************************************/
extern mdi_result mdi_audio_get_duration(void *file_name, U32 *time_p); // compiler warning removal
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_init
* DESCRIPTION
* Initialization function of MMS compose.
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_compose_init(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT, mmi_jmms_highlight_attachment_insert);
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_DELETE, mmi_jmms_highlight_attachment_delete);
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_ATTACHMENT, mmi_jmms_highlight_attachment_attachment);
#ifdef __MMI_VCARD__
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_VCARD, mmi_jmms_highlight_attachment_vcard);
#endif
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_VCALENDAR, mmi_jmms_highlight_attachment_vcalendar);
#ifdef __MMI_VCARD__
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT_VCARD_FILEMGR, mmi_jmms_highlight_attachment_vcard_fm);
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT_VCARD_PHB, mmi_jmms_highlight_attachment_vcard_phb);
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT_MY_VCARD, mmi_jmms_highlight_attachment_my_vcard);
#endif /* __MMI_VCARD__ */
#ifdef __MMI_TODOLIST__
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT_VCALENDAR_TODO_LIST, mmi_jmms_highlight_attachment_vcal_todolist);
#endif
SetHiliteHandler(MENU_ID_JMMS_ATTACHMENT_INSERT_VCALENDAR_FILEMGR, mmi_jmms_highlight_attachment_vcal_fm);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INPUT_METHOD, mmi_jmms_highlight_edit_content_ip_method);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT, mmi_jmms_highlight_edit_content_insert);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_DELETE, mmi_jmms_highlight_edit_content_delete);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_REPLACE, mmi_jmms_highlight_edit_content_replace);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_PLAY_AUDIO, mmi_jmms_highlight_edit_content_play_audio);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_PLAY_VIDEO, mmi_jmms_highlight_edit_content_play_video);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_GOTO, mmi_jmms_highlight_edit_content_goto);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS, mmi_jmms_highlight_edit_content_settings);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_PREVIEW, mmi_jmms_highlight_edit_content_preview);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_OPTION_DONE, mmi_jmms_highlight_edit_content_done);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT_IMAGE, mmi_jmms_highlight_edit_content_insert_image);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT_AUDIO, mmi_jmms_highlight_edit_content_insert_audio);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT_VIDEO, mmi_jmms_highlight_edit_content_insert_video);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT_SLIDE, mmi_jmms_highlight_edit_content_insert_slide);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_INSERT_CONTACT, mmi_jmms_highlight_edit_content_insert_contact);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_DELETE_IMAGE, mmi_jmms_highlight_edit_content_delete_image);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_DELETE_AUDIO, mmi_jmms_highlight_edit_content_delete_audio);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_DELETE_VIDEO, mmi_jmms_highlight_edit_content_delete_video);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_DELETE_SLIDE, mmi_jmms_highlight_edit_content_delete_slide);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_REPLACE_IMAGE, mmi_jmms_highlight_edit_content_replace_image);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_REPLACE_AUDIO, mmi_jmms_highlight_edit_content_replace_audio);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_REPLACE_VIDEO, mmi_jmms_highlight_edit_content_replace_video);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_GOTO_NEXT, mmi_jmms_highlight_edit_content_goto_next);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_GOTO_PREVIOUS, mmi_jmms_highlight_edit_content_goto_previous);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_GOTO_SLIDE_LIST, mmi_jmms_highlight_edit_content_goto_slide_list);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SLIDE_TIME, mmi_jmms_highlight_edit_content_slide_time);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_TEXT, mmi_jmms_highlight_edit_content_text_settings);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL, mmi_jmms_highlight_edit_content_smil_settings);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL_TEXT_TIME, mmi_jmms_highlight_smil_settings_text_timings);
SetHiliteHandler(
MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL_IMAGE_TIME,
mmi_jmms_highlight_smil_settings_image_timings);
SetHiliteHandler(
MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL_AUDIO_TIME,
mmi_jmms_highlight_smil_settings_audio_timings);
SetHiliteHandler(
MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL_VIDEO_TIME,
mmi_jmms_highlight_smil_settings_video_timings);
SetHiliteHandler(MENU_ID_JMMS_EDIT_CONTENT_SETTINGS_SMIL_BGCOLOR, mmi_jmms_highlight_smil_settings_bg_color);
#ifdef __MMI_UNIFIED_MESSAGE__
mmi_um_jmms_set_folder_list_callback_function(mmi_um_jmms_dummy_folder_list_callback);
#endif
//#ifdef __MMI_MMS_SIGNATURE__
mmi_jmms_reset_fw_flag_of_inbox();
//#endif
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_attachment_insert
* DESCRIPTION
* highlight fn for menu option attachment->insert
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_attachment_insert(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetLeftSoftkeyFunction(mmi_jmms_entry_attachment_insert, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_attachment_insert, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_entry_attachment_insert, KEY_WAP, KEY_EVENT_DOWN);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_attachment_delete
* DESCRIPTION
* highlight fn for menu option attachment->delete
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_attachment_delete(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetLeftSoftkeyFunction(mmi_jmms_entry_edit_content_delete_attachment, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_edit_content_delete_attachment, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_entry_edit_content_delete_attachment, KEY_WAP, KEY_EVENT_DOWN);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_attachment_attachment
* DESCRIPTION
* highlight fn for menu option attachment->insert->attachment
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_attachment_attachment(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetLeftSoftkeyFunction(mmi_jmms_entry_filemgr_insert_attachment, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_filemgr_insert_attachment, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_entry_filemgr_insert_attachment, KEY_WAP, KEY_EVENT_DOWN);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_attachment_vcard
* DESCRIPTION
* highlight fn for menu option attachment->insert->vcard
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_attachment_vcard(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, 0);
ChangeRightSoftkey(STR_GLOBAL_BACK, 0);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetLeftSoftkeyFunction(mmi_jmms_entry_attachment_insert_vcard, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_attachment_insert_vcard, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -