Skip to content

Commit 0ba6f3e

Browse files
author
rblazek
committed
enable/disable better stretch histogram action
git-svn-id: http://svn.osgeo.org/qgis/trunk@15714 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 8a3a5a5 commit 0ba6f3e

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/app/qgisapp.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6040,15 +6040,23 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
60406040
else if ( layer->type() == QgsMapLayer::RasterLayer )
60416041
{
60426042
const QgsRasterLayer *rlayer = qobject_cast<const QgsRasterLayer *>( layer );
6043-
if ( rlayer->providerKey() == "wms" )
6043+
if ( rlayer->dataProvider()->dataType( 1 ) != QgsRasterDataProvider::ARGBDataType )
60446044
{
6045-
mActionLocalHistogramStretch->setEnabled( false );
6046-
mActionFullHistogramStretch->setEnabled( false );
6045+
if ( rlayer->dataProvider()->capabilities() & QgsRasterDataProvider::Size )
6046+
{
6047+
mActionFullHistogramStretch->setEnabled( true );
6048+
}
6049+
else
6050+
{
6051+
// it would hang up reading the data for WMS for example
6052+
mActionFullHistogramStretch->setEnabled( false );
6053+
}
6054+
mActionLocalHistogramStretch->setEnabled( true );
60476055
}
60486056
else
60496057
{
6050-
mActionLocalHistogramStretch->setEnabled( true );
6051-
mActionFullHistogramStretch->setEnabled( true );
6058+
mActionLocalHistogramStretch->setEnabled( false );
6059+
mActionFullHistogramStretch->setEnabled( false );
60526060
}
60536061
mActionLayerSubsetString->setEnabled( false );
60546062
mActionSelect->setEnabled( false );

src/providers/gdal/qgsgdalprovider.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,8 +1126,14 @@ int QgsGdalProvider::capabilities() const
11261126
| QgsRasterDataProvider::ExactResolution
11271127
| QgsRasterDataProvider::EstimatedMinimumMaximum
11281128
| QgsRasterDataProvider::BuildPyramids
1129-
| QgsRasterDataProvider::Histogram
1130-
| QgsRasterDataProvider::Size;
1129+
| QgsRasterDataProvider::Histogram;
1130+
GDALDriverH myDriver = GDALGetDatasetDriver( mGdalDataset );
1131+
QString name = GDALGetDriverShortName( myDriver );
1132+
QgsDebugMsg( "driver short name = " + name );
1133+
if ( name != "WMS" )
1134+
{
1135+
capability |= QgsRasterDataProvider::Size;
1136+
}
11311137
return capability;
11321138
}
11331139

0 commit comments

Comments
 (0)