LanguageClient: move remove project connection to client

Change-Id: I63ff089c7b72a4f72ddf65548dc8df1cc6763ff9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2021-11-11 14:31:22 +01:00
parent 684f5da066
commit 333374e6a9
3 changed files with 4 additions and 9 deletions

View File

@@ -87,6 +87,7 @@ Client::Client(BaseClientInterface *clientInterface)
, m_symbolSupport(this) , m_symbolSupport(this)
, m_tokenSupport(this) , m_tokenSupport(this)
{ {
using namespace ProjectExplorer;
m_clientProviders.completionAssistProvider = new LanguageClientCompletionAssistProvider(this); m_clientProviders.completionAssistProvider = new LanguageClientCompletionAssistProvider(this);
m_clientProviders.functionHintProvider = new FunctionHintAssistProvider(this); m_clientProviders.functionHintProvider = new FunctionHintAssistProvider(this);
m_clientProviders.quickFixAssistProvider = new LanguageClientQuickFixProvider(this); m_clientProviders.quickFixAssistProvider = new LanguageClientQuickFixProvider(this);
@@ -95,6 +96,8 @@ Client::Client(BaseClientInterface *clientInterface)
m_documentUpdateTimer.setInterval(500); m_documentUpdateTimer.setInterval(500);
connect(&m_documentUpdateTimer, &QTimer::timeout, this, connect(&m_documentUpdateTimer, &QTimer::timeout, this,
[this] { sendPostponedDocumentUpdates(Schedule::Now); }); [this] { sendPostponedDocumentUpdates(Schedule::Now); });
connect(SessionManager::instance(), &SessionManager::projectRemoved,
this, &Client::projectClosed);
m_contentHandler.insert(JsonRpcMessageHandler::jsonRpcMimeType(), m_contentHandler.insert(JsonRpcMessageHandler::jsonRpcMimeType(),
&JsonRpcMessageHandler::parseContent); &JsonRpcMessageHandler::parseContent);

View File

@@ -86,7 +86,7 @@ LanguageClientManager::LanguageClientManager(QObject *parent)
connect(SessionManager::instance(), &SessionManager::projectAdded, connect(SessionManager::instance(), &SessionManager::projectAdded,
this, &LanguageClientManager::projectAdded); this, &LanguageClientManager::projectAdded);
connect(SessionManager::instance(), &SessionManager::projectRemoved, connect(SessionManager::instance(), &SessionManager::projectRemoved,
this, &LanguageClientManager::projectRemoved); this, [&](Project *project) { project->disconnect(this); });
} }
LanguageClientManager::~LanguageClientManager() LanguageClientManager::~LanguageClientManager()
@@ -605,11 +605,4 @@ void LanguageClientManager::projectAdded(ProjectExplorer::Project *project)
}); });
} }
void LanguageClientManager::projectRemoved(ProjectExplorer::Project *project)
{
project->disconnect(this);
for (Client *client : qAsConst(m_clients))
client->projectClosed(project);
}
} // namespace LanguageClient } // namespace LanguageClient

View File

@@ -116,7 +116,6 @@ private:
void updateProject(ProjectExplorer::Project *project); void updateProject(ProjectExplorer::Project *project);
void projectAdded(ProjectExplorer::Project *project); void projectAdded(ProjectExplorer::Project *project);
void projectRemoved(ProjectExplorer::Project *project);
QVector<Client *> reachableClients(); QVector<Client *> reachableClients();