Skip to content

Commit

Permalink
Move action to top of menu
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Mar 16, 2023
1 parent 3c2446e commit 3962c29
Showing 1 changed file with 28 additions and 29 deletions.
57 changes: 28 additions & 29 deletions src/gui/processing/qgsprocessingalgorithmdialogbase.cpp
Expand Up @@ -137,6 +137,34 @@ QgsProcessingAlgorithmDialogBase::QgsProcessingAlgorithmDialogBase( QWidget *par
mAdvancedMenu = new QMenu( this );
mAdvancedButton->setMenu( mAdvancedMenu );

mContextSettingsAction = new QAction( tr( "Algorithm Settings…" ), mAdvancedMenu );
mContextSettingsAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/propertyicons/settings.svg" ) ) );
mAdvancedMenu->addAction( mContextSettingsAction );

connect( mContextSettingsAction, &QAction::triggered, this, [this]
{
if ( QgsPanelWidget *panel = QgsPanelWidget::findParentPanel( mMainWidget ) )
{
mTabWidget->setCurrentIndex( 0 );

if ( !mContextOptionsWidget )
{
mContextOptionsWidget = new QgsProcessingContextOptionsWidget();
mContextOptionsWidget->setFromContext( processingContext() );
panel->openPanel( mContextOptionsWidget );

connect( mContextOptionsWidget, &QgsPanelWidget::widgetChanged, this, [ = ]
{
mOverrideDefaultContextSettings = true;
mGeometryCheck = mContextOptionsWidget->invalidGeometryCheck();
mDistanceUnits = mContextOptionsWidget->distanceUnit();
mAreaUnits = mContextOptionsWidget->areaUnit();
} );
}
}
} );
mAdvancedMenu->addSeparator();

QAction *copyAsPythonCommand = new QAction( tr( "Copy as Python Command" ), mAdvancedMenu );
copyAsPythonCommand->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mIconPythonFile.svg" ) ) );

Expand Down Expand Up @@ -242,35 +270,6 @@ QgsProcessingAlgorithmDialogBase::QgsProcessingAlgorithmDialogBase( QWidget *par
setParameters( preparedValues );
} );

mAdvancedMenu->addSeparator();

mContextSettingsAction = new QAction( tr( "Algorithm Settings" ), mAdvancedMenu );
mContextSettingsAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/propertyicons/settings.svg" ) ) );
mAdvancedMenu->addAction( mContextSettingsAction );

connect( mContextSettingsAction, &QAction::triggered, this, [this]
{
if ( QgsPanelWidget *panel = QgsPanelWidget::findParentPanel( mMainWidget ) )
{
mTabWidget->setCurrentIndex( 0 );

if ( !mContextOptionsWidget )
{
mContextOptionsWidget = new QgsProcessingContextOptionsWidget();
mContextOptionsWidget->setFromContext( processingContext() );
panel->openPanel( mContextOptionsWidget );

connect( mContextOptionsWidget, &QgsPanelWidget::widgetChanged, this, [ = ]
{
mOverrideDefaultContextSettings = true;
mGeometryCheck = mContextOptionsWidget->invalidGeometryCheck();
mDistanceUnits = mContextOptionsWidget->distanceUnit();
mAreaUnits = mContextOptionsWidget->areaUnit();
} );
}
}
} );

mButtonBox->addButton( mAdvancedButton, QDialogButtonBox::ResetRole );
break;
}
Expand Down

0 comments on commit 3962c29

Please sign in to comment.