Skip to content

Commit

Permalink
[advanced editing] Remember construction guides-related settings acro…
Browse files Browse the repository at this point in the history
…ss sessions
  • Loading branch information
nirvn committed May 28, 2024
1 parent 6a04646 commit f7f14ef
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/gui/qgsadvanceddigitizingdockwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@


const QgsSettingsEntryBool *QgsAdvancedDigitizingDockWidget::settingsCadSnappingPriorityPrioritizeFeature = new QgsSettingsEntryBool( QStringLiteral( "cad-snapping-prioritize-feature" ), QgsSettingsTree::sTreeDigitizing, false, tr( "Determines if snapping to features has priority over snapping to common angles." ) ) ;
const QgsSettingsEntryBool *QgsAdvancedDigitizingDockWidget::settingsCadRecordConstructionGuides = new QgsSettingsEntryBool( QStringLiteral( "cad-record-construction-guides" ), QgsSettingsTree::sTreeDigitizing, false, tr( "Determines if construction guides are being recorded." ) ) ;
const QgsSettingsEntryBool *QgsAdvancedDigitizingDockWidget::settingsCadShowConstructionGuides = new QgsSettingsEntryBool( QStringLiteral( "cad-show-construction-guides" ), QgsSettingsTree::sTreeDigitizing, true, tr( "Determines whether construction guides are shown." ) ) ;
const QgsSettingsEntryBool *QgsAdvancedDigitizingDockWidget::settingsCadSnapToConstructionGuides = new QgsSettingsEntryBool( QStringLiteral( "cad-snap-to-construction-guides" ), QgsSettingsTree::sTreeDigitizing, false, tr( "Determines if points will snap to construction guides." ) ) ;


QgsAdvancedDigitizingDockWidget::QgsAdvancedDigitizingDockWidget( QgsMapCanvas *canvas, QWidget *parent )
Expand Down Expand Up @@ -199,19 +202,25 @@ QgsAdvancedDigitizingDockWidget::QgsAdvancedDigitizingDockWidget( QgsMapCanvas *

mRecordConstructionGuides = new QAction( tr( "Record construction guides" ), constructionSettingsMenu );
mRecordConstructionGuides->setCheckable( true );
mRecordConstructionGuides->setChecked( false );
mRecordConstructionGuides->setChecked( settingsCadRecordConstructionGuides->value() );
constructionSettingsMenu->addAction( mRecordConstructionGuides );
connect( mRecordConstructionGuides, &QAction::triggered, this, [ = ]() { settingsCadRecordConstructionGuides->setValue( mRecordConstructionGuides->isChecked() ); } );

mShowConstructionGuides = new QAction( tr( "Show construction guides" ), constructionSettingsMenu );
mShowConstructionGuides->setCheckable( true );
mShowConstructionGuides->setChecked( true );
mShowConstructionGuides->setChecked( settingsCadShowConstructionGuides->value() );
constructionSettingsMenu->addAction( mShowConstructionGuides );
connect( mShowConstructionGuides, &QAction::triggered, this, [ = ]() { updateCadPaintItem(); } );
connect( mShowConstructionGuides, &QAction::triggered, this, [ = ]()
{
settingsCadShowConstructionGuides->setValue( mShowConstructionGuides->isChecked() );
updateCadPaintItem();
} );

mSnapToConstructionGuides = new QAction( tr( "Snap to visible construction guides" ), constructionSettingsMenu );
mSnapToConstructionGuides->setCheckable( true );
mSnapToConstructionGuides->setChecked( false );
mSnapToConstructionGuides->setChecked( settingsCadSnapToConstructionGuides->value() );
constructionSettingsMenu->addAction( mSnapToConstructionGuides );
connect( mSnapToConstructionGuides, &QAction::triggered, this, [ = ]() { settingsCadSnapToConstructionGuides->setValue( mSnapToConstructionGuides->isChecked() ); } );

constructionSettingsMenu->addSeparator();

Expand Down
3 changes: 3 additions & 0 deletions src/gui/qgsadvanceddigitizingdockwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -1142,6 +1142,9 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
QMenu *mFloaterActionsMenu = nullptr;

static const QgsSettingsEntryBool *settingsCadSnappingPriorityPrioritizeFeature;
static const QgsSettingsEntryBool *settingsCadRecordConstructionGuides;
static const QgsSettingsEntryBool *settingsCadShowConstructionGuides;
static const QgsSettingsEntryBool *settingsCadSnapToConstructionGuides;

friend class TestQgsAdvancedDigitizing;
friend class TestQgsAdvancedDigitizingDockWidget;
Expand Down

0 comments on commit f7f14ef

Please sign in to comment.