@@ -417,25 +417,17 @@ void QgsSnappingConfig::readLegacySettings()
417
417
418
418
QString snapMode = mProject ->readEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /SnappingMode" ) );
419
419
420
- QString snapType = mProject ->readEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /DefaultSnapType" ), QStringLiteral ( " off" ) );
421
- if ( snapType == QLatin1String ( " to segment" ) )
422
- mType = Segment;
423
- else if ( snapType == QLatin1String ( " to vertex and segment" ) )
424
- mType = VertexAndSegment;
425
- else if ( snapType == QLatin1String ( " to vertex" ) )
426
- mType = Vertex;
427
420
mTolerance = mProject ->readDoubleEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /DefaultSnapTolerance" ), 0 );
428
421
mUnits = static_cast < QgsTolerance::UnitType >( mProject ->readNumEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /DefaultSnapToleranceUnit" ), QgsTolerance::ProjectUnits ) );
429
422
430
423
mIntersectionSnapping = mProject ->readNumEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /IntersectionSnapping" ), 0 );
431
424
432
425
// read snapping settings from project
433
- bool snappingDefinedInProject, ok;
434
- QStringList layerIdList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingList" ), QStringList (), &snappingDefinedInProject );
435
- QStringList enabledList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingEnabledList" ), QStringList (), &ok );
436
- QStringList toleranceList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingToleranceList" ), QStringList (), &ok );
437
- QStringList toleranceUnitList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingToleranceUnitList" ), QStringList (), &ok );
438
- QStringList snapToList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnapToList" ), QStringList (), &ok );
426
+ QStringList layerIdList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingList" ), QStringList () );
427
+ QStringList enabledList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingEnabledList" ), QStringList () );
428
+ QStringList toleranceList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingToleranceList" ), QStringList () );
429
+ QStringList toleranceUnitList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnappingToleranceUnitList" ), QStringList () );
430
+ QStringList snapToList = mProject ->readListEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /LayerSnapToList" ), QStringList () );
439
431
440
432
// lists must have the same size, otherwise something is wrong
441
433
if ( layerIdList.size () != enabledList.size () ||
@@ -444,9 +436,6 @@ void QgsSnappingConfig::readLegacySettings()
444
436
layerIdList.size () != snapToList.size () )
445
437
return ;
446
438
447
- if ( !snappingDefinedInProject )
448
- return ; // nothing defined in project - use current layer
449
-
450
439
// Use snapping information from the project
451
440
if ( snapMode == QLatin1String ( " current_layer" ) )
452
441
mMode = ActiveLayer;
@@ -475,6 +464,19 @@ void QgsSnappingConfig::readLegacySettings()
475
464
476
465
mIndividualLayerSettings .insert ( vlayer, IndividualLayerSettings ( *enabledIt == QLatin1String ( " enabled" ), t, tolIt->toDouble (), static_cast <QgsTolerance::UnitType>( tolUnitIt->toInt () ) ) );
477
466
}
467
+
468
+ QString snapType = mProject ->readEntry ( QStringLiteral ( " Digitizing" ), QStringLiteral ( " /DefaultSnapType" ), QStringLiteral ( " off" ) );
469
+ mEnabled = true ;
470
+ if ( snapType == QLatin1String ( " to segment" ) )
471
+ mType = Segment;
472
+ else if ( snapType == QLatin1String ( " to vertex and segment" ) )
473
+ mType = VertexAndSegment;
474
+ else if ( snapType == QLatin1String ( " to vertex" ) )
475
+ mType = Vertex;
476
+ else if ( mMode != AdvancedConfiguration ) // Type is off but mode is advanced
477
+ {
478
+ mEnabled = false ;
479
+ }
478
480
}
479
481
480
482
QgsProject* QgsSnappingConfig::project () const
0 commit comments