Skip to content

Commit 72c9f5a

Browse files
committed
don't use color interpretation band names when band count > 1
1 parent 79d5dda commit 72c9f5a

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

src/app/qgsrasterlayerproperties.cpp

+11-7
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,23 @@ QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer* lyr, QgsMapCanv
244244
cboxTransparencyBand->addItem( tr( "None" ), -1 );
245245
int nBands = provider->bandCount();
246246
QString bandName;
247-
for ( int i = 1; i <= nBands; ++i ) //band numbering seem to start at 1
247+
248+
if ( nBands == 1 )
248249
{
249-
bandName = provider->colorInterpretationName( i );
250+
/* Color interpretation name only makes sense for 1-band rasters */
251+
bandName = provider->colorInterpretationName( 1 );
250252
if ( bandName == "Undefined" )
253+
bandName = provider->generateBandName( 1 );
254+
cboxTransparencyBand->addItem( bandName, 1 );
255+
}
256+
else if ( nBands > 1 )
257+
{
258+
for ( int i = 1; i <= nBands; ++i ) //band numbering seem to start at 1
251259
{
252-
cboxTransparencyBand->addItem( provider->generateBandName( i ), i );
253-
}
254-
else
255-
{
260+
bandName = provider->generateBandName( i );
256261
cboxTransparencyBand->addItem( bandName, i );
257262
}
258263
}
259-
260264
if ( renderer )
261265
{
262266
cboxTransparencyBand->setCurrentIndex( cboxTransparencyBand->findData( renderer->alphaBand() ) );

src/gui/raster/qgsrasterrendererwidget.cpp

+8-3
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,16 @@ QString QgsRasterRendererWidget::displayBandName( int band ) const
3434
return name;
3535
}
3636

37-
name = provider->colorInterpretationName( band );
38-
if ( name == "Undefined" )
37+
/* Color interpretation name only makes sense for 1-band rasters */
38+
if ( provider->bandCount() <= 1 )
3939
{
40-
name = provider->generateBandName( band );
40+
name = provider->colorInterpretationName( band );
41+
if ( name != "Undefined" )
42+
return name;
4143
}
44+
45+
name = provider->generateBandName( band );
46+
4247
return name;
4348
}
4449

0 commit comments

Comments
 (0)