📄 mmiqq.c
字号:
if( !smsidle_get_ready_state() )
{
QQShowInformation( win, TxtNotReady, TxtSim,NULL,300,only_info,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
QQsend.QQsendmsg=Service_on;
SmsSend_get_config_data(&sms_parameter);
wstrcpy(sc_addr, (char *)sms_parameter.sc_addr);
wstrcpy(info,"MQ");//"50"
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.sendingwin=QQShowInformation( win, 0, TxtSending,QQSernumber,FOREVER,SMS_SENDING_MSG,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
int setQQServiceOff(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfwParent( 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 */
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);
QQsend.QQsendmsg=Service_off;
wstrcpy(info,"51");
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.sendingwin=QQShowInformation( win, 0, TxtSending,QQSernumber,FOREVER,SMS_SENDING_MSG,(T_VOID_FUNC)QQ_Inofrmation_cb);
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: Get_NVM_Friend
$Description:
$Returns:
$Arguments:
*******************************************************************************/
int Get_NVM_Friend(MfwMnu *m, MfwMnuItem *item )
{
T_MFW_HND win = mfw_parent(mfw_header());
MmiTrace("Get_NVM_Friend()");
//init the parameter
DataListType=Nvm_fri_list;
DataListPa_Start( win );
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: DataListPa_Start
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static T_MFW_HND DataListPa_Start (T_MFW_HND parent_window)
{
T_MFW_HND win;
U16 memoryleft;
MmiTrace("DataListPa_Start");
MmiTrace("mem");
memoryleft=mfwCheckMemoryLeft();
MmiTraceInt(memoryleft);
/* allocate window, and if successful initialise it
*/
if( ( win = DataListPa_create( parent_window ) ) != NULL )
SEND_EVENT( win, QQ_INIT, 0, 0 );
return win;
}
/*******************************************************************************
$Function: E2CInput_create
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static T_MFW_HND DataListPa_create (T_MFW_HND parent_window)
{
T_MFW_WIN *win_data;
tQQStandard *data;
T_QQ *QQ=NULL;
MmiTrace("DataListPa_create");
/* allocate memory for our control block
*/
if( ( QQ = (T_QQ *) ALLOC_MEMORY( sizeof( T_QQ ) ) ) == NULL )
return NULL;
if( ( data = (tQQStandard *) ALLOC_MEMORY( sizeof( tQQStandard ) ) ) == NULL )
{
FREE_MEMORY( (void *)QQ, sizeof( T_QQ ) );
return NULL;
}
/* Create the window if we can
*/
if( ( data->win = win_create( parent_window, 0, E_WIN_VISIBLE, (T_MFW_CB) DataListPa_win_cb ) ) == NULL )
{
FREE_MEMORY( (void *)QQ, sizeof( T_QQ ) );
FREE_MEMORY( (void *)data, sizeof( tQQStandard ) );
return NULL;
}
/* Okay, we have created the control block and the window, so
we now need to configure the dialog and data pointers
*/
data->mmi_control.dialog = (T_DIALOG_FUNC) DataListPa_dialog;
data->mmi_control.data = data;
win_data = ((T_MFW_HDR *)data->win)->data;
win_data->user = (void *) data;
data->QQ = QQ;
data->parent_win = parent_window;
/* And return the handle of the newly created window
*/
MmiTrace("creat_DataListPa_win");
MmiTraceInt(data->win);
return data->win;
}
/*******************************************************************************
$Function: E2CInput_destroy
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static void DataListPa_destroy (T_MFW_HND own_window)
{
T_MFW_WIN *win = ((T_MFW_HDR *) own_window)->data;
tQQStandard *data = (tQQStandard *) win->user;
T_MFW_HND parwin=data->parent_win;
U16 memoryleft;
MmiTrace("DataListPa_destroy");
ReadbtnShow=0;
if( DataListType==Unread_info_list )
{
CanReadQQ=1;
}
if( data )
{
MmiTrace("destroy_DataListPa_win");
MmiTraceInt(data->win);
winDelete ( data->win );
FreeListMemory();
if( data->QQ!=NULL )
FREE_MEMORY( (void *)data->QQ, sizeof( T_QQ ) );
if( data!=NULL )
FREE_MEMORY( (void *)data, sizeof( tQQStandard ) );
}
if_back_datalist(parwin);
MmiTrace("mem");
memoryleft=mfwCheckMemoryLeft();
MmiTraceInt(memoryleft);
}
/*******************************************************************************
$Function: E2CInput_win_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static int DataListPa_win_cb (T_MFW_EVENT event, T_MFW_WIN * win)
{
tQQStandard *data = (tQQStandard *) win->user;
TRACE_FUNCTION ("DataListPa_win_cb()");
MmiTrace("DataListPa_win_cb");
/* Handle the visible event, otherwise return MFW_EVENT_PASSED
*/
switch( event )
{
case MfwWinVisible:
{
}
break;
default:
{
/* unabel to handle event, pass handling of event back up tree
*/
return MFW_EVENT_PASSED;
}
}
/* if we get here, we have handled the event
*/
return MFW_EVENT_CONSUMED;
}
//get the phone friend list to show
static void DataListPa_dialog(T_MFW_HND win, USHORT event, SHORT value, void *parameter)
{
T_MFW_WIN *win_data = ((T_MFW_HDR *) win)->data;
tQQStandard *data = (tQQStandard *) win_data->user;
T_MFW_HND parentwin=data->parent_win;
int i=0;
int DataListTotal=0;
UINT32 b_color,f_color;
UBYTE old_mode;
MmiTrace("DataListPa_dialog");
switch( event )
{
case QQ_INIT:
{
DataListTotal=DatalistUpdate();
MmiTraceInt(DataListTotal);
if( (DataListTotal==0)&&(DataListType==Unread_info_list) )
{
DataListPa_destroy( win );
return;
}
else if( DataListTotal==0 )
{
QQShowInformation( win, TxtEmptyList, 0,NULL,300,destroy_one,(T_VOID_FUNC)QQ_Inofrmation_cb);//内存无够
return;
}
Data_List_data = (ListMenuData *)ALLOC_MEMORY(sizeof(ListMenuData));
if( Data_List_data==NULL )
{
QQShowInformation( win, TxtEmptyList, 0,NULL,300,destroy_one,(T_VOID_FUNC)QQ_Inofrmation_cb);//内存无够
}
else
{
Data_List_data->List = (T_MFW_MNU_ITEM *)ALLOC_MEMORY( DataListTotal*sizeof(T_MFW_MNU_ITEM) );
if( Data_List_data->List!=NULL )
{
MmiTrace("malloc data");
MmiTraceInt(sizeof(ListMenuData));
MmiTrace("malloc list");
MmiTraceInt( DataListTotal*sizeof(T_MFW_MNU_ITEM) );
for( i = 0; i < (DataListTotal); i++ )
{
Data_List_data->List[i].exta = 0;
Data_List_data->List[i].edit = 0;
Data_List_data->List[i].menu = 0;
Data_List_data->List[i].func = NULL;
{
switch( DataListType )
{
case Nvm_fri_list:
case Net_fri_list:
Data_List_data->List[i].icon =0;
Data_List_data->List[i].str=(char *)(((TQQFrinendItem*)pQQListItem+i)->QQname);
break;
case Sys_info_list:
if( (((TQQItem*)pQQListItem+i)->type)==Unread_sys )
Data_List_data->List[i].icon = &newsmslist;
else
Data_List_data->List[i].icon = &mtlist;
Data_List_data->List[i].str=(char *)(((TQQItem*)pQQListItem+i)->QQSms);//maybe need switch
break;
case Left_info_list:
if( (((TQQItem*)pQQListItem+i)->type)==Unread_Left )
Data_List_data->List[i].icon = &newsmslist;
else
Data_List_data->List[i].icon = &mtlist;
Data_List_data->List[i].str=(char *)(((TQQItem*)pQQListItem+i)->QQSms);//maybe need switch
break;
case Chat_info_list://may add from: To:
if( (((TQQItem*)pQQListItem+i)->type)==Unread_fri )
Data_List_data->List[i].icon = &newsmslist;
else
Data_List_data->List[i].icon = &mtlist;
Data_List_data->List[i].str=(char *)(((TQQItem*)pQQListItem+i)->QQname);//maybe need switch
break;
case Unread_info_list:
Data_List_data->List[i].icon = &newsmslist;
Data_List_data->List[i].str=(char *)(((TQQItem*)pQQListItem+i)->QQname);//maybe need switch
break;
default: break;
}
}
Data_List_data->List[i].flagFunc=item_flag_none;
}
Data_List_data->ListLength =DataListTotal;
Data_List_data->ListPosition = 1;
Data_List_data->CursorPosition = 1;
Data_List_data->SnapshotSize = DataListTotal;
Data_List_data->Font = 0;
Data_List_data->LeftSoftKey = TxtSoftSelect;
Data_List_data->RightSoftKey = TxtSoftBack;
Data_List_data->KeyEvents = KEY_ALL;
Data_List_data->Reason = 0;
Data_List_data->Strings = TRUE;
Data_List_data->Attr = &qq_menuAttrib;
Data_List_data->autoDestroy = FALSE;
Data_List_data->ListMenuFlag =1;
{
switch( DataListType )
{
case Nvm_fri_list:
Data_List_data->ListMenuHeadStr=MmiRsrcGetText(TxtQQNVMFriend);
SetWindowsHandle(win);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -