Showing with 13 additions and 1 deletion.
  1. +1 −1 src/app/qgisapp.cpp
  2. +12 −0 src/app/qgscustomization.cpp
2 changes: 1 addition & 1 deletion src/app/qgisapp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5825,7 +5825,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
else
{
mActionPasteFeatures->setEnabled( false );
mActionAddFeature->setEnabled( !vlayer->isEditable() );
mActionAddFeature->setEnabled( false );
}

//does provider allow deleting of features?
Expand Down
12 changes: 12 additions & 0 deletions src/app/qgscustomization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,10 @@ void QgsCustomization::updateMainWindow( QMenu * theToolBarMenu )
// hide individual toolbar actions
foreach( QAction* action, tb->actions() )
{
if ( action->objectName().isEmpty() )
{
continue;
}
visible = mSettings.value( action->objectName(), true ).toBool();
if ( !visible )
tb->removeAction( action );
Expand Down Expand Up @@ -708,6 +712,10 @@ void QgsCustomization::updateMainWindow( QMenu * theToolBarMenu )
if ( obj->inherits( "QWidget" ) )
{
QWidget* widget = qobject_cast<QWidget*>( obj );
if ( widget->objectName().isEmpty() )
{
continue;
}
bool visible = mSettings.value( widget->objectName(), true ).toBool();
if ( !visible )
{
Expand All @@ -732,6 +740,10 @@ void QgsCustomization::updateMenu( QMenu* menu, QSettings& settings )
foreach( QAction* action, menu->actions() )
{
QString objName = ( action->menu() ? action->menu()->objectName() : action->objectName() );
if ( objName.isEmpty() )
{
continue;
}
bool visible = settings.value( objName, true ).toBool();
if ( !visible )
menu->removeAction( action );
Expand Down