From e010fd2f48d50b6d8188fcfe84f456f643f6330f Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 9 Sep 2021 15:46:08 +0200 Subject: [PATCH] LanguageClient: Add "Clear" button to LSP inspector It's helpful to be able to watch new messages from a certain point onwards, and not be distracted by older ones. Change-Id: I0506dad24d4b970652117d7e704ebfb4b49cad74 Reviewed-by: David Schulz --- src/plugins/languageclient/lspinspector.cpp | 6 ++++++ src/plugins/languageclient/lspinspector.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/plugins/languageclient/lspinspector.cpp b/src/plugins/languageclient/lspinspector.cpp index ec5927af85b..2a4912c81e9 100644 --- a/src/plugins/languageclient/lspinspector.cpp +++ b/src/plugins/languageclient/lspinspector.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -427,6 +428,11 @@ LspInspectorWidget::LspInspectorWidget(LspInspector *inspector) auto buttonBox = new QDialogButtonBox(this); buttonBox->setStandardButtons(QDialogButtonBox::Save | QDialogButtonBox::Close); + const auto clearButton = buttonBox->addButton(tr("Clear"), QDialogButtonBox::ResetRole); + connect(clearButton, &QPushButton::clicked, this, [this] { + m_inspector->clear(); + currentClientChanged(m_clients->currentItem()->text()); + }); mainLayout->addWidget(buttonBox); setLayout(mainLayout); diff --git a/src/plugins/languageclient/lspinspector.h b/src/plugins/languageclient/lspinspector.h index 9114edb85a1..6d3cb048e83 100644 --- a/src/plugins/languageclient/lspinspector.h +++ b/src/plugins/languageclient/lspinspector.h @@ -85,6 +85,7 @@ public: std::list messages(const QString &clientName) const; Capabilities capabilities(const QString &clientName) const; QList clients() const; + void clear() { m_logs.clear(); } signals: void newMessage(const QString &clientName, const LspLogMessage &message);