Showing with 18 additions and 8 deletions.
  1. +2 −8 src/core/qgsexpression.cpp
  2. +16 −0 src/providers/wms/qgswmsprovider.cpp
10 changes: 2 additions & 8 deletions src/core/qgsexpression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -572,15 +572,9 @@ static QVariant fcnLPad( const QVariantList& values, QgsFeature* , QgsExpression
static QVariant fcnFormatString( const QVariantList& values, QgsFeature* , QgsExpression *parent )
{
QString string = getStringValue( values.at( 0 ), parent );
for ( int n = 1; n <= values.length() - 1; n++ )
for ( int n = 1; n < values.length(); n++ )
{
QString arg = getStringValue( values.at( n ), parent );
QString place = '%' + QString::number( n );
if ( string.indexOf( place ) == -1 )
{
continue;
}
string.replace( place, arg );
string = string.arg( getStringValue( values.at( n ), parent ) );
}
return string;
}
Expand Down
16 changes: 16 additions & 0 deletions src/providers/wms/qgswmsprovider.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -807,8 +807,24 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, i
setQueryItem( url, "STYLES", mActiveSubStyles.join( "," ) );
setQueryItem( url, "FORMAT", mImageMimeType );
setQueryItem( url, crsKey, mImageCrs );

if ( mTiled )
{
setQueryItem( url, "TILED", "true" );
}

if ( mDpi != -1 )
{
setQueryItem( url, "DPI", QString::number( mDpi ) ); //QGIS server
setQueryItem( url, "MAP_RESOLUTION", QString::number( mDpi ) ); //UMN mapserver
setQueryItem( url, "FORMAT_OPTIONS", QString( "dpi:%1" ).arg( mDpi ) ); //geoserver
}

if ( !mImageMimeType.contains( "jpeg", Qt::CaseInsensitive ) &&
!mImageMimeType.contains( "jpg", Qt::CaseInsensitive ) )
{
setQueryItem( url, "TRANSPARENT", "TRUE" ); // some servers giving error for 'true' (lowercase)
}

int i = 0;
for ( int row = row0; row <= row1; row++ )
Expand Down