Delta value + Dupes only mode is powerful, but not for all cases. For example, there's no way to re-prioritize cases like this one. A new tool would be needed with more powerful options, such as kind-based prioritization, folder-based prioritization, and so one. I'm not sure yet of the form it should take.
The devil is always in the details, so how to do it? First, the list of possible prioritizations:
So the way I see it is that we'd have a list of these types in a box in which is is possible to re-order them. We'd also have a list at the right of the main list containing "sub arguments" for the currently selected item. For example, the "Kind" sublist would be a list of all extensions found in the result. They could be re-ordered. The numerical arguments would have two sub-arguments, "Highest" and "Lowest", allowing the user to tell whether he wants the highest or the lowest, for example, bitrate to be reference.
I included filenames for the possibility to have arguments like "Ends with a number" and "Doesn't end with a number". The default top argument would be "Alphabetical Order". (Now I'm thinking my approach might be flawed here, more thinking required)
The Folder sub arguments would be a list of folders included in the results.
Oh, I think I have a better idea: We'd have 3 lists. One main list, one sub-argument list, and the third is where we drag & drop the sub arguments. The first two lists could even simply be a tree view. That would make sense.
Well, that was an interesting brainstorming.
(from [b46fa7ad9280]) [#138] Added a very preliminary version of the prioritization dialog. A big part of this commit is about refactoring the tests and introducing a TestApp for dupeGuru (in core.tests.base).
(from [392c722c8ad2]) [#138] Completed re-prioritization workflow, now all that is needed is to add more criteria, handle corner case and build the GUI for it.
(from [64a46759ce3d]) [#138] Added FolderCategory and SizeCategory.
(from [067e87c8fe36]) [#138] Added a crude-but-functional reprioritization dialog in Qt.
(from [32b11b933c66]) [#138] Added drag & drop criteria re-ordering capabilities to the re-prioritization panel.
(from [a033375000bc]) [#138] Added the Filename reprioritization crit category.
(from [419b4e4c9424]) [#138] Added a prompt label and a remove button to the reprioritization dialog (Qt).
(from [e90a324cd8b2]) [#138] Began implementing the Cocoa interface of the prioritization dialog.
(from [e191a045f06f]) [#138] Added label and ok/cancel buttons to pri-dialog (Cocoa).
(from [8da821de2d9b]) [#138] Added drag & drop re-ordering capabilities to the pri-pist (Cocoa).
(from [afb3084acbf8]) [#138] Added PE-specific prioritizations and adjusted PE cocoa proj to the pri dialog.
(from [fe149a108a4c]) [#138] Added ME-specific prioritizations and adjusted ME cocoa proj to the pri dialog.
(from [c5df5f511a86]) [#138] Updated localizations so they include new strings from the pri-dialog.
(from [bc9c899f1984]) [#138] Added reprioritization help section.
(from [6f2ee52b3ded]) [#138 state:fixed] Pri-dialog: Fixed the Folder crit category which didn't work well and added a replacement string for empty kind crit.