View Issue Details

IDProjectCategoryView StatusLast Update
0002264Double CommanderFile operationspublic2021-06-06 18:03
ReporterCryHam Assigned ToAlexx2000  
PriorityhighSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
ProjectionnoneETAnone 
Product Version1.0.0 (trunk)Product Buildr8734 
Target Version1.0.0 
Summary0002264: [Patches] Multi Rename - many new features, improvements, tweaks etc.
DescriptionHere are many new features, improvements and tweaks for the Multi Rename tool.
I use it a lot.

I'm not sure what is the best way to share them, so:
I'm attaching patch files against svn revision 8734 and I'm including my final fmultirename files.
And also if you want, you can see those changes (amongst others) on my github fork here:
https://github.com/cryham/dc/commits/ch-fork

My screenshots are included for most features, showing example use (in my dark OS theme).


Firstly I changed ':' to '-', e.g. not [N1:4] but [N1-4].
It's easier to write (no shift) and also same as in Total Commander (TC).
But I don't have a patch with this, just find ':' for InsertMask(, and Pos(':' in sReplaceXX( also form has : in menu in miNameXX and miExtensionXX captions.

[PATCH 1/8] many at once, split find and replace by |
This is in TC. Shown on screen. You can now use many Find and Replace pairs. E.g.
- Find: a|b Replace: c|d - will replace a to c and b to d.
- Find: a|b Replace: c - will replace a to c and b to c.
- Find: a|b empty Replace - will just clear a and b chars.
- Find: a|b|c Replace: d| - will replace a to d and clear b and c chars.
This is quite useful for clearing filenames from garbage or doing many replaces. All at once and saved in 1 preset.

[PATCH 2/8] sReplaceBadChars(var sPath: string);
Just extracted to procedure since it's used twice later.

[PATCH 3/8] [A] full path, [Px] x sub path
So [A] gives full path with file and replaces bad chars to dots. Range can be used here e.g. [A4-14]. Not very useful for me so I made P.
Then [P] gives sub paths. E.g. for path c:\dir\subdir\file, [p0] is c:, [p1] is dir, [p2] subdir, and with negatives [p-1] is subdir, [p-2] is dir etc.

[PATCH 4/8] sReplaceXX allow negatives (until end), e.g.
E.g. for name ABC001, [N-3] will give 001. So 3rd char from end, until end.
This is new and useful for me. If I have over 80 chars long names I can easily shorten them now with e.g. [n-10] leaving last 10 chars.

[PATCH 5/8] allow counter start value after C e.g.
It is in TC. E.g. instead of editing Counter start value (and using [C]), faster is to just write [c25] to make it start from 25.

[PATCH 6/8] allow small letters inside [] (n,e,c, a,p)
Convenience feature, we already need [] so why also require pressing shift for big letters (I never use mouse BTW).


[PATCH 7/8] save last settings, in [Last] preset, loaded

I noticed that Multi Rename loses its last settings on close (you have to save to a preset). TC remembers them.
So I'm now always saving to a preset called [Last] on close and loading it on form show.
It is shown in combo/list, so that if you pick a preset and don't like it, you can go back to [Last].


[PATCH 8/8] fmultirename.lfm rework. no cbPresets, using list

I also did a GUI rework, but I'm guessing you probably won't like it.
Anyways things done here:
- Far less Tab stops. Only 6, for: Name, Extension, Find, Replace, Counter start and Width.
- Better quick keys (Alt-A for Name, Alt-C Counter start, Alt-F Find, etc) on qwerty.
- I know it's just my taste but I like windows minimal, without wasted space. So I deleted group boxes, borders etc. and packed it more dense. I'm almost sure you don't want this change.
- On screen 0009-gui-rework-combo I have my previous version with old combobox.
- On screen 0008 I replaced presets combo with list. Reason here is: I want to pick a preset quickest way. E.g. I have a 4 digit counter preset, its name starts with 4. And in TC to use it I need to press: Ctrl-T, F2, 4, Enter. This already replaces files. After my changes this is possible in DC, the same quick way.
- Down key in Name or Extension shows the ... menu.
- ... menu has now in main level 1 [N] Name, 2 [C] Counter, 3 [E] extension. So it's easier to press Down and 2 instead of typing [C], I guess. For me would be better if it cleared text too.
- Page Down key focuses Name/Ext Style combos. Useful since I removed tab stops.


I tested all this only on Windows 7 and Lazarus 2.0.0.
TagsNo tags attached.
Attached Files
multi rename.zip (166,635 bytes)
Fixed in Revision8820-8823, 8825-8831, 8848
Operating system
Widgetset
Architecture

Relationships

related to 0000190 closedAlexx2000 Multiple rename - posibility to replace more patterns at the same time 

Activities

j2969719

2019-03-17 17:40

reporter   ~0003099

unfortunately new gui has some issues with different themes or languages
https://imgur.com/a/m4g52XX

CryHam

2019-03-17 18:10

reporter   ~0003100

Right. Thanks for testing and screenshots.
Well that's another reason why this GUI change isn't really meant for trunk, I think.

CryHam

2019-03-27 23:18

reporter   ~0003117

Last edited: 2019-03-27 23:19

One small thing I forgot, that I also changed here: the entries in Width combobox (in .lfm file).
Before it was 01 to 10 now I have 1 to 9. This is so I can quickly change width e.g. press Alt-W 4, this will set width to 4 digits (Alt-W jumps to combo).

Issue History

Date Modified Username Field Change
2019-03-17 16:57 CryHam New Issue
2019-03-17 16:57 CryHam File Added: multi rename.zip
2019-03-17 17:40 j2969719 Note Added: 0003099
2019-03-17 18:10 CryHam Note Added: 0003100
2019-03-27 23:18 CryHam Note Added: 0003117
2019-03-27 23:19 CryHam Note Edited: 0003117
2019-05-12 16:02 Alexx2000 Fixed in Revision => 8820-8823
2019-05-12 16:02 Alexx2000 Assigned To => Alexx2000
2019-05-12 16:02 Alexx2000 Status new => assigned
2019-05-12 18:17 Alexx2000 Fixed in Revision 8820-8823 => 8820-8823, 8825-8828
2019-05-12 18:20 Alexx2000 Fixed in Revision 8820-8823, 8825-8828 => 8820-8823, 8825-8829
2019-05-12 19:56 Alexx2000 Fixed in Revision 8820-8823, 8825-8829 => 8820-8823, 8825-8830
2019-05-12 19:56 Alexx2000 Target Version => 1.0.0
2019-05-12 21:32 Alexx2000 Fixed in Revision 8820-8823, 8825-8830 => 8820-8823, 8825-8831
2019-05-19 13:35 Alexx2000 Fixed in Revision 8820-8823, 8825-8831 => 8820-8823, 8825-8831, 8848
2019-05-19 21:10 Alexx2000 Relationship added related to 0000190
2021-06-06 18:03 Alexx2000 Status assigned => closed
2021-06-06 18:03 Alexx2000 Resolution open => fixed