Skip to content

Commit 717e8c9

Browse files
committed
Persist default attribute action between sessions
Refs #15027
1 parent 0db9556 commit 717e8c9

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/app/qgisapp.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -2035,6 +2035,7 @@ void QgisApp::createToolBars()
20352035
bt->setDefaultAction( mActionFeatureAction );
20362036
mFeatureActionMenu = new QMenu( bt );
20372037
connect( mFeatureActionMenu, SIGNAL( triggered( QAction * ) ), this, SLOT( updateDefaultFeatureAction( QAction * ) ) );
2038+
connect( mFeatureActionMenu, SIGNAL( triggered( QAction * ) ), this, SLOT( doFeatureAction() ) );
20382039
connect( mFeatureActionMenu, SIGNAL( aboutToShow() ), this, SLOT( refreshFeatureActions() ) );
20392040
bt->setMenu( mFeatureActionMenu );
20402041
QAction* featureActionAction = mAttributesToolBar->insertWidget( selectAction, bt );
@@ -5599,8 +5600,6 @@ void QgisApp::updateDefaultFeatureAction( QAction *action )
55995600
QgsMapLayerActionRegistry::instance()->setDefaultActionForLayer( vlayer, nullptr );
56005601
}
56015602
}
5602-
5603-
doFeatureAction();
56045603
}
56055604

56065605
void QgisApp::refreshFeatureActions()
@@ -10588,17 +10587,14 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
1058810587
}
1058910588

1059010589
mActionOpenFieldCalc->setEnabled( true );
10591-
10592-
return;
1059310590
}
1059410591
else
1059510592
{
1059610593
mUndoDock->widget()->setEnabled( false );
1059710594
mActionUndo->setEnabled( false );
1059810595
mActionRedo->setEnabled( false );
10596+
mActionLayerSubsetString->setEnabled( false );
1059910597
}
10600-
10601-
mActionLayerSubsetString->setEnabled( false );
1060210598
} //end vector layer block
1060310599
/*************Raster layers*************/
1060410600
else if ( layer->type() == QgsMapLayer::RasterLayer )

src/core/qgsactionmanager.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ QString QgsActionManager::expandAction( const QString& action, QgsFeature &feat,
293293
bool QgsActionManager::writeXML( QDomNode& layer_node, QDomDocument& doc ) const
294294
{
295295
QDomElement aActions = doc.createElement( "attributeactions" );
296+
aActions.setAttribute( "default", mDefaultAction );
296297

297298
Q_FOREACH ( const QgsAction& action, mActions )
298299
{
@@ -319,6 +320,8 @@ bool QgsActionManager::readXML( const QDomNode& layer_node )
319320

320321
if ( !aaNode.isNull() )
321322
{
323+
mDefaultAction = aaNode.toElement().attribute( "default", 0 ).toInt();
324+
322325
QDomNodeList actionsettings = aaNode.childNodes();
323326
for ( int i = 0; i < actionsettings.size(); ++i )
324327
{

0 commit comments

Comments
 (0)