forked from qt-creator/qt-creator
LanguageClient: connect each editor widget to the LanguageClientManager
... not just the first returned by BaseTextEditor::textEditorForDocument Change-Id: I262cd68e6dea59aa23be718fb85d2ae68c40ef39 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -195,30 +195,31 @@ void LanguageClientManager::clientFinished(Client *client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LanguageClientManager::documentOpened(Core::IDocument *document)
|
void LanguageClientManager::editorOpened(Core::IEditor *editor)
|
||||||
{
|
{
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
for (Client *interface : reachableClients())
|
if (auto *textEditor = qobject_cast<BaseTextEditor *>(editor)) {
|
||||||
interface->openDocument(document);
|
if (TextEditorWidget *widget = textEditor->editorWidget()) {
|
||||||
|
connect(widget, &TextEditorWidget::requestLinkAt, this,
|
||||||
if (auto textDocument = qobject_cast<TextDocument *>(document)) {
|
[this, filePath = editor->document()->filePath()]
|
||||||
if (BaseTextEditor *editor = BaseTextEditor::textEditorForDocument(textDocument)) {
|
(const QTextCursor &cursor, Utils::ProcessLinkCallback &callback){
|
||||||
if (TextEditorWidget *widget = editor->editorWidget()) {
|
findLinkAt(filePath, cursor, callback);
|
||||||
connect(widget, &TextEditorWidget::requestLinkAt, this,
|
});
|
||||||
[this, filePath = document->filePath()]
|
connect(widget, &TextEditorWidget::requestUsages, this,
|
||||||
(const QTextCursor &cursor, Utils::ProcessLinkCallback &callback){
|
[this, filePath = editor->document()->filePath()]
|
||||||
findLinkAt(filePath, cursor, callback);
|
(const QTextCursor &cursor){
|
||||||
});
|
findUsages(filePath, cursor);
|
||||||
connect(widget, &TextEditorWidget::requestUsages, this,
|
});
|
||||||
[this, filePath = document->filePath()]
|
|
||||||
(const QTextCursor &cursor){
|
|
||||||
findUsages(filePath, cursor);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LanguageClientManager::documentOpened(Core::IDocument *document)
|
||||||
|
{
|
||||||
|
for (Client *interface : reachableClients())
|
||||||
|
interface->openDocument(document);
|
||||||
|
}
|
||||||
|
|
||||||
void LanguageClientManager::documentClosed(Core::IDocument *document)
|
void LanguageClientManager::documentClosed(Core::IDocument *document)
|
||||||
{
|
{
|
||||||
const DidCloseTextDocumentParams params(
|
const DidCloseTextDocumentParams params(
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ signals:
|
|||||||
private:
|
private:
|
||||||
LanguageClientManager();
|
LanguageClientManager();
|
||||||
|
|
||||||
|
void editorOpened(Core::IEditor *editor);
|
||||||
void documentOpened(Core::IDocument *document);
|
void documentOpened(Core::IDocument *document);
|
||||||
void documentClosed(Core::IDocument *document);
|
void documentClosed(Core::IDocument *document);
|
||||||
void documentContentsSaved(Core::IDocument *document);
|
void documentContentsSaved(Core::IDocument *document);
|
||||||
|
|||||||
Reference in New Issue
Block a user