⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plxmms_edit.c

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 C
📖 第 1 页 / 共 5 页
字号:
                //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 + -