mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
UPD: Put more formats in MultiRename date/time menu, change some descriptions.
This commit is contained in:
parent
89a30baa26
commit
7d40bb3de1
3 changed files with 171 additions and 92 deletions
|
|
@ -563,21 +563,20 @@ object frmMultiRename: TfrmMultiRename
|
|||
end
|
||||
object ppNameMenu: TPopupMenu
|
||||
AutoPopup = False
|
||||
OnPopup = ppNameMenuPopup
|
||||
left = 784
|
||||
top = 168
|
||||
object miNextName: TMenuItem
|
||||
Caption = 'Name...'
|
||||
object miName: TMenuItem
|
||||
Caption = '[N]ame'
|
||||
Caption = '[N] Name'
|
||||
OnClick = NameClick
|
||||
end
|
||||
object miNameX: TMenuItem
|
||||
Caption = '[Nx]ame'
|
||||
Caption = '[Nx] Character at position x'
|
||||
OnClick = NameXClick
|
||||
end
|
||||
object miNameXX: TMenuItem
|
||||
Caption = '[Nx:x]ame'
|
||||
Caption = '[Nx:y] Characters from position x to y'
|
||||
OnClick = NameXXClick
|
||||
end
|
||||
end
|
||||
|
|
@ -587,15 +586,15 @@ object frmMultiRename: TfrmMultiRename
|
|||
object miNextExtension: TMenuItem
|
||||
Caption = 'Extension...'
|
||||
object Extension: TMenuItem
|
||||
Caption = '[E]xtension'
|
||||
Caption = '[E] Extension'
|
||||
OnClick = ExtensionClick
|
||||
end
|
||||
object miExtensionX: TMenuItem
|
||||
Caption = '[Ex]xtension'
|
||||
Caption = '[Ex] Character at position x'
|
||||
OnClick = ExtensionXClick
|
||||
end
|
||||
object miExtensionXX: TMenuItem
|
||||
Caption = '[Ex:x]xtension'
|
||||
Caption = '[Ex:y] Characters from position x to y'
|
||||
OnClick = ExtensionXXClick
|
||||
end
|
||||
end
|
||||
|
|
@ -603,7 +602,7 @@ object frmMultiRename: TfrmMultiRename
|
|||
Caption = '-'
|
||||
end
|
||||
object miCounter: TMenuItem
|
||||
Caption = '[C]ounter'
|
||||
Caption = '[C] Counter'
|
||||
OnClick = CounterClick
|
||||
end
|
||||
object N3: TMenuItem
|
||||
|
|
@ -612,32 +611,72 @@ object frmMultiRename: TfrmMultiRename
|
|||
object miNext: TMenuItem
|
||||
Caption = 'Time...'
|
||||
object miYear: TMenuItem
|
||||
Caption = '[Y]ear'
|
||||
Caption = '[Y] Year (2 digits)'
|
||||
OnClick = miYearClick
|
||||
end
|
||||
object miYear1: TMenuItem
|
||||
Caption = '[YYYY] Year (4 digits)'
|
||||
OnClick = miYear1Click
|
||||
end
|
||||
object miMonth: TMenuItem
|
||||
Caption = '[M]onth'
|
||||
Caption = '[M] Month'
|
||||
OnClick = miMonthClick
|
||||
end
|
||||
object miMonth1: TMenuItem
|
||||
Caption = '[MM] Month (2 digits)'
|
||||
OnClick = miMonth1Click
|
||||
end
|
||||
object miMonth2: TMenuItem
|
||||
Caption = '[MMM] Month name (short, e.g., "jan")'
|
||||
OnClick = miMonth2Click
|
||||
end
|
||||
object miMonth3: TMenuItem
|
||||
Caption = '[MMMM] Month name (long, e.g. "january")'
|
||||
OnClick = miMonth3Click
|
||||
end
|
||||
object miDay: TMenuItem
|
||||
Caption = '[D]ay'
|
||||
Caption = '[D] Day'
|
||||
OnClick = miDayClick
|
||||
end
|
||||
object miDay1: TMenuItem
|
||||
Caption = '[DD] Day (2 digits)'
|
||||
OnClick = miDay1Click
|
||||
end
|
||||
object miDay2: TMenuItem
|
||||
Caption = '[DDD] Day of the week (short, e.g., "mon")'
|
||||
OnClick = miDay2Click
|
||||
end
|
||||
object miDay3: TMenuItem
|
||||
Caption = '[DDDD] Day of the week (long, e.g., "monday")'
|
||||
OnClick = miDay3Click
|
||||
end
|
||||
object N4: TMenuItem
|
||||
Caption = '-'
|
||||
end
|
||||
object miHour: TMenuItem
|
||||
Caption = '[h]our'
|
||||
Caption = '[h] Hour'
|
||||
OnClick = miHourClick
|
||||
end
|
||||
object miHour1: TMenuItem
|
||||
Caption = '[hh] Hour (2 digits)'
|
||||
OnClick = miHour1Click
|
||||
end
|
||||
object miMinute: TMenuItem
|
||||
Caption = 'Mi[n]ute'
|
||||
Caption = '[n] Minute'
|
||||
OnClick = miMinuteClick
|
||||
end
|
||||
object miMinute1: TMenuItem
|
||||
Caption = '[nn] Minute (2 digits)'
|
||||
OnClick = miMinute1Click
|
||||
end
|
||||
object miSecond: TMenuItem
|
||||
Caption = '[s]econd'
|
||||
Caption = '[s] Second'
|
||||
OnClick = miSecondClick
|
||||
end
|
||||
object miSecond1: TMenuItem
|
||||
Caption = '[ss] Second (2 digits)'
|
||||
OnClick = miSecond1Click
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -21,30 +21,40 @@ TFRMMULTIRENAME.BTNCLOSE.CAPTION=&Close
|
|||
TFRMMULTIRENAME.GBLOG.CAPTION=Log Result
|
||||
TFRMMULTIRENAME.CBLOG.CAPTION=Enable
|
||||
TFRMMULTIRENAME.BTNRESTORE.CAPTION=Reset all
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=Old File Name
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=New File Name
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=File Path
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS[0].CAPTION=Old File Name
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS[1].CAPTION=New File Name
|
||||
TFRMMULTIRENAME.LSVWFILE.COLUMNS[2].CAPTION=File Path
|
||||
TFRMMULTIRENAME.GBPRESETS.CAPTION=Presets
|
||||
TFRMMULTIRENAME.BTNLOADPRESET.CAPTION=&Load
|
||||
TFRMMULTIRENAME.BTNSAVEPRESET.CAPTION=&Save
|
||||
TFRMMULTIRENAME.BTNDELETEPRESET.CAPTION=&Delete
|
||||
TFRMMULTIRENAME.MINEXTNAME.CAPTION=Name...
|
||||
TFRMMULTIRENAME.MINAME.CAPTION=[N]ame
|
||||
TFRMMULTIRENAME.MINAMEX.CAPTION=[Nx]ame
|
||||
TFRMMULTIRENAME.MINAMEXX.CAPTION=[Nx:x]ame
|
||||
TFRMMULTIRENAME.MINAME.CAPTION=[N] Name
|
||||
TFRMMULTIRENAME.MINAMEX.CAPTION=[Nx] Character at position x
|
||||
TFRMMULTIRENAME.MINAMEXX.CAPTION=[Nx:y] Characters from position x to y
|
||||
TFRMMULTIRENAME.N1.CAPTION=-
|
||||
TFRMMULTIRENAME.MINEXTEXTENSION.CAPTION=Extension...
|
||||
TFRMMULTIRENAME.EXTENSION.CAPTION=[E]xtension
|
||||
TFRMMULTIRENAME.MIEXTENSIONX.CAPTION=[Ex]xtension
|
||||
TFRMMULTIRENAME.MIEXTENSIONXX.CAPTION=[Ex:x]xtension
|
||||
TFRMMULTIRENAME.EXTENSION.CAPTION=[E] Extension
|
||||
TFRMMULTIRENAME.MIEXTENSIONX.CAPTION=[Ex] Character at position x
|
||||
TFRMMULTIRENAME.MIEXTENSIONXX.CAPTION=[Ex:y] Characters from position x to y
|
||||
TFRMMULTIRENAME.N2.CAPTION=-
|
||||
TFRMMULTIRENAME.MICOUNTER.CAPTION=[C]ounter
|
||||
TFRMMULTIRENAME.MICOUNTER.CAPTION=[C] Counter
|
||||
TFRMMULTIRENAME.N3.CAPTION=-
|
||||
TFRMMULTIRENAME.MINEXT.CAPTION=Time...
|
||||
TFRMMULTIRENAME.MIYEAR.CAPTION=[Y]ear
|
||||
TFRMMULTIRENAME.MIMONTH.CAPTION=[M]onth
|
||||
TFRMMULTIRENAME.MIDAY.CAPTION=[D]ay
|
||||
TFRMMULTIRENAME.MIYEAR.CAPTION=[Y] Year (2 digits)
|
||||
TFRMMULTIRENAME.MIYEAR1.CAPTION=[YYYY] Year (4 digits)
|
||||
TFRMMULTIRENAME.MIMONTH.CAPTION=[M] Month
|
||||
TFRMMULTIRENAME.MIMONTH1.CAPTION=[MM] Month (2 digits)
|
||||
TFRMMULTIRENAME.MIMONTH2.CAPTION=[MMM] Month name (short, e.g., "jan")
|
||||
TFRMMULTIRENAME.MIMONTH3.CAPTION=[MMMM] Month name (long, e.g. "january")
|
||||
TFRMMULTIRENAME.MIDAY.CAPTION=[D] Day
|
||||
TFRMMULTIRENAME.MIDAY1.CAPTION=[DD] Day (2 digits)
|
||||
TFRMMULTIRENAME.MIDAY2.CAPTION=[DDD] Day of the week (short, e.g., "mon")
|
||||
TFRMMULTIRENAME.MIDAY3.CAPTION=[DDDD] Day of the week (long, e.g., "monday")
|
||||
TFRMMULTIRENAME.N4.CAPTION=-
|
||||
TFRMMULTIRENAME.MIHOUR.CAPTION=[h]our
|
||||
TFRMMULTIRENAME.MIMINUTE.CAPTION=Mi[n]ute
|
||||
TFRMMULTIRENAME.MISECOND.CAPTION=[s]econd
|
||||
TFRMMULTIRENAME.MIHOUR.CAPTION=[h] Hour
|
||||
TFRMMULTIRENAME.MIHOUR1.CAPTION=[hh] Hour (2 digits)
|
||||
TFRMMULTIRENAME.MIMINUTE.CAPTION=[n] Minute
|
||||
TFRMMULTIRENAME.MIMINUTE1.CAPTION=[nn] Minute (2 digits)
|
||||
TFRMMULTIRENAME.MISECOND.CAPTION=[s] Second
|
||||
TFRMMULTIRENAME.MISECOND1.CAPTION=[ss] Second (2 digits)
|
||||
|
|
|
|||
|
|
@ -78,6 +78,12 @@ type
|
|||
edFile: TEdit;
|
||||
cbLog: TCheckBox;
|
||||
btnRestore: TButton;
|
||||
miDay3: TMenuItem;
|
||||
miDay1: TMenuItem;
|
||||
miMonth3: TMenuItem;
|
||||
miMonth2: TMenuItem;
|
||||
miMonth1: TMenuItem;
|
||||
miYear1: TMenuItem;
|
||||
ppNameMenu: TPopupMenu;
|
||||
miNextName: TMenuItem;
|
||||
miName: TMenuItem;
|
||||
|
|
@ -113,11 +119,21 @@ type
|
|||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure miDay1Click(Sender: TObject);
|
||||
procedure miDay2Click(Sender: TObject);
|
||||
procedure miDay3Click(Sender: TObject);
|
||||
procedure miDayClick(Sender: TObject);
|
||||
procedure miHour1Click(Sender: TObject);
|
||||
procedure miHourClick(Sender: TObject);
|
||||
procedure miMinute1Click(Sender: TObject);
|
||||
procedure miMinuteClick(Sender: TObject);
|
||||
procedure miMonth1Click(Sender: TObject);
|
||||
procedure miMonth2Click(Sender: TObject);
|
||||
procedure miMonth3Click(Sender: TObject);
|
||||
procedure miMonthClick(Sender: TObject);
|
||||
procedure miSecond1Click(Sender: TObject);
|
||||
procedure miSecondClick(Sender: TObject);
|
||||
procedure miYear1Click(Sender: TObject);
|
||||
procedure miYearClick(Sender: TObject);
|
||||
procedure NameClick(Sender: TObject);
|
||||
procedure NameXClick(Sender: TObject);
|
||||
|
|
@ -128,7 +144,6 @@ type
|
|||
procedure cbLogClick(Sender: TObject);
|
||||
procedure ExtensionXClick(Sender: TObject);
|
||||
procedure ExtensionXXClick(Sender: TObject);
|
||||
procedure ppNameMenuPopup(Sender: TObject);
|
||||
private
|
||||
IniPropStorage: TIniPropStorageEx;
|
||||
FLastPreset: String;
|
||||
|
|
@ -140,10 +155,11 @@ type
|
|||
function sHandleFormatString(const sFormatStr: string; ItemNr: Integer): string;
|
||||
{Function sReplace call sReplaceXX with parametres}
|
||||
function sReplace(sMask: string; ItemNr: Integer): string;
|
||||
{sReplaceXX doing N, Nx, Nx:x and E, Ex, Ex:x}
|
||||
{sReplaceXX doing N, Nx, Nx:y and E, Ex, Ex:y}
|
||||
function sReplaceXX(const sFormatStr, sOrig: string): string;
|
||||
{InsertMask is for write key symbols from buttons}
|
||||
procedure InsertMask(Mask:string;edChoose:Tedit);
|
||||
procedure InsertMask(const Mask:string;edChoose:Tedit);
|
||||
procedure InsertMask(const Mask:string;editNr:PtrInt);
|
||||
{Main function for write into lsvwFile}
|
||||
procedure FreshText;
|
||||
{Executes the main operation of renaming files}
|
||||
|
|
@ -288,52 +304,84 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miDay1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[DD]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miDay2Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[DDD]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miDay3Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[DDDD]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miDayClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[D]',edName)
|
||||
else
|
||||
InsertMask('[D]',edExt);
|
||||
InsertMask('[D]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miHour1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[hh]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miHourClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[h]',edName)
|
||||
else
|
||||
InsertMask('[h]',edExt);
|
||||
InsertMask('[h]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMinute1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[nn]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMinuteClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[n]',edName)
|
||||
else
|
||||
InsertMask('[n]',edExt);
|
||||
InsertMask('[n]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMonth1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[MM]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMonth2Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[MMM]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMonth3Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[MMMM]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miMonthClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[M]',edName)
|
||||
else
|
||||
InsertMask('[M]',edExt);
|
||||
InsertMask('[M]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miSecond1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[ss]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miSecondClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[s]',edName)
|
||||
else
|
||||
InsertMask('[s]',edExt);
|
||||
InsertMask('[s]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miYear1Click(Sender: TObject);
|
||||
begin
|
||||
InsertMask('[YYYY]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.miYearClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[Y]',edName)
|
||||
else
|
||||
InsertMask('[Y]',edExt);
|
||||
InsertMask('[Y]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.FreshText;
|
||||
|
|
@ -475,7 +523,7 @@ begin
|
|||
FreshText;
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.InsertMask(Mask:string;edChoose:Tedit);
|
||||
procedure TfrmMultiRename.InsertMask(const Mask:string;edChoose:Tedit);
|
||||
var
|
||||
sTmp:string;
|
||||
i:integer;
|
||||
|
|
@ -490,6 +538,14 @@ begin
|
|||
edChoose.SelStart:=i;
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.InsertMask(const Mask:string;editNr:PtrInt);
|
||||
begin
|
||||
if editNr = 0 then
|
||||
InsertMask(Mask, edName)
|
||||
else
|
||||
InsertMask(Mask, edExt);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.btnRestoreClick(Sender: TObject);
|
||||
begin
|
||||
edName.Text:='[N]';
|
||||
|
|
@ -620,18 +676,12 @@ end;
|
|||
|
||||
procedure TfrmMultiRename.NameClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[N]',edName)
|
||||
else
|
||||
InsertMask('[N]',edExt);
|
||||
InsertMask('[N]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.NameXClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[N1]',edName)
|
||||
else
|
||||
InsertMask('[N1]',edExt);
|
||||
InsertMask('[N1]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.NameXXClick(Sender: TObject);
|
||||
|
|
@ -642,26 +692,17 @@ begin
|
|||
for c:=0 to lsvwFile.Items.Count-1 do
|
||||
if i<length(ChangeFileExt(lsvwFile.Items[c].Caption,'')) then
|
||||
i:=length(ChangeFileExt(lsvwFile.Items[c].Caption,''));
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[N1:'+inttostr(i)+']',edName)
|
||||
else
|
||||
InsertMask('[N1:'+inttostr(i)+']',edExt);
|
||||
InsertMask('[N1:'+inttostr(i)+']',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.ExtensionClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[E]',edName)
|
||||
else
|
||||
InsertMask('[E]',edExt);
|
||||
InsertMask('[E]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.ExtensionXClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[E1]',edName)
|
||||
else
|
||||
InsertMask('[E1]',edExt);
|
||||
InsertMask('[E1]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.ExtensionXXClick(Sender: TObject);
|
||||
|
|
@ -677,23 +718,12 @@ begin
|
|||
if i<length(sTmp) then
|
||||
i:=length(sTmp);
|
||||
end;
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[E1:'+inttostr(i)+']',edName)
|
||||
else
|
||||
InsertMask('[E1:'+inttostr(i)+']',edExt);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.ppNameMenuPopup(Sender: TObject);
|
||||
begin
|
||||
|
||||
InsertMask('[E1:'+inttostr(i)+']',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.CounterClick(Sender: TObject);
|
||||
begin
|
||||
if ppNameMenu.Tag=0 then
|
||||
InsertMask('[C]',edName)
|
||||
else
|
||||
InsertMask('[C]',edExt);
|
||||
InsertMask('[C]',ppNameMenu.Tag);
|
||||
end;
|
||||
|
||||
procedure TfrmMultiRename.cbLogClick(Sender: TObject);
|
||||
|
|
@ -1118,4 +1148,4 @@ begin
|
|||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue