File tree Expand file tree Collapse file tree 2 files changed +21
-7
lines changed Expand file tree Collapse file tree 2 files changed +21
-7
lines changed Original file line number Diff line number Diff 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 );
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments