forked from qt-creator/qt-creator
Reuse existing controller when requesting existing diff editor
Change-Id: I01d54f0bd131b8ae7daee74533375920fa544adf Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -722,13 +722,16 @@ void GitClient::requestReload(const QString &documentId, const QString &source,
|
|||||||
|
|
||||||
IDocument *document = DiffEditorController::findOrCreateDocument(documentId, title);
|
IDocument *document = DiffEditorController::findOrCreateDocument(documentId, title);
|
||||||
QTC_ASSERT(document, return);
|
QTC_ASSERT(document, return);
|
||||||
DiffEditorController *controller = factory(document);
|
DiffEditorController *controller = DiffEditorController::controller(document);
|
||||||
QTC_ASSERT(controller, return);
|
if (!controller) {
|
||||||
|
controller = factory(document);
|
||||||
|
QTC_ASSERT(controller, return);
|
||||||
|
|
||||||
connect(controller, &DiffEditorController::chunkActionsRequested,
|
connect(controller, &DiffEditorController::chunkActionsRequested,
|
||||||
this, &GitClient::slotChunkActionsRequested, Qt::DirectConnection);
|
this, &GitClient::slotChunkActionsRequested, Qt::DirectConnection);
|
||||||
connect(controller, &DiffEditorController::requestInformationForCommit,
|
connect(controller, &DiffEditorController::requestInformationForCommit,
|
||||||
this, &GitClient::branchesForCommit);
|
this, &GitClient::branchesForCommit);
|
||||||
|
}
|
||||||
|
|
||||||
VcsBasePlugin::setSource(document, sourceCopy);
|
VcsBasePlugin::setSource(document, sourceCopy);
|
||||||
EditorManager::activateEditorForDocument(document);
|
EditorManager::activateEditorForDocument(document);
|
||||||
|
|||||||
Reference in New Issue
Block a user