📄 mmiaoc.c
字号:
editor_data.LeftSoftKey = TxtSoftOK;
editor_data.RightSoftKey = TxtDelete;
//editor_data.TextId = TxtEnterLimit;
editor_data.Identifier = data->Identifier;
editor_data.mode = PHONENUMONLY_MODE; //hbh 2003-4-9
editor_data.AlternateLeftSoftKey = TxtNull;
editor_data.min_enter = 1;
/* create the dialog handler */
editor_start(data->service_win, &editor_data); /* start the editor */
break;
case SERVICES_LIMIT_CANCEL:
// clear the limit
data->aocInfo.acm_max = 0;
// Password not necessary, Pin2 scenario done
PWD='\0';
cm_set_aoc_value(CM_AOC_ACMMAX,&data->aocInfo, &PWD); /* save ACMmax in AOC */
sprintf(buf, "%ld", data->aocInfo.acm_max);
TRACE_EVENT(buf);
SEND_EVENT (win, SERVICES_LIMIT_CHANGED, 0, 0);
break;
case SERVICES_LIMIT_CHANGED:
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT| KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
if( FFS_flashData.language==0 )
{
display_info.TextString = "\x80\x8d\x39\x75\x28\x4e\x0a\x96\x50\x00\x00";//WUFEI Modify 0812 orignal value is 0
display_info.TextString2 = "\x80\x5D\xF1\x65\x39\x53\xD8\x00\x00";//WUFEI Modify 0812 orignal value is 0
}
else
{
display_info.TextString = "Limit";//wufei modified 0827
display_info.TextString2 = "Changed";//wufei modified 0827
}
display_info.TextId = '\0';//WUFEI modified 0812 orignal value is TxtLimit
display_info.TextId2 = '\0';//WUFEI Modified 0812 orignal value is TxtChanged
display_info.Time = FOREVER;
display_info.Identifier = event;
display_info.iconindex =REMIND_COMPLETE; //hubh 2003-4-9
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
#if 0
case SERVICES_LAST_CHARGE: //wufei modified
cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo); /* Get currency and price per unit */
cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo); /* Get currency and price per unit */
if( (strlen((char*)data->aocInfo.ppu) EQ 0) && (data->aocInfo.ccm NEQ '\0') ) //wufei
{
TRACE_EVENT ("get only :ACM ; PPU ==0 and ACM!=0");
//show only the units ACM from last call
sprintf(line, "%ld", acm_last_call);
}
else if( (strlen((char*)data->aocInfo.ppu) NEQ 0) && (data->aocInfo.ccm NEQ '\0') ) //wufei
{
TRACE_FUNCTION ("get only :ACM ; PPU !=0 and ACM!=0");
// add currency
//sprintf(line, "%ld %s", acm_last_call, data->aocInfo.cur);
service_calculate (win, (char*)line, data->aocInfo.ccm);
}
else //wufei
strcpy ((char *)line, "0");
if( acm_last_call EQ '\0' )
strcpy ((char *)line, "0");
dialog_info_init(&display_info);//gdy add
display_info.TextId = '\0';//WUFEI Modify 0812 orignal value is TxtLastCharge
display_info.TextId2 = '\0';
if( FFS_flashData.language==0 )
display_info.TextString = "\x80\x4e\x0a\x6b\x21\x90\x1a\x8b\xdd\x8d\x39\x75\x28\x00\x00";//WUFEI Modify 0812 orignal value is 0 ,now TxtLastCharge
else
display_info.TextString ="Last Charge";//wufei modified 0827
if( strlen(line)<3 ) //for gudy dialog hu binhao 2002-2-27
{
strcat(line," ");
}
display_info.TextString2 = line;
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack; //hu binhao 2003-2-17
display_info.Time = FOREVER;
display_info.iconindex =REMIND_NORECORD;
display_info.Identifier = event;
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
case SERVICES_TOTAL_CHARGE:
memset(line,'\0',sizeof(line));
cm_get_aoc_value(CM_AOC_ACM,&data->aocInfo); /* Get the ACM */
cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo); /* Get currency and price per unit */
/* nm test only set the default */
// data->aocInfo.acm=125;
// strcpy ((char *)data->aocInfo.cur, "DM");
// strcpy ((char *)data->aocInfo.ppu, "1.5");
/* nm test only set the default */
sprintf(buf, "ACM: %ld", data->aocInfo.acm);
TRACE_EVENT(buf);
sprintf(buf, "PPU:%s", data->aocInfo.ppu);
TRACE_EVENT(buf);
sprintf(buf, "CUR:%s", data->aocInfo.cur);
TRACE_EVENT(buf);
if( (strlen((char*)data->aocInfo.ppu) EQ 0) && data->aocInfo.acm NEQ '\0' )
{
//show only the units ACM
sprintf(line, "%ld", data->aocInfo.acm);
TRACE_EVENT ("get only :ACM ; PPU ==0 and ACM!=0");
}
if( (strlen((char*)data->aocInfo.ppu) NEQ 0) && data->aocInfo.acm NEQ '\0' )
{
service_calculate (win, (char*)line, data->aocInfo.acm);
TRACE_EVENT ("calculate ACM * PPU; PPU !=0 and ACM!=0");
}
if( data->aocInfo.acm EQ '\0' )
strcpy ((char *)line, "0");
dialog_info_init(&display_info);//gdy add
display_info.TextId = '\0';//WUFEI Modify 0812 orignal value is TxtTotalCharge
display_info.TextId2 = '\0';
if( FFS_flashData.language==0 )
display_info.TextString = "\x80\x7d\x2f\x8b\xa1\x90\x1a\x8b\xdd\x8d\x39\x75\x28\x00\x00";//WUFEI Modify 0812 orignal value is 0 now TxtTotalCharge
else
display_info.TextString = "Total Charge";//wufei modified 0827
if( strlen(line)<3 ) //for gudy dialog hu binhao 2002-2-27
{
strcat(line," ");
}
display_info.TextString2 = line;
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT| KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack;
display_info.Time = FOREVER;
display_info.iconindex =REMIND_NORECORD;
display_info.Identifier = event;
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
#endif
case SERVICES_RESET_CHARGE:
// clear the charge counter for all calls
data->aocInfo.acm = 0;
acm_last_call = 0;
cm_set_aoc_value(CM_AOC_ACM,&data->aocInfo, &PWD); /* save ACM in AOC */
sprintf(buf, "%ld", data->aocInfo.acm);
TRACE_EVENT(buf);
SEND_EVENT (win, SERVICES_CHARGE_CHANGED, 0, 0);
break;
case SERVICES_CHARGE_CHANGED:
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT |KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId = TxtResetCharge;
display_info.TextId2 = TxtNull;
display_info.Time = FOREVER;
display_info.Identifier = event;
display_info.iconindex =REMIND_COMPLETE; //hubh 2003-4-9
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
case SERVICES_OUT_OF_RANGE:
dialog_info_init(&display_info);//gdy add
TRACE_EVENT("SERVICES_OUT_OF_RANGE");
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT | KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId = TxtOutofRange;
display_info.TextId2 = TxtNull;
display_info.Time = THREE_SECS;
display_info.Identifier = event;
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
case SERVICES_AOC_NOT_SUPPORTED:
TRACE_EVENT("SERVICES_OUT_OF_RANGE");
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT | KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId = TxtNotAllowed;
display_info.TextId2 = TxtNull;
display_info.Time = THREE_SECS;
display_info.Identifier = event;
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
case SERVICES_RATE_VIEW: //WUFEI Add the following code
memset(line,'\0',sizeof(line));
dialog_info_init(&display_info);//gdy add
cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo); /* Get currency and price per unit */
sprintf(buf, "PPU:%s", data->aocInfo.ppu); //WUFEI MODIFY
TRACE_FUNCTION(buf);
sprintf(buf, "CUR:%s", data->aocInfo.cur); //WUFEI MODIFY
TRACE_FUNCTION(buf);
if( strlen((char*)data->aocInfo.ppu) NEQ 0 )
{
sprintf(line, "%s %s", data->aocInfo.ppu, data->aocInfo.cur);
TRACE_FUNCTION ("get only :ACMMAX ; PPU ==0 and ACMMAX!=0");
}
//from ASCII TO GSM DEFAULT
for( i=0; i< MAX_LINE; i++ )
{
if( line[i] EQ 0x80 OR line[i] EQ 0xFF )
line[i] = '\0';
}
if( data->aocInfo.ppu NEQ '\0' )
{
display_info.TextId = '\0';//WUFEI Modify 0812 orignal value is Txt1Unit
display_info.TextId2 = '\0';//WUFEI Modify 0812 orignal value is TxtNull
if( FFS_flashData.language==0 )
display_info.TextString = "\x80\x00\x31\x90\x1a\x8b\xdd\x53\x55\x4f\x4d\xff\x1d\x00\x00";//WUFEI Modify 0812 orignal value is 0 ,now txt1unit
else
display_info.TextString = "1 Unit=...";//wufei modified 0827
display_info.TextString2 = line;
}
else
{
display_info.TextId = '\0';//WUFEI Modify 0812orignal value is TxtWithout
display_info.TextId2 = '\0';//WUFEI Modify 0812 orignal value is TxtRate
if( FFS_flashData.language==0 )
{
display_info.TextString = "\x80\x90\x1a\x8b\xdd\x8d\x39\x73\x87\x00\x00";//WUFEI Modify 0812 orignal value is 0,now txtrate
display_info.TextString2 = "\x80\x65\xe0\x00\x00";//WUFEI Modify 0812 orignal value is 0,now txtwithout
}
else
{
display_info.TextString = "Rate";
display_info.TextString2 = "NO";//wufei modified 0827
}
}
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = TxtSoftBack; //hu binhao 2003-2-17
display_info.iconindex= REMIND_NORECORD; /*2003/11/20, wangyan add*/
display_info.Time = THREE_SECS;
display_info.Identifier = event;
display_info.Callback = (T_VOID_FUNC)service_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (win, &display_info);
break;
case SERVICES_RATE_CANCEL: //WUFEI Add the following code
memset(data->aocInfo.ppu, '\0', sizeof(data->aocInfo.ppu));
memset(data->aocInfo.cur, 0x80, sizeof(data->aocInfo.cur));
// Password not necessary, Pin2 scenario done
PWD='\0';
sprintf(buf, "%s %s", data->aocInfo.ppu,data->aocInfo.cur);
TRACE_FUNCTION(buf);
if( cm_set_aoc_value(CM_AOC_PUCT,&data->aocInfo, &PWD) EQ CM_OK )/* save ACMmax in AOC */
SEND_EVENT (win, SERVICES_RATE_CHANGED, 0, 0);
else
SEND_EVENT (win, SERVICES_AOC_NOT_SUPPORTED, 0,0);
break;
}
}
//-----------------------------end of wufei modified------------------------------
/*******************************************************************************
$Function: service_loadEditDefault
$Description: fill up editor-sttribut with default
$Returns:
$Arguments:
*******************************************************************************/
void service_loadEditDefault (T_EDITOR_DATA *editor_data) //wufei modified the value of px py sx xy/ 0813
{
TRACE_FUNCTION ("service_loadEditDefault()");
editor_data->editor_attr.win.px = 6;
editor_data->editor_attr.win.py = 38;
editor_data->editor_attr.win.sx = 100;
editor_data->editor_attr.win.sy = 58;
editor_data->editor_attr.fgColor = 0;
editor_data->editor_attr.font = 0;
editor_data->editor_attr.mode = edtCurBar1;
editor_data->editor_attr.controls = 0;
editor_data->editor_attr.text = '\0';
editor_data->editor_attr.size = 0;
editor_data->editor_attr.e_size = 0; /* 2003/12/04 sunsj fix the ascii char text size */
editor_data->hide = FALSE;
editor_data->Identifier = 0; /* optional */
//editor_data->mode = DIGITS_MODE;
editor_data->destroyEditor = TRUE; //2003-4-10
editor_data->LeftSoftKey = TxtSoftSelect;
editor_data->AlternateLeftSoftKey = TxtNull;
editor_data->RightSoftKey
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -