plxmms_setting.c
来自「mtk wap和mms代码。。适应mtk 25。26平台」· C语言 代码 · 共 1,973 行 · 第 1/5 页
C
1,973 行
{
// set_wgui_inline_list_menu_status(1);
g_sendsetting_data.cur_item = index;
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(SaveSendSetting, KEY_EVENT_UP);
SetKeyHandler(SaveSendSetting, KEY_ENTER, KEY_EVENT_DOWN);
SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
if(index == MMS_SENDSETTING_DURCTRL)
{
#ifdef __MMI_WITH_C_KEY__
/* if(pfnUnicodeStrlen((S8*)g_sendsetting_data.dur) == 0)
{
ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
SetRightSoftkeyFunction(ExitSendSetting, KEY_EVENT_UP);
}
RegisterInputBoxEmptyFunction(SendSetDurEmpty);
RegisterInputBoxNotEmptyFunction(SendSetDurNotEmpty);
*/
// if(get_wgui_inline_list_menu_status())
// SetCategory57RightSoftkeyFunctions(NULL, NULL);
ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
SetRightSoftkeyFunction(ExitSendSetting, KEY_EVENT_DOWN);
#endif
}
else
{
ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
SetRightSoftkeyFunction(ExitSendSetting, KEY_EVENT_DOWN);
}
}
void SendSetDurEmpty(void)
{
ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
SetRightSoftkeyFunction(ExitSendSetting, KEY_EVENT_UP);
}
void SendSetDurNotEmpty(void)
{
#ifdef __MMI_WITH_C_KEY__
SendSetDurEmpty();
#endif
}
////////////////////////////////////////////////////////////////////////////
//receive setting
/***************************************************************************
* Function CreateRecvSetting
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
BOOL CreateRecvSetting(void* mmse)
{
char size[SIZE_LEN];
#ifdef MMS_DEBUG
PlxTrace("CreateRecvSetting\r\n");
#endif
//get option
if(!mmse)
return FALSE;
MMS_Memset((void*)&g_recvsetting_data, 0, sizeof(MmsRecvSettingData));
g_recvsetting_data.mmse = mmse;
#ifdef MMS_UISETTINGFILE
g_recvsetting_data.option.option.mask = MMOM_RECEIVEFLAG | MMOM_MAXSIZE;
#else
g_recvsetting_data.option.mask = MMOM_RECEIVEFLAG | MMOM_MAXSIZE;
#endif
#ifdef MMS_UISETTINGFILE
if(ReadSettingFromFile(&g_recvsetting_data.option) < 0)
#else
if(MMSE_GetOption(mmse, (PMMSEOPTION)&(g_recvsetting_data.option)) < 0)
#endif
{
MMS_Memset((void*)&g_recvsetting_data, 0, sizeof(MmsRecvSettingData));
return FALSE;
}
#ifdef MMS_DEBUG
{
/*
PlxTrace(" MMSUI: ~~~~~~~~~~~~~~~~ enter recv setting, check settings\r\n");
PlxTrace(" MMSUI: mmsc = %s\r\n", g_recvsetting_data.option.mmsc);
PlxTrace(" MMSUI: gateway = %s\r\n", g_recvsetting_data.option.gateway);
PlxTrace(" MMSUI: port = %d\r\n", g_recvsetting_data.option.port);
PlxTrace(" MMSUI: expire = %x\r\n", g_recvsetting_data.option.expire);
PlxTrace(" MMSUI: send flag = %x\r\n", g_recvsetting_data.option.SendFlag);
PlxTrace(" MMSUI: receive flag = %x\r\n", g_recvsetting_data.option.ReceiveFlag);
PlxTrace(" MMSUI: max receive size = %ld\r\n", g_recvsetting_data.option.MaxSize);
PlxTrace(" MMSUI: max send size = %ld\r\n", g_recvsetting_data.option.MaxSendSize);
PlxTrace(" MMSUI: max num = %d\r\n", g_recvsetting_data.option.MaxNum);
PlxTrace(" MMSUI: slide duration = %d\r\n", (int)g_recvsetting_data.option.SlideDuration);
PlxTrace(" MMSUI: dail id = %d\r\n", g_recvsetting_data.option.DialID);
*/
}
#endif
//recv string
g_recvsetting_entry_table[MMS_RECVSETTING_RECVCTRL].item_string[0] =
(U8*)GetString(MMS_RECVSETTING_STR_IMM);
g_recvsetting_entry_table[MMS_RECVSETTING_RECVCTRL].item_string[1] =
(U8*)GetString(MMS_RECVSETTING_STR_DELAY);
g_recvsetting_entry_table[MMS_RECVSETTING_RECVCTRL].item_string[2] =
(U8*)GetString(MMS_RECVSETTING_STR_DENY);
//ad string
g_recvsetting_entry_table[MMS_RECVSETTING_ADCTRL].item_string[0] =
(U8*)GetString(MMS_RECVSETTING_STR_ALLOW);
g_recvsetting_entry_table[MMS_RECVSETTING_ADCTRL].item_string[1] =
(U8*)GetString(MMS_RECVSETTING_STR_DENY);
//send string
g_sendsetting_entry_table[MMS_RECVSETTING_SENDREPORTCTRL].item_string[0] =
(U8*)GetString(MMS_RECVSETTING_STR_ON);
g_sendsetting_entry_table[MMS_RECVSETTING_SENDREPORTCTRL].item_string[1] =
(U8*)GetString(MMS_RECVSETTING_STR_OFF);
//read string
g_sendsetting_entry_table[MMS_RECVSETTING_READREPORTCTRL].item_string[0] =
(U8*)GetString(MMS_RECVSETTING_STR_ON);
g_sendsetting_entry_table[MMS_RECVSETTING_READREPORTCTRL].item_string[1] =
(U8*)GetString(MMS_RECVSETTING_STR_OFF);
#ifdef MMS_UISETTINGFILE
sprintf(size, "%d", g_recvsetting_data.option.option.MaxSize);
#else
sprintf(size, "%d", g_recvsetting_data.option.MaxSize);
#endif
AnsiiToUnicodeString((S8*)g_recvsetting_data.max_size, (S8*)size);
//enter
EnterRecvSetting();
return TRUE;
}
/***************************************************************************
* Function EnterRecvSetting
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void EnterRecvSetting(void)
{
int i;
U16 icon;
U8* guiBuffer=NULL;
U16 itemicon[MAX_SUB_MENUS];
if(GetActiveScreenId() != SCR_ID_PLX_MMS_SENDSETTING)
{
EntryNewScreen(SCR_ID_PLX_MMS_SENDSETTING, LeaveRecvSetting, EnterRecvSetting, NULL);
#ifndef __MMI_WITH_C_KEY__
guiBuffer = GetCurrGuiBuffer(SCR_ID_PLX_MMS_SENDSETTING);
#endif
}
RegisterHighlightHandler(RecvSettingHiliteHandler);
//set item
InitializeCategory57Screen();
InitRecvInlineListStruct();
icon = IMG_GLOBAL_L1;
for(i = 0; i < MMS_RECVSETTING_COUNT; i++)
{
if(i % 2)
{
itemicon[i] = 0;
}
else
{
itemicon[i] = (U16)icon;
icon++;
}
}
ShowCategory57Screen(STR_ID_PLX_MMS_SETTING_RECVSETTING, IMG_ID_PLX_MMS,
STR_GLOBAL_OK, 0,
STR_GLOBAL_BACK, 0,
MMS_RECVSETTING_COUNT,
itemicon, wgui_inline_items, g_recvsetting_data.cur_item, guiBuffer);
set_wgui_inline_list_menu_status(1);
ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
//ChangeRightSoftkey(STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
SetLeftSoftkeyFunction(SaveRecvSetting, KEY_EVENT_UP);
SetKeyHandler(SaveRecvSetting, KEY_ENTER, KEY_EVENT_DOWN);
SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
#ifdef __MMI_WITH_C_KEY__
// SetCategory57RightSoftkeyFunctions(SaveRecvSetting, ExitRecvSetting);
DisableCategory57ScreenDone();
#endif
}
void LeaveRecvSetting(void)
{
CloseCategory57Screen();
}
/***************************************************************************
* Function InitRecvInlineListStruct
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void InitRecvInlineListStruct(void)
{
//recv
//text item
SetInlineItemCaption(&wgui_inline_items[MMS_RECVSETTING_RECV],
(U8*)GetString(g_recvsetting_entry_table[MMS_RECVSETTING_RECV].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_VALID],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_RECVSETTING_RECVCTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
#ifdef MMS_UISETTINGFILE
if( (g_recvsetting_data.option.option.ReceiveFlag & MMRF_RECEIVE) == MMRF_RECEIVE )
#else
if( (g_recvsetting_data.option.ReceiveFlag & MMRF_RECEIVE) == MMRF_RECEIVE ) //receive on
#endif
{
#ifdef MMS_UISETTINGFILE
if( (g_recvsetting_data.option.option.ReceiveFlag & MMRF_AUTORETRIEVE) == MMRF_AUTORETRIEVE )
#else
if( (g_recvsetting_data.option.ReceiveFlag & MMRF_AUTORETRIEVE) == MMRF_AUTORETRIEVE ) //imm
#endif
{
g_recvsetting_data.recv_index = 0;
}
else
{
g_recvsetting_data.recv_index = 1;
}
}
else //receive off
{
g_recvsetting_data.recv_index = 2;
}
SetInlineItemSelect(&wgui_inline_items[MMS_RECVSETTING_RECVCTRL],
g_recvsetting_entry_table[MMS_RECVSETTING_RECVCTRL].item_count,
g_recvsetting_entry_table[MMS_RECVSETTING_RECVCTRL].item_string,
&(g_recvsetting_data.recv_index));
CenterJustifyInlineItem(&wgui_inline_items[MMS_RECVSETTING_RECVCTRL]);
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_RECVSETTING_RECVCTRL],
// RecvSettingHiliteHandler);
//ad
//text item
SetInlineItemCaption(&wgui_inline_items[MMS_RECVSETTING_AD],
(U8*)GetString(g_recvsetting_entry_table[MMS_RECVSETTING_AD].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_PRI],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_RECVSETTING_ADCTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
#ifdef MMS_UISETTINGFILE
if( (g_recvsetting_data.option.option.ReceiveFlag & MMRF_RECEIVEADVERT) == MMRF_RECEIVEADVERT )
#else
if( (g_recvsetting_data.option.ReceiveFlag & MMRF_RECEIVEADVERT) == MMRF_RECEIVEADVERT )
#endif
g_recvsetting_data.ad_index = 0;
else
g_recvsetting_data.ad_index = 1;
SetInlineItemSelect(&wgui_inline_items[MMS_RECVSETTING_ADCTRL],
g_recvsetting_entry_table[MMS_RECVSETTING_ADCTRL].item_count,
g_recvsetting_entry_table[MMS_RECVSETTING_ADCTRL].item_string, &(g_recvsetting_data.ad_index));
CenterJustifyInlineItem(&wgui_inline_items[MMS_RECVSETTING_ADCTRL]);
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_RECVSETTING_ADCTRL],
// RecvSettingHiliteHandler);
//send report
//text item
SetInlineItemCaption(&wgui_inline_items[MMS_RECVSETTING_SENDREPORT],
(U8*)GetString(g_recvsetting_entry_table[MMS_RECVSETTING_SENDREPORT].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_SENDREPORT],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_RECVSETTING_SENDREPORTCTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
#ifdef MMS_UISETTINGFILE
if( (g_recvsetting_data.option.option.ReceiveFlag & MMRF_DELIVERYNOTIFICATION) == MMRF_DELIVERYNOTIFICATION )
#else
if( (g_recvsetting_data.option.ReceiveFlag & MMRF_DELIVERYNOTIFICATION) == MMRF_DELIVERYNOTIFICATION )
#endif
g_recvsetting_data.send_index = 0; //on
else
g_recvsetting_data.send_index = 1; //off
SetInlineItemSelect(&wgui_inline_items[MMS_RECVSETTING_SENDREPORTCTRL],
g_recvsetting_entry_table[MMS_RECVSETTING_SENDREPORTCTRL].item_count,
g_recvsetting_entry_table[MMS_RECVSETTING_SENDREPORTCTRL].item_string, &(g_recvsetting_data.send_index));
CenterJustifyInlineItem(&wgui_inline_items[MMS_RECVSETTING_SENDREPORTCTRL]);
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_RECVSETTING_SENDREPORTCTRL],
// RecvSettingHiliteHandler);
//read report
SetInlineItemCaption(&wgui_inline_items[MMS_RECVSETTING_READREPORT],
(U8*)GetString(g_recvsetting_entry_table[MMS_RECVSETTING_READREPORT].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_READREPORT],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_RECVSETTING_READREPORTCTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
#ifdef MMS_UISETTINGFILE
if( (g_recvsetting_data.option.option.ReceiveFlag & MMRF_READNOTIFICATION) == MMRF_READNOTIFICATION )
#else
if( (g_recvsetting_data.option.ReceiveFlag & MMRF_READNOTIFICATION) == MMRF_READNOTIFICATION )
#endif
g_recvsetting_data.read_index = 0; //on
else
g_recvsetting_data.read_index = 1; //off
SetInlineItemSelect(&wgui_inline_items[MMS_RECVSETTING_READREPORTCTRL],
g_recvsetting_entry_table[MMS_RECVSETTING_READREPORTCTRL].item_count,
g_recvsetting_entry_table[MMS_RECVSETTING_READREPORTCTRL].item_string, &(g_recvsetting_data.read_index));
CenterJustifyInlineItem(&wgui_inline_items[MMS_RECVSETTING_READREPORTCTRL]);
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_RECVSETTING_READREPORTCTRL],
// RecvSettingHiliteHandler);
//max size
//text item
SetInlineItemCaption(&wgui_inline_items[MMS_RECVSETTING_MAXSIZE],
(U8*)GetString(g_recvsetting_entry_table[MMS_RECVSETTING_MAXSIZE].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_DUR],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_RECVSETTING_MAXSIZECTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
SetInlineItemTextEdit(&wgui_inline_items[MMS_RECVSETTING_MAXSIZECTRL],
(U8*)g_recvsetting_data.max_size, SIZE_LEN, INPUT_TYPE_NUMERIC);
CenterJustifyInlineItem(&wgui_inline_items[MMS_RECVSETTING_MAXSIZECTRL]);
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_RECVSETTING_MAXSIZECTRL],
// RecvSettingHiliteHandler);
/*
//dur
//text item
SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_DUR],
(U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_DUR].string));
// RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_DUR],
// SendSettingHiliteHandler);
//ctrl item
SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_DURCTRL],
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
SetInlineItemTextEdit(&wgui_inline_items[MMS_SENDSETTING_DURCTRL],
g_sendsetting_data.dur, DUR_LEN, INPUT_TYPE_NUMERIC);
CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_DURCTRL]);
*/
}
/***************************************************************************
* Function SaveRecvSetting
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void SaveRecvSetting(void)
{
// int i = 0;
char size[SIZE_LEN];
unsigned short ReceiveFlag;
unsigned short MaxSize;
if(!g_recvsetting_data.mmse)
return;
if(g_recvsetting_data.cur_item == MMS_RECVSETTING_MAXSIZECTRL)
handle_inline_text_edit_complete();
//max size
UnicodeToAnsii((S8*)size, (S8*)g_recvsetting_data.max_size);
MaxSize = (unsigned short)atoi((char*)size);
//invalid size
if(pfnUnicodeStrlen(
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?