forked from qt-creator/qt-creator
LanguageClient: correctly initialize editors of opened documents
Change-Id: I2dee2093c0bdb97a204e89bf0db526ae405b8e78 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -845,7 +845,12 @@ void Client::activateDocument(TextEditor::TextDocument *document)
|
||||
document->setQuickFixAssistProvider(d->m_clientProviders.quickFixAssistProvider);
|
||||
}
|
||||
document->setFormatter(new LanguageClientFormatter(document, this));
|
||||
for (Core::IEditor *editor : Core::DocumentModel::editorsForDocument(document)) {
|
||||
for (Core::IEditor *editor : Core::DocumentModel::editorsForDocument(document))
|
||||
activateEditor(editor);
|
||||
}
|
||||
|
||||
void Client::activateEditor(Core::IEditor *editor)
|
||||
{
|
||||
updateEditorToolBar(editor);
|
||||
if (editor == Core::EditorManager::currentEditor())
|
||||
TextEditor::IOutlineWidgetFactory::updateOutline();
|
||||
@@ -854,13 +859,12 @@ void Client::activateDocument(TextEditor::TextDocument *document)
|
||||
widget->addHoverHandler(&d->m_hoverHandler);
|
||||
d->requestDocumentHighlights(widget);
|
||||
uint optionalActions = widget->optionalActions();
|
||||
if (symbolSupport().supportsFindUsages(document))
|
||||
if (symbolSupport().supportsFindUsages(widget->textDocument()))
|
||||
optionalActions |= TextEditor::TextEditorActionHandler::FindUsage;
|
||||
if (symbolSupport().supportsRename(document))
|
||||
if (symbolSupport().supportsRename(widget->textDocument()))
|
||||
optionalActions |= TextEditor::TextEditorActionHandler::RenameSymbol;
|
||||
widget->setOptionalActions(optionalActions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Client::deactivateDocument(TextEditor::TextDocument *document)
|
||||
|
||||
@@ -111,6 +111,7 @@ public:
|
||||
virtual void openDocument(TextEditor::TextDocument *document);
|
||||
void closeDocument(TextEditor::TextDocument *document);
|
||||
void activateDocument(TextEditor::TextDocument *document);
|
||||
void activateEditor(Core::IEditor *editor);
|
||||
void deactivateDocument(TextEditor::TextDocument *document);
|
||||
bool documentOpen(const TextEditor::TextDocument *document) const;
|
||||
TextEditor::TextDocument *documentForFilePath(const Utils::FilePath &file) const;
|
||||
|
||||
@@ -471,10 +471,9 @@ void LanguageClientManager::editorOpened(Core::IEditor *editor)
|
||||
if (client->reachable())
|
||||
client->cursorPositionChanged(widget);
|
||||
});
|
||||
updateEditorToolBar(editor);
|
||||
if (TextEditor::TextDocument *document = textEditor->textDocument()) {
|
||||
if (Client *client = m_clientForDocument[document])
|
||||
widget->addHoverHandler(client->hoverHandler());
|
||||
client->activateEditor(editor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user