Core::IDocument *DiffEditorManager::findOrCreate(const QString &vcsId, const QString &displayName) { auto document = static_cast<Internal::DiffEditorDocument *>(find(vcsId)); if (document) return document; DiffEditor *diffEditor = qobject_cast<DiffEditor *>( Core::EditorManager::openEditorWithContents(Constants::DIFF_EDITOR_ID, 0)); QTC_ASSERT(diffEditor, return 0); document = qobject_cast<Internal::DiffEditorDocument *>(diffEditor->document()); QTC_ASSERT(diffEditor, return 0); document->setPreferredDisplayName(displayName); m_instance->m_idToDocument.insert(vcsId, document); return document; }
DiffEditorDocument *DiffEditorManager::findOrCreate(const QString &documentId, const QString &displayName) { DiffEditorDocument *document = find(documentId); if (document) return document; const QString msgWait = tr("Waiting for data..."); DiffEditor *diffEditor = qobject_cast<DiffEditor *>( Core::EditorManager::openEditorWithContents(Constants::DIFF_EDITOR_ID, 0, msgWait.toUtf8())); QTC_ASSERT(diffEditor, return 0); document = qobject_cast<DiffEditorDocument *>(diffEditor->document()); QTC_ASSERT(diffEditor, return 0); document->setDisplayName(displayName); m_instance->idToDocument.insert(documentId, document); m_instance->documentToId.insert(document, documentId); return document; }