Skip to content

Commit 5db654b

Browse files
committed
[raster] when loading min/max, activate contrast enhancement if set to none
1 parent 0a2e104 commit 5db654b

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

src/gui/raster/qgsmultibandcolorrendererwidget.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ QgsMultiBandColorRendererWidget::QgsMultiBandColorRendererWidget( QgsRasterLayer
5959
mBlueBandComboBox->addItem( tr( "Not set" ), -1 );
6060

6161
//contrast enhancement algorithms
62-
mContrastEnhancementAlgorithmComboBox->addItem( tr( "No enhancement" ), 0 );
63-
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Stretch to MinMax" ), 1 );
64-
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Stretch and clip to MinMax" ), 2 );
65-
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Clip to MinMax" ), 3 );
62+
mContrastEnhancementAlgorithmComboBox->addItem( tr( "No enhancement" ), QgsContrastEnhancement::NoEnhancement );
63+
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Stretch to MinMax" ), QgsContrastEnhancement::StretchToMinimumMaximum );
64+
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Stretch and clip to MinMax" ), QgsContrastEnhancement::StretchAndClipToMinimumMaximum );
65+
mContrastEnhancementAlgorithmComboBox->addItem( tr( "Clip to MinMax" ), QgsContrastEnhancement::ClipToMinimumMaximum );
6666

6767
int nBands = provider->bandCount();
6868
for ( int i = 1; i <= nBands; ++i ) //band numbering seem to start at 1
@@ -259,6 +259,13 @@ void QgsMultiBandColorRendererWidget::loadMinMax( int theBandNo, double theMin,
259259
{
260260
myMaxLineEdit->setText( QString::number( theMax ) );
261261
}
262+
263+
//automaticlly activate contrast enhancement algorithm if set to none
264+
if ( mContrastEnhancementAlgorithmComboBox->currentData().toInt() == QgsContrastEnhancement::NoEnhancement )
265+
{
266+
mContrastEnhancementAlgorithmComboBox->setCurrentIndex(
267+
mContrastEnhancementAlgorithmComboBox->findData( QgsContrastEnhancement::StretchToMinimumMaximum ) );
268+
}
262269
}
263270

264271
void QgsMultiBandColorRendererWidget::setMinMaxValue( const QgsContrastEnhancement* ce, QLineEdit* minEdit, QLineEdit* maxEdit )

src/gui/raster/qgssinglebandgrayrendererwidget.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ QgsSingleBandGrayRendererWidget::QgsSingleBandGrayRendererWidget( QgsRasterLayer
6161
}
6262

6363
//contrast enhancement algorithms
64-
mContrastEnhancementComboBox->addItem( tr( "No enhancement" ), 0 );
65-
mContrastEnhancementComboBox->addItem( tr( "Stretch to MinMax" ), 1 );
66-
mContrastEnhancementComboBox->addItem( tr( "Stretch and clip to MinMax" ), 2 );
67-
mContrastEnhancementComboBox->addItem( tr( "Clip to MinMax" ), 3 );
64+
mContrastEnhancementComboBox->addItem( tr( "No enhancement" ), QgsContrastEnhancement::NoEnhancement );
65+
mContrastEnhancementComboBox->addItem( tr( "Stretch to MinMax" ), QgsContrastEnhancement::StretchToMinimumMaximum );
66+
mContrastEnhancementComboBox->addItem( tr( "Stretch and clip to MinMax" ), QgsContrastEnhancement::StretchAndClipToMinimumMaximum );
67+
mContrastEnhancementComboBox->addItem( tr( "Clip to MinMax" ), QgsContrastEnhancement::ClipToMinimumMaximum );
6868

6969
setFromRenderer( layer->renderer() );
7070

@@ -96,8 +96,7 @@ QgsRasterRenderer* QgsSingleBandGrayRendererWidget::renderer()
9696
provider->dataType( band ) ) );
9797
e->setMinimumValue( mMinLineEdit->text().toDouble() );
9898
e->setMaximumValue( mMaxLineEdit->text().toDouble() );
99-
e->setContrastEnhancementAlgorithm(( QgsContrastEnhancement::ContrastEnhancementAlgorithm )( mContrastEnhancementComboBox->itemData(
100-
mContrastEnhancementComboBox->currentIndex() ).toInt() ) );
99+
e->setContrastEnhancementAlgorithm(( QgsContrastEnhancement::ContrastEnhancementAlgorithm )( mContrastEnhancementComboBox->currentData().toInt() ) );
101100

102101

103102
QgsSingleBandGrayRenderer* renderer = new QgsSingleBandGrayRenderer( provider, band );
@@ -137,6 +136,12 @@ void QgsSingleBandGrayRendererWidget::loadMinMax( int theBandNo, double theMin,
137136
{
138137
mMaxLineEdit->setText( QString::number( theMax ) );
139138
}
139+
140+
//automaticlly activate contrast enhancement algorithm if set to none
141+
if ( mContrastEnhancementComboBox->currentData().toInt() == QgsContrastEnhancement::NoEnhancement )
142+
{
143+
mContrastEnhancementComboBox->setCurrentIndex( mContrastEnhancementComboBox->findData( QgsContrastEnhancement::StretchToMinimumMaximum ) );
144+
}
140145
}
141146

142147
void QgsSingleBandGrayRendererWidget::on_mGrayBandComboBox_currentIndexChanged( int index )

0 commit comments

Comments
 (0)