Fix broken atlas handling of z/m layer types

This commit is contained in:
Nyall Dawson 2017-12-28 08:39:40 +10:00
parent 70e7185cb5
commit 327d311e21
2 changed files with 12 additions and 27 deletions

View File

@ -695,21 +695,18 @@ void QgsLayoutMapWidget::toggleAtlasScalingOptionsByLayerType()
return;
}
switch ( layer->wkbType() )
if ( QgsWkbTypes::geometryType( layer->wkbType() ) == QgsWkbTypes::PointGeometry )
{
case QgsWkbTypes::Point:
case QgsWkbTypes::Point25D:
case QgsWkbTypes::MultiPoint:
case QgsWkbTypes::MultiPoint25D:
//For point layers buffer setting makes no sense, so set "fixed scale" on and disable margin control
mAtlasFixedScaleRadio->setChecked( true );
mAtlasMarginRadio->setEnabled( false );
mAtlasPredefinedScaleRadio->setEnabled( false );
break;
default:
//Not a point layer, so enable changes to fixed scale control
mAtlasMarginRadio->setEnabled( true );
mAtlasPredefinedScaleRadio->setEnabled( true );
//For point layers buffer setting makes no sense, so set "fixed scale" on and disable margin control
mAtlasFixedScaleRadio->setChecked( true );
mAtlasMarginRadio->setEnabled( false );
mAtlasPredefinedScaleRadio->setEnabled( false );
}
else
{
//Not a point layer, so enable changes to fixed scale control
mAtlasMarginRadio->setEnabled( true );
mAtlasPredefinedScaleRadio->setEnabled( true );
}
}

View File

@ -1825,19 +1825,7 @@ void QgsLayoutItemMap::updateAtlasFeature()
QgsRectangle originalExtent = mExtent;
//sanity check - only allow fixed scale mode for point layers
bool isPointLayer = false;
switch ( mLayout->context().layer()->wkbType() )
{
case QgsWkbTypes::Point:
case QgsWkbTypes::Point25D:
case QgsWkbTypes::MultiPoint:
case QgsWkbTypes::MultiPoint25D:
isPointLayer = true;
break;
default:
isPointLayer = false;
break;
}
bool isPointLayer = QgsWkbTypes::geometryType( mLayout->context().layer()->wkbType() ) == QgsWkbTypes::PointGeometry;
if ( mAtlasScalingMode == Fixed || mAtlasScalingMode == Predefined || isPointLayer )
{