- if (button == KDialog::Ok) {
- m_newName = m_lineEdit->text();
-
- if (m_renameOneItem) {
- Q_ASSERT(m_items.count() == 1);
- const KUrl oldUrl = m_items.first().url();
- KUrl newUrl = oldUrl;
- newUrl.setFileName(KIO::encodeFileName(m_newName));
- KonqOperations::rename(this, oldUrl, newUrl);
- } else {
- renameItems();
- }
+ QWidget* widget = parentWidget();
+ if (!widget) {
+ widget = this;
+ }
+
+ const QList<QUrl> srcList = m_items.urlList();
+ const QString newName = m_lineEdit->text();
+ KIO::FileUndoManager::CommandType cmdType;
+ KIO::Job *job = nullptr;
+ if (m_renameOneItem) {
+ Q_ASSERT(m_items.count() == 1);
+ cmdType = KIO::FileUndoManager::Rename;
+ const QUrl oldUrl = m_items.constFirst().url();
+ QUrl newUrl = oldUrl.adjusted(QUrl::RemoveFilename);
+ newUrl.setPath(newUrl.path() + KIO::encodeFileName(newName));
+ m_renamedItems << newUrl;
+ job = KIO::moveAs(oldUrl, newUrl, KIO::HideProgressInfo);
+ } else {
+ cmdType = KIO::FileUndoManager::BatchRename;
+ job = KIO::batchRename(srcList, newName, m_spinBox->value(), QLatin1Char('#'));
+ connect(qobject_cast<KIO::BatchRenameJob*>(job), &KIO::BatchRenameJob::fileRenamed, this, &RenameDialog::slotFileRenamed);