📄 hdd_gui.c
字号:
#endif
#ifndef SUPPORT_HDD_DELETEFILE
if (CD_FP.name[0] == '<' || CD_FP.name[0] == '/') // FILE MARK COPY'<' DEL'/'
return;
#endif
#ifdef HDD_FILE_MANAGEERUI
Manageui_SetNewFile(CD_FP.name,(CD_FP.size)/1024);
fileManageui_Init();
#else
#ifdef SUPPORT_HDD_DELETEFILE
if (!IsDelFile)
{
#endif
FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
for (i = 0; i < 8; i++)
{
name[i]=0x20;
}
name[i]=0x0;
for (i = 0; i < 8; i++)
{
if (CD_FP.name[i] == 0x0)
{
break;
}
name[i]=CD_FP.name[i];
}
psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
printf("%s\n",buf);
FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
#ifdef SUPPORT_HDD_DELETEFILE
for (i = 0; i < 5; i++)
{
numName[i]=0x20;
}
#ifdef ADD_NEWFILE_SEQUENCE
#ifdef SUPPORT_HDD_DELETEFILE
if (!IsDelFile)
#endif
{
codeNo =GetNextNullCell();
if (codeNo)
printf("new code no is %d\n",codeNo);
else
{
printf("Error:can't find code\n");
return 0;
}
}
for (i = 5; i > 0; i--)
{
numName[i-1]=(codeNo%10)+'0';
codeNo/=10;
}
// print_block(numName,6);
codeNo =GetNextNullCell();
#endif
numName[5]=0x0;
psprintf(buf, " TO [%s]", numName);
#else
psprintf(buf, " TO [%s]", name);
#endif
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
#ifdef SUPPORT_HDD_DELETEFILE
psprintf(buf, " _____");
FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
#else
FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,8*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
#endif
#ifdef SUPPORT_HDD_DELETEFILE
}
#endif
#endif
while (run)
{
if(ir_rx_empty()) // IR EMPTY
continue;
ch = ir_getch();
switch (ch)
{
case IRC_UP:
#ifdef HDD_FILE_MANAGEERUI
fileManageui_IrUp();
#endif
break;
case IRC_DOWN:
#ifdef HDD_FILE_MANAGEERUI
fileManageui_IrDown();
break;
#else
#ifdef SUPPORT_HDD_DELETEFILE
if (CD_FP.name[0] == '<' || CD_FP.name[0] == '/') // FILE MARK COPY'<' DEL'/'
break;
if (IsDelFile)
{
IsDelFile =0;
FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
for (i = 0; i < 8; i++)
{
name[i]=0x20;
}
name[i]=0x0;
for (i = 0; i < 8; i++)
{
if (CD_FP.name[i] == 0x0)
{
break;
}
name[i]=CD_FP.name[i];
}
psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
for (i = 0; i < 5; i++)
{
numName[i]=0x20;
}
numName[i]=0x0;
psprintf(buf, " TO [%s]", numName);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
psprintf(buf, " _____");
FSGUI_ShowString(STARTX, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
}
else
{
IsDelFile =1;
FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
for (i = 0; i < 5; i++)
{
numName[i]=0x20;
}
numName[i]=0x0;
psprintf(buf, " DELETE FILE NO.[%s]", numName);
FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
psprintf(buf, "_____");
FSGUI_ShowString(STARTX+ 21*9, LINETWO_UL, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 21*9 , LINETWO ,5*9, 12,BK_GROUNDY,BK_GROUNDCRCB,HL_Y,HL_CRCB);
}
break;
#endif
#endif
case IRC_LEFT:
#ifdef HDD_FILE_MANAGEERUI
fileManagerui_IrLeft();
break;
#endif
case IRC_RIGHT:
printf("IRC_RIGHT\n");
#ifdef HDD_FILE_MANAGEERUI
fileManagerui_IrRight();
#endif
break;
case IRC_SELECT:
#ifndef HDD_FILE_MANAGEERUI
if (ok == 1)
{
#ifdef SUPPORT_HDD_DELETEFILE
if (IsDelFile)
{
printf("DELETE FILE %d\n",codeNo);
DeleteUserFile(codeNo);
run = 0;
break;
}
else
{
if (SaveIndexFile(UpdataUIindex()))
{
printf("stFileInfo.filename %s\n",stFileInfo.filename);
strcpy(name,stFileInfo.filename);
}else
{
printf("ERROR:Can't save MEGIDX\n");
run = 0;
break;
}
}
#endif
run=0;
FSGUI_FillFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB);
do_copy(name);
delay_1ms(1000);
break;
}
#endif
#ifdef SUPPORT_HDD_DELETEFILE
#ifdef ADD_NEWFILE_SEQUENCE
#ifdef HDD_FILE_MANAGEERUI
retflag =fileManageui_IrSelect();
codeNo =fileManageui_GetSongCode();
printf("irselect return word %d codeNo %d\n",retflag,codeNo);
k = 0;
for (i = 0; i <5; i++)
{
numName[i]=0x20;
}
numName[i] =0;
if (retflag ==2)
{
printf("del code is %d\n",codeNo);
if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
{
printf("DELETE FILE %d\n",codeNo);
DeleteUserFile(codeNo);
fileManageui_IrReturn();
break;
}
}
#else
if (IsDelFile)
{
if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
{
printf("name %s\n",numName);
psprintf(buf, " DELETE FILE NO.[%s] OK", numName);
FSGUI_FillFrameBuf(STARTX + 21* 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
BK_GROUNDCRCB);
FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 28* 9, LINETWO, 2 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
}
break;
}
#endif
else
#ifdef HDD_FILE_MANAGEERUI
if (retflag ==1)
#endif
{
run=0;
if ((!IsfailCode(codeNo))&&(codeNo))
{
SetDefaultFileInfo(codeNo);
}else
{
printf("WARiNG:Overlap with exist fileCode\n");
#ifdef HDD_FILE_MANAGEERUI
fileManageui_close();
#endif
break;
}
if (SaveIndexFile(UpdataUIindex()))
{
printf("stFileInfo.filename %s\n",stFileInfo.filename);
strcpy(name,stFileInfo.filename);
}else
{
printf("ERROR:Can't save MEGIDX\n");
#ifdef HDD_FILE_MANAGEERUI
fileManageui_close();
#endif
break;
}
#ifndef HDD_FILE_MANAGEERUI
FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
psprintf(buf, "COPY [%s] SIZE:%ldK", name, (CD_FP.size)/1024);
printf("%s\n",buf);
FSGUI_ShowString(STARTX, LINEONE, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
psprintf(buf, " TO [%05d] OK",codeNo );
FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
BK_GROUNDCRCB);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 12 * 9, LINETWO, 4 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
FSGUI_FillFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB);
#endif
do_copy(name);
delay_1ms(1000);
#ifndef HDD_FILE_MANAGEERUI
fileManageui_close();
#endif
break;
}
#ifdef HDD_FILE_MANAGEERUI
else if(retflag ==3)
{
fileManageui_close();
run = 0;
}
break;
#endif
#else
if (k<5) {
printf("input Num less than 5\n");
break;
}
for (i=0;i<5;i++)
{
codeNo*=10;
if (numName[i]!=0x20)
{
codeNo+=numName[i]-'0';
}
}
printf("codeNo is %d k is %d\n",codeNo,k);
if (IsDelFile)
{
if (IsfailCode(codeNo) ==ERROR_REPEAT_CODE)
{
printf("name %s\n",numName);
psprintf(buf, " DELETE FILE NO.[%s] OK", numName);
FSGUI_FillFrameBuf(STARTX + 21* 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
BK_GROUNDCRCB);
FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 28* 9, LINETWO, 2 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
}
}
else
{
if ((!IsfailCode(codeNo))&&(codeNo))
{
SetDefaultFileInfo(codeNo);
}else
{
printf("WARiNG:Overlap with exist fileCode\n");
run = 0;
break;
}
printf("name %s\n",name);
psprintf(buf, " TO [%s] OK", numName);
FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 5 * 9, 12, BK_GROUNDY,
BK_GROUNDCRCB);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 12 * 9, LINETWO, 4 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
}
#endif
#else
printf("COPY IR[%x]->[%s]",ch, "IRC_SELECT");
psprintf(buf, " TO [%s] OK", name);
FSGUI_FillFrameBuf(STARTX + 6 * 9, LINETWO, 8 * 9, 12, BK_GROUNDY,
BK_GROUNDCRCB);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
FS_FONTCOLOR_FILE_CrCb);
FSGUI_ReplaceFrameBuf(STARTX + 16 * 9, LINETWO, 4 * 9, 12,
BK_GROUNDY, BK_GROUNDCRCB, HL_Y, HL_CRCB);
#endif
k=0;
ok=1;
break;
case IRC_GOTO:
break;
case IRC_REPEAT:
printf("COPY IR[%x]->[%s]",ch, "IRC_REPEAT");
fsgui_cdcopy();
run=0;
break;
case IRC_0:
case IRC_1:
case IRC_2:
case IRC_3:
case IRC_4:
case IRC_5:
case IRC_6:
case IRC_7:
case IRC_8:
case IRC_9:
#ifdef ADD_NEWFILE_SEQUENCE
break;
#else
if(ok==1)
break;
#ifdef SUPPORT_HDD_DELETEFILE
if (k == 0)
{
for (i = 0; i <5; i++)
{
numName[i]=0x20;
}
numName[i] =0;
}
if(k>=5)
break;
numName[k]=ch+0x30;
k++;
printf(" numName %s\n",numName);
if (IsDelFile)
{
psprintf(buf, " DELETE FILE NO.[%s]", numName);
FSGUI_FillFrameBuf(STARTX + 21*9 , LINETWO ,5*9, 12,HL_Y,HL_CRCB);
FSGUI_ShowString(STARTX+9, LINETWO, buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
}
else
{
psprintf(buf, " TO [%s]", numName);
FSGUI_FillFrameBuf(STARTX + 6*9 , LINETWO ,5*9, 12,HL_Y,HL_CRCB);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
FS_FONTCOLOR_FILE_CrCb);
}
#else
if (k == 0)
{
for (i = 0; i < 8; i++)
{
name[i]=0x20;
}
}
if(k>=8)
break;
name[k]=ch+0x30;
k++;
psprintf(buf, " TO [%s]", name);
FSGUI_FillFrameBuf(STARTX + 6*9 , LINETWO ,8*9, 12,HL_Y,HL_CRCB);
FSGUI_ShowString(STARTX, LINETWO, buf, FS_FONTCOLOR_FILE_Y,
FS_FONTCOLOR_FILE_CrCb);
#endif
break;
#endif
case IRC_3D:
break;
case IRC_RETURN:
#ifdef HDD_FILE_MANAGEERUI
if (!fileManageui_IrReturn())
{
run =0;
}
#endif
break;
case IRC_STOP:
#ifdef HDD_FILE_MANAGEERUI
#endif
run=0;
break;
case IRC_NULL:
break;
default:
printf("COPY IR[%x]",ch);
break;
}
}
#ifdef HDD_FILE_MANAGEERUI
fileManageui_close();
#endif
FSGUI_FillFrameBuf(0,236,352,48,BK_GROUNDY,BK_GROUNDCRCB);
FSGUI_Menu();
FSGUI_Refresh();
return 0;
}
#endif //#ifdef SUPPORT_HDD_ACCESS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -