📄 menu.c
字号:
curtime = TaskGetSystemMilliTicks();
if((curtime - gUIMain.LastPressTime)>2*1000)
newnumber = TRUE;
gUIMain.LastPressTime = curtime;
}
if(!newnumber)
{
utemp = utemp*10 + num;
if(MAX_COPYNUM<utemp)
if(modechange == TRUE)
{
gUIMain.UIstate = QUICKFAX;
CharSymbolTableInitial(chSymTbl, INPUT_NUM);
inputbuf[0] = chSymTbl[utemp/100].ch[0];
inputbuf[1] = chSymTbl[utemp/10-(utemp/100)*10].ch[0];
//inputbuf[2] = chSymTbl[utemp%10].ch[0];
inputindex =2;
curindex = 9;
setconfirm= TRUE;
presscount = 0;
// EditorCursorShow(curindex);
EditorDialInput2(num);
return;
}
}
else
{
utemp = num;
newnumber = FALSE;
}
strcpy(firstlinebuf,GetMsgData(DISP_N_O_C));
sprintf(secondlinebuf,"[1-99]>%d",utemp);
}
void EditorMultiInput3(Uint8 num,P_MAIN_MENU_LIST menu)
{
if(!newnumber)
{
ut2 = ut2*10 + num;
if(max<ut2*10)
newnumber = TRUE;
}
else
{
ut2 = num;
if(max>=ut2*10)
newnumber = FALSE;
}
sprintf(secondlinebuf,"[%d-%d]>%d",menu->item_min,menu->item_max,ut2);
}
void EditorDateTimeInput(Uint8 num,Uint8 step)
{
switch(step)
{
case 0:
datetimetmp.Month = datetimetmp.Month%10 + num*10;
break;
case 1:
datetimetmp.Month = (datetimetmp.Month/10)*10 + num;
break;
case 2:
datetimetmp.Date= datetimetmp.Date%10 +num*10;
break;
case 3:
datetimetmp.Date = (datetimetmp.Date/10)*10 + num;
break;
case 4:
datetimetmp.Year = datetimetmp.Year%10 + num*10;
break;
case 5:
datetimetmp.Year = (datetimetmp.Year/10)*10 +num;
break;
case 6:
if(gMFPSettingNvram.Common.ClockMode == 1)
datetimetmp.Hour = datetimetmp.Hour%10 + num*10;
else
{
if(ampm == 0)
datetimetmp.Hour = datetimetmp.Hour%10 + num*10;
else
datetimetmp.Hour = (datetimetmp.Hour-12)%10 + num*10 +12;
}
break;
case 7:
if(gMFPSettingNvram.Common.ClockMode == 1)
datetimetmp.Hour = (datetimetmp.Hour/10)*10 + num;
else
{
if(ampm == 0)
datetimetmp.Hour = (datetimetmp.Hour/10)*10 + num;
else
datetimetmp.Hour = (datetimetmp.Hour/10)*10 + num +2;
}
break;
case 8:
datetimetmp.Minute = datetimetmp.Minute%10 + num*10;
break;
case 9:
datetimetmp.Minute = (datetimetmp.Minute/10)*10 +num;
break;
case 10:
ampm = (ampm?0:1);
if(ampm == 0)
datetimetmp.Hour = datetimetmp.Hour -12;
else
datetimetmp.Hour = datetimetmp.Hour + 12;
break;
default:
break;
}
DateTimeDisplay(datetimetmp);
}
void StandbyMode(Uint8 action)
{
Uint8 index,num;
P_MAIN_MENU_LIST currentmenu;
P_MAIN_MENU_LIST pml;
char * buf;
Uint8 AlignL1,AlignL2;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
AlignL1 = currentmenu->firstline;
AlignL2 = currentmenu->secondline;
switch(action)
{
case PANEL_ARROWRIGHT:
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));//need to check toner to confirm the titleID
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_ARROWLEFT:
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));//need to check toner to confirm the titleID
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_SELECT:
index = gpMenudata->mlIndex;
switch(index)
{
case 0:
gUIMain.UIstate = COPY_IDLE;
utemp= 1;
newnumber = TRUE;
num = gUIMain.copysetting.Copynumber;
strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
sprintf(firstlinebuf,"C:%2d %s %3d%%",num,buf, gUIMain.copysetting.Zoomratio);
pml = (P_MAIN_MENU_LIST)currentmenu->pNextMenuList;
strcpy(secondlinebuf,GetMsgData(pml->dispID));
break;
case 1:
gUIMain.UIstate = FAX_IDLE;
// setconfirm= TRUE;
presscount = 0;
pml = (P_MAIN_MENU_LIST)currentmenu->pNextMenuList;
strcpy(firstlinebuf,GetMsgData(pml->titleID));
strcpy(secondlinebuf,GetMsgData(pml->dispID));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
DisplayLCD(1, secondlinebuf, AlignL2,TRUE);
break;
case 2:
gUIMain.UIstate = MENU;
pml = (P_MAIN_MENU_LIST)currentmenu->pNextMenuList;
strcpy(firstlinebuf,GetMsgData(pml->titleID));
strcpy(secondlinebuf,GetMsgData(pml->dispID));
break;
case 3:
gUIMain.UIstate = SCAN_IDLE;
// setconfirm = TRUE;
// utemp=0;
pml = (P_MAIN_MENU_LIST)currentmenu->pNextMenuList;
strcpy(firstlinebuf,GetMsgData(pml->titleID));
strcpy(secondlinebuf,GetMsgData(pml->dispID));
break;
default:
break;
}
break;
case PANEL_BACK:
setconfirm= FALSE;
newnumber = TRUE;
modechange = FALSE;
utemp = 0;
memset(inputbuf,0,strlen(inputbuf));
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));//need to check toner to confirm the titleID
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_NUM0://two number copy num and three number fax num
EditorMultiInput2(PANEL_NUM0);
break;
case PANEL_NUM1:
EditorMultiInput2(PANEL_NUM1);
break;
case PANEL_NUM2:
EditorMultiInput2(PANEL_NUM2);
break;
case PANEL_NUM3:
EditorMultiInput2(PANEL_NUM3);
break;
case PANEL_NUM4:
EditorMultiInput2(PANEL_NUM4);
break;
case PANEL_NUM5:
EditorMultiInput2(PANEL_NUM5);
break;
case PANEL_NUM6:
EditorMultiInput2(PANEL_NUM6);
break;
case PANEL_NUM7:
EditorMultiInput2(PANEL_NUM7);
break;
case PANEL_NUM8:
EditorMultiInput2(PANEL_NUM8);
break;
case PANEL_NUM9:
EditorMultiInput2(PANEL_NUM9);
break;
default:
break;
}
}
void CopyIdleMode(Uint8 action)
{
P_MAIN_MENU_LIST currentmenu;
// char * buf;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
switch(currentmenu->type)
{
case MULTI:
MultiType(action);
break;
case STRING:
StringType(action);
break;
case GRAPHIC:
GraphicType(action);
break;
default:
break;
}
}
void ScanIdleMode(Uint8 action)
{
P_MAIN_MENU_LIST currentmenu;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
switch(currentmenu->type)
{
case STRING:
StringType(action);
default:
break;
}
}
void MenuMode(Uint8 action)
{
// char buf[42];
P_MAIN_MENU_LIST currentmenu;
Uint8 AlignL1,AlignL2;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
AlignL1 = currentmenu->firstline;
AlignL2 = currentmenu->secondline;
switch(currentmenu->type)
{
case MULTI:
MultiType(action);
break;
case STRING:
if(currentmenu->dispID != DISP_CLR_DRUM&¤tmenu->dispID != DISP_RESET_DC_CNT)
StringType(action);
else
{
ConfirmString(action);
return;
}
// sprintf(buf,"%-20s\n%-20s",firstlinebuf,secondlinebuf);
// DisplayLCD(0, buf, strlen(buf));
if(currentmenu->pNextMenuList != NULL&¤tmenu->titleID!= DISP_ZOOM)
currentmenu = currentmenu->pNextMenuList;
if(currentmenu->type!= STRING)
{
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
DisplayLCD(1, secondlinebuf, AlignL2,TRUE);
}
break;
case GRAPHIC:
GraphicType(action);
break;
case DIALINPUT:
DialInputType(action);
break;
case CHARACTERINPUT:
CharInputType(action);
break;
case DATETIMEINPUT:
DateTimeType(action);
break;
case IDINPUT:
IDInputType(action);
break;
case DIALTEST:
DialTestType(action);
break;
default:
break;
}
}
void MultiType(Uint8 action)
{
Uint8 num;
P_MAIN_MENU_LIST currentmenu;
char* buf;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
switch(action)
{
case PANEL_ARROWRIGHT:
if(setconfirm == TRUE)
{
udefault++;
if( udefault>max)
udefault = min;
newnumber = TRUE;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
}
else
{
if(currentmenu->titleID == DISP_COPY)
{
num = gUIMain.copysetting.Copynumber;
strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
sprintf(firstlinebuf,"C:%2d %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
}
break;
case PANEL_ARROWLEFT:
if(setconfirm == TRUE)
{
if( udefault==min)
udefault = max;
else
udefault--;
newnumber = TRUE;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
}
else
{
if(currentmenu->titleID == DISP_COPY)
{
num = gUIMain.copysetting.Copynumber;
strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
sprintf(firstlinebuf,"C:%2d %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
}
break;
case PANEL_SELECT:
if(currentmenu->pNextMenuList != NULL)
{
currentmenu = currentmenu->pNextMenuList;
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else if(setconfirm == FALSE)
{
min = currentmenu->item_min;
max = currentmenu->item_max;
if(max == 0)
return;
else
{
if(max<256)
udefault = *(Uint8*)val[currentmenu->item_userdefault];
else
udefault = *(Uint16*)val[currentmenu->item_userdefault];
// utemp = udefault;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
setconfirm = TRUE;
}
gUIMain.LastPressTime = TaskGetSystemMilliTicks();
}
else
{
/* if(udefault>max)
udefault = max;
else*/
if(udefault<min||udefault>max)
{
strcpy(firstlinebuf,GetMsgData(DISP_ENTER_AGAIN));
LCDDisplayClear();
copyparaerr = TRUE;
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(400);
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
return;
}
strcpy(firstlinebuf,GetMsgData(DISP_SAVED));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
if(max<256)
*(Uint8*)val[currentmenu->item_userdefault] = udefault;
else
*(Uint16*)val[currentmenu->item_userdefault] = udefault;
if(currentmenu->item_userdefault > Val_autoreduction&¤tmenu->item_userdefault<Val_dialnumber)
{
UpdateData(currentmenu->item_userdefault);
FunFAX_ParamSelectAPI();
}
else if(currentmenu->item_userdefault >= Val_FM_rxlevel&¤tmenu->item_userdefault<=Val_FM_symbolrate)
{
FunFAX_ParamSelectAPI();
NVFlashDataWrite(FAXMAINTENANCE);
}
NU_Sleep(400);
if(currentmenu->titleID == DISP_COPY)
{
num = gUIMain.copysetting.Copynumber;
strcpy(buf, GetMsgData(Ms_PaperSize2[gUIMain.papersetting.Papersize]));
sprintf(firstlinebuf,"C:%2d %s %3d%%",num,buf,gUIMain.copysetting.Zoomratio);
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else if(currentmenu->titleID == DISP_ZOOM)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -