mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
enable/disable better stretch histogram action
git-svn-id: http://svn.osgeo.org/qgis/trunk@15714 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
8a3a5a528d
commit
0ba6f3e4ea
@ -6040,15 +6040,23 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
|
||||
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 );
|
||||
|
@ -1126,8 +1126,14 @@ int QgsGdalProvider::capabilities() const
|
||||
| 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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user