- // Assure that the new name contains exactly one # (or a connected sequence of #'s)
- const int minSplitCount = 1;
- int maxSplitCount = 2;
- if (newName.startsWith(QLatin1Char('#'))) {
- --maxSplitCount;
- }
- if (newName.endsWith(QLatin1Char('#'))) {
- --maxSplitCount;
+ const int count = newName.count(QLatin1Char('#'));
+ if (count == 0) {
+ // Renaming multiple files without '#' will only work if all extensions are different.
+ enable = m_allExtensionsDifferent;
+ } else {
+ // Assure that the new name contains exactly one # (or a connected sequence of #'s)
+ const int first = newName.indexOf(QLatin1Char('#'));
+ const int last = newName.lastIndexOf(QLatin1Char('#'));
+ enable = (last - first + 1 == count);