[VarDef,fileName,""] [VarDef,lastUsedList(10),""]//last used file list variables [VarDef,loadFile(10),""] [VarDef,newfile,0] [VarDef,nextfile,""] [VarDef,nextfileindex,0] [VarDef,itemID,0] [VarDef,itemStr,""] [VarDef,itemPath,""] [RoutineDef,ReorderFileList,//routine to reorder last file list [VarDef,lastUsedtmp,""] [If,index>0, [VarSet,lastUsedtmp,[Var,lastUsedList(index)]] [VarSet,x,index][VarSet,i,(index-1)] [Loop,index, [VarSet,lastUsedList(x),[Var,lastUsedList(i)]] [VarDec,x][VarDec,i] ]//end loop [VarSet,lastUsedList(0),lastUsedtmp] ]//end if [VarSave,lastUsedlist,"RecentFileList.zvr"] ,index]//end routine [RoutineDef,SaveFileList,//routine to save filename to list [VarSet,found,0] [VarSet,loopNo,0] [If,[FileExists,"RecentFileList.zvr"], [VarLoad,lastUsedList,"RecentFileList.zvr"] [Loop,10, [If,(([StrLength,fname]==[StrLength,[Var,lastUsedList(n)]]) &&([StrFind,[StrLower,fname],[StrLower,[Var,lastUsedList(n)]]]>-1)), [VarSet,found,1] //already listed, move to top [If,n>0, [VarSet,loopNo,[Val,n+1]] [VarSet,x,loopNo-1] [VarSet,i,loopNo-2] [Loop,loopNo, [VarSet,lastUsedList(x),[Var,lastUsedList(i)]] [VarDec,x][VarDec,i] ] ] [LoopExit] ] ,n] [If,found == 0, [VarSet,x,9] [VarSet,i,8] [Loop,9, [VarSet,lastUsedList(x),[Var,lastUsedList(i)]] [VarDec,x][VarDec,i] ] ] ]//end if [VarSet,lastUsedList(0),fname] [VarSave,lastUsedlist,"RecentFileList.zvr"] ,fname]//end routine [RoutineDef,DisplayLastUsed,//routine for last used file list display [VarLoad,lastUsedlist,"RecentFileList.zvr"] [VarDef,recentfile(10),""] [VarDef,foldername(10),""] [VarDef,pathname(10),""] [VarDef,drive(10),""] [VarDef,pathStr,""] [VarSet,x,0] [Loop,10, [If,[StrLength,lastUsedList(x)], [VarSet,pathstr,[FileNameExtract,lastUsedList(x),1]] [VarSet,drive(x),[StrExtract,pathstr,0,1]] [VarSet,pathstr,[StrExtract,pathstr,0,[StrLength,pathstr]-2]]//-2 [VarSet,strX,[StrLength,pathstr]] [Loop,strX, [VarSet,foldername(x),""] [VarSet,start,[StrFind,"/",pathstr,[Val,strX-n]]] [If,[Val,start]>-1, [VarSet,foldername(x),[StrExtract,pathstr,start+1,255]] [LoopExit] ,[LoopContinue]] ,n] [If,[StrLength,foldername(x)]=0, [Loop,strX, [VarSet,start,[StrFind,"\",pathstr,[Val,strX-n]]] //"\ [If,[Val,start]>-1, [VarSet,foldername(x),[StrExtract,pathstr,start+1,255]] [LoopExit] ,[LoopContinue]] ,n] ] [VarSet,pathname(x),[StrMerge,drive(x),"/... ",foldername(x),"/"]] [VarSet,recentfile(x),[StrMerge,[Val,x+1],". ",pathname(x),[FileNameExtract,lastUsedList(x),2]]] ,[VarSet,recentfile(x),""] ] [VarInc,x] ] [NoteIButton, /*text*/ , /*image*/ , /*pressed?*/ , 1 , 1, 1 , 520 , 325 , 0x00000/*color*/ , /*text color*/ , 1, /*text opacity*/ , /*image opacity*/ ] [NoteIButton,"Recent files:",,,1,10,8,125,,,0xAAAAAA,0] [NoteIButton,,,,1,10,30,500] [NoteIButton,,,,1,10,55,500] [NoteIButton,,,,1,10,80,500] [NoteIButton,,,,1,10,105,500] [NoteIButton,,,,1,10,130,500] [NoteIButton,,,,1,10,155,500] [NoteIButton,,,,1,10,180,500] [NoteIButton,,,,1,10,205,500] [NoteIButton,,,,1,10,230,500] [NoteIButton,,,,1,10,255,500] [NoteIButton,recentfile(0),,,1,10,30,,,,,0] [NoteIButton,recentfile(1),,,1,10,55,,,,,0] [NoteIButton,recentfile(2),,,1,10,80,,,,,0] [NoteIButton,recentfile(3),,,1,10,105,,,,,0] [NoteIButton,recentfile(4),,,1,10,130,,,,,0] [NoteIButton,recentfile(5),,,1,10,155,,,,,0] [NoteIButton,recentfile(6),,,1,10,180,,,,,0] [NoteIButton,recentfile(7),,,1,10,205,,,,,0] [NoteIButton,recentfile(8),,,1,10,230,,,,,0] [NoteIButton,recentfile(9),,,1,10,255,,,,,0] [NoteIButton,,,,,10,30,500,,,,0] [NoteIButton,,,,,10,55,500,,,,0] [NoteIButton,,,,,10,80,500,,,,0] [NoteIButton,,,,,10,105,500,,,,0] [NoteIButton,,,,,10,130,500,,,,0] [NoteIButton,,,,,10,155,500,,,,0] [NoteIButton,,,,,10,180,500,,,,0] [NoteIButton,,,,,10,205,500,,,,0] [NoteIButton,,,,,10,230,500,,,,0] [NoteIButton,,,,,10,255,500,,,,0] [NoteIButton,"Other file...",,,,10,295,125] [NoteIButton,"Cancel",,,,455,295] [VarSet,result,[Note,]] [If,result = 23,[VarSet,nextfileindex,0][If,[FileExists,lastUsedList(0)],[VarSet,nextfile,[Var,lastUsedList(0)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 24,[VarSet,nextfileindex,1][If,[FileExists,lastUsedList(1)],[VarSet,nextfile,[Var,lastUsedList(1)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 25,[VarSet,nextfileindex,2][If,[FileExists,lastUsedList(2)],[VarSet,nextfile,[Var,lastUsedList(2)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 26,[VarSet,nextfileindex,3][If,[FileExists,lastUsedList(3)],[VarSet,nextfile,[Var,lastUsedList(3)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 27,[VarSet,nextfileindex,4][If,[FileExists,lastUsedList(4)],[VarSet,nextfile,[Var,lastUsedList(4)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 28,[VarSet,nextfileindex,5][If,[FileExists,lastUsedList(5)],[VarSet,nextfile,[Var,lastUsedList(5)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 29,[VarSet,nextfileindex,6][If,[FileExists,lastUsedList(6)],[VarSet,nextfile,[Var,lastUsedList(6)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 30,[VarSet,nextfileindex,7][If,[FileExists,lastUsedList(7)],[VarSet,nextfile,[Var,lastUsedList(7)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 31,[VarSet,nextfileindex,8][If,[FileExists,lastUsedList(8)],[VarSet,nextfile,[Var,lastUsedList(8)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 32,[VarSet,nextfileindex,9][If,[FileExists,lastUsedList(9)],[VarSet,nextfile,[Var,lastUsedList(9)]]][RoutineCall,ReorderFileList,nextfileindex]] [If,result = 33,[VarSet,newfile,1][VarSet,nextfile,""]] [If,result = 34,[Exit]] [If,(result>33)||(result<23),//press Enter [VarSet,nextfileindex,0] [If,[FileExists,lastUsedList(0)],[VarSet,nextfile,[Var,lastUsedList(0)]]] [RoutineCall,ReorderFileList,nextfileindex] ] ]//end routine [ISubPalette,"ZPlugin:Temp"] [IButton,"ZPlugin:Temp:Load ZTool","Load a ZTool", [IShowActions,0] [If,[FileExists,"RecentFileList.zvr"], [RoutineCall,DisplayLastUsed] ,//else no list [VarSet,newfile,1] [VarSet,nextfile,""] ]//end if [If,[StrLength,nextfile], [FileNameSetNext,nextfile] [IPress,Tool:Load Tool] , [VarSet,nextfile,[FileNameAsk,"ZTool (*.ztl)|*.ztl||",,"Please select a file..."]] [If,[StrLength,nextfile], [RoutineCall,SaveFileList,nextfile] [FileNameSetNext,nextfile] [IPress,Tool:Load Tool] ] ] ,,1]//end button [IButton,"ZPlugin:Temp:Store Current ZTool","Store current ZTool", [VarSet,nextfile,[GetActiveToolPath]] [VarSet,nextfile,[StrMerge, #nextfile,".ztl"]] [RoutineCall,SaveFileList,nextfile] ,,1]//end button