📄 jmmsmainmmsui.c
字号:
jdd_MemSetActiveModuleID(E_TASK_MMS_UI);
EntryNewScreen(SCR_ID_JMMS_MAIN_MENU, NULL, mmi_jmms_entry_main_menu, NULL);
mmi_jmms_reset_fw_flag_of_message();
gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_MAIN_MENU);
num_item = GetNumOfChild(MESSAGES_MENU_MMS_MENUID);
GetSequenceStringIds_Ext(MESSAGES_MENU_MMS_MENUID, str_item_list);
GetSequenceImageIds_Ext(MESSAGES_MENU_MMS_MENUID, item_icons);
SetParentHandler(MESSAGES_MENU_MMS_MENUID);
RegisterHighlightHandler(ExecuteCurrHiliteHandler);
ConstructHintsList(MESSAGES_MENU_MMS_MENUID, popup_list);
/* reset the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = 0;
g_jmms_context->msg_open_status[1] = 0;
g_jmms_context->nCurr_scr_hilited_index = 0;
ShowCategory52Screen(
STR_MMS_MENUENTRY,
GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
STR_GLOBAL_OK,
IMG_GLOBAL_OK,
STR_GLOBAL_BACK,
IMG_GLOBAL_BACK,
num_item,
str_item_list,
item_icons,
(U8 **) popup_list,
0,
0,
gui_buffer);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
mmi_jmms_delete_compose_temp_files();
}
#ifndef __MMI_UNIFIED_MESSAGE__
/*****************************************************************************
* FUNCTION
* mmi_jmms_exit_main_menu
* DESCRIPTION
* THis is the exit fn for main mms screen
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_exit_main_menu(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* /deinit_the store_module(gmsgcontext->store handle) */
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_hint_inbox
* DESCRIPTION
* This is the hint handler of inbox menu item
* PARAMETERS
* index [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_hint_inbox(U16 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 value[10];
U8 number = 0;
JC_RETCODE eRet = JC_OK;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_INBOX, &number);
if (eRet != JC_OK)
{
number = 0;
}
/* MAUI_00018221 Start */
memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
sprintf((S8*) value, "%d ", number);
AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_hint_outbox
* DESCRIPTION
* This is the hint handler of outbox menu item
* PARAMETERS
* index [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_hint_outbox(U16 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 value[10];
U8 number = 0;
JC_RETCODE eRet = JC_OK;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &number);
if (eRet != JC_OK)
{
number = 0;
}
/* MAUI_00018221 Start */
memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
sprintf((S8*) value, "%d ", number);
AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_hint_sent
* DESCRIPTION
* This is the hint handler of sent menu item
* PARAMETERS
* index [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_hint_sent(U16 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 value[10];
U8 number = 0;
JC_RETCODE eRet = JC_OK;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_SENT, &number);
if (eRet != JC_OK)
{
number = 0;
}
/* MAUI_00018221 Start */
memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
sprintf((S8*) value, "%d ", number);
AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_hint_drafts
* DESCRIPTION
* This is the hint handler of drafts menu item
* PARAMETERS
* index [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_hint_drafts(U16 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 value[10];
U8 number = 0;
JC_RETCODE eRet = JC_OK;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &number);
if (eRet != JC_OK)
{
number = 0;
}
/* MAUI_00018221 Start */
memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
sprintf((S8*) value, "%d ", number);
AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
/*****************************************************************************
* FUNCTION
* mmi_jmms_folder_list_highlight_hdlr
* DESCRIPTION
* This is the highlight handler menu items of main mms screen
* PARAMETERS
* index [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_folder_list_highlight_hdlr(S32 index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
g_jmms_context->nCurr_scr_hilited_index = (U8) index;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_get_folder_msg_list
* DESCRIPTION
*
* PARAMETERS
* msgs_list [IN]
* foldername [?] [?] [?]
* total_num_msgs [IN]
* RETURNS
*
*****************************************************************************/
JC_RETCODE mmi_jmms_get_folder_msg_list(jmms_folder_msgs_list **msgs_list, S8 *foldername, U8 total_num_msgs)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JC_RETCODE eRet = JC_OK;
RETRIEVE_FILTERS StoreRetFilter = {0, };
MESSAGE_LIST *pMessageList = NULL;
MESSAGE_LIST *pTempMsgList = NULL;
jmms_folder_msgs_list *msgs_list_node = NULL;
#ifdef __MMI_UNIFIED_MESSAGE__
S32 msg_counter = 0;
um_jmms_attachment_present_list *temp_pending_list_p = NULL;
#endif /* __MMI_UNIFIED_MESSAGE__ */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
StoreRetFilter.uiStartIndex = g_jmms_context->store_context->jmms_start_index;
StoreRetFilter.eRetrieve = E_RETRIEVE_BY_INDEX;
if (g_jmms_context->store_context->jmms_start_index <= total_num_msgs)
{
if ((StoreRetFilter.uiStartIndex + NUM_MSGS_IN_ONE_UNIT - 1) < total_num_msgs)
{
StoreRetFilter.uiNumMessage = NUM_MSGS_IN_ONE_UNIT;
}
else
{
StoreRetFilter.uiNumMessage = total_num_msgs - StoreRetFilter.uiStartIndex + 1;
}
eRet = mmi_jmms_get_messages_list(foldername, &pTempMsgList, &StoreRetFilter);
if (eRet != JC_OK || pTempMsgList == NULL)
{
return JC_ERR_MEMORY_ALLOCATION;
}
}
pMessageList = pTempMsgList;
#ifdef __MMI_UNIFIED_MESSAGE__
msg_counter = total_num_msgs; /* StoreRetFilter.uiStartIndex + StoreRetFilter.uiNumMessage - 1; */
#endif
while (pMessageList != NULL)
{
#ifdef __MMI_UNIFIED_MESSAGE__
MMI_BOOL is_parsing_check_required = MMI_FALSE;
#endif
msgs_list_node = (jmms_folder_msgs_list*) jdd_MemAlloc(sizeof(jmms_folder_msgs_list), 1);
if (msgs_list_node == NULL)
{
return JC_ERR_MEMORY_ALLOCATION;
}
#ifdef __MMI_UNIFIED_MESSAGE__
msgs_list_node->um_msg_info = (mmi_um_msg_info_struct*) jdd_MemAlloc(sizeof(mmi_um_msg_info_struct), 1);
if (msgs_list_node->um_msg_info == NULL)
{
mmi_jmms_free_attacment_pending_status_list();
temp_pending_list_p = NULL;
return JC_ERR_MEMORY_ALLOCATION;
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
switch (pMessageList->pMessageHeaders->eMsgType)
{
case E_MSG_TYPE_NOTIFICATION:
{
MESSAGE_NOTIFICATION *notification_p;
#ifndef __MMI_UNIFIED_MESSAGE__
S32 len = 0;
#endif
notification_p = (MESSAGE_NOTIFICATION*) (pMessageList->pMessageHeaders->pHeaders);
msgs_list_node->msg_type = E_MSG_NOTIFICATION;
if (notification_p->pSubject == NULL)
{
#ifdef __MMI_UNIFIED_MESSAGE__
mmi_um_jmms_add_mms_sub_for_list_info(
&msgs_list_node->um_msg_info,
(JC_CHAR*) GetString(STR_ID_NO_SUBJECT),
(msg_counter - StoreRetFilter.uiStartIndex));
#else /* __MMI_UNIFIED_MESSAGE__ */
msgs_list_node->subject_as_caption = (S8*) GetString(STR_ID_NO_SUBJECT);
#endif /* __MMI_UNIFIED_MESSAGE__ */
}
else
{
#ifdef __MMI_UNIFIED_MESSAGE__
mmi_um_jmms_add_mms_sub_for_list_info(
&msgs_list_node->um_msg_info,
(JC_CHAR*) (notification_p->pSubject),
(msg_counter - StoreRetFilter.uiStartIndex));
#else /* __MMI_UNIFIED_MESSAGE__ */
len = (pfnUnicodeStrlen((S8*) (notification_p->pSubject)) + 1) * ENCODING_LENGTH;
if (len > (MAX_SUBJECT_LENGTH * ENCODING_LENGTH))
{
len = (MAX_SUBJECT_LENGTH + 1) * ENCODING_LENGTH;
}
msgs_list_node->subject_as_caption = (S8*) jdd_MemAlloc(sizeof(S8), len);
if (msgs_list_node->subject_as_caption == NULL)
{
jdd_MemFree(msgs_list_node);
return JC_ERR_MEMORY_ALLOCATION;
}
memcpy(
(S8*) (msgs_list_node->subject_as_caption),
(S8*) (notification_p->pSubject),
len - ENCODING_LENGTH);
#endif /* __MMI_UNIFIED_MESSAGE__ */
}
#ifdef __MMI_UNIFIED_MESSAGE__
if (notification_p->pFrom != NULL)
{
mmi_um_jmms_add_mms_address_for_list_info(
&msgs_list_node->um_msg_info,
notification_p->pFrom,
(msg_counter - StoreRetFilter.uiStartIndex));
}
msgs_list_node->um_msg_info->timestamp = (*notification_p).uiReceivedTime;
is_parsing_check_required = MMI_FALSE;
#else /* __MMI_UNIFIED_MESSAGE__ */
if (notification_p->pFrom != NULL)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -