📄 mmimmsnew.c
字号:
#ifdef _MMS_ENABLE_
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#if defined (NEW_FRAME)
#include "typedefs.h"
#include "vsi.h"
#include "pei.h"
#include "custom.h"
#include "gsm.h"
#else
#include "stddefs.h"
#include "custom.h"
#include "gsm.h"
#include "vsi.h"
#endif
#include "p_sim.h"
#include "mfw_mfw.h"
#include "mfw_win.h"
#include "mfw_kbd.h"
#include "mfw_edt.h"
#include "mfw_tim.h"
#include "mfw_phb.h"
#include "ksd.h"
#include "psa.h"
#include "mfw_sms.h"
#include "mfw_icn.h"
#include "mfw_mnu.h"
#include "mfw_lng.h"
#include "mfw_sat.h"
#include "mfw_kbd.h"
#include "mfw_nm.h"
#include "mfw_str.h"
#include "dspl.h"
#include "MmiMain.h"
#include "MmiDummy.h"
#include "MmiMmi.h"
#include "MmiDialogs.h"
#include "MmiLists.h"
#include "MmiMenu.h"
#include "MmiSoftKeys.h"
#include "MmiEditor.h"
#include "Mmitextinput.h"
#include "phb.h"
#include "mmiBookshared.h"
#include "mmiSmsMenu.h"
#include "mmismssend.h"
#include "mmismsidle.h"
//begin xie
#include "mmimms_cfg.h"
#include "mmiMMSNew.h"
#include "mmseditor.h"
#include "mmiMMSGlobalDef.h"
#include "mmiutilapi.h"
#include "player.h"
#include "mmsgloble.h"
#include "msglist.h"
#include "jpeg.h"
#include "CmsImage.h"
#include "mmimmsmenu.h"
#include "listicn.h"
#ifdef MMI_MMSTASK_ENABLED
#define MMS_COMPILE_FORAPP
#include "mmstask.h"
#endif
#include "CmsWbmp.h" //add by xie for wbmp file preview
#include "CmsDraw.h"
//end xie
/*新建多媒体信息窗口*/
#define MMS_Menu_New_Listmenu_Num 4
typedef struct _MMS_Frame_Data{
char title[MMS_TITLE_NUM_LENGTH+1];
char imageFileName[MMS_IMAGE_NUM_LENGTH+1];
char audioFileName[MMS_RING_NUM_LENGTH+1];
char text[MMS_CONTEXT_NUM_LENGTH+1];
}MMS_Frame_Data;
MMS_Frame_Data frameData;
static unsigned int MMS_NEW_ITEMLEN_MAX[]={
MMS_TITLE_NUM_LENGTH,
MMS_IMAGE_NUM_LENGTH,
MMS_RING_NUM_LENGTH,
MMS_CONTEXT_NUM_LENGTH,
};
typedef enum
{
MMS_Menu_New_Edit_Title=0,
MMS_Menu_New_List_Image,
MMS_Menu_New_List_Ring,
MMS_Menu_New_Edit_Text,
} MMS_Menu_New_Edit_ID;
int iMenuItemIndex = MMS_Menu_New_Edit_Title;
/*talcon delett it*/
//static MfwRect MMS_Menu_New_Area = {0,0,SCREEN_SIZE_X,LINE_HEIGHT*(MMS_Menu_New_Listmenu_Num+5)};
extern MfwRect menuListArea;
static MfwMnuAttr MMS_Menu_New_Attrib =
{
0,
&menuListArea,//&MMS_Menu_New_Area,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */
-1, /* use default font */
NULL, /* with these items */
0 /* number of items */
};
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/* associated handlers */
/* internal data */
ListMenuData list_menu_data;
unsigned int iItemLen[MMS_Menu_New_Listmenu_Num];
} T_MMS_MENU_NEW;
static T_MFW_HND MMS_Menu_New_create (T_MFW_HND window);
static void MMS_Menu_New_dialog (T_MFW_HND win, USHORT event, USHORT value, void * parameter);
static void MMS_Menu_New_listmenu_create (T_MMS_MENU_NEW *data);
static void MMS_Menu_New_listmenu_cb (T_MFW_HND * win, ListMenuData * ListData);
static void MMS_Menu_New_destroy (T_MFW_HND window);
/*主题或内容编辑窗口*/
typedef struct
{
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
MMS_Menu_New_Edit_ID edtID;
T_MFW_HND editor;
T_EDITOR_DATA editor_info;
}T_MMS_MENU_NEW_EDITOR;
static T_MFW_HND MMS_Menu_New_Edit_start (MfwHnd parent_window,MMS_Menu_New_Edit_ID edtID);
static T_MFW_HND MMS_Menu_New_Edit_create (T_MFW_HND win);
static void MMS_Menu_New_Edit_dialog (T_MFW_HND win, USHORT event, USHORT value, void * parameter);
static void MMS_Menu_New_Edit_edit_cb(T_MFW_HND win, USHORT Identifier, SHORT reason);
static void MMS_Menu_New_Edit_destroy (T_MFW_HND window);
static void MMS_Menu_New_Edit_LoadEditDefault(T_EDITOR_DATA *editor_data);
/*右软键选项菜单窗口以及右软键选项菜单处理函数*/
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/* associated handlers */
T_MFW_HND kbd;
T_MFW_HND kbd_long;
T_MFW_HND menu;
/* internal data */
T_MFW_HND info_win;
}T_MMS_NEW_LIST_RIGHT;
static T_MFW_HND MMS_New_List_Right_start(MfwHnd parent_window , MfwMnuAttr *menuAttr);
static T_MFW_HND MMS_New_List_Right_create(T_MFW_HND parent_window);
static void MMS_New_List_Right_destroy(T_MFW_HND win);
static void MMS_New_List_Right_dialog(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
static int MMS_New_List_Right_kbd_cb(MfwEvt e, MfwKbd *k);
static int MMS_New_List_Right_mnu_cb ( MfwEvt e, MfwMnu *m );
static int MMS_New_List_Right_win_cb(MfwEvt e, MfwWin *w);
static int MMS_NEW_List_Right_PageDown (MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_AddPage(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_DeleteImage(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_DeleteMusic(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_DeletePage(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_PageUp (MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_Exit(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_PreView(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_Send(MfwMnu* m, MfwMnuItem* i);
static int MMS_NEW_List_Right_StoreMsg(MfwMnu* m, MfwMnuItem* i);
/*talcon delete it*/
//MfwRect MMS_NEW_EDIT_OPTItems_Area = {0,0,SCREEN_SIZE_X,LINE_HEIGHT*9};
static MfwMnuItem MMS_NEW_EDIT_OPTItems00[] =
{
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPreview, 0, (MenuFunc)MMS_NEW_List_Right_PreView, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSSend, 0, (MenuFunc)MMS_NEW_List_Right_Send, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSAddpage, 0, (MenuFunc)MMS_NEW_List_Right_AddPage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeletepage, 0, (MenuFunc)MMS_NEW_List_Right_DeletePage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPageUp, 0, (MenuFunc)MMS_NEW_List_Right_PageUp, item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSPageDown,0,(MenuFunc)MMS_NEW_List_Right_PageDown,item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSStoreMsg,0,(MenuFunc)MMS_NEW_List_Right_StoreMsg,item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSExit, 0, (MenuFunc)MMS_NEW_List_Right_Exit, item_flag_none}
};
static MfwMnuItem MMS_NEW_EDIT_OPTItems10[] =
{
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPreview, 0, (MenuFunc)MMS_NEW_List_Right_PreView, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSSend, 0, (MenuFunc)MMS_NEW_List_Right_Send, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeleteImage, 0, (MenuFunc)MMS_NEW_List_Right_DeleteImage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSAddpage, 0, (MenuFunc)MMS_NEW_List_Right_AddPage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeletepage, 0, (MenuFunc)MMS_NEW_List_Right_DeletePage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPageUp, 0, (MenuFunc)MMS_NEW_List_Right_PageUp, item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSPageDown,0,(MenuFunc)MMS_NEW_List_Right_PageDown,item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSStoreMsg,0,(MenuFunc)MMS_NEW_List_Right_StoreMsg,item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSExit, 0, (MenuFunc)MMS_NEW_List_Right_Exit, item_flag_none}
};
static MfwMnuItem MMS_NEW_EDIT_OPTItems01[] =
{
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPreview, 0, (MenuFunc)MMS_NEW_List_Right_PreView, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSSend, 0, (MenuFunc)MMS_NEW_List_Right_Send, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeleteMusic, 0, (MenuFunc)MMS_NEW_List_Right_DeleteMusic, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSAddpage, 0, (MenuFunc)MMS_NEW_List_Right_AddPage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeletepage, 0, (MenuFunc)MMS_NEW_List_Right_DeletePage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPageUp, 0, (MenuFunc)MMS_NEW_List_Right_PageUp, item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSPageDown,0,(MenuFunc)MMS_NEW_List_Right_PageDown,item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSStoreMsg,0,(MenuFunc)MMS_NEW_List_Right_StoreMsg,item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSExit, 0, (MenuFunc)MMS_NEW_List_Right_Exit, item_flag_none}
};
static MfwMnuItem MMS_NEW_EDIT_OPTItems11[] =
{
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPreview, 0, (MenuFunc)MMS_NEW_List_Right_PreView, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSSend, 0, (MenuFunc)MMS_NEW_List_Right_Send, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeleteImage, 0, (MenuFunc)MMS_NEW_List_Right_DeleteImage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeleteMusic, 0, (MenuFunc)MMS_NEW_List_Right_DeleteMusic, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSAddpage, 0, (MenuFunc)MMS_NEW_List_Right_AddPage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSDeletepage, 0, (MenuFunc)MMS_NEW_List_Right_DeletePage, item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSPageUp, 0, (MenuFunc)MMS_NEW_List_Right_PageUp, item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSPageDown,0,(MenuFunc)MMS_NEW_List_Right_PageDown,item_flag_none},
{(MfwIcnAttr*)&colist,0,0,(char *)TxtMMSStoreMsg,0,(MenuFunc)MMS_NEW_List_Right_StoreMsg,item_flag_none},
{(MfwIcnAttr*)&colist, 0,0, (char *)TxtMMSExit, 0, (MenuFunc)MMS_NEW_List_Right_Exit, item_flag_none}
};
static MfwMnuAttr MMS_NEW_EDIT_OPTAttr00 =
{
0,
&menuListArea,//&MMS_NEW_EDIT_OPTItems_Area,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE,
-1,
MMS_NEW_EDIT_OPTItems00,
sizeof(MMS_NEW_EDIT_OPTItems00)/sizeof(MfwMnuItem)
};
static MfwMnuAttr MMS_NEW_EDIT_OPTAttr01 =
{
0,
&menuListArea,//&MMS_NEW_EDIT_OPTItems_Area,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE,
-1,
MMS_NEW_EDIT_OPTItems01,
sizeof(MMS_NEW_EDIT_OPTItems01)/sizeof(MfwMnuItem)
};
static MfwMnuAttr MMS_NEW_EDIT_OPTAttr10 =
{
0,
&menuListArea,//&MMS_NEW_EDIT_OPTItems_Area,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE,
-1,
MMS_NEW_EDIT_OPTItems10,
sizeof(MMS_NEW_EDIT_OPTItems10)/sizeof(MfwMnuItem)
};
static MfwMnuAttr MMS_NEW_EDIT_OPTAttr11 =
{
0,
&menuListArea,//&MMS_NEW_EDIT_OPTItems_Area,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE,
-1,
MMS_NEW_EDIT_OPTItems11,
sizeof(MMS_NEW_EDIT_OPTItems11)/sizeof(MfwMnuItem)
};
/*图片或铃声列表窗口*/
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/* associated handlers */
/* internal data */
ListMenuData list_menu_data;
/*feng */
int ListID;
} T_MMS_MENU_NEW_LIST;
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/*20040609 feng*/
T_MFW_HND info_win;
int ListID;
} T_MMS_MENU_NEW_LIST_PIC;
int iListMenuItemIndex=0;
int mediaFileNumber =0;
T_MFW_HND MMS_Menu_New_List_start(T_MFW_HND parent, int edtID);
T_MFW_HND MMS_Menu_New_List_create(MfwHnd parent_window);
void MMS_Menu_New_List_dialog (T_MFW_HND win, USHORT event, USHORT value, void * parameter);
void MMS_Menu_New_List_listmenu_create(T_MMS_MENU_NEW_LIST *data);
void MMS_Menu_New_List_listmenu_cb (T_MFW_HND * win, ListMenuData * ListData);
void MMS_Menu_New_List_destroy (T_MFW_HND window);
//MMS相册浏览窗口
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/* associated handlers */
T_MFW_HND kbd;
T_MFW_HND kbd_long;
}T_MMS_IMAGE_PREVIEW;
T_MFW_HND gHndMMSImagePreview = NULL;
static T_MFW_HND MMS_Image_Preview_start(MfwHnd parent_window );
static T_MFW_HND MMS_Image_Preview_create(T_MFW_HND parent_window);
static void MMS_Image_Preview_destroy(T_MFW_HND win);
static void MMS_Image_Preview_dialog(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
static int MMS_Image_Preview_kbd_cb(MfwEvt e, MfwKbd *k);
static int MMS_Image_Preview_win_cb(MfwEvt e, MfwWin *w);
//预览
typedef struct
{
/* administrative data */
T_MMI_CONTROL mmi_control;
T_MFW_HND win;
T_MFW_HND parent;
/* associated handlers */
T_MFW_HND kbd;
T_MFW_HND kbd_long;
}T_MMS_NEW_PREVIEW;
static T_MFW_HND MMS_New_Preview_start(MfwHnd parent_window );
static T_MFW_HND MMS_New_Preview_create(T_MFW_HND parent_window);
static void MMS_New_Preview_destroy(T_MFW_HND win);
static void MMS_New_Preview_dialog(T_MFW_HND win, USHORT event, SHORT value, void * parameter);
static int MMS_New_Preview_kbd_cb(MfwEvt e, MfwKbd *k);
static int MMS_New_Preview_win_cb(MfwEvt e, MfwWin *w);
void MMS_Menu_New_Pic_ShowAffirmWin (T_MFW_HND win,int picID);
static void MMS_Menu_New_Pic_cb(T_MFW_HND win,USHORT identifier, UBYTE reason);
//发送时接收者设置窗口
#define RECEIVER_NUMBER_MAX 15
#define RECEIVER_LENGTH_MAX 30
typedef enum{
NORECEIVER,
EMAIL,
TELEPHONE
}RECEIVER_TYPE;
typedef struct _RECEIVER_
{
RECEIVER_TYPE type;
char receiver[RECEIVER_LENGTH_MAX+1];
}RECEIVER;
RECEIVER recvLists[RECEIVER_NUMBER_MAX];
unsigned char receiverIndex = 0;
/*talcon delete it*/
//static MfwRect MMS_Receiver_List_Area = {0,0,SCREEN_SIZE_X,LINE_HEIGHT*9};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -