@@ -225,14 +225,18 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject* project, QgsMapCanvas* canvas,
225
225
modeChanged ();
226
226
updateToleranceDecimals ();
227
227
228
- restoreGeometry ( QSettings ().value ( " /Windows/SnappingWidget/geometry" ).toByteArray () );
228
+ mSettings = new QSettings ();
229
+ bool defaultSnapEnabled = mSettings ->value ( QStringLiteral ( " /qgis/digitizing/default_snap_enabled" ), false ).toBool ();
230
+ enableSnapping ( defaultSnapEnabled );
231
+
232
+ restoreGeometry ( mSettings ->value ( " /Windows/SnappingWidget/geometry" ).toByteArray () );
229
233
}
230
234
231
235
QgsSnappingWidget::~QgsSnappingWidget ()
232
236
{
233
237
if ( mDisplayMode == Widget )
234
238
{
235
- QSettings (). setValue ( QStringLiteral ( " /Windows/SnappingWidget/geometry" ), saveGeometry () );
239
+ mSettings -> setValue ( QStringLiteral ( " /Windows/SnappingWidget/geometry" ), saveGeometry () );
236
240
}
237
241
}
238
242
@@ -291,6 +295,8 @@ void QgsSnappingWidget::projectSnapSettingsChanged()
291
295
{
292
296
mIntersectionSnappingAction ->setChecked ( config.intersectionSnapping () );
293
297
}
298
+
299
+ toggleSnappingWidgets ( config.enabled () );
294
300
}
295
301
296
302
void QgsSnappingWidget::projectTopologicalEditingChanged ()
@@ -303,19 +309,23 @@ void QgsSnappingWidget::projectTopologicalEditingChanged()
303
309
304
310
void QgsSnappingWidget::enableSnapping ( bool checked )
305
311
{
306
- mModeButton ->setEnabled ( checked );
307
- mTypeButton ->setEnabled ( checked );
308
- mToleranceSpinBox ->setEnabled ( checked );
309
- mUnitsComboBox ->setEnabled ( checked );
312
+ toggleSnappingWidgets ( checked );
313
+ mConfig .setEnabled ( checked );
314
+ mProject ->setSnappingConfig ( mConfig );
315
+ }
316
+
317
+ void QgsSnappingWidget::toggleSnappingWidgets ( bool enabled )
318
+ {
319
+ mModeButton ->setEnabled ( enabled );
320
+ mTypeButton ->setEnabled ( enabled );
321
+ mToleranceSpinBox ->setEnabled ( enabled );
322
+ mUnitsComboBox ->setEnabled ( enabled );
310
323
if ( mLayerTreeView )
311
324
{
312
- mLayerTreeView ->setEnabled ( checked );
325
+ mLayerTreeView ->setEnabled ( enabled );
313
326
}
314
- mTopologicalEditingAction ->setEnabled ( checked );
315
- mIntersectionSnappingAction ->setEnabled ( checked );
316
-
317
- mConfig .setEnabled ( checked );
318
- mProject ->setSnappingConfig ( mConfig );
327
+ mTopologicalEditingAction ->setEnabled ( enabled );
328
+ mIntersectionSnappingAction ->setEnabled ( enabled );
319
329
}
320
330
321
331
void QgsSnappingWidget::changeTolerance ( double tolerance )
0 commit comments