| 52 | } |
| 53 | |
| 54 | void RenameFileAction::execute() |
| 55 | { |
| 56 | Q_D(RenameFileAction); |
| 57 | |
| 58 | // save document to prevent unwanted dialogs |
| 59 | IDocument* doc = ICore::self()->documentController()->documentForUrl(d->m_file); |
| 60 | if (!doc) { |
| 61 | qCWarning(LANGUAGE) << "could find no document for url:" << d->m_file; |
| 62 | return; |
| 63 | } |
| 64 | |
| 65 | if (!ICore::self()->documentController()->saveSomeDocuments({doc}, |
| 66 | IDocumentController::SaveSelectionMode::DontAskUser)) { |
| 67 | return; |
| 68 | } |
| 69 | |
| 70 | // rename document |
| 71 | DocumentChangeSet changes; |
| 72 | DocumentChangeSet::ChangeResult result = d->m_refactoring->addRenameFileChanges(d->m_file, d->m_newName, &changes); |
| 73 | if (result) { |
| 74 | result = changes.applyAllChanges(); |
| 75 | } |
| 76 | if (!result) { |
| 77 | auto* message = new Sublime::Message(i18n("Failed to apply changes: %1", result.m_failureReason), Sublime::Message::Error); |
| 78 | ICore::self()->uiController()->postMessage(message); |
| 79 | } |
| 80 | emit executed(this); |
| 81 | } |
| 82 | |
| 83 | #include "moc_renamefileaction.cpp" |
nothing calls this directly
no test coverage detected