📄 jmmsoutboxui.c
字号:
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
PU8 gui_buffer; /* Buffer holding history data */
U8 num_item; /* Stores no of children in the submenu */
JC_RETCODE eRet = JC_OK;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &num_item);
if (eRet != JC_OK)
{
ASSERT(0);
}
//if number of msga in fodelr is not same to as in global var then
//it means some has been recieved as user was in inbox so need to update
///the msgs list
if (g_jmms_context->store_context->update_nmsgs_in_current_folder)
{
mmi_jmms_entry_outbox();
return;
}
EntryNewScreen(SCR_ID_JMMS_OUTBOX, NULL, mmi_jmms_entry_outbox_screen, NULL);
gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_OUTBOX);
SetParentHandler(MENU_ID_JMMS_OUTBOX);
RegisterHighlightHandler(mmi_jmms_folder_list_highlight_hdlr);
/* reset the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = 0;
g_jmms_context->msg_open_status[1] = 0;
ShowCategory184Screen(
STR_ID_JMMS_OUTBOX,
GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
STR_GLOBAL_OPTIONS,
IMG_GLOBAL_OPTIONS,
STR_GLOBAL_BACK,
IMG_GLOBAL_BACK,
g_jmms_context->store_context->nMsgs_in_Current_folder,
mmi_jmms_get_item_data_outbox,
mmi_jmms_get_item_hint_outbox,
g_jmms_context->nCurr_scr_hilited_index,
gui_buffer);
SetLeftSoftkeyFunction(mmi_jmms_entry_outbox_options_scren, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_outbox_options_scren, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_entry_outbox_options_scren, KEY_WAP, KEY_EVENT_DOWN);
SetRightSoftkeyFunction(mmi_jmms_back_from_msgs_list_screen, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_back_from_msgs_list_screen, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_get_item_data_outbox
* DESCRIPTION
* fn retrun the item data
* PARAMETERS
* item_index [IN] (index of item to be drawn)
* str_buff [IN] (string of item)
* img_buff_p [?] [?] [?] (image corrsponding to item
* str_img_mask [IN]
* RETURNS
* void
*****************************************************************************/
pBOOL mmi_jmms_get_item_data_outbox(S32 item_index, UI_string_type str_buff, PU8 *img_buff_p, U8 str_img_mask)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S32 count = 0;
jmms_folder_msgs_list *msgs_list_node = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if ((item_index < 0) || (item_index > MAX_POSSIBLE_MESSAGES))
{
return FALSE;
}
msgs_list_node = g_jmms_context->store_context->messages_list;
while (count != item_index && msgs_list_node != NULL)
{
msgs_list_node = msgs_list_node->next;
count++;
}
if (msgs_list_node == NULL)
{
return FALSE;
}
pfnUnicodeStrcpy((S8*) str_buff, msgs_list_node->subject_as_caption);
*img_buff_p = (PU8) GetImage((U16) (IMG_ID_JMMS_SENT));
return TRUE;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_get_item_hint_outbox
* DESCRIPTION
* Retrun the hint fot the item to be drawn
* PARAMETERS
* item_index [IN] (index of item to be drawn)
* hint_array [?] [?] [?] (hint buufer for the item_index)
* RETURNS
* void
*****************************************************************************/
S32 mmi_jmms_get_item_hint_outbox(S32 item_index, UI_string_type *hint_array)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S32 count = 0;
jmms_folder_msgs_list *msgs_list_node = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if ((item_index < 0) || (item_index > MAX_POSSIBLE_MESSAGES))
{
return FALSE;
}
msgs_list_node = g_jmms_context->store_context->messages_list;
while (count != item_index && msgs_list_node != NULL)
{
msgs_list_node = msgs_list_node->next;
count++;
}
if (msgs_list_node == NULL || msgs_list_node->address_as_hint == NULL)
{
return 0;
}
if (pfnUnicodeStrlen((S8*) (msgs_list_node->address_as_hint)))
{
pfnUnicodeStrcpy((S8*) hint_array[0], (S8*) (msgs_list_node->address_as_hint));
}
else
{
return 0; /* No Hint Data */
}
return TRUE;
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
/*****************************************************************************
* FUNCTION
* mmi_jmms_entry_outbox_options_scren
* DESCRIPTION
* Entry fn for outbox options screen
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_entry_outbox_options_scren(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
PU8 gui_buffer; /* Buffer holding history data */
U16 str_item_list[MAX_SUB_MENUS]; /* Stores the strings id of submenus returned */
U16 num_item; /* Stores no of children in the submenu */
#ifdef __MMI_UNIFIED_MESSAGE__
U8 curr_page =0;
MEDIA_INFO *image_info;
U8 media_count = 0;
#endif
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
EntryNewScreen(SCR_ID_JMMS_OUTBOX_OPTIONS, NULL, mmi_jmms_entry_outbox_options_scren, NULL);
gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_OUTBOX_OPTIONS);
#ifdef __MMI_UNIFIED_MESSAGE__
DeleteScreenIfPresent(SCR_ID_JMMS_OUTBOX_OPTIONS);
#endif
num_item = GetNumOfChild(MENU_ID_JMMS_OUTBOX_OPTIONS);
#ifdef __MMI_UNIFIED_MESSAGE__
mmi_jmms_jdi_get_media_count(g_jmms_context->msg_handle, 0, &media_count, E_TRUE);
mmi_jmms_jdi_get_current_page_index(g_jmms_context->msg_handle, &curr_page);
image_info = mmi_jmms_jdi_get_image_data(curr_page);
if (g_jmms_context->view_context != NULL)
{
if (/*g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_IMAGE ||
g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_AUDIO ||
g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_VIDEO ||
*/
media_count || g_jmms_context->view_context->view_audio_id || g_jmms_context->view_context->view_video_id || image_info != NULL)
{
mmi_frm_unhide_menu_item(MENU_ID_JMMS_OUTBOX_OPTIONS_SAVE_OBJECTS);
}
else
{
mmi_frm_hide_menu_item(MENU_ID_JMMS_OUTBOX_OPTIONS_SAVE_OBJECTS);
num_item--;
}
}
else
{
mmi_frm_hide_menu_item(MENU_ID_JMMS_OUTBOX_OPTIONS_SAVE_OBJECTS);
num_item--;
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
GetSequenceStringIds_Ext(MENU_ID_JMMS_OUTBOX_OPTIONS, str_item_list);
SetParentHandler(MENU_ID_JMMS_OUTBOX_OPTIONS);
RegisterHighlightHandler(ExecuteCurrHiliteHandler);
#ifndef __MMI_UNIFIED_MESSAGE__
/* set the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = E_JMMS_OUTBOX;
/* PMT HIMANSHU START 20060425 */
g_jmms_context->msg_open_status[1] =
(U32) mmi_jmms_get_message_id(
MMI_JMMS_OUTBOX,
(g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index));
/* PMT HIMANSHU END 20060425 */
#endif
ShowCategory52Screen(
STR_GLOBAL_OPTIONS,
GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
STR_GLOBAL_OK,
IMG_GLOBAL_OK,
STR_GLOBAL_BACK,
IMG_GLOBAL_BACK,
num_item,
str_item_list,
(U16*) gIndexIconsImageList,
NULL,
0,
0,
gui_buffer);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_outbox_options_view
* DESCRIPTION
* Highlight hdlr of Outbox option view
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_outbox_options_view(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
#ifdef __MMI_UNIFIED_MESSAGE__
SetLeftSoftkeyFunction(mmi_jmms_pre_entry_view, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_pre_entry_view, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_pre_entry_view, KEY_WAP, KEY_EVENT_DOWN);
#else
SetLeftSoftkeyFunction(mmi_jmms_outbox_view, KEY_EVENT_UP);
/* MAUI_00018463 Start */
//SetKeyHandler(mmi_jmms_outbox_view, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
/* MAUI_00018463 End */
SetKeyHandler(mmi_jmms_outbox_view, KEY_WAP, KEY_EVENT_DOWN);
#endif
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_outbox_options_resend
* DESCRIPTION
* Highlight hdlr of Outbox option resend
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_outbox_options_resend(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(mmi_jmms_outbox_resend, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_outbox_resend, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_outbox_resend, KEY_WAP, KEY_EVENT_DOWN);
}
#ifndef __MMI_UNIFIED_MESSAGE__
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_outbox_options_sent_to_others
* DESCRIPTION
* Highlight hdlr of Outbox option sent to others
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_outbox_options_sent_to_others(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(mmi_jmms_outbox_sent_to_others, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_outbox_sent_to_others, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_outbox_sent_to_others, KEY_WAP, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_outbox_options_move_to_drafts
* DESCRIPTION
* Highlight hdlr of Outbox option movr to drafts
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_outbox_options_move_to_drafts(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(mmi_jmms_outbox_move_to_drafts, KEY_EVENT_UP);
SetKeyHandler(NULL, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_outbox_move_to_drafts, KEY_WAP, KEY_EVENT_DOWN);
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -