X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/832e157ecd1a1640b82425358b20fff416a2f8b7..da6f8fe0862585287153:/src/views/renamedialog.cpp diff --git a/src/views/renamedialog.cpp b/src/views/renamedialog.cpp index be9e34c4a..79421a5ef 100644 --- a/src/views/renamedialog.cpp +++ b/src/views/renamedialog.cpp @@ -39,10 +39,10 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) : QDialog(parent), m_renameOneItem(false), m_newName(), - m_lineEdit(0), + m_lineEdit(nullptr), m_items(items), m_allExtensionsDifferent(true), - m_spinBox(0) + m_spinBox(nullptr) { const QSize minSize = minimumSize(); setMinimumSize(QSize(320, minSize.height())); @@ -60,11 +60,11 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) : m_okButton = buttonBox->button(QDialogButtonBox::Ok); m_okButton->setDefault(true); m_okButton->setShortcut(Qt::CTRL | Qt::Key_Return); - connect(buttonBox, SIGNAL(accepted()), this, SLOT(slotAccepted())); - connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + connect(buttonBox, &QDialogButtonBox::accepted, this, &RenameDialog::slotAccepted); + connect(buttonBox, &QDialogButtonBox::rejected, this, &RenameDialog::reject); m_okButton->setDefault(true); - KGuiItem::assign(m_okButton, KGuiItem(i18nc("@action:button", "&Rename"), "dialog-ok-apply")); + KGuiItem::assign(m_okButton, KGuiItem(i18nc("@action:button", "&Rename"), QStringLiteral("dialog-ok-apply"))); QWidget* page = new QWidget(this); mainLayout->addWidget(page); @@ -72,7 +72,7 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) : QVBoxLayout* topLayout = new QVBoxLayout(page); - QLabel* editLabel = 0; + QLabel* editLabel = nullptr; if (m_renameOneItem) { m_newName = items.first().name(); editLabel = new QLabel(xi18nc("@label:textbox", "Rename the item %1 to:", m_newName), @@ -108,7 +108,6 @@ RenameDialog::RenameDialog(QWidget *parent, const KFileItemList& items) : m_lineEdit->setText(m_newName); m_lineEdit->setSelection(0, selectionLength); - m_lineEdit->setFocus(); topLayout->addWidget(editLabel); topLayout->addWidget(m_lineEdit); @@ -160,10 +159,15 @@ void RenameDialog::renameItem(const KFileItem &item, const QString& newName) widget = this; } - KIO::Job * job = KIO::moveAs(oldUrl, newUrl); + KIO::Job * job = KIO::moveAs(oldUrl, newUrl, KIO::HideProgressInfo); KJobWidgets::setWindow(job, widget); KIO::FileUndoManager::self()->recordJob(KIO::FileUndoManager::Rename, {oldUrl}, newUrl, job); - job->ui()->setAutoErrorHandlingEnabled(true); + + if (!job->error()) { + m_renamedItems << newUrl; + } + + job->uiDelegate()->setAutoErrorHandlingEnabled(true); } void RenameDialog::slotAccepted() @@ -197,6 +201,13 @@ void RenameDialog::slotTextChanged(const QString& newName) m_okButton->setEnabled(enable); } +void RenameDialog::showEvent(QShowEvent* event) +{ + m_lineEdit->setFocus(); + + QDialog::showEvent(event); +} + void RenameDialog::renameItems() { // Iterate through all items and rename them... @@ -217,6 +228,10 @@ void RenameDialog::renameItems() renameItem(item, newName); } } + + if (!m_items.empty()) { + emit renamingFinished(m_renamedItems); + } } QString RenameDialog::indexedName(const QString& name, int index, const QChar& indexPlaceHolder)