⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmmscomposeui.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#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 + -