📄 mmimmsnew.c
字号:
{
fFinished = TRUE;
}
data->list_menu_data.ListMenuHeadStr=(char *) MmiRsrcGetText(TxtNewMMSPicture);
data->list_menu_data.List = (MfwMnuItem *)ALLOC_MEMORY (nfiles * sizeof (MfwMnuItem));
while (!fFinished)
{
if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0x00)
{
if(FileData.cFileName[0] != 0)
{
data->list_menu_data.List[i].icon = (MfwIcnAttr*)&colist; ///textlistIcon;
data->list_menu_data.List[i].exta = 0;
data->list_menu_data.List[i].edit = 0;
data->list_menu_data.List[i].menu = 0;
data->list_menu_data.List[i].func = 0;
data->list_menu_data.List[i].flagFunc = item_flag_none;
data->list_menu_data.List[i].str= (char *) ALLOC_MEMORY ( MMS_IMAGE_NUM_LENGTH);
wstrcpy(data->list_menu_data.List[i].str ,(char *)FileData.cFileName);
i++;
}
}
if (!FindNextFileA(hSearch, &FileData))
{
fFinished = TRUE;
}
}
FindClose(hSearch );
mediaFileNumber = nfiles;
data->list_menu_data.SnapshotSize = nfiles;
data->list_menu_data.ListLength = nfiles;
data->list_menu_data.autoDestroy = TRUE;
listDisplayListMenu(data->win, &data->list_menu_data, (ListCbFunc)MMS_Menu_New_List_listmenu_cb,0);
#else
int i = 0;
T_FFS_DIR sDir;
MMS_S8 filename[64];
int iFileNum =0;
T_MFW_HND * parent=data->parent;
MMS_TRACE_FUNCTION("MMS_Menu_New_List_listmenu_create");
data->list_menu_data.ListMenuFlag=1;//for display the title
if(data->ListID == 1)
{
iFileNum = ffs_opendir(MMS_IMAGE_FILEPATH, &sDir);
if((mediaFileNumber=iFileNum) <= 0)
mediaFileNumber = 0;
if(iFileNum == 0)
{
T_DISPLAY_DATA display_info;
dialog_info_init(&display_info);
display_info.RightSoftKey = TxtSoftBack;
display_info.LeftSoftKey = TxtSoftConfirm;//TxtSoftSelect,TxtSoftConfirm,TxtSoftOptions
display_info.Time = THREE_SECS;
display_info.KeyEvents = KEY_RIGHT|KEY_LEFT|KEY_CLEAR|KEY_HUP;
display_info.TextId2 = TxtMMSNoImage;
display_info.Identifier = DIALOGS_REASON_NULL;
display_info.iconindex = REMIND_FAILURE;
info_dialog (data->win, &display_info);
SEND_EVENT (data->win, E_BACK, 0, NULL);
return;
}
data->list_menu_data.ListMenuHeadStr=(char *) MmiRsrcGetText(TxtNewMMSPicture);
}
else if(data->ListID == 2)
{
iFileNum = ffs_opendir( MMS_MUSIC_FILEPATH, &sDir);
if((mediaFileNumber=iFileNum) <= 0)
mediaFileNumber = 0;
if(iFileNum == 0)
{
T_DISPLAY_DATA display_info;
dialog_info_init(&display_info);
display_info.RightSoftKey = TxtSoftBack;
display_info.LeftSoftKey = TxtSoftConfirm;//TxtSoftSelect,TxtSoftConfirm,TxtSoftOptions
display_info.Time = THREE_SECS;
display_info.KeyEvents = KEY_RIGHT|KEY_LEFT|KEY_CLEAR|KEY_HUP;
display_info.TextId2 = TxtMMSNoMusic;
display_info.Identifier = DIALOGS_REASON_NULL;
display_info.iconindex = REMIND_FAILURE;
info_dialog (data->win, &display_info);
SEND_EVENT (data->win, E_BACK, 0, NULL);
return;
}
data->list_menu_data.ListMenuHeadStr=(char *) MmiRsrcGetText(TxtNewMMSMusic);
}
data->list_menu_data.List = (MfwMnuItem *)ALLOC_MEMORY (iFileNum * sizeof (MfwMnuItem));
while((ffs_readdir(&sDir, filename, sizeof(filename))) > 0 )
{
data->list_menu_data.List[i].icon = (MfwIcnAttr*)&colist; ///textlistIcon;
data->list_menu_data.List[i].exta = 0;
data->list_menu_data.List[i].edit = 0;
data->list_menu_data.List[i].menu = 0;
data->list_menu_data.List[i].func = 0;
data->list_menu_data.List[i].flagFunc = item_flag_none;
data->list_menu_data.List[i].str= (char *) ALLOC_MEMORY ( MMS_IMAGE_NUM_LENGTH);
wstrcpy(data->list_menu_data.List[i].str ,(char *) filename);
i++;
}
data->list_menu_data.SnapshotSize = iFileNum; /* Number of list entries to view. */
data->list_menu_data.ListLength = iFileNum;
data->list_menu_data.autoDestroy = TRUE;
listDisplayListMenu(data->win, &data->list_menu_data, (ListCbFunc)MMS_Menu_New_List_listmenu_cb,0);
#endif
}
void MMS_Menu_New_List_listmenu_cb (T_MFW_HND * win, ListMenuData * ListData)
{
/*
#ifdef _INNOVATION_EMULATOR_
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_MMS_MENU_NEW_LIST * data = (T_MMS_MENU_NEW_LIST *)win_data->user;
T_MFW_WIN * parent= data->parent;
switch( ListData->Reason )
{
case LISTS_REASON_OK:
case LISTS_REASON_SELECT:
iListMenuItemIndex=ListData->ListPosition;
if(1==data->ListID) //选择图片
{
wstrcpy(frameData.imageFileName,"/mms/imagefiles/");
wstrcat(frameData.imageFileName,(char*)data->list_menu_data.List[iListMenuItemIndex].str);
MMS_TRACE_EVENT(("the imageFilename is%s",frameData.imageFileName));
rvf_delay(10);
MMS_strstr(frameData.imageFileName, ".jpg");
MMS_strstr(frameData.imageFileName, ".JPG");
MMS_strstr(frameData.imageFileName, ".GIG");
MMS_strstr(frameData.imageFileName, ".gif");
editor_image_new(frameData.imageFileName, MMS_TYPE_JPEG);//MMS_TYPE_GIF
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
}
else if(2 == data->ListID)
{
wstrcpy(frameData.audioFileName,"/mms/audiofiles/");
wstrcat(frameData.audioFileName,(char*)data->list_menu_data.List[iListMenuItemIndex].str);
MMS_TRACE_EVENT(("the audioFilename is%s",frameData.audioFileName));
rvf_delay(10);
editor_audio_new(frameData.audioFileName, MMS_TYPE_MMF);
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
}
break;
case LISTS_REASON_BACK:
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
break;
default:
break;
}
return;
#else*/
extern MMS_U8 ECC_MidiPlay(MMS_S8 *filename, MMS_U8 loop);
extern MMS_U8 ECC_MidiStop(MMS_S8 *filename);
int ret;
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_MMS_MENU_NEW_LIST * data = (T_MMS_MENU_NEW_LIST *)win_data->user;
T_MFW_WIN * parent= data->parent;
P_MMS mms = getMMS();
MMS_TRACE_FUNCTION("MMS_Menu_New_List_listmenu_cb");
switch( ListData->Reason )
{
case LISTS_REASON_OK:
case LISTS_REASON_SELECT:
iListMenuItemIndex=ListData->ListPosition;
if(1==data->ListID) //选择图片
{
char *pTemp = (char*)data->list_menu_data.List[iListMenuItemIndex].str;
wstrcpy(frameData.imageFileName,MMS_IMAGE_FILEPATH);
wstrcat(frameData.imageFileName,"/");
wstrcat(frameData.imageFileName,pTemp);
MMS_TRACE_EVENT(("the imageFilename is%s",pTemp));
#if 0
if( MMS_File_Type(pTemp,MMS_TYPE_JPEG) )
{
editor_content_del(2);
editor_image_new(frameData.imageFileName, MMS_TYPE_JPEG);
}
else if( MMS_File_Type(pTemp,MMS_TYPE_WBMP) )
{
editor_content_del(2);
editor_image_new(frameData.imageFileName, MMS_TYPE_WBMP);
}
else if( MMS_File_Type(pTemp,MMS_TYPE_GIF) )
{
editor_content_del(2);
editor_image_new(frameData.imageFileName, MMS_TYPE_GIF);
}
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
#else
MMS_Image_Preview_start(data->win) ;
#endif
}
else if(2 == data->ListID)
{
char *pTemp = (char*)data->list_menu_data.List[iListMenuItemIndex].str;
wstrcpy(frameData.audioFileName,MMS_MUSIC_FILEPATH);
wstrcat(frameData.audioFileName,"/");
wstrcat(frameData.audioFileName,pTemp);
MMS_TRACE_EVENT(("the audioFilename is%s",frameData.audioFileName));
if( MMS_File_Type(pTemp,MMS_TYPE_MMF) )
{
ret = editor_audio_new(frameData.audioFileName, MMS_TYPE_MMF);
}
else if( MMS_File_Type(pTemp,MMS_TYPE_MIDI) )
{
ret = editor_audio_new(frameData.audioFileName, MMS_TYPE_MIDI);
}
#if 0
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
if(ret == -1)
{
info_screen(NULL, NULL, TxtMMSFileTooBig, NULL, REMIND_FAILURE);
}
else if(ret = 0)
{
info_screen(NULL,NULL,TxtMMSSystemError, NULL, REMIND_FAILURE);
}
#else
if(1 == ret)
{
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
}
else if(ret == -1)
info_mms_screen(win, MMS_SCREEN_ID_MUSIC_FILETOOBIG);
else if (ret = 0)
{
}
#endif
}
break;
case LISTS_REASON_HANGUP:
if(2 == data->ListID) //add by xie 04-07-23
ECC_MidiStop(frameData.audioFileName);
if(mms->editor)
{
editor_on_destroy();
mms->editor = NULL;
}
/*
if(mms->manager)
{
MMS_Codec_Destory();
manager_on_destroy();
mms->manager = NULL;
}*/
if( returntoidle(0) )
break;
break;
case LISTS_REASON_UP:
iListMenuItemIndex=ListData->ListPosition;
if(2 == data->ListID)
{
char *pTemp = (char*)data->list_menu_data.List[iListMenuItemIndex].str;
wstrcpy(frameData.audioFileName,MMS_MUSIC_FILEPATH);
wstrcat(frameData.audioFileName,"/");
wstrcat(frameData.audioFileName,pTemp);
MMS_TRACE_EVENT(("the audioFilename is%s",frameData.audioFileName));
rvf_delay(10);
if( MMS_File_Type(pTemp,MMS_TYPE_MMF) || MMS_File_Type(pTemp,MMS_TYPE_MIDI))
{
ECC_MidiPlay(frameData.audioFileName,1);
}
}
break;
case LISTS_REASON_DOWN:
iListMenuItemIndex=ListData->ListPosition;
if(2 == data->ListID)
{
char *pTemp = (char*)data->list_menu_data.List[iListMenuItemIndex].str;
wstrcpy(frameData.audioFileName,MMS_MUSIC_FILEPATH);
wstrcat(frameData.audioFileName,"/");
wstrcat(frameData.audioFileName,pTemp);
MMS_TRACE_EVENT(("the audioFilename is%s",frameData.audioFileName));
rvf_delay(10);
if( MMS_File_Type(pTemp,MMS_TYPE_MMF) || MMS_File_Type(pTemp,MMS_TYPE_MIDI))
{
ECC_MidiPlay(frameData.audioFileName,1);
}
}
break;
case LISTS_REASON_BACK:
if(2 == data->ListID) //add by xie 04-07-23
ECC_MidiStop(frameData.audioFileName);
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
break;
default:
break;
}
return;
//#endif
}
int MMS_FileTooBig_dialog_cb(T_MFW_HND win, USHORT Identifier, USHORT Reason)
{
MMS_TRACE_EVENT(("MMS_FileTooBig_dialog_cb()"));
switch( Reason )
{
case INFO_KCD_HUP:
case INFO_KCD_RIGHT:
case INFO_TIMEOUT:
if(MMS_SCREEN_ID_MUSIC_FILETOOBIG == Identifier)
{
T_MFW_HND *win = MMS_Get_MMSImageMusic_WHnd();
T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
T_MMS_MENU_NEW_LIST * data = (T_MMS_MENU_NEW_LIST *)win_data->user;
T_MFW_WIN * parent= data->parent;
MMS_Menu_New_List_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
}
else if(MMS_SCREEN_ID_IMAGE_FILETOOBIG == Identifier)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)gHndMMSImagePreview)->data;
T_MMS_IMAGE_PREVIEW * data = (T_MMS_IMAGE_PREVIEW *)win_data->user;
T_MFW_HND *parent = data->parent;
MMS_Image_Preview_destroy(data->win);
SEND_EVENT (parent, E_BACK, 0, NULL);
}
break;
default:
return MFW_EVENT_REJECTED;
}
}
void MMS_Menu_New_List_destroy (T_MFW_HND window)
{
T_MFW_WIN * win_data;
T_MMS_MENU_NEW_LIST * data;
USHORT i;
MMS_TRACE_FUNCTION("MMS_Menu_New_List_destroy");
if( window )
{
win_data = ((T_MFW_HDR *)window)->data;
data = (T_MMS_MENU_NEW_LIST *)win_data->user;
if( data )
{
win_delete (data->win);
data->win = NULL;
MMS_Set_MMSImageMusic_WHnd(NULL);//Added by xie 04-07-15
for( i = 0; i < mediaFileNumber; i++ )
FREE_MEMORY( (void *)(data->list_menu_data.List[i].str), MMS_IMAGE_NUM_LENGTH);
FREE_MEMORY ((void *)data->list_menu_data.List, mediaFileNumber* sizeof (MfwMnuItem));
FREE_MEMORY ((void *)data, sizeof (T_MMS_MENU_NEW_LIST));
iListMenuItemIndex = 0;
mediaFileNumber = 0;
}
else
{
TRACE_EVENT ("MMS_Menu_New_List_destroy called twice");
}
}
}
/**********************************************************************/
/* 图片预览窗口 */
/**********************************************************************/
void MMS_Menu_New_Pic_ShowAffirmWin (T_MFW_HND win,int picID)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -