forked from qt-creator/qt-creator
LanguageClient: move remove project connection to client
Change-Id: I63ff089c7b72a4f72ddf65548dc8df1cc6763ff9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -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);
|
||||||
|
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user