| 145 | } |
| 146 | |
| 147 | void ContextBrowserView::declarationMenu() |
| 148 | { |
| 149 | DUChainReadLocker lock(DUChain::lock()); |
| 150 | |
| 151 | auto* navigationWidget = qobject_cast<AbstractNavigationWidget*>(m_navigationWidget.data()); |
| 152 | if (navigationWidget) { |
| 153 | auto* navigationContext = qobject_cast<AbstractDeclarationNavigationContext*>(navigationWidget->context().data()); |
| 154 | if (navigationContext && navigationContext->declaration().data()) { |
| 155 | auto* c = new KDevelop::DeclarationContext(navigationContext->declaration().data()); |
| 156 | lock.unlock(); |
| 157 | QMenu menu(this); |
| 158 | QList<ContextMenuExtension> extensions = |
| 159 | ICore::self()->pluginController()->queryPluginsForContextMenuExtensions(c, &menu); |
| 160 | |
| 161 | ContextMenuExtension::populateMenu(&menu, extensions); |
| 162 | menu.exec(QCursor::pos()); |
| 163 | } |
| 164 | } |
| 165 | } |
| 166 | |
| 167 | ContextBrowserView::ContextBrowserView(ContextBrowserPlugin* plugin, QWidget* parent) : QWidget(parent) |
| 168 | , m_plugin(plugin) |
nothing calls this directly
no test coverage detected