forked from qt-creator/qt-creator
LanguageClient: Fix missing default context menu
Change-Id: I7a3ae4f0af01cf05efd31082e3ac888a4613bb25 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "documentsymbolcache.h"
|
||||
#include "languageclientmanager.h"
|
||||
#include "languageclienttr.h"
|
||||
#include "languageclientutils.h"
|
||||
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
@@ -23,6 +24,7 @@
|
||||
|
||||
#include <QAction>
|
||||
#include <QBoxLayout>
|
||||
#include <QMenu>
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
using namespace LanguageServerProtocol;
|
||||
@@ -113,6 +115,8 @@ public:
|
||||
void restoreSettings(const QVariantMap &map) override;
|
||||
QVariantMap settings() const override;
|
||||
|
||||
void contextMenuEvent(QContextMenuEvent *event) override;
|
||||
|
||||
private:
|
||||
void handleResponse(const DocumentUri &uri, const DocumentSymbolsResult &response);
|
||||
void updateTextCursor(const QModelIndex &proxyIndex);
|
||||
@@ -204,6 +208,21 @@ QVariantMap LanguageClientOutlineWidget::settings() const
|
||||
return {{QString("LspOutline.Sort"), m_sorted}};
|
||||
}
|
||||
|
||||
void LanguageClientOutlineWidget::contextMenuEvent(QContextMenuEvent *event)
|
||||
{
|
||||
if (!event)
|
||||
return;
|
||||
|
||||
QMenu contextMenu;
|
||||
QAction *action = contextMenu.addAction(Tr::tr("Expand All"));
|
||||
connect(action, &QAction::triggered, &m_view, &QTreeView::expandAll);
|
||||
action = contextMenu.addAction(Tr::tr("Collapse All"));
|
||||
connect(action, &QAction::triggered, &m_view, &QTreeView::collapseAll);
|
||||
|
||||
contextMenu.exec(event->globalPos());
|
||||
event->accept();
|
||||
}
|
||||
|
||||
void LanguageClientOutlineWidget::handleResponse(const DocumentUri &uri,
|
||||
const DocumentSymbolsResult &result)
|
||||
{
|
||||
|
Reference in New Issue
Block a user