Fixed issue that when renaming a variable number of items, that only one #-character as index is allowed.

BUG: 155249

svn path=/trunk/KDE/kdebase/apps/; revision=759454
This commit is contained in:
Peter Penz 2008-01-10 16:14:41 +00:00
parent e113e90fd6
commit f2bf4eafc0
2 changed files with 6 additions and 12 deletions

View file

@ -1053,19 +1053,14 @@ void DolphinView::renameSelectedItems()
Q_ASSERT(newName.contains('#'));
// iterate through all selected items and rename them...
const int replaceIndex = newName.indexOf('#');
Q_ASSERT(replaceIndex >= 0);
int index = 1;
KFileItemList::const_iterator it = items.begin();
const KFileItemList::const_iterator end = items.end();
while (it != end) {
const KUrl& oldUrl = (*it).url();
foreach (KFileItem item, items) {
const KUrl& oldUrl = item.url();
QString number;
number.setNum(index++);
QString name(newName);
name.replace(replaceIndex, 1, number);
QString name = newName;
name.replace('#', number);
if (oldUrl.fileName() != name) {
KUrl newUrl = oldUrl;
@ -1073,7 +1068,6 @@ void DolphinView::renameSelectedItems()
KonqOperations::rename(this, oldUrl, newUrl);
emit doingOperation(KonqFileUndoManager::RENAME);
}
++it;
}
}
} else {

View file

@ -116,9 +116,9 @@ void RenameDialog::slotButtonClicked(int button)
if (m_newName.isEmpty()) {
m_errorString = i18nc("@info:status",
"The new name is empty. A name with at least one character must be entered.");
} else if (!m_renameOneItem && m_newName.count('#') != 1) {
} else if (!m_renameOneItem && (m_newName.count('#') == 0)) {
m_newName.truncate(0);
m_errorString = i18nc("@info:status", "The name must contain exactly one # character.");
m_errorString = i18nc("@info:status", "The name must contain at least one # character.");
}
}