📄 jmmsoutboxui.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2002
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* jmms_outbox_ui.C
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* This file contains the ui for outbox folder in MMS
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef _MMI_JMMSOUTBOXSECMMI_C
#define _MMI_JMMSOUTBOXSECMMI_C
/*****************************************************************************
* Include
*****************************************************************************/
#include "MMI_features.h"
#if (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT))
#include "PixtelDataTypes.h"
#include "Unicodexdcl.h"
#include "HistoryGprot.h"
#include "GlobalDefs.h"
#include "SettingProfile.h"
#include "DebugInitDef.h"
#include "CommonScreens.h"
#include "EventsGprot.h"
#include "wgui_inputs.h"
#include "wgui_categories.h"
#include "wgui_categories_inputs.h"
#include "JMMSStoreHandling.h"
#include "MainMenuDef.h"
#include "JMMSConfig.h"
#include "JMMSMainMMS.h"
#include "JMMSUseDetails.h"
#include "JMMSOutbox.h"
#include "JMMSCoreAPI.h"
#include <ddl.h>
#include <jcal.h>
#include <jcalnet.h>
#include "jdi_wspdatatype.h"
#include "jdi_transport.h"
#include <jdi_communicator.h>
#include <MessagingDatatypes.h>
#include <MessagingAPI.h>
#include "JMMSConfig.h"
#include "JMMSMessageSettings.h"
#include "JMMSCoreAPI.h"
#include "JMMSDrafts.h"
#include "JMMSExdcl.h"
#include "JMMSCompose.h"
#include "JMMSGprot.h"
#include "JMMSInbox.h"
#include "JMMSJSRHandler.h"
#include "JMMSMainMMS.h"
#include "JMMSMessageSettingsUtils.h"
#include "JMMSOutbox.h"
#include "JMMSProtocols.h"
#include "JMMSPushHandling.h"
#include "JMMSResEnum.h"
#include "JMMSSent.h"
#include "JMMSStoreHandling.h"
#include "JMMSStructs.h"
#include "JMMSTemplates.h"
#include "JMMSUseDetails.h"
#include "JMMSView.h"
#include "JMMSWriteMMS.h"
#ifdef __MMI_UNIFIED_MESSAGE__
#include "UnifiedMessageDef.h"
#include "UnifiedMessageProt.h"
#include "JMMSUMHandling.h"
#endif /* __MMI_UNIFIED_MESSAGE__ */
#include "wapadp.h" // compiler warning removal
#include <PrvMessagingDataTypes.h>
/*****************************************************************************
* Define
*****************************************************************************/
/*****************************************************************************
* Typedef
*****************************************************************************/
/*****************************************************************************
* Local Variable
*****************************************************************************/
/*****************************************************************************
* Local Function
*****************************************************************************/
/*****************************************************************************
* Global Variable
*****************************************************************************/
/*****************************************************************************
* Global Function
*****************************************************************************/
extern U16 DeleteScreenFromToNnodes(U16 ScrId, U16 num_nodes);
extern U8 DeleteFromScrUptoScr(U16 beyondScrnid, U16 tillScrnid);
#ifndef __MMI_UNIFIED_MESSAGE__
/*****************************************************************************
* FUNCTION
* mmi_jmms_highlight_outbox
* DESCRIPTION
* Highlight hdlr of Outbox menu item
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_highlight_outbox(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(mmi_jmms_entry_outbox, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_entry_outbox, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
SetKeyHandler(mmi_jmms_entry_outbox, KEY_WAP, KEY_EVENT_DOWN);
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
/*****************************************************************************
* FUNCTION
* mmi_jmms_outbox_init
* DESCRIPTION
* This function init the hilight handlers of outbox menu items.
* This is called at boot up time
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_outbox_init(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* Outbox options Highlight handlers */
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_VIEW, mmi_jmms_highlight_outbox_options_view);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_RESEND, mmi_jmms_highlight_outbox_options_resend);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_DELETE, mmi_jmms_highlight_outbox_options_delete);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_DELETE_ALL, mmi_jmms_highlight_outbox_options_delete_all);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_PROPERTIES, mmi_jmms_highlight_outbox_options_properties);
/* Outbox use details highlight handlers */
SetHiliteHandler(
MENU_ID_JMMS_OUTBOX_USE_DETAILS_ADDRESSES_ADD_TO_CONTACT,
mmi_jmms_highlight_options_use_details_add_to_contact);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_USE_DETAILS_ADDRESSES_CALL, mmi_jmms_highlight_options_use_details_call);
//KP Jerry add on 2007-4-12 start
#ifdef __MMI_MESSAGES_SENDMSG_QUICKLY__
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_USE_DETAILS_ADDRESSES_DAILIP, mmi_jmms_highlight_options_use_details_dialIP);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_USE_DETAILS_ADDRESSES_SENDSMS, mmi_jmms_highlight_options_use_details_sendsms);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_USE_DETAILS_ADDRESSES_SENDMMS, mmi_jmms_highlight_options_use_details_sendmms);
#endif
//KP Jerry add on 2007-4-12 end
#ifdef __MMI_UNIFIED_MESSAGE__
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_EDIT_MESSAGE, mmi_jmms_highlight_outbox_options_edit_message);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_SAVE_OBJECTS, mmi_jmms_highlight_outbox_options_save_object);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_USE_DETAILS_NUMBER, mmi_jmms_highlight_outbox_options_use_number);
#else /* __MMI_UNIFIED_MESSAGE__ */
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_USE_DETAILS, mmi_jmms_highlight_outbox_options_use_details);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_USE_DETAILS_EMAIL, mmi_jmms_highlight_options_use_details_email);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_USE_DETAILS_NUMBER, mmi_jmms_highlight_options_use_details_number);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_SENT_TO_OTHERS, mmi_jmms_highlight_outbox_options_sent_to_others);
SetHiliteHandler(MENU_ID_JMMS_OUTBOX_OPTIONS_MOVE_TO_DRAFTS, mmi_jmms_highlight_outbox_options_move_to_drafts);
#endif /* __MMI_UNIFIED_MESSAGE__ */
}
#ifndef __MMI_UNIFIED_MESSAGE__
/*****************************************************************************
* FUNCTION
* mmi_jmms_entry_outbox
* DESCRIPTION
* Pre entry fn for outbox
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_entry_outbox(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 total_num_msgs = 0;
JC_RETCODE eRet = JC_OK;
U16 currScrenID = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
eRet = mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &total_num_msgs);
if (eRet != JC_OK)
{
ASSERT(0);
}
/* set the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = E_JMMS_OUTBOX;
g_jmms_context->msg_open_status[1] = 0;
if (total_num_msgs == 0)
{
DisplayPopup((U8*) GetString(STR_GLOBAL_EMPTY), IMG_GLOBAL_EMPTY, 1, JMMS_POPUP_TIME, EMPTY_LIST_TONE);
return;
}
g_jmms_context->store_context->nMsgs_in_Current_folder = total_num_msgs;
g_jmms_context->store_context->update_nmsgs_in_current_folder = 0;
g_jmms_context->store_context->current_folder_name = E_JMMS_OUTBOX;
mmi_jmms_free_msgs_list(&(g_jmms_context->store_context->messages_list));
g_jmms_context->store_context->jmms_start_index = 1;
mmi_jmms_entry_get_msgs_progress_screen();
eRet = mmi_jmms_get_folder_msg_list(&(g_jmms_context->store_context->messages_list), MMI_JMMS_OUTBOX, total_num_msgs);
if (eRet != JC_OK || g_jmms_context->store_context->messages_list == NULL)
{
currScrenID = GetActiveScreenId();
mmi_jmms_free_msgs_list(&(g_jmms_context->store_context->messages_list));
if (currScrenID == SCR_ID_JMMS_GET_MSGS_PROGRESS_SCREEN)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_ERROR_GET_MSG_LIST),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
DeleteUptoScrID(SCR_ID_JMMS_MAIN_MENU);
}
else
{
/* to avoid the show of pop up over Phone call or some other screen */
HistoryReplace(
SCR_ID_JMMS_GET_MSGS_PROGRESS_SCREEN,
SCR_ID_JMMS_GET_MSGS_ERROR_SCREEN,
mmi_jmms_entry_msgs_get_error_screen);
}
}
return;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_entry_outbox_screen
* DESCRIPTION
* Entry fn for outbox screen
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_entry_outbox_screen(void)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -