📄 uifax.c
字号:
break;
case PANEL_NUM4:
EditorDialInput2(PANEL_NUM4);
break;
case PANEL_NUM5:
EditorDialInput2(PANEL_NUM5);
break;
case PANEL_NUM6:
EditorDialInput2(PANEL_NUM6);
break;
case PANEL_NUM7:
EditorDialInput2(PANEL_NUM7);
break;
case PANEL_NUM8:
EditorDialInput2(PANEL_NUM8);
break;
case PANEL_NUM9:
EditorDialInput2(PANEL_NUM9);
break;
case PANEL_STAR:
EditorDialInput2(PANEL_STAR);
break;
case PANEL_SHARP:
EditorDialInput2(PANEL_SHARP);
break;
case PANEL_PAUSE:
EditorDialInput2(PANEL_PAUSE);
break;
default:
break;
}
// sprintf(buf,"%-20s\n%-20s",firstlinebuf,secondlinebuf);
// DisplayLCD(0, buf, strlen(buf));
/* LCDDisplayClear();
DisplayLCD(0, firstlinebuf, LEFT,FALSE);
DisplayLCD(1, secondlinebuf, LEFT,FALSE);*/
// LCDCursorPos(curindex, 0);
}
void MultiDialType(Uint8 action)
{
if(step == 0||step == 1||step ==2)
MultiDialInput(action);
else if(step == 3)
CharInputType(action);
else if(step == 4)
DlyTimeInput(action);
}
void DlyTimeInput(Uint8 action)
{
static Uint32 datetimedata;
static time_t datetimedata1;
static time_t datetimedata2;
struct tm pp;
P_MAIN_MENU_LIST currentmenu;
STATUS status;
static Uint8 curStep,stepmax,ampm2;
Uint8 AlignL1,AlignL2;
static DateTimeSct datetimetmp2;
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= GetDlyTimeCursorXPos(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 = GetDlyTimeCursorXPos(curStep);
}
else
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
break;
case PANEL_START:
case PANEL_SELECT:
if(setconfirm == FALSE)
{
status = NU_Obtain_Semaphore(&gDateTimeSem,NU_NO_SUSPEND);
if(NU_SUCCESS != status)
{
return;
}
setconfirm = TRUE;
curStep = 0;
if(gMFPSettingNvram.Common.ClockMode == 1)
stepmax = 3;
else
stepmax = 4;
curindex = GetDlyTimeCursorXPos(curStep);
//EnableRTCAccess();
datetimedata = ReadRTC_C();
status = NU_Release_Semaphore(&gDateTimeSem);
if(NU_SUCCESS != status)
{
return;
}
CalDateTimeFormat(datetimedata,&datetime);
ConvertDateTime2tm(&datetime, &pp);
datetimedata1 = mktime(&pp);
memcpy(&datetimetmp, &datetime, sizeof(DateTimeSct));
memcpy(&datetimetmp2, &datetime, sizeof(DateTimeSct));
if(datetimetmp.Hour>12)
ampm = 1;
else
ampm = 0;
ampm2 = ampm;
DlyTimeDisplay(&datetimetmp,&datetimetmp2,ampm2);
// LCDCursorOn();
// strcpy(firstlinebuf, GetMsgData(currentmenu->dispID));
// strcpy(secondlinebuf, inputbuf);
}
else
{
if(DateTimeValid(datetimetmp2))
{
setconfirm = FALSE;
ConvertDateTime2tm(&datetimetmp2, &pp);
datetimedata2 = mktime(&pp);
//datetimedata2 = CalDateTimeData(&datetimetmp2);
if(datetimedata2>datetimedata1)
gMFPSettingNvram.Fax.delayfax.delaytime = datetimedata2;// - datetimedata;
else
gMFPSettingNvram.Fax.delayfax.delaytime = datetimedata2 + (24*60*60);// - datetimedata;
// DisableRTCAccess();
step = 0;
LCDCursorOff();
strcpy(firstlinebuf,GetMsgData(DISP_D_ENTRY_OK));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(500);
memcpy(&gUIMain.faxsetting.delayfax,&gMFPSettingNvram.Fax.delayfax,sizeof(DELAYFAX));
UIDoFaxJob(DELAY_DIAL);
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);
DlyTimeDisplay(&datetimetmp,&datetimetmp2,ampm2);
}
}
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
LCDCursorOff();
step = 0;
// DisableRTCAccess();
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_NUM0:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM0, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM1:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM1, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM2:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM2, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM3:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM3, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM4:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM4, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM5:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM5, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM6:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM6, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM7:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM7, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM8:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM8, curStep,&datetimetmp2,ampm2);
break;
case PANEL_NUM9:
if(setconfirm == TRUE)
EditorDlyTimeInput(PANEL_NUM9, curStep,&datetimetmp2,ampm2);
break;
default:
break;
}
// sprintf(buf,"%-20s\n%-20s",firstlinebuf,secondlinebuf);
// DisplayLCD(0, buf, strlen(buf));
LCDDisplayClear();
if(setconfirm != FALSE)
{
DisplayLCD(0, firstlinebuf, LEFT,FALSE);
DisplayLCD(1, secondlinebuf, LEFT,FALSE);
}
else
{
DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
DisplayLCD(1, secondlinebuf, AlignL2,TRUE);
}
LCDCursorPos((curindex-16),1);
}
void MultiDialInput(Uint8 action)
{
char *showbuf;
char *buftemp;
// char buf[42];
Uint8 bufcount;
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)
{
bufcount = strlen(inputbuf);
if(inputindex == bufcount)
break;
else
{
inputindex++;
if(curindex <LCD_LINE_MAX-1)
EditorCursorPlus();//curindex++
}
if(inputindex>=LCD_LINE_MAX-1)
showbuf= inputbuf+inputindex-(LCD_LINE_MAX-1);
else
showbuf = inputbuf;
strcpy(buftemp,GetMsgData(DISP_FAX));
sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
strcpy(secondlinebuf,showbuf);
}
else
{
if(step == 0)
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else
{
udefault++;
if( udefault>max)
udefault = min;
strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
}
break;
case PANEL_ARROWLEFT:
if(setconfirm == TRUE)
{
bufcount = strlen(inputbuf);
if(inputindex>0)
{
inputindex--;
if(inputindex<LCD_LINE_MAX-1)
EditorCursorMinus();//curindex--
}
if(inputindex == bufcount-1)
inputbuf[inputindex]=0;
if(inputindex>=LCD_LINE_MAX)
showbuf = inputbuf+inputindex-LCD_LINE_MAX;
else
showbuf = inputbuf;
strcpy(buftemp,GetMsgData(DISP_FAX));
sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
strcpy(secondlinebuf,showbuf);
}
else
{
if(step == 0)
{
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else
{
if( udefault==min)
udefault = max;
else
udefault--;
strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
}
break;
case PANEL_BACK:
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
step = 0;
LCDCursorOff();
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
break;
case PANEL_START:
case PANEL_SELECT:
if(setconfirm == FALSE)
{
if(step == 0)
{
memset(inputbuf, 0, sizeof(inputbuf));
dialcount = 0;
strcpy(buftemp,GetMsgData(DISP_FAX));
sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
strcpy(secondlinebuf,inputbuf);
CharSymbolTableInitial(chSymTbl, INPUT_NUM);
LCDCursorOn();
presscount = 0;
setconfirm = TRUE;
inputindex = 0;
curindex = 0;
min = currentmenu->item_min;
max = currentmenu->item_max;
udefault = 1;
EditorCursorShow(curindex);
if(currentmenu->dispID == DISP_BROCAST_FAX)
{
gUIMain.Broadcastnum = 0;
memset(&gUIMain.Broadcast,0,FAX_NUM_MAX*(DIAL_NUMBER_MAX+1));
}
else if(currentmenu->dispID == DISP_DELAY_FAX)
{
memset(&gMFPSettingNvram.Fax.delayfax,0,sizeof(DELAYFAX));
}
}
else
{
if(udefault == 1)
{
dialcount++;
if(currentmenu->dispID == DISP_BROCAST_FAX&&dialcount == FAX_NUM_MAX-1)
step = 2;
else if(currentmenu->dispID == DISP_DELAY_FAX&&dialcount == DELAY_NUM_MAX-1)
step = 2;
strcpy(buftemp,GetMsgData(DISP_FAX));
sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
strcpy(secondlinebuf,inputbuf);
CharSymbolTableInitial(chSymTbl, INPUT_NUM);
LCDCursorOn();
setconfirm = TRUE;
inputindex = 0;
curindex = 0;
EditorCursorShow(curindex);
}
else
{
if(currentmenu->dispID == DISP_BROCAST_FAX)
{
UIDoFaxJob(BROADCAST_DIAL);
step = 0;
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
LCDCursorOff();
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else if(currentmenu->dispID == DISP_DELAY_FAX)
{
step = 3;
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
CharInputType(PANEL_SELECT);
return;
}
}
}
}
else
{
if(strlen(inputbuf) != 0)
{
if(currentmenu->dispID == DISP_BROCAST_FAX)
{
strcpy(gUIMain.Broadcast[dialcount],inputbuf);
gUIMain.Broadcastnum++;
}
else if(currentmenu->dispID == DISP_DELAY_FAX)
{
strcpy(gMFPSettingNvram.Fax.delayfax.delaydialnum[dialcount],inputbuf);
gMFPSettingNvram.Fax.delayfax.delayfaxnum++;
}
memset(inputbuf, 0, sizeof(inputbuf));
LCDCursorOff();
setconfirm = FALSE;
lastbutton = PANEL_NONE;
if(step == 2)
{
if(currentmenu->dispID == DISP_BROCAST_FAX)
{
UIDoFaxJob(BROADCAST_DIAL);
step = 0;
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
LCDCursorOff();
strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
}
else if(currentmenu->dispID == DISP_DELAY_FAX)
{
step = 3;
if(setconfirm == TRUE)
{
setconfirm = FALSE;
}
CharInputType(PANEL_SELECT);
return;
}
}
else
{
step = 1;
strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
strcpy(secondlinebuf,GetMsgData(currentmenu->itemchoose_addr[udefault]));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -