📄 mmiqq.c
字号:
CanReadQQ=1;
break;
case Net_fri_list:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtQQNetFriend);
SetWindowsHandle(win);
CanReadQQ=1;
break;
case Sys_info_list:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtQQSysInfo);
break;
case Chat_info_list://may add from: To:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtQQChatInfo);
break;
case Unread_info_list:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtNewQQ);
break;
case Left_info_list:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtQQLeftInfo);
break;
default: break;
}
}
dspl_Clear(0, 112, 120, 142);
listDisplayListMenu(win, Data_List_data, (ListCbFunc)DataList_cb,0);
if( (DataListType==Nvm_fri_list)||(DataListType==Net_fri_list) )
{
old_mode=dspl_Enable(0);
b_color=dspl_SetBkgColor(0xF8E0EE);
f_color=dspl_SetFrgColor(0x000000);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_BitBlt(1,126,16,16,0,(void *)newQQmask,DSPL_BMPAND);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_TextOut(17,126,0,(char *)(((TQQFrinendItem*)pQQListItem)->QQnumber));
dspl_SetBkgColor(b_color);
dspl_SetFrgColor(f_color);
dspl_Enable(old_mode);
}
}
else
{
FREE_MEMORY( (void *)Data_List_data, sizeof( ListMenuData ) );
QQShowInformation(win, TxtEmptyList, 0,NULL,300,destroy_one, (T_VOID_FUNC)QQ_Inofrmation_cb);//改为无法分配空间
}
}
}
break;
case QQ_DESTROY:
{
/* destroy the input window
*/
DataListPa_destroy( win );
}
break;
}
}
/*******************************************************************************
Public Methods
*******************************************************************************/
static void DataList_cb(T_MFW_HND * Parent, ListMenuData * ListData)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)Parent)->data;
tQQStandard * data=(tQQStandard *)win_data->user;
T_MFW_WIN * windata = ((T_MFW_HDR *)ListData->win)->data;
ListWinInfo * dataInfo = (ListWinInfo *)windata->user;
UINT32 b_color,f_color;
MfwMnu *MenuHandle;
UBYTE old_mode;
MmiTrace("DataList_cb");
MmiTraceInt(Parent);
MmiTraceInt(ListData->win);
MmiTraceInt( ListData->Reason );
switch( ListData->Reason )
{
case LISTS_REASON_OK:
{
MmiTrace("key_ok");
if( (HavenewQQ)&&(CanReadQQ)
&&(DataListType!=Chat_info_list)&&(DataListType!=Sys_info_list)
&&(DataListType!=Unread_info_list)&&(DataListType!=Left_info_list) )
{
//copy the first list element to temp element
tempDataListType=DataListType;
temp_Data_List_data=Data_List_data;
pQQTempListItem=pQQListItem;
IsFormDatalistcb=1;
Get_Unread_info(ListData->win);
break;
}
}
case LISTS_REASON_SELECT:
{
data->QQ->QQselmenu =ListData->win;
{
switch( DataListType )
{
case Nvm_fri_list:
data->QQ->select_index =((TQQFrinendItem*)pQQListItem+(ListData->ListPosition))->index;
MmiTraceInt(data->QQ->select_index);
dspl_Clear(0, 112, 120, 142);
bookMenuStart(Parent, QQNVMSelMenuAttributes(), Nvm_fri_list);
break;
case Net_fri_list:
data->QQ->select_index =((TQQFrinendItem*)pQQListItem+(ListData->ListPosition))->index;
MmiTraceInt(data->QQ->select_index);
dspl_Clear(0, 112, 120, 142);
bookMenuStart(Parent, QQNetSelMenuAttributes(), Net_fri_list);
break;
case Sys_info_list:
case Chat_info_list:
case Unread_info_list:
case Left_info_list:
data->QQ->select_index =((TQQItem*)pQQListItem+(ListData->ListPosition))->index;
MmiTraceInt(data->QQ->select_index);
View_QQ_Sms(ListData->win);
break;
default: break;
}
}
}
break;
case LISTS_REASON_UP:
mnuUp(dataInfo->MenuLists);
MenuHandle = mfwControl(dataInfo->MenuLists);
ListData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
ListData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
dataInfo->MenuData.Attr->pageturnindex=ListData->CursorPosition;
dspl_Clear(0, 112, 120, 142);
if( (DataListType!=Nvm_fri_list)&&(DataListType!=Net_fri_list) )
break;
if( (DataListType==Nvm_fri_list)||(DataListType==Net_fri_list) )
{
old_mode=dspl_Enable(0);
b_color=dspl_SetBkgColor(0xF8E0EE);
f_color=dspl_SetFrgColor(0x000000);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_BitBlt(1,126,16,16,0,(void *)newQQmask,DSPL_BMPAND);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_TextOut(17,126,0,(char *)(((TQQFrinendItem*)pQQListItem+(ListData->ListPosition))->QQnumber));
dspl_SetBkgColor(b_color);
dspl_SetFrgColor(f_color);
dspl_Enable(old_mode);
}
break;
case LISTS_REASON_DOWN:
mnuDown(dataInfo->MenuLists);
MenuHandle = mfwControl(dataInfo->MenuLists);
ListData->CursorPosition = MenuHandle->lCursor[MenuHandle->level];
ListData->ListPosition = MenuHandle->lCursor[MenuHandle->level]; /* True cursor position in list menu. */
if( (DataListType!=Nvm_fri_list)&&(DataListType!=Net_fri_list) )
break;
case LISTS_REASON_UPDATE:
dspl_Clear(0, 112, 120, 142);
if( (DataListType==Nvm_fri_list)||(DataListType==Net_fri_list) )
{
old_mode=dspl_Enable(0);
b_color=dspl_SetBkgColor(0xF8E0EE);
f_color=dspl_SetFrgColor(0x000000);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_BitBlt(1,126,16,16,0,(void *)newQQmask,DSPL_BMPAND);
dspl_BitBlt(1,126,16,16,0,(void *)newQQ,DSPL_BMPXOR);
dspl_TextOut(17,126,0,(char *)(((TQQFrinendItem*)pQQListItem+(ListData->ListPosition))->QQnumber));
dspl_SetBkgColor(b_color);
dspl_SetFrgColor(f_color);
dspl_Enable(old_mode);
if( (HavenewQQ)&&(CanReadQQ) )
{
ReadbtnShow=1;
display3SoftKeys(TxtRead);
}
else
{
ReadbtnShow=0;
displaySoftKeys(TxtSelect,TxtSoftBack);
#if(MAIN_LCD_SIZE==3)
draw_softkeybar_updown_arrow();//jhxu720
#endif
}
}
break;
case LISTS_REASON_HANGUP:
case LISTS_REASON_BACK:
{
FreeListMemory();
listsDestroy(ListData->win);
DataListPa_destroy( Parent );
}
break;
default:break;
}
}
int Get_NET_Friend(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
T_MFW_WIN * win_Data = ((T_MFW_HDR *)win)->data;
tBookStandard *data = (tBookStandard *)win_Data->user;
UBYTE* pstrinfo;
char info[20];
USHORT outLen;
T_MFW_SMS_INFO sms_parameter;
char sc_addr[MAX_LEN]; /* service centre address */
U16 memoryleft;
MmiTrace("Get_NET_Friend");
MmiTrace("mem");
memoryleft=mfwCheckMemoryLeft();
MmiTraceInt(memoryleft);
if( strlen(QQSernumber)==0 )
{//no network
QQShowInformation( win, TxtNoNetwork,0, NULL,300,only_info,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
if( !smsidle_get_ready_state() )
{
QQShowInformation( win, TxtNotReady, TxtSim,NULL,300,only_info,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
SmsSend_get_config_data(&sms_parameter);
wstrcpy(sc_addr, (char *)sms_parameter.sc_addr);
wstrcpy(info,"MQ");//63
pstrinfo = mmi_Sys_Sim((char *)info, &outLen,&(sms_parameter.dcs));
SmsSend_set_dcs_number (&sms_parameter);
sms_submit(MFW_SMS_SUBMIT,QQSernumber,(UBYTE *)pstrinfo,outLen,sc_addr);
MmiTrace("sending parent");
MmiTraceInt(win);
QQsend.QQsendmsg=get_net_fri;
QQsend.sendingpawin=win;
QQsend.sendingwin=QQShowInformation( win, 0, TxtSending,QQSernumber,FOREVER,SMS_SENDING_MSG,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
static int Show_NET_Friend()
{
T_MFW_HND win = mfw_parent(mfwFocus);
T_MFW_HND parwin = mfw_parent(win);
U16 memoryleft;
MmiTrace("Show_NET_Friend");
MmiTraceInt(parwin);
MmiTraceInt(QQsend.QQsendmsg);
MmiTrace("mem");
memoryleft=mfwCheckMemoryLeft();
MmiTraceInt(memoryleft);
if( (QQsend.sendingpawin!=parwin)||(QQsend.QQsendmsg!=get_net_fri) )
return -1;
SEND_EVENT(win, DIALOG_DESTROY, 0, 0);
win=0;
DataListType=Net_fri_list;
if( (DataListPa_Start( parwin ))==NULL )
return -1;
return MFW_EVENT_CONSUMED;
}
int Add_New_friend(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfwParent( mfw_header() );
MmiTrace("Add_New_friend");
QQAddNewStart(win);
return MFW_EVENT_CONSUMED;
}
int Get_System_info(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
MmiTrace("Get_System_info()");
//init the parameter
DataListType=Sys_info_list;
DataListPa_Start( win );
return MFW_EVENT_CONSUMED;
}
int View_left_info(void)
{
T_MFW_HND win = mfw_parent(mfwFocus);
T_MFW_HND parwin = mfw_parent(win);
U16 memoryleft;
MmiTrace("View_left_info");
MmiTraceInt(parwin);
MmiTrace("mem");
memoryleft=mfwCheckMemoryLeft();
MmiTraceInt(memoryleft);
if( (QQsend.sendingpawin!=parwin)||(QQsend.QQsendmsg!=get_left_info) )
return -1;
SEND_EVENT(win, DIALOG_DESTROY, 0, 0);
win=0;
StartPlayByReason(SMSPLAY,0);
DataListType=Left_info_list;
if( DataListPa_Start(parwin)!=NULL )
return 0;
else
return -1;
}
int Get_left_info(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfwParent( mfw_header() );
UBYTE* pstrinfo;
char info[20];
USHORT outLen;
T_MFW_SMS_INFO sms_parameter;
char sc_addr[MAX_LEN]; /* service centre address */
MmiTrace("Get_left_info");
SmsSend_get_config_data(&sms_parameter);
wstrcpy(sc_addr, (char *)sms_parameter.sc_addr);
QQsend.QQsendmsg=get_left_info;
DataListType=Left_info_list;
wstrcpy(info,"YD");//"62"
pstrinfo = mmi_Sys_Sim((char *)info, &outLen,&(sms_parameter.dcs));
SmsSend_set_dcs_number (&sms_parameter);
sms_submit(MFW_SMS_SUBMIT,QQSernumber,(UBYTE *)pstrinfo,outLen,sc_addr);
QQsend.sendingpawin=win;
QQsend.sendingwin=QQShowInformation( win, 0, TxtSending,QQSernumber,FOREVER,SMS_SENDING_MSG,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
int Get_chat_info(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
MmiTrace("Get_chat_info()");
//init the parameter
DataListType=Chat_info_list;
DataListPa_Start( win );
return MFW_EVENT_CONSUMED;
}
int Ask_QQ_number(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND parent_window = mfw_parent(mfw_header());
T_MFW_WIN * win_Data = ((T_MFW_HDR *)parent_window)->data;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -