📄 plxmms_edit.c
字号:
//show number
pfnUnicodeStrcpy((S8*)g_edit_data.cc_item, (S8*)p->num);
}
else
{
//show name
pfnUnicodeStrcpy((S8*)g_edit_data.cc_item, (S8*)uni_text);
}
}
}
else //n numbers
{
sprintf(text, "%d ", g_edit_data.cc_list.count);
AnsiiToUnicodeString((S8*)g_edit_data.cc_item, (S8*)text);
pfnUnicodeStrcat((S8*)g_edit_data.cc_item, (S8*)GetString(MMS_EDITMENUSTR_RECEIVERS));
}
//bcc
g_edit_data.bcc_list.title = STR_ID_PLX_MMS_BCC;
if(!g_edit_data.bcc_list.head) //none
{
g_edit_data.bcc_item[0] = 0;
g_edit_data.bcc_item[1] = 0;
}
else if(g_edit_data.bcc_list.count == 1) //only 1
{
p = g_edit_data.bcc_list.head;
if(p)
{
//get name
if(p->bEMail)
{
#ifdef MMS_RECVLIST_NOMAILNAME
uni_text[0] = uni_text[1] = 0;
#else
PLIB_GetPhbookName((WCHAR*)uni_text, MAX_MAINMENU_TEXT_LEN*2,
PFIELD_EMAIL, (const WCHAR*)p->num);
#endif
}
else
{
PLIB_GetPhbookName((WCHAR*)uni_text, MAX_MAINMENU_TEXT_LEN*2,
PFIELD_NUMBER, (const WCHAR*)p->num);
}
if(!pfnUnicodeStrlen((S8*)uni_text)) //no name
{
//show number
pfnUnicodeStrcpy((S8*)g_edit_data.bcc_item, (S8*)p->num);
}
else
{
//show name
pfnUnicodeStrcpy((S8*)g_edit_data.bcc_item, (S8*)uni_text);
}
}
}
else //n numbers
{
sprintf(text, "%d ", g_edit_data.bcc_list.count);
AnsiiToUnicodeString((S8*)g_edit_data.bcc_item, (S8*)text);
pfnUnicodeStrcat((S8*)g_edit_data.bcc_item, (S8*)GetString(MMS_EDITMENUSTR_RECEIVERS));
}
//content
sprintf(text, "%d ", mmsmsg_GetSlideCount(g_edit_data.message));
AnsiiToUnicodeString((S8*)g_edit_data.content_item, (S8*)text);
pfnUnicodeStrcat((S8*)g_edit_data.content_item, (S8*)GetString(MMS_EDITMENUSTR_SLIDES));
content_size = mmsmsg_GetMessageSize(g_edit_data.message);
GetShowSize(content_size, &content_size_k, &content_size_dec);
if(content_size_dec > 0)
{
sprintf(text, " (%d.%d K)", content_size_k, content_size_dec);
}
else
{
sprintf(text, " (%d K)", content_size_k);
}
AnsiiToUnicodeString((S8*)uni_text, (S8*)text);
pfnUnicodeStrcat((S8*)g_edit_data.content_item, (S8*)uni_text);
//att
i = mmsmsg_GetAttCount(g_edit_data.message);
sprintf(text, "%d ", i);
AnsiiToUnicodeString((S8*)g_edit_data.att_item, (S8*)text);
pfnUnicodeStrcat((S8*)g_edit_data.att_item, (S8*)GetString(MMS_EDITMENUSTR_ATTS));
}
/***************************************************************************
* Function ConstructInlineStruct
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void ConstructInlineStruct(void)
{
// g_mmSS.pTo = MmsFormatSender(g_mmSE.pTo);
//to
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_TO]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_TO]), (U8*)g_edit_data.to_item);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_TO]));
//cc
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_CC]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_CC]),(U8*)g_edit_data.cc_item);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_CC]));
//bcc
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_BCC]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_BCC]),(U8*)g_edit_data.bcc_item);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_BCC]));
//subject
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_SUB]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_SUB]),(U8*)g_edit_data.sub);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_SUB]));
//content
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_CONTENT]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_CONTENT]),(U8*)g_edit_data.content_item);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_CONTENT]));
//att
SetInlineItemActivation((&wgui_inline_items[MMS_EDIT_MENU_ATT]),
INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);
SetInlineItemDisplayOnly((&wgui_inline_items[MMS_EDIT_MENU_ATT]),(U8*)g_edit_data.att_item);
SetInlineItemDottedUnderline((&wgui_inline_items[MMS_EDIT_MENU_ATT]));
}
/***************************************************************************
* Function ExitEditMainMenu
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void ExitEditMainMenu(void)
{
//if save?
if((mmsmsg_IsMessageModified(g_edit_data.message) ||
mmsmsg_IsTextModified(g_edit_data.message) ||
mmsmsg_IsImageModified(g_edit_data.message) ||
mmsmsg_IsSoundModified(g_edit_data.message) ||
g_edit_data.bTextModified ||
g_edit_data.bSubModified ||
g_edit_data.recv_list.modified ||
g_edit_data.cc_list.modified ||
g_edit_data.bcc_list.modified)
)
{
PLIB_ConfirmBox(NULL, (WCHAR*)GetString(STR_ID_PLX_MMS_EDIT_IFSAVE),
(WCHAR*)GetString(STR_GLOBAL_YES), (WCHAR*)GetString(STR_GLOBAL_NO),
NULL, 0, NULL, 0, IfSaveCallback);
SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
}
else
{
ExitMmsEdit(FALSE);
}
#ifdef __MMI_TOUCH_SCREEN__
mmi_wgui_reset_list_item_selected_callback();
#endif
}
/***************************************************************************
* Function IfSaveCallback
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void IfSaveCallback(PLIBEVENT event)
{
switch(event)
{
case PEVENT_POSITIVE:
SaveAndExit();
break;
case PEVENT_NEGTIVE:
CancelConfirm();
break;
}
}
/***************************************************************************
* Function CancelConfirm
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void CancelConfirm(void)
{
// GoBackHistory();
ExitMmsEdit(FALSE);
}
/***************************************************************************
* Function SaveAndExit
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void SaveAndExit(void)
{
if(SaveMmsMessageNotExit())
ExitMmsEdit(FALSE);
}
/***************************************************************************
* Function MmsEditHintHandler
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void MmsEditHintHandler(U16 index)
{
#ifndef __MMI_TOUCH_SCREEN__
switch(index)
{
case MMS_EDIT_MENU_TO:
case MMS_EDIT_MENU_CC:
case MMS_EDIT_MENU_BCC:
case MMS_EDIT_MENU_SUB:
case MMS_EDIT_MENU_CONTENT:
case MMS_EDIT_MENU_ATT:
default:
//pfnUnicodeStrcpy((S8*)hintData[index], (S8*)L"");
hintData[index][0] = 0;
hintData[index][1] = 0;
}
#else
switch(index)
{
case MMS_EDIT_MENU_TO:
if(g_edit_data.to_item[0] == 0 &&
g_edit_data.to_item[1] == 0)
{
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)GetString(STR_ID_PLX_MMS_EDIT_NOTO));
}
else
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.to_item);
break;
case MMS_EDIT_MENU_CC:
if(g_edit_data.cc_item[0] == 0 &&
g_edit_data.cc_item[1] == 0)
{
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)GetString(STR_ID_PLX_MMS_EDIT_NOCC));
}
else
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.cc_item);
break;
case MMS_EDIT_MENU_BCC:
if(g_edit_data.bcc_item[0] == 0 &&
g_edit_data.bcc_item[1] == 0)
{
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)GetString(STR_ID_PLX_MMS_EDIT_NOBCC));
}
else
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.bcc_item);
break;
case MMS_EDIT_MENU_SUB:
if(g_edit_data.sub[0] == 0 &&
g_edit_data.sub[1] == 0)
{
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)GetString(STR_ID_PLX_MMS_EDIT_NOSUB));
}
else
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.sub);
break;
case MMS_EDIT_MENU_CONTENT:
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.content_item);
break;
case MMS_EDIT_MENU_ATT:
pfnUnicodeStrcpy((S8*)hintData[index], (S8*)g_edit_data.att_item);
break;
default:
//pfnUnicodeStrcpy((S8*)hintData[index], (S8*)L"");
hintData[index][0] = 0;
hintData[index][1] = 0;
}
#endif
}
/***************************************************************************
* Function MmsEditHiliteHandler
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void MmsEditHiliteHandler(S32 index)
{
static S8 curTitle[30];
if(index >= 0 && index < MMS_EDIT_MENU_MAX)
{
pfnUnicodeStrcpy(curTitle, (S8*)GetString(g_edit_mainmenu_table[index].string));
ChangeLeftSoftkey(STR_GLOBAL_OPTIONS, IMG_GLOBAL_OK);
SetLeftSoftkeyFunction(EnterEditMainMenuMenu, KEY_EVENT_UP);
SetKeyHandler(g_edit_mainmenu_table[index].entry, KEY_ENTER, KEY_EVENT_UP);
SetRightSoftkeyFunction(ExitEditMainMenu,KEY_EVENT_UP);
#ifdef __MMI_TOUCH_SCREEN__
mmi_wgui_register_list_item_selected_callback(g_edit_mainmenu_table[index].entry);
#endif
g_edit_data.cur_hilite_item = index;
}
ChangeTitleString((U8*)curTitle);
draw_title();
}
/***************************************************************************
* Function EnterEditMainMenuMenu
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void EnterEditMainMenuMenu(void)
{
if(!g_edit_data.hMainMenuMenu)
{
InitEditMainMenuMenu();
if(!g_edit_data.hMainMenuMenu)
return;
}
//set items
//send
#ifdef MMS_DEBUG
PlxTrace("msg empty=%d", mmsmsg_IsEmptyMessage(g_edit_data.message));
PlxTrace("recv count=%d", g_edit_data.recv_list.count);
PlxTrace("cc count=%d", g_edit_data.cc_list.count);
PlxTrace("bcc count=%d", g_edit_data.bcc_list.count);
#endif
if(mmsmsg_IsEmptyMessage(g_edit_data.message) ||
(!g_edit_data.recv_list.count && //to
!g_edit_data.cc_list.count && //cc
!g_edit_data.bcc_list.count) //bcc
)
{
PlxModifyDMenuItem(g_edit_data.hMainMenuMenu, 1, MF_BYPOSITION | MF_DISABLED,
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].id,
(const char*)GetString(g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].string),
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].icon);
}
else
{
PlxModifyDMenuItem(g_edit_data.hMainMenuMenu, 1, MF_BYPOSITION | MF_ENABLED,
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].id,
(const char*)GetString(g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].string),
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SEND].icon);
}
//save
if((mmsmsg_IsMessageModified(g_edit_data.message) ||
mmsmsg_IsTextModified(g_edit_data.message) ||
mmsmsg_IsImageModified(g_edit_data.message) ||
mmsmsg_IsSoundModified(g_edit_data.message) ||
g_edit_data.bTextModified ||
g_edit_data.bSubModified ||
g_edit_data.recv_list.modified ||
g_edit_data.cc_list.modified ||
g_edit_data.bcc_list.modified)
)
{
PlxModifyDMenuItem(g_edit_data.hMainMenuMenu, 2, MF_BYPOSITION | MF_ENABLED,
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].id,
(const char*)GetString(g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].string),
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].icon);
}
else
{
PlxModifyDMenuItem(g_edit_data.hMainMenuMenu, 2, MF_BYPOSITION | MF_DISABLED,
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].id,
(const char*)GetString(g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].string),
g_edit_mainmenumenu_table[MMS_EDIT_MENUMENU_SAVE].icon);
}
//show
PlxSetDMenuDispInfo(STR_GLOBAL_OPTIONS, IMG_ID_PLX_MMS,
STR_GLOBAL_OK, IMG_GLOBAL_OK, STR_GLOBAL_BACK, IMG_GLOBAL_BACK);
PlxShowDMenu(g_edit_data.hMainMenuMenu,
SCR_ID_PLX_MMS_EDIT_MAINMENUMENU, STR_ID_PLX_MMS_MENU,
MmsEditMainMenuMenuCallback, EmptyMainMenuMenuEntry);
// SetRightSoftkeyFunction(EditMainMenuMenuGoBack, KEY_EVENT_UP);
}
/***************************************************************************
* Function EnterTo
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void EnterTo(void)
{
if(!CreateRecvEdit(&g_edit_data.recv_list, 0, SCR_ID_PLX_MMS_EDIT))
{
//err
EditMainMenuMenuGoBack();
}
}
/***************************************************************************
* Function EnterCC
* Purpose
* Params
* Return
* Remarks
\**************************************************************************/
void EnterCC(void)
{
if(!CreateRecvEdit(&g_edit_data.cc_list, 1, SCR_ID_PLX_MMS_EDIT))
{
//err
EditMainMenuMenuGoBack();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -