📄 menu.c
字号:
if(setconfirm == FALSE)
{
min = currentmenu->item_min;
max = currentmenu->item_max;
udefault = 1;
sprintf(firstlinebuf,"%s?",GetMsgData(currentmenu->dispID));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
setconfirm = TRUE;
}
else
{
if(udefault == 1)
{
if(currentmenu->dispID == DISP_CLR_DRUM)
{
gUIMain.UIstate = PRINT_PROCESSING;
MenuListInitSet(COPY_IDLE);
}
currentmenu->fun2();
if(currentmenu->dispID == DISP_RESET_DC_CNT)
{
strcpy(firstlinebuf,GetMsgData(DISP_SAVED));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(400);
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
setconfirm = FALSE;
}
break;
default:
break;
}
}
void GraphicType(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;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
if(currentmenu->titleID == DISP_COPY||currentmenu->titleID == DISP_COPY_DEF)
strcpy(secondlinebuf,diamond[udefault]);
else if(currentmenu->titleID == DISP_QUA_SET||currentmenu->titleID == DISP_FAX_DFT)
strcpy(secondlinebuf,diamond2[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--;
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
if(currentmenu->titleID == DISP_COPY||currentmenu->titleID == DISP_COPY_DEF)
strcpy(secondlinebuf,diamond[udefault]);
else if(currentmenu->titleID == DISP_QUA_SET||currentmenu->titleID == DISP_FAX_DFT)
strcpy(secondlinebuf,diamond2[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_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
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;
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;
udefault = *(Uint8*)val[currentmenu->item_userdefault];
strcpy(firstlinebuf,GetMsgData(currentmenu->dispID));
if(currentmenu->titleID == DISP_COPY||currentmenu->titleID == DISP_COPY_DEF)
strcpy(secondlinebuf,diamond[udefault]);
else if(currentmenu->titleID == DISP_QUA_SET||currentmenu->titleID == DISP_FAX_DFT)
strcpy(secondlinebuf,diamond2[udefault]);
setconfirm = TRUE;
}
else
{
strcpy(firstlinebuf,GetMsgData(DISP_SAVED));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
*(Uint8*)val[currentmenu->item_userdefault] = udefault;
if(currentmenu->item_userdefault > Val_autoreduction&¤tmenu->item_userdefault<Val_dialnumber)
UpdateData(currentmenu->item_userdefault);
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;
}
break;
default:
break;
}
}
void QuickCopy(Uint8 action)
{
P_MAIN_MENU_LIST currentmenu;
// char * buf;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
switch(action)
{
case PANEL_ARROWRIGHT:
if(utemp<MAX_COPYNUM)
utemp++;
else
utemp = 1;
newnumber = TRUE;
// strcpy(firstlinebuf,GetMsgData(DISP_N_O_C));
sprintf(secondlinebuf,"[1-99]>%d",utemp);
break;
case PANEL_ARROWLEFT:
if(utemp>1)
utemp--;
else
utemp = MAX_COPYNUM;
newnumber = TRUE;
// strcpy(firstlinebuf,GetMsgData(DISP_N_O_C));
sprintf(secondlinebuf,"[1-99]>%d",utemp);
break;
case PANEL_BACK:
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));//need to check toner to confirm the titleID
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_SELECT:
if(utemp == 0)
{
strcpy(firstlinebuf,GetMsgData(DISP_ENTER_AGAIN));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(400);
strcpy(firstlinebuf,GetMsgData(DISP_N_O_C));
sprintf(secondlinebuf,"[1-99]>%d",utemp);
return;
}
else
{
gUIMain.copysetting.Copynumber = utemp;
gUIMain.UIstate = COPY_PROCESSING;
setconfirm = FALSE;
copypage = 0;
UIDoCopyJob(FALSE);
}
//strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
//strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_NUM0:
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 DateTimeType(Uint8 action)
{
Uint32 datetimedata;
P_MAIN_MENU_LIST currentmenu;
STATUS status;
static Uint8 curStep,stepmax;
Uint8 AlignL1,AlignL2;
sFaxCommJob *waitingCommJob;
int foundJobNum;
struct tm pp;
currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;
AlignL1 = currentmenu->firstline;
AlignL2 = currentmenu->secondline;
switch(action)
{
case PANEL_ARROWRIGHT:
if(setconfirm == TRUE)
{
if (curStep < stepmax)
curStep++;
else
curStep = 0;
curindex= GetDateTimeCursorXPos(curStep);
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
break;
case PANEL_ARROWLEFT:
if(setconfirm == TRUE)
{
if (curStep > 0)
curStep--;
else
curStep = stepmax;
curindex = GetDateTimeCursorXPos(curStep);
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
break;
case PANEL_SELECT:
if(setconfirm == FALSE)
{
// if(currentmenu->dispID == DISP_DATE_TIME)
// {
status = NU_Obtain_Semaphore(&gDateTimeSem,NU_NO_SUSPEND);
if(NU_SUCCESS != status)
{
return;
}
// EnableRTCAccess();
datetimedata = ReadRTC_C();
// }
if(step == 3||step == 4)
NU_Release_Semaphore(&gDateTimeSem);
CalDateTimeFormat(datetimedata,&datetime);
memcpy(&datetimetmp, &datetime, sizeof(DateTimeSct));
setconfirm = TRUE;
curStep = 0;
if(gMFPSettingNvram.Common.ClockMode == 1)
stepmax = 9;
else
stepmax = 10;
curindex = GetDateTimeCursorXPos(curStep);
if(datetimetmp.Hour>12)
ampm = 1;
else
ampm = 0;
DateTimeDisplay(datetimetmp);
LCDCursorOn();
// strcpy(firstlinebuf, GetMsgData(currentmenu->dispID));
// strcpy(secondlinebuf, inputbuf);
}
else
{
if(DateTimeValid(datetimetmp))
{
memcpy(&datetime, &datetimetmp, sizeof(DateTimeSct));
datetimedata = CalDateTimeData(&datetime);
if(currentmenu->dispID == DISP_DATE_TIME)
{
waitingCommJob = oswGetBuffer(sizeof(sFaxCommJob) * cMaxFaxJob);
foundJobNum = FaxAPI_GetWaitingCommJobInfo(waitingCommJob);
if(foundJobNum == 0)
{
SetRTC_C(datetimedata);
// DisableRTCAccess();
NU_Release_Semaphore(&gDateTimeSem);
strcpy(firstlinebuf,GetMsgData(DISP_D_ENTRY_OK));
}
else
{
NU_Release_Semaphore(&gDateTimeSem);
strcpy(firstlinebuf,GetMsgData(DISP_TIME_LOCK));
}
oswReleaseBuffer(waitingCommJob);
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(500);
}
else if(step == 3)
{
if(currentmenu->dispID == DISP_RECV_FOR)
{
//gMFPSettingNvram.Fax.Recvforward.Forstarttime = datetimedata;
ConvertDateTime2tm(&datetime, &pp);
datetimedata = mktime(&pp);
recvforwardtemp.Forstarttime = datetimedata;
}
// else if(currentmenu->dispID == DISP_TOLL_SAV)
// gMFPSettingNvram.Fax.Tollsave.Tollstarttime = datetimedata;
strcpy(firstlinebuf,GetMsgData(DISP_END_TIME));
strcpy(secondlinebuf," ");
LCDDisplayClear();
LCDCursorOff();
DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
DisplayLCD(1, secondlinebuf, AlignL2,FALSE);
NU_Sleep(400);
step = 4;
setconfirm = FALSE;
DateTimeType(PANEL_SELECT);
return;
}
else if(step == 4)
{
if(currentmenu->dispID == DISP_RECV_FOR)
{
//gMFPSettingNvram.Fax.Recvforward.Forendtime = datetimedata;
ConvertDateTime2tm(&datetime, &pp);
datetimedata = mktime(&pp);
recvforwardtemp.Forendtime = datetimedata;
step = 5;
setconfirm = FALSE;
LCDCursorOff();
MultiStringType1(PANEL_SELECT);
return;
}
/* else if(currentmenu->dispID == DISP_TOLL_SAV)
{
gMFPSettingNvram.Fax.Tollsave.Tollendtime = datetimedata;
step = 0;
}*/
}
setconfirm = FALSE;
LCDCursorOff();
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else
{
sprintf(firstlinebuf,GetMsgData(DISP_ENTER_AGAIN));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(500);
DateTimeDisplay(datetimetmp);
}
}
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
LCDCursorOff();
step = 0;
// DisableRTCAccess();
NU_Reset_Semaphore(&gDateTimeSem,1);
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -