-- Change Panel ShiftF[56] Dialog -- FAR3 build >= 5467 ShiftF5=win.Uuid "502D00DF-EE31-41CF-9028-442D2E352990" ShiftF6=win.Uuid "89664EF4-BB8C-4932-A8C0-59CAFD937ABA" F6=win.Uuid "431A2F37-AC01-4ECD-BB6F-8CDE584E5A03" re=regex.new "^(Rename or move|Rename|Move)" local FT F=far.Flags SetHeader=(Param,FT,APC,TXT)-> Move=TXT\find "[\\/]" Act=FT.SF5 and "Copy" or ((FT.SF6 and Move or FT.F6 and (Move or panel.GetPanelInfo(nil,1).SelectedItemsNumber>1)) and "Move" or "Rename") far.SendDlgMessage Param.hDlg,F.DM_SETTEXT,1,FT.F6 and Act or "[Shift] "..Act if not FT.SF5 TXT=far.SendDlgMessage Param.hDlg,F.DM_GETTEXT,2 far.SendDlgMessage Param.hDlg,F.DM_SETTEXT,2,re\gsub TXT,Act Move Event group:"DialogEvent" description:"Panel ShiftF[56] Dialog" condition:(Event,Param)-> if Event==F.DE_DLGPROCINIT id=far.SendDlgMessage Param.hDlg,F.DM_GETDIALOGINFO id=id and id.Id or "" FT={SF5:id==ShiftF5,SF6:id==ShiftF6,F6:id==F6} FT.SF5 or FT.SF6 or FT.F6 action:(Event,Param)-> APC,PPP=APanel.Current,PPanel.Path if Param.Msg==F.DN_INITDIALOG Move=SetHeader Param,FT,APC,PPP far.SendDlgMessage Param.hDlg,F.DM_SETTEXT,3,Move and PPP or APC elseif Param.Msg==F.DN_EDITCHANGE and Param.Param1==3 TXT=far.SendDlgMessage Param.hDlg,F.DM_GETTEXT,3 SetHeader Param,FT,APC,TXT false |