99#include < QSettings>
1010
1111QgsRasterLayerSaveAsDialog::QgsRasterLayerSaveAsDialog ( QgsRasterDataProvider* sourceProvider, const QgsRectangle& currentExtent,
12+ const QgsCoordinateReferenceSystem& layerCrs,
1213 const QgsCoordinateReferenceSystem& currentCrs,
1314 QWidget* parent, Qt::WindowFlags f ):
1415 QDialog( parent, f )
1516 , mDataProvider( sourceProvider )
1617 , mCurrentExtent( currentExtent )
18+ , mLayerCrs( layerCrs )
1719 , mCurrentCrs( currentCrs )
1820 , mExtentState( OriginalExtent )
1921 , mResolutionState( OriginalResolution )
@@ -40,7 +42,7 @@ QgsRasterLayerSaveAsDialog::QgsRasterLayerSaveAsDialog( QgsRasterDataProvider* s
4042 if ( mDataProvider )
4143 {
4244 // extent
43- setOutputExtent ( mDataProvider ->extent (), mDataProvider -> crs () , OriginalExtent );
45+ setOutputExtent ( mDataProvider ->extent (), mLayerCrs , OriginalExtent );
4446
4547 if ( mDataProvider ->capabilities () & QgsRasterDataProvider::ExactResolution )
4648 {
@@ -130,7 +132,7 @@ void QgsRasterLayerSaveAsDialog::on_mOriginalExtentButton_clicked()
130132{
131133 if ( mDataProvider )
132134 {
133- setOutputExtent ( mDataProvider ->extent (), mDataProvider -> crs () , OriginalExtent );
135+ setOutputExtent ( mDataProvider ->extent (), mLayerCrs , OriginalExtent );
134136 }
135137}
136138
@@ -266,7 +268,7 @@ void QgsRasterLayerSaveAsDialog::setOriginalResolution()
266268 // Init to something if no original resolution is available
267269 xRes = yRes = mDataProvider ->extent ().width () / 100 ;
268270 }
269- setResolution ( xRes, yRes, mDataProvider -> crs () );
271+ setResolution ( xRes, yRes, mLayerCrs );
270272 mResolutionState = OriginalResolution;
271273 recalcSize ();
272274}
@@ -414,7 +416,7 @@ void QgsRasterLayerSaveAsDialog::crsChanged()
414416 if ( mExtentState == OriginalExtent )
415417 {
416418 previousExtent = mDataProvider ->extent ();
417- previousCrs = mDataProvider -> crs () ;
419+ previousCrs = mLayerCrs ;
418420 }
419421 else if ( mExtentState == CurrentExtent )
420422 {
@@ -456,7 +458,7 @@ void QgsRasterLayerSaveAsDialog::updateCrsGroup()
456458 QgsDebugMsg ( " Entered" );
457459
458460 mCrsComboBox ->setItemText ( mCrsComboBox ->findData ( OriginalCrs ),
459- tr ( " Layer" ) + " (" + mDataProvider -> crs () .description () + " , " + mDataProvider -> crs () .authid () + " )" );
461+ tr ( " Layer" ) + " (" + mLayerCrs .description () + " , " + mLayerCrs .authid () + " )" );
460462
461463 mCrsComboBox ->setItemText ( mCrsComboBox ->findData ( CurrentCrs ),
462464 tr ( " Project" ) + " (" + mCurrentCrs .description () + " , " + mCurrentCrs .authid () + " )" );
@@ -470,7 +472,7 @@ QgsCoordinateReferenceSystem QgsRasterLayerSaveAsDialog::outputCrs()
470472 int state = mCrsComboBox ->itemData ( mCrsComboBox ->currentIndex () ).toInt ();
471473 if ( state == OriginalCrs )
472474 {
473- return mDataProvider -> crs () ;
475+ return mLayerCrs ;
474476 }
475477 else if ( state == CurrentCrs )
476478 {
0 commit comments