[QGIS Commit] r15714 - in trunk/qgis/src: app providers/gdal
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Fri Apr 15 14:40:58 EDT 2011
Author: rblazek
Date: 2011-04-15 11:40:58 -0700 (Fri, 15 Apr 2011)
New Revision: 15714
Modified:
trunk/qgis/src/app/qgisapp.cpp
trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp
Log:
enable/disable better stretch histogram action
Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp 2011-04-15 18:30:10 UTC (rev 15713)
+++ trunk/qgis/src/app/qgisapp.cpp 2011-04-15 18:40:58 UTC (rev 15714)
@@ -6040,15 +6040,23 @@
else if ( layer->type() == QgsMapLayer::RasterLayer )
{
const QgsRasterLayer *rlayer = qobject_cast<const QgsRasterLayer *>( layer );
- if ( rlayer->providerKey() == "wms" )
+ if ( rlayer->dataProvider()->dataType( 1 ) != QgsRasterDataProvider::ARGBDataType )
{
- mActionLocalHistogramStretch->setEnabled( false );
- mActionFullHistogramStretch->setEnabled( false );
+ if ( rlayer->dataProvider()->capabilities() & QgsRasterDataProvider::Size )
+ {
+ mActionFullHistogramStretch->setEnabled( true );
+ }
+ else
+ {
+ // it would hang up reading the data for WMS for example
+ mActionFullHistogramStretch->setEnabled( false );
+ }
+ mActionLocalHistogramStretch->setEnabled( true );
}
else
{
- mActionLocalHistogramStretch->setEnabled( true );
- mActionFullHistogramStretch->setEnabled( true );
+ mActionLocalHistogramStretch->setEnabled( false );
+ mActionFullHistogramStretch->setEnabled( false );
}
mActionLayerSubsetString->setEnabled( false );
mActionSelect->setEnabled( false );
Modified: trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp
===================================================================
--- trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp 2011-04-15 18:30:10 UTC (rev 15713)
+++ trunk/qgis/src/providers/gdal/qgsgdalprovider.cpp 2011-04-15 18:40:58 UTC (rev 15714)
@@ -1126,8 +1126,14 @@
| QgsRasterDataProvider::ExactResolution
| QgsRasterDataProvider::EstimatedMinimumMaximum
| QgsRasterDataProvider::BuildPyramids
- | QgsRasterDataProvider::Histogram
- | QgsRasterDataProvider::Size;
+ | QgsRasterDataProvider::Histogram;
+ GDALDriverH myDriver = GDALGetDatasetDriver( mGdalDataset );
+ QString name = GDALGetDriverShortName( myDriver );
+ QgsDebugMsg( "driver short name = " + name );
+ if ( name != "WMS" )
+ {
+ capability |= QgsRasterDataProvider::Size;
+ }
return capability;
}
More information about the QGIS-commit
mailing list