@@ -76,12 +76,6 @@ QgsGeorefDockWidget::QgsGeorefDockWidget( const QString &title, QWidget *parent,
76
76
77
77
QgsGeoreferencerMainWindow::QgsGeoreferencerMainWindow ( QWidget *parent, Qt::WindowFlags fl )
78
78
: QMainWindow( parent, fl )
79
- , mMousePrecisionDecimalPlaces( 0 )
80
- , mTransformParam( QgsGeorefTransform::InvalidTransform )
81
- , mAgainAddRaster( false )
82
- , mMapCoordsDialog( nullptr )
83
- , mUseZeroForTrans( false )
84
- , mLoadInQgis( false )
85
79
{
86
80
setupUi ( this );
87
81
QgsGui::instance ()->enableAutoGeometryRestore ( this );
@@ -285,7 +279,9 @@ void QgsGeoreferencerMainWindow::openRaster( const QString &fileName )
285
279
mGCPpointsFileName = mRasterFileName + " .points" ;
286
280
( void )loadGCPs ();
287
281
288
- mCanvas ->setExtent ( mLayer ->extent () );
282
+ if ( mLayer )
283
+ mCanvas ->setExtent ( mLayer ->extent () );
284
+
289
285
mCanvas ->refresh ();
290
286
QgisApp::instance ()->mapCanvas ()->refresh ();
291
287
@@ -689,7 +685,7 @@ void QgsGeoreferencerMainWindow::showRasterPropertiesDialog()
689
685
{
690
686
if ( mLayer )
691
687
{
692
- QgisApp::instance ()->showLayerProperties ( mLayer );
688
+ QgisApp::instance ()->showLayerProperties ( mLayer . get () );
693
689
}
694
690
else
695
691
{
@@ -734,7 +730,7 @@ void QgsGeoreferencerMainWindow::fullHistogramStretch()
734
730
735
731
void QgsGeoreferencerMainWindow::localHistogramStretch ()
736
732
{
737
- QgsRectangle rectangle = QgisApp::instance ()->mapCanvas ()->mapSettings ().outputExtentToLayerExtent ( mLayer , QgisApp::instance ()->mapCanvas ()->extent () );
733
+ QgsRectangle rectangle = QgisApp::instance ()->mapCanvas ()->mapSettings ().outputExtentToLayerExtent ( mLayer . get () , QgisApp::instance ()->mapCanvas ()->extent () );
738
734
739
735
mLayer ->setContrastEnhancement ( QgsContrastEnhancement::StretchToMinimumMaximum, QgsRasterMinMaxOrigin::MinMax, rectangle );
740
736
mCanvas ->refresh ();
@@ -867,28 +863,6 @@ void QgsGeoreferencerMainWindow::updateMouseCoordinatePrecision()
867
863
mMousePrecisionDecimalPlaces = dp;
868
864
}
869
865
870
- void QgsGeoreferencerMainWindow::extentsChanged ()
871
- {
872
- if ( mAgainAddRaster )
873
- {
874
- if ( QFile::exists ( mRasterFileName ) )
875
- {
876
- addRaster ( mRasterFileName );
877
- }
878
- else
879
- {
880
- mLayer = nullptr ;
881
- mAgainAddRaster = false ;
882
- }
883
- }
884
- }
885
-
886
- // Registry layer QGis
887
- void QgsGeoreferencerMainWindow::layerWillBeRemoved ( const QString &layerId )
888
- {
889
- mAgainAddRaster = mLayer && mLayer ->id ().compare ( layerId ) == 0 ;
890
- }
891
-
892
866
// ------------------------------ private ---------------------------------- //
893
867
// Gui
894
868
void QgsGeoreferencerMainWindow::createActions ()
@@ -1173,11 +1147,6 @@ void QgsGeoreferencerMainWindow::setupConnections()
1173
1147
// Connect status from ZoomLast/ZoomNext to corresponding action
1174
1148
connect ( mCanvas , &QgsMapCanvas::zoomLastStatusChanged, mActionZoomLast , &QAction::setEnabled );
1175
1149
connect ( mCanvas , &QgsMapCanvas::zoomNextStatusChanged, mActionZoomNext , &QAction::setEnabled );
1176
- // Connect when one Layer is removed - Case where change the Projetct in QGIS
1177
- connect ( QgsProject::instance (), static_cast <void ( QgsProject::* )( const QString & )>( &QgsProject::layerWillBeRemoved ), this , &QgsGeoreferencerMainWindow::layerWillBeRemoved );
1178
-
1179
- // Connect extents changed - Use for need add again Raster
1180
- connect ( mCanvas , &QgsMapCanvas::extentsChanged, this , &QgsGeoreferencerMainWindow::extentsChanged );
1181
1150
1182
1151
// Connect mapCanvas rotation widget
1183
1152
connect ( mRotationEdit , static_cast < void ( QgsDoubleSpinBox::* )( double ) > ( &QgsDoubleSpinBox::valueChanged ), this , &QgsGeoreferencerMainWindow::updateCanvasRotation );
@@ -1186,13 +1155,8 @@ void QgsGeoreferencerMainWindow::setupConnections()
1186
1155
1187
1156
void QgsGeoreferencerMainWindow::removeOldLayer ()
1188
1157
{
1189
- // delete layer (and don't signal it as it's our private layer)
1190
- if ( mLayer )
1191
- {
1192
- QgsProject::instance ()->removeMapLayers (
1193
- ( QStringList () << mLayer ->id () ) );
1194
- mLayer = nullptr ;
1195
- }
1158
+ mLayer .reset ();
1159
+
1196
1160
mCanvas ->setLayers ( QList<QgsMapLayer *>() );
1197
1161
mCanvas ->clearCache ();
1198
1162
mRotationEdit ->clear ();
@@ -1202,16 +1166,13 @@ void QgsGeoreferencerMainWindow::removeOldLayer()
1202
1166
// Mapcanvas Plugin
1203
1167
void QgsGeoreferencerMainWindow::addRaster ( const QString &file )
1204
1168
{
1205
- mLayer = new QgsRasterLayer ( file, QStringLiteral ( " Raster" ) );
1206
-
1207
- // so layer is not added to legend
1208
- QgsProject::instance ()->addMapLayers (
1209
- QList<QgsMapLayer *>() << mLayer , false , false );
1169
+ QgsRasterLayer::LayerOptions options;
1170
+ // never prompt for a crs selection for the input raster!
1171
+ options.skipCrsValidation = true ;
1172
+ mLayer = qgis::make_unique< QgsRasterLayer >( file, QStringLiteral ( " Raster" ), QStringLiteral ( " gdal" ), options );
1210
1173
1211
1174
// add layer to map canvas
1212
- mCanvas ->setLayers ( QList<QgsMapLayer *>() << mLayer );
1213
-
1214
- mAgainAddRaster = false ;
1175
+ mCanvas ->setLayers ( QList<QgsMapLayer *>() << mLayer .get () );
1215
1176
1216
1177
mActionLocalHistogramStretch ->setEnabled ( true );
1217
1178
mActionFullHistogramStretch ->setEnabled ( true );
0 commit comments