diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 77a882004455ffc6ade5d83080220dfa2cbdb666..350668faaea2c54b65490253e0e60f592486025f 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1009,11 +1009,11 @@ void EditorManager::setCurrentEditorFromContextChange() setCurrentEditor(newCurrent); } -void EditorManager::closeEditor(Core::IEditor *editor) +void EditorManager::closeEditor(Core::IEditor *editor, bool askAboutModifiedEditors) { if (!editor) return; - closeEditors(QList<IEditor *>() << editor); + closeEditors(QList<IEditor *>() << editor, askAboutModifiedEditors); } void EditorManager::closeEditor(DocumentModel::Entry *entry) diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h index 7c629d8945871cf6a984f8007cc538e63872208c..ee15724178286c8977505d7606e931eb5f03f00e 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.h +++ b/src/plugins/coreplugin/editormanager/editormanager.h @@ -142,6 +142,7 @@ public: bool saveEditor(IEditor *editor); bool closeEditors(const QList<IEditor *> &editorsToClose, bool askAboutModifiedEditors = true); + void closeEditor(IEditor *editor, bool askAboutModifiedEditors = true); MakeWritableResult makeFileWritable(IDocument *document); @@ -268,7 +269,6 @@ private: static Internal::EditorView *viewForEditor(IEditor *editor); static Internal::SplitterOrView *findRoot(const Internal::EditorView *view, int *rootIndex = 0); - void closeEditor(IEditor *editor); void closeView(Internal::EditorView *view); void emptyView(Internal::EditorView *view); static void splitNewWindow(Internal::EditorView *view); diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp index 13d0d2d3a0025c1ecd00da576a256c2705e1787d..c5821b39f535e7cc8b73a1ec63165e44f3040ab4 100644 --- a/src/plugins/cppeditor/cppdoxygen_test.cpp +++ b/src/plugins/cppeditor/cppdoxygen_test.cpp @@ -115,7 +115,7 @@ TestCase::TestCase(const QByteArray &input) TestCase::~TestCase() { - EditorManager::instance()->closeEditors(QList<Core::IEditor *>() << editor, false); + EditorManager::instance()->closeEditor(editor, false); QCoreApplication::processEvents(); // process any pending events // Remove the test file from the code-model diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index 0c35d4099a85fe6866cffe9385ee604806069e71..669c086d529eff6e1778b1b85e9854b41beafa93 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -540,8 +540,7 @@ void CppToolsPlugin::test_modelmanager_gc_if_last_cppeditor_closed() QVERIFY(mm->snapshot().contains(file)); // Close file/editor - const QList<Core::IEditor*> editorsToClose = QList<Core::IEditor*>() << editor; - em->closeEditors(editorsToClose, /*askAboutModifiedEditors=*/ false); + em->closeEditor(editor, /*askAboutModifiedEditors=*/ false); // Check: File is removed from the snapshpt QVERIFY(!mm->workingCopy().contains(file)); diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index d29efd5af6b8fb2bd581c8e123d9c45861d981f9..d0c3bd8e370131f28f47383791180424b1c34d4d 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -1212,8 +1212,7 @@ bool CvsPlugin::describe(const QString &repositoryPath, void CvsPlugin::submitCurrentLog() { m_submitActionTriggered = true; - EditorManager::instance()->closeEditors(QList<IEditor*>() - << EditorManager::currentEditor()); + EditorManager::instance()->closeEditor(EditorManager::currentEditor()); } // Run CVS. At this point, file arguments must be relative to diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp index 06f57e9de9aca4f4c5db86e349bf9ecd54754cb8..a587e4f36c41cbd566134a77127a7c450996b6de 100644 --- a/src/plugins/debugger/disassembleragent.cpp +++ b/src/plugins/debugger/disassembleragent.cpp @@ -124,10 +124,8 @@ DisassemblerAgentPrivate::DisassemblerAgentPrivate() DisassemblerAgentPrivate::~DisassemblerAgentPrivate() { - if (editor) { - EditorManager *editorManager = EditorManager::instance(); - editorManager->closeEditors(QList<IEditor *>() << editor); - } + if (editor) + EditorManager::instance()->closeEditor(editor); editor = 0; delete locationMark; qDeleteAll(breakpointMarks); diff --git a/src/plugins/debugger/sourceagent.cpp b/src/plugins/debugger/sourceagent.cpp index fcf4b4ca59abaa6570e6f1f7fe71b3652479b979..b5bb5c83459a3a3179e00c279d4f71d183106b2b 100644 --- a/src/plugins/debugger/sourceagent.cpp +++ b/src/plugins/debugger/sourceagent.cpp @@ -76,10 +76,8 @@ SourceAgentPrivate::SourceAgentPrivate() SourceAgentPrivate::~SourceAgentPrivate() { - if (editor) { - EditorManager *editorManager = EditorManager::instance(); - editorManager->closeEditors(QList<IEditor *>() << editor); - } + if (editor) + EditorManager::instance()->closeEditor(editor); editor = 0; delete locationMark; } diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 445f5a170a435be4f4e19fd3159808e1eefe2020..ab682fe6ee477460156ff5205ebe637ad4d1deab 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -1865,13 +1865,10 @@ void FakeVimPluginPrivate::handleDelayedQuit(bool forced, IEditor *editor) // This tries to simulate vim behaviour. But the models of vim and // Qt Creator core do not match well... EditorManager *editorManager = ICore::editorManager(); - if (editorManager->hasSplitter()) { + if (editorManager->hasSplitter()) triggerAction(Core::Constants::REMOVE_CURRENT_SPLIT); - } else { - QList<IEditor *> editors; - editors.append(editor); - editorManager->closeEditors(editors, !forced); - } + else + editorManager->closeEditor(editor, !forced); } void FakeVimPluginPrivate::handleDelayedQuitAll(bool forced) diff --git a/src/plugins/git/gitsubmiteditor.cpp b/src/plugins/git/gitsubmiteditor.cpp index d318580b5159e1d50407dfe749e95f72c9c030bd..5eb0d5f9f00d7ef18de9acda50ff1876328b45d8 100644 --- a/src/plugins/git/gitsubmiteditor.cpp +++ b/src/plugins/git/gitsubmiteditor.cpp @@ -181,7 +181,7 @@ void GitSubmitEditor::updateFileModel() } else { VcsBase::VcsBaseOutputWindow::instance()->append(errorMessage); m_forceClose = true; - Core::EditorManager::instance()->closeEditors(QList<IEditor*>() << this); + Core::EditorManager::instance()->closeEditor(this); } } diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index b7aca23052f9d03d8ffaad36b8915612de8ee1dd..282db9f209c1704dde781bafe7ed3d843ef0f3a9 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -1296,8 +1296,7 @@ void PerforcePlugin::describe(const QString & source, const QString &n) void PerforcePlugin::submitCurrentLog() { m_submitActionTriggered = true; - Core::EditorManager *em = Core::EditorManager::instance(); - em->closeEditors(QList<Core::IEditor*>() << Core::EditorManager::currentEditor()); + Core::EditorManager::instance()->closeEditor(Core::EditorManager::currentEditor()); } void PerforcePlugin::cleanCommitMessageFile()