diff --git a/python/gui/auto_generated/qgsmapcanvassnappingutils.sip.in b/python/gui/auto_generated/qgsmapcanvassnappingutils.sip.in index e6824a3f007..eb4bf585aa6 100644 --- a/python/gui/auto_generated/qgsmapcanvassnappingutils.sip.in +++ b/python/gui/auto_generated/qgsmapcanvassnappingutils.sip.in @@ -23,7 +23,7 @@ Snapping utils instance that is connected to a canvas and updates the configurat #include "qgsmapcanvassnappingutils.h" %End public: - QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent = 0 ); + QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent = 0, bool asynchronous = false ); }; diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 8807e485679..e7bbb416fbe 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -937,7 +937,7 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipVersionCh endProfile(); startProfile( QStringLiteral( "Snapping utils" ) ); - mSnappingUtils = new QgsMapCanvasSnappingUtils( mMapCanvas, this ); + mSnappingUtils = new QgsMapCanvasSnappingUtils( mMapCanvas, this, true ); mMapCanvas->setSnappingUtils( mSnappingUtils ); connect( QgsProject::instance(), &QgsProject::snappingConfigChanged, mSnappingUtils, &QgsSnappingUtils::setConfig ); connect( QgsProject::instance(), &QgsProject::collectAttachedFiles, this, &QgisApp::generateProjectAttachedFiles ); diff --git a/src/core/qgssnappingutils.h b/src/core/qgssnappingutils.h index 8a35a109d61..4dc47618c3f 100644 --- a/src/core/qgssnappingutils.h +++ b/src/core/qgssnappingutils.h @@ -273,12 +273,6 @@ class CORE_EXPORT QgsSnappingUtils : public QObject //! true if we have to build point locator asynchronously bool mAsynchronous = false; - - friend class TestQgsVertexTool; - friend class TestQgsMapToolTrimExtendFeature; - friend class TestQgsMapToolReshape; - friend class TestQgsMapToolAddFeaturePoint; - friend class TestQgsMapToolReverseLine; }; diff --git a/src/gui/qgsmapcanvassnappingutils.cpp b/src/gui/qgsmapcanvassnappingutils.cpp index 560d3842858..6835fa818f3 100644 --- a/src/gui/qgsmapcanvassnappingutils.cpp +++ b/src/gui/qgsmapcanvassnappingutils.cpp @@ -21,8 +21,8 @@ #include #include -QgsMapCanvasSnappingUtils::QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent ) - : QgsSnappingUtils( parent, QgsSettings().value( QStringLiteral( "/qgis/digitizing/snap_invisible_feature" ), false ).toBool(), true ) +QgsMapCanvasSnappingUtils::QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent, bool asynchronous ) + : QgsSnappingUtils( parent, QgsSettings().value( QStringLiteral( "/qgis/digitizing/snap_invisible_feature" ), false ).toBool(), asynchronous ) , mCanvas( canvas ) { diff --git a/src/gui/qgsmapcanvassnappingutils.h b/src/gui/qgsmapcanvassnappingutils.h index 306aa9fdb91..f451fdc7a8f 100644 --- a/src/gui/qgsmapcanvassnappingutils.h +++ b/src/gui/qgsmapcanvassnappingutils.h @@ -34,7 +34,7 @@ class GUI_EXPORT QgsMapCanvasSnappingUtils : public QgsSnappingUtils { Q_OBJECT public: - QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent = nullptr ); + QgsMapCanvasSnappingUtils( QgsMapCanvas *canvas, QObject *parent = nullptr, bool asynchronous = false ); private slots: void canvasMapSettingsChanged(); diff --git a/tests/src/app/testqgsmaptooladdfeaturepoint.cpp b/tests/src/app/testqgsmaptooladdfeaturepoint.cpp index 77739e0e69a..e56bf4b9531 100644 --- a/tests/src/app/testqgsmaptooladdfeaturepoint.cpp +++ b/tests/src/app/testqgsmaptooladdfeaturepoint.cpp @@ -115,7 +115,6 @@ void TestQgsMapToolAddFeaturePoint::initTestCase() cfg.setType( QgsSnappingConfig::VertexAndSegment ); cfg.setEnabled( true ); mCanvas->snappingUtils()->setConfig( cfg ); - mCanvas->snappingUtils()->mAsynchronous = false; mCanvas->setLayers( QList() << mLayerPointZ << mLayerPointZSnap ); mCanvas->setCurrentLayer( mLayerPointZ ); diff --git a/tests/src/app/testqgsmaptoolreshape.cpp b/tests/src/app/testqgsmaptoolreshape.cpp index b965615ab5b..ee46aae0330 100644 --- a/tests/src/app/testqgsmaptoolreshape.cpp +++ b/tests/src/app/testqgsmaptoolreshape.cpp @@ -162,7 +162,6 @@ void TestQgsMapToolReshape::initTestCase() cfg.setType( QgsSnappingConfig::VertexAndSegment ); cfg.setEnabled( true ); mCanvas->snappingUtils()->setConfig( cfg ); - mCanvas->snappingUtils()->mAsynchronous = false; mCanvas->setLayers( QList() << mLayerLineZ << mLayerPointZ << mLayerPolygonZ ); mCanvas->setCurrentLayer( mLayerLineZ ); diff --git a/tests/src/app/testqgsmaptoolreverseline.cpp b/tests/src/app/testqgsmaptoolreverseline.cpp index 14ecf302187..cf8a25a70c9 100644 --- a/tests/src/app/testqgsmaptoolreverseline.cpp +++ b/tests/src/app/testqgsmaptoolreverseline.cpp @@ -60,7 +60,6 @@ void TestQgsMapToolReverseLine::initTestCase() mCanvas = new QgsMapCanvas(); mCanvas->setDestinationCrs( QgsCoordinateReferenceSystem( QStringLiteral( "EPSG:3946" ) ) ); - mCanvas->snappingUtils()->mAsynchronous = false; } void TestQgsMapToolReverseLine::cleanupTestCase() diff --git a/tests/src/app/testqgsmaptooltrimextendfeature.cpp b/tests/src/app/testqgsmaptooltrimextendfeature.cpp index a35baa4fee6..b48a878eebf 100644 --- a/tests/src/app/testqgsmaptooltrimextendfeature.cpp +++ b/tests/src/app/testqgsmaptooltrimextendfeature.cpp @@ -164,7 +164,6 @@ class TestQgsMapToolTrimExtendFeature : public QObject mapSettings.setLayers( QList() << vlPolygon.get() << vlMultiLine.get() << vlLineZ.get() << vlTopoEdit.get() << vlTopoLimit.get() ); QgsSnappingUtils *mSnappingUtils = new QgsMapCanvasSnappingUtils( mCanvas, this ); - mSnappingUtils->mAsynchronous = false; QgsSnappingConfig snappingConfig = mSnappingUtils->config(); mSnappingUtils->setMapSettings( mapSettings ); snappingConfig.setEnabled( true ); diff --git a/tests/src/app/testqgsvertextool.cpp b/tests/src/app/testqgsvertextool.cpp index 1ca86e32f4f..8640ac33e60 100644 --- a/tests/src/app/testqgsvertextool.cpp +++ b/tests/src/app/testqgsvertextool.cpp @@ -248,7 +248,6 @@ void TestQgsVertexTool::initTestCase() mCanvas->setLayers( QList() << mLayerLine << mLayerPolygon << mLayerPoint << mLayerLineZ ); QgsMapCanvasSnappingUtils *snappingUtils = new QgsMapCanvasSnappingUtils( mCanvas, this ); - snappingUtils->mAsynchronous = false; mCanvas->setSnappingUtils( snappingUtils ); // create vertex tool