📄 menu.c
字号:
{
gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pPreMenuList;
gpMenudata ->mlIndex= gpMenudata->currentMenu->preIndex;
gpMenudata ->mlCount= gpMenudata->currentMenu->precount;
gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
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(gpMenudata ->currentMenu->dispID));
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
setconfirm = FALSE;
newnumber = TRUE;
}
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
newnumber = TRUE;
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)
{
gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pPreMenuList;
gpMenudata ->mlIndex = gpMenudata->currentMenu->preIndex;
gpMenudata ->mlCount = gpMenudata->currentMenu->precount;
gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;
currentmenu = gpMenudata ->currentMenu;
udefault = 5;
min = currentmenu->item_min;
max = currentmenu->item_max;
setconfirm = TRUE;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
break;
case PANEL_NUM0:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM0, currentmenu);
break;
case PANEL_NUM1:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM1, currentmenu);
break;
case PANEL_NUM2:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM2, currentmenu);
break;
case PANEL_NUM3:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM3, currentmenu);
break;
case PANEL_NUM4:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM4, currentmenu);
break;
case PANEL_NUM5:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM5, currentmenu);
break;
case PANEL_NUM6:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM6, currentmenu);
break;
case PANEL_NUM7:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM7, currentmenu);
break;
case PANEL_NUM8:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM8, currentmenu);
break;
case PANEL_NUM9:
if(setconfirm == TRUE)
EditorMultiInput(PANEL_NUM9, currentmenu);
break;
default:
break;
}
}
void StringType(Uint8 action)
{
Uint8 num,adfflag;
P_MAIN_MENU_LIST currentmenu;
char buf[5];
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
switch(action)
{
case PANEL_ARROWRIGHT:
if(setconfirm == TRUE)
{
udefault++;
if( udefault>max)
udefault = min;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[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));
}
}
if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
sprintf(secondlinebuf,"%s*",secondlinebuf);
break;
case PANEL_ARROWLEFT:
if(setconfirm == TRUE)
{
if( udefault==min)
udefault = max;
else
udefault--;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[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));
}
}
if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
sprintf(secondlinebuf,"%s*",secondlinebuf);
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
step = 0;
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&¤tmenu->dispID != DISP_ZOOM&&!gUIMain.bFirstPowerUP)
{
currentmenu = currentmenu->pNextMenuList;
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else if(currentmenu->pNextMenuList != NULL&&(currentmenu->dispID == DISP_ZOOM&&udefault == 5))
{
*(Uint8*)val[currentmenu->item_userdefault] = udefault;
currentmenu = currentmenu->pNextMenuList;
min = currentmenu->item_min;
max = currentmenu->item_max;
udefault = *(Uint16*)val[currentmenu->item_userdefault];
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
sprintf(secondlinebuf,"[%d-%d]>%d",currentmenu->item_min,currentmenu->item_max,udefault);
gpMenudata ->ml = (P_MAIN_MENU_LIST)gpMenudata->currentMenu->pNextMenuList;
gpMenudata ->mlIndex = gpMenudata->currentMenu->NextIndex;
gpMenudata ->mlCount = gpMenudata->currentMenu->count;
gpMenudata ->currentMenu = gpMenudata->ml + gpMenudata ->mlIndex;
setconfirm = TRUE;
}
else if(setconfirm == FALSE)
{
min = currentmenu->item_min;
#ifdef _DRPD_VALID
if(currentmenu->dispID == DISP_REC_MODE&&gUIMain.faxsetting.DRPDmode == 0)
max = 3;
/* else if(currentmenu->dispID == DISP_LAYOUT)
{
if(adfflag == 0)
max = 4;
else
max = 5;
}*/
else
#endif
max = currentmenu->item_max;
if(currentmenu->fun2 != NULL)
{
currentmenu->fun2();
if (currentmenu->titleID == DISP_CLR_SET)
{
LCDDisplayClear();
strcpy(firstlinebuf,GetMsgData(DISP_UPDATE_DATA));
strcpy(secondlinebuf,"");
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
NU_Sleep(400);
}
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
return;
}
else if(currentmenu->item_userdefault != 0)
{
udefault = *(Uint8*)val[currentmenu->item_userdefault];
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
setconfirm = TRUE;
}
else if (currentmenu->titleID == DISP_T_PC) /* Add by Alan for PushScan */
{
Uint8 i;
i = currentmenu->dispID - SCAN_APP_NAME_ID;
if (i < gUIMain.scansetting.Scan2PCAPI.ApplicCount)
{
if (GetAgentConnectedState())
{
if (ADF_FeedSensorCheck()) {
/* ADF Push Scan only support: Letter, A4, Legal Sizes */
if ( (gUIMain.scansetting.IOriginalsize != ISIZE85_11INCH)
&& (gUIMain.scansetting.IOriginalsize != ISIZEA4)
&& (gUIMain.scansetting.IOriginalsize != ISIZELGL) ) {
/* Display error and sound */
SpeakerSoundPlay(SOUND_OF_KEYPAD);
LCDDisplayClear();
strcpy(firstlinebuf, GetMsgData(DISP_ORI_SIZE));
strcpy(secondlinebuf, GetMsgData(DISP_ERROR));
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
NU_Sleep(600);
strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
return;
}
}
else {
/* FB Push Scan does't support Legal Size */
if ( gUIMain.scansetting.IOriginalsize == ISIZELGL ) {
/* Display error and sound */
SpeakerSoundPlay(SOUND_OF_KEYPAD);
LCDDisplayClear();
strcpy(firstlinebuf, GetMsgData(DISP_ORI_SIZE));
strcpy(secondlinebuf, GetMsgData(DISP_ERROR));
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
NU_Sleep(600);
strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
return;
}
}
/* Set push scan Application ID */
SetPushScanAppID(gUIMain.scansetting.Scan2PCAPI.ApplicRecord[i].ApplicationID);
LCDDisplayClear();
strcpy(firstlinebuf, GetMsgData(DISP_PLS_WAIT));
strcpy(secondlinebuf,"");
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
NU_Sleep(2600);
strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
}
else
{
/* Display error and sound for Agent not connecting */
SpeakerSoundPlay(SOUND_OF_KEYPAD);
LCDDisplayClear();
strcpy(firstlinebuf, GetMsgData(DISP_PLS_CHECK));
strcpy(secondlinebuf, GetMsgData(DISP_CONFIGURATION));
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
NU_Sleep(800);
strcpy(firstlinebuf, GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf, GetMsgData(currentmenu->dispID));
}
}
//MenuListInitSet(COPY_IDLE);
//gUIMain.UIstate = STANDBY;
//setconfirm = TRUE;
return;
}
}
else
{
adfflag = ADFSensorDocCheck();
if(currentmenu->dispID == DISP_LAYOUT&&adfflag == 0)
{
if(udefault == 5)
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
copyparaerr = TRUE;
return;
}
}
else if(currentmenu->dispID == DISP_LAYOUT&&adfflag == 1)
{
if(udefault == 1||udefault == 2||udefault == 3)
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
copyparaerr = TRUE;
return;
}
}
strcpy(firstlinebuf,GetMsgData(DISP_SAVED));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
*(Uint8*)val[currentmenu->item_userdefault] = udefault;
if(currentmenu->item_userdefault == Val_presetratio)
CalZoomRatio();
else if(currentmenu->item_userdefault == Val_NV_presetratio)
{
CalDFZoomRatio();
UpdateData(currentmenu->item_userdefault);
UpdateData(Val_zoomratio);
}
else 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
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
setconfirm = FALSE;
}
if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
sprintf(secondlinebuf,"%s*",secondlinebuf);
break;
case PANEL_PHONEBOOK:
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
default:
break;
}
// if(setconfirm == TRUE&&*(Uint8*)val[currentmenu->item_userdefault] == udefault)
// sprintf(secondlinebuf,"%s*",secondlinebuf);
}
void ConfirmString(Uint8 action)
{
P_MAIN_MENU_LIST currentmenu;
Uint8 AlignL1,AlignL2;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
AlignL1 = currentmenu->firstline;
AlignL2 = currentmenu->secondline;
switch(action)
{
case PANEL_ARROWRIGHT:
if(setconfirm == TRUE)
{
udefault++;
if( udefault>max)
udefault = min;
sprintf(firstlinebuf,"%s?",GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
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--;
sprintf(firstlinebuf,"%s?",GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
step = 0;
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_SELECT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -