[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