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

📄 plxmms_obj.c

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 C
📖 第 1 页 / 共 5 页
字号:
	case MMS_OBJ_TEXT:
    default:
        save_type = PCONTYPE_UNKNOWN;
//        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
//            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
//        ObjMenuGoBack();
        break;
    }

    //data
    data = mmsmsg_GetGivenContentData(g_obj_data.message, 
        g_obj_data.cur_item->content, &len);
    if(!data)
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    if(bContentText) //conver to UNICODE
    {
        uni_text = UTF8ToUnicodeText((const char*)data, len, &uni_len); 
        if(!uni_text)
        {
            PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
                (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
            MMS_Free((void*)data);
            ObjMenuGoBack();
            return;
        }
//        cur_screen_id = GetActiveScreenId();
//        SetActiveScreenId(SCR_ID_PLX_MMS_OBJLIST);

        PLIB_SaveDownloadData((void*)uni_text, uni_len*2, 
            g_obj_data.cur_item->content->type,
            (const WCHAR*)def_name, 0, SaveObjCallback);

        MMS_Free((void*)uni_text);
    }
    else
    {
//        cur_screen_id = GetActiveScreenId();
//        SetActiveScreenId(SCR_ID_PLX_MMS_OBJLIST);

        if(g_obj_data.cur_item->type == MMS_OBJ_BMP ||
           g_obj_data.cur_item->type == MMS_OBJ_WBMP ||
           g_obj_data.cur_item->type == MMS_OBJ_GIF ||
           g_obj_data.cur_item->type == MMS_OBJ_PNG ||
           g_obj_data.cur_item->type == MMS_OBJ_JPG)
        {
            PLIB_SaveDownloadData(data, len, NULL,
                (const WCHAR*)def_name, 0, SaveObjCallback);
        }
        else
        {
            PLIB_SaveDownloadData(data, len, g_obj_data.cur_item->content->type,
                (const WCHAR*)def_name, 0, SaveObjCallback);
        }
    }
	MMS_Free((void*)data);
}

/***************************************************************************
* Function	SaveImage
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
/*void SaveImage(void)
{
    U8* pDot = NULL;
    unsigned short* dot = L".";

    if(!g_obj_data.cur_item)
        return;

    //get obj name
    pfnUnicodeStrcpy((S8*)g_obj_data.save_filename, (S8*)g_obj_data.cur_item->name);
    pDot= MMS_WFindCharFromEnd(g_obj_data.save_filename, 
        pfnUnicodeStrlen((S8*)g_obj_data.save_filename), (const unsigned short)dot[0]);

    //remove wchars after '.'
    if(pDot)
    {
        *((unsigned short*)pDot) = 0x0000;
    }

    EndSaveImage(g_obj_data.save_filename);
}
*/
/***************************************************************************
* Function	SaveSound
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
/*void SaveSound(void)
{
    U8* pDot = NULL;
    unsigned short* dot = L".";

    if(!g_obj_data.cur_item)
        return;
    pfnUnicodeStrcpy((S8*)g_obj_data.save_filename, (S8*)g_obj_data.cur_item->name);
    pDot= MMS_WFindCharFromEnd(g_obj_data.save_filename, 
        pfnUnicodeStrlen((S8*)g_obj_data.save_filename), (const unsigned short)dot[0]);

    if(pDot)
    {
        *((unsigned short*)pDot) = 0x0000;
    }

    EndSaveSound(g_obj_data.save_filename);
}
*/
/***************************************************************************
* Function	EndSaveImage
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
//#define SAVE_OBJ_PATH L"D:\\\\"
/*
void EndSaveImage(U8* def_name)
{
    U8* data;
    long len;
    U8  filename[(MAX_OBJ_NAME_LEN + 16)*2];
    PLIBCONTENTTYPE save_type;

    if(!g_obj_data.cur_item || !def_name)
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    //type and file name
//    pfnUnicodeStrcpy((S8*)filename, (S8*)SAVE_OBJ_PATH);
    pfnUnicodeStrcpy((S8*)filename, (S8*)def_name);
    switch(g_obj_data.cur_item->type)
    {
    case MMS_OBJ_BMP:
        //pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)filename, (S8*)GetString(MMS_OBJ_STR_BMP));
        save_type = PIMG_BMP;
        break;
    case MMS_OBJ_WBMP:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_WBMP));
        save_type = PIMG_WBMP;
        break;
    case MMS_OBJ_GIF:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_GIF));
        save_type = PIMG_GIF;
        break;
    case MMS_OBJ_JPG:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_JPG));
        save_type = PIMG_JPG;
        break;
    case MMS_OBJ_PNG:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_PNG));
        save_type = PIMG_PNG;
        break;
    default:
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    //data
    data = mmsmsg_GetGivenContentData(g_obj_data.message, 
        g_obj_data.cur_item->content, &len);
    if(!data)
    {
//        DisplayPopup((U8*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0, 0, 1000, 0);
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    PLIB_SaveDownloadData(data, len, save_type, 
        (const WCHAR*)def_name, SaveObjCallback);
}
*/
/***************************************************************************
* Function	EndSaveSound
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
/*void EndSaveSound(U8* def_name)
{
    U8* data;
    long len;
    U8  filename[(MAX_OBJ_NAME_LEN + 16)*2];
    PLIBCONTENTTYPE save_type;

    if(!g_obj_data.cur_item)
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    //type and file name
//    pfnUnicodeStrcpy((S8*)filename, (S8*)SAVE_OBJ_PATH);
    pfnUnicodeStrcpy((S8*)filename, (S8*)def_name);
    switch(g_obj_data.cur_item->type)
    {
    case MMS_OBJ_MID:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)filename, (S8*)GetString(MMS_OBJ_STR_MID));
        save_type = PAUDIO_MIDI;
        break;
    case MMS_OBJ_WAV:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_WAV));
        save_type = PAUDIO_WAV;
        break;
//    case MMS_OBJ_MP3:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_MP3));
//        break;
    case MMS_OBJ_MMF:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_MMF));
        save_type = PAUDIO_MMF;
        break;
    case MMS_OBJ_AMR:
//        pfnUnicodeStrcat((S8*)filename, (S8*)def_name);//g_obj_data.save_filename);
//        pfnUnicodeStrcat((S8*)g_obj_data.save_filename, (S8*)GetString(MMS_OBJ_STR_AMR));
        save_type = PAUDIO_AMR;
        break;
    default:
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    //data
    data = mmsmsg_GetGivenContentData(g_obj_data.message, 
        g_obj_data.cur_item->content, &len);
    if(!data)
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        ObjMenuGoBack();
        return;
    }

    PLIB_SaveDownloadData(data, len, save_type, 
        (const WCHAR*)def_name, SaveObjCallback);
}
*/
/***************************************************************************
* Function	SaveObjCallback
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void SaveObjCallback(PLIBEVENT event)
{
    switch(event)
    {
    case PEVENT_SUCCESS:
		ObjMenuGoBack();
        PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEOK), 0);
        break;
    case PEVENT_FSFAIL:
		ObjMenuGoBack();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        break;
    case PEVENT_USERABORT:
		ObjMenuGoBack();
		break;
	case PEVENT_BACKIDLE:
        break;
    case PEVENT_SPACEFULL:
        ObjMenuGoBack();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_BOX_NOSPACE), 0);
        break;
    default:
		ObjMenuGoBack();
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_OBJ_SAVEFAIL), 0);
        break;
    }
}

////////////////////////////////////////////////////////////////////////////
//softkey handler

////////////////////////////////////////////////////////////////////////////
/***************************************************************************
* Function	CreateObjMenu
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
BOOL CreateObjMenu(void)
{
    U16 icon = IMG_GLOBAL_L1;

    g_obj_data.hMenu = PlxCreateDMenu(0);
    if(!g_obj_data.hMenu)
        return FALSE;

    //add items
    //view or play
    PlxInsertDMenuItem(g_obj_data.hMenu, 0, MF_BYPOSITION,
        g_obj_entry_table[MMS_OBJ_VIEW].id, 
        (const char *)GetString(g_obj_entry_table[MMS_OBJ_VIEW].string), 
        icon);//g_obj_entry_table[MMS_OBJ_VIEW].icon);
    icon++;

    if(g_obj_data.bAttList)
    {
        //insert
        PlxInsertDMenuItem(g_obj_data.hMenu, 1, MF_BYPOSITION,
            g_obj_entry_table[MMS_OBJ_INS].id, 
            (const char *)GetString(g_obj_entry_table[MMS_OBJ_INS].string), 
            icon);//g_obj_entry_table[MMS_OBJ_INS].icon);
        icon++;

        //del
        PlxInsertDMenuItem(g_obj_data.hMenu, 2, MF_BYPOSITION,
            g_obj_entry_table[MMS_OBJ_DEL].id, 
            (const char *)GetString(g_obj_entry_table[MMS_OBJ_DEL].string), 
            icon);//g_obj_entry_table[MMS_OBJ_DEL].icon);
        icon++;
        //delall
        PlxInsertDMenuItem(g_obj_data.hMenu, 3, MF_BYPOSITION,
            g_obj_entry_table[MMS_OBJ_DELALL].id, 
            (const char *)GetString(g_obj_entry_table[MMS_OBJ_DELALL].string), 
            icon);//g_obj_entry_table[MMS_OBJ_DELALL].icon);
    }
    else
    {
        //save
        PlxInsertDMenuItem(g_obj_data.hMenu, 1, MF_BYPOSITION,
            g_obj_entry_table[MMS_OBJ_SAVE].id, 
            (const char *)GetString(g_obj_entry_table[MMS_OBJ_SAVE].string), 
            icon);//g_obj_entry_table[MMS_OBJ_SAVE].icon);
    }

    return TRUE;
}

/***************************************************************************
* Function	EntryViewObj
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EntryViewObj(void)
{
    if(!CreateOneObjView())
        ObjMenuGoBack();
}

/***************************************************************************
* Function	EntryPlayObj
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EntryPlayObj(void)
{
    ObjMenuGoBack();
    if(!CreateOneObjView())
    {
        //ObjMenuGoBack();
    }
}

/***************************************************************************
* Function	EntryStopObj
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EntryStopObj(void)
{
/*
    if(g_obj_data.bSoundPlaying)
    {
        switch(g_obj_data.type)
        {
        case MMS_OBJ_MID:
            StopAudioMidiStream();
            break;
        case MMS_OBJ_AMR:
        case MMS_OBJ_IMY:
            StopAudioStream();
            break;
    //        case MMS_SND_MMF:
    //            break;
        case MMS_OBJ_WAV:
            StopAudioWavStream();
            break;
        }
        g_obj_data.bSoundPlaying = FALSE;
    }
*/
    StopPlayingSound();
    if(g_obj_data.data)
    {
        MMS_Free((void*)g_obj_data.data);
        g_obj_data.data = NULL;
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -