diff --git a/src/gui/layout/qgslayoutlegendwidget.cpp b/src/gui/layout/qgslayoutlegendwidget.cpp index 04327ed2c0f2..0829ed2d47ec 100644 --- a/src/gui/layout/qgslayoutlegendwidget.cpp +++ b/src/gui/layout/qgslayoutlegendwidget.cpp @@ -47,6 +47,7 @@ #include #include #include +#include ///@cond PRIVATE @@ -1481,11 +1482,15 @@ QMenu *QgsLayoutLegendMenuProvider::createContextMenu() QgsLegendStyle::Style currentStyle = QgsLegendRenderer::nodeLegendStyle( mView->currentNode(), mView->layerTreeModel() ); + QActionGroup *styleGroup = new QActionGroup{ mWidget }; + styleGroup->setExclusive( true ); + QList lst; lst << QgsLegendStyle::Hidden << QgsLegendStyle::Group << QgsLegendStyle::Subgroup; for ( QgsLegendStyle::Style style : std::as_const( lst ) ) { QAction *action = menu->addAction( QgsLegendStyle::styleLabel( style ), mWidget, &QgsLayoutLegendWidget::setCurrentNodeStyleFromAction ); + action->setActionGroup( styleGroup ); action->setCheckable( true ); action->setChecked( currentStyle == style ); action->setData( static_cast< int >( style ) );