From bcf0e4838c033527d3280b193d054f290a30d65e Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Wed, 19 Feb 2020 16:34:47 +0100 Subject: [PATCH] Really hide actions menu from forms when empty because actions() does something else --- src/gui/qgsactionmenu.cpp | 5 +++++ src/gui/qgsactionmenu.h | 7 +++++++ src/gui/qgsattributedialog.cpp | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gui/qgsactionmenu.cpp b/src/gui/qgsactionmenu.cpp index ebe09215a62f..812d141e87fa 100644 --- a/src/gui/qgsactionmenu.cpp +++ b/src/gui/qgsactionmenu.cpp @@ -205,3 +205,8 @@ QgsExpressionContextScope QgsActionMenu::expressionContextScope() const { return mExpressionContextScope; } + +QList QgsActionMenu::menuActions() +{ + return mActions; +} diff --git a/src/gui/qgsactionmenu.h b/src/gui/qgsactionmenu.h index 2ed7258444ad..4e11fb94df5a 100644 --- a/src/gui/qgsactionmenu.h +++ b/src/gui/qgsactionmenu.h @@ -112,6 +112,13 @@ class GUI_EXPORT QgsActionMenu : public QMenu */ QgsExpressionContextScope expressionContextScope() const; + /** + * Returns menu actions + * + * \since QGIS 3.12 + */ + QList menuActions(); + signals: void reinit(); diff --git a/src/gui/qgsattributedialog.cpp b/src/gui/qgsattributedialog.cpp index fd7bcf0d8eeb..0656fb83d033 100644 --- a/src/gui/qgsattributedialog.cpp +++ b/src/gui/qgsattributedialog.cpp @@ -122,7 +122,7 @@ void QgsAttributeDialog::init( QgsVectorLayer *layer, QgsFeature *feature, const connect( layer, &QObject::destroyed, this, &QWidget::close ); mMenu = new QgsActionMenu( layer, mAttributeForm->feature(), QStringLiteral( "Feature" ), this ); - if ( !mMenu->actions().isEmpty() ) + if ( !mMenu->menuActions().isEmpty() ) { QMenuBar *menuBar = new QMenuBar( this ); menuBar->addMenu( mMenu );