summaryrefslogtreecommitdiff
path: root/src/plugins/languageclient/languageclientutils.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2023-01-09 14:37:19 +0100
committerDavid Schulz <david.schulz@qt.io>2023-01-09 14:12:22 +0000
commitd62d39642e9d860842b2aad808925cb04dc0434a (patch)
tree054ee51c6654e1d169765ed522fe294f4e63408a /src/plugins/languageclient/languageclientutils.cpp
parente193d02a723c98bb7169267241218633913904ff (diff)
downloadqt-creator-d62d39642e9d860842b2aad808925cb04dc0434a.tar.gz
LanguageClient: Add action to restart client to editor toolbar
Change-Id: Ib2fb0f6d9a5b3baeac937f298670887fa704ddce Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/languageclient/languageclientutils.cpp')
-rw-r--r--src/plugins/languageclient/languageclientutils.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp
index 4f3966f39c..64ffa4731a 100644
--- a/src/plugins/languageclient/languageclientutils.cpp
+++ b/src/plugins/languageclient/languageclientutils.cpp
@@ -7,6 +7,7 @@
#include "languageclient_global.h"
#include "languageclientmanager.h"
#include "languageclientoutline.h"
+#include "languageclienttr.h"
#include "snippet.h"
#include <coreplugin/editormanager/documentmodel.h>
@@ -246,7 +247,7 @@ void updateEditorToolBar(Core::IEditor *editor)
const QIcon icon = Utils::Icon({{":/languageclient/images/languageclient.png",
Utils::Theme::IconsBaseColor}}).icon();
extras->m_popupAction = widget->toolBar()->addAction(
- icon, client->name(), [document = QPointer(document)] {
+ icon, client->name(), [document = QPointer(document), client = QPointer<Client>(client)] {
auto menu = new QMenu;
auto clientsGroup = new QActionGroup(menu);
clientsGroup->setExclusive(true);
@@ -265,10 +266,16 @@ void updateEditorToolBar(Core::IEditor *editor)
menu->addActions(clientsGroup->actions());
if (!clientsGroup->actions().isEmpty())
menu->addSeparator();
- menu->addAction("Inspect Language Clients", [] {
+ if (client && client->reachable()) {
+ menu->addAction(Tr::tr("Restart %1").arg(client->name()), [client] {
+ if (client && client->reachable())
+ LanguageClientManager::restartClient(client);
+ });
+ }
+ menu->addAction(Tr::tr("Inspect Language Clients"), [] {
LanguageClientManager::showInspector();
});
- menu->addAction("Manage...", [] {
+ menu->addAction(Tr::tr("Manage..."), [] {
Core::ICore::showOptionsDialog(Constants::LANGUAGECLIENT_SETTINGS_PAGE);
});
menu->popup(QCursor::pos());