@@ -426,6 +426,19 @@ void QgsWmsProvider::setQueryItem( QUrl &url, QString item, QString value )
426
426
url.addQueryItem ( item, value );
427
427
}
428
428
429
+ void QgsWmsProvider::setFormatQueryItem ( QUrl &url )
430
+ {
431
+ url.removeQueryItem ( " FORMAT" );
432
+ if ( mSettings .mImageMimeType .contains ( " +" ) )
433
+ {
434
+ QString format ( mSettings .mImageMimeType );
435
+ format.replace ( " +" , " %2b" );
436
+ url.addEncodedQueryItem ( " FORMAT" , format.toUtf8 () );
437
+ }
438
+ else
439
+ setQueryItem ( url, " FORMAT" , mSettings .mImageMimeType );
440
+ }
441
+
429
442
QImage *QgsWmsProvider::draw ( QgsRectangle const &viewExtent, int pixelWidth, int pixelHeight )
430
443
{
431
444
QgsDebugMsg ( " Entering." );
@@ -509,14 +522,7 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, i
509
522
setQueryItem ( url, " HEIGHT" , QString::number ( pixelHeight ) );
510
523
setQueryItem ( url, " LAYERS" , layers );
511
524
setQueryItem ( url, " STYLES" , styles );
512
- if ( mSettings .mImageMimeType .contains ( " +" ) )
513
- {
514
- QString format ( mSettings .mImageMimeType );
515
- format.replace ( " +" , " %2b" );
516
- url.addEncodedQueryItem ( " FORMAT" , format.toUtf8 () );
517
- }
518
- else
519
- setQueryItem ( url, " FORMAT" , mSettings .mImageMimeType );
525
+ setFormatQueryItem ( url );
520
526
521
527
if ( mDpi != -1 )
522
528
{
@@ -680,7 +686,8 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, i
680
686
setQueryItem ( url, " HEIGHT" , QString::number ( tm->tileHeight ) );
681
687
setQueryItem ( url, " LAYERS" , mSettings .mActiveSubLayers .join ( " ," ) );
682
688
setQueryItem ( url, " STYLES" , mSettings .mActiveSubStyles .join ( " ," ) );
683
- setQueryItem ( url, " FORMAT" , mSettings .mImageMimeType );
689
+ setFormatQueryItem ( url );
690
+
684
691
setQueryItem ( url, crsKey, mImageCrs );
685
692
686
693
if ( mSettings .mTiled )
@@ -2199,7 +2206,7 @@ QgsRasterIdentifyResult QgsWmsProvider::identify( const QgsPoint & thePoint, Qgs
2199
2206
setQueryItem ( requestUrl, " HEIGHT" , QString::number ( theHeight ) );
2200
2207
setQueryItem ( requestUrl, " LAYERS" , *layers );
2201
2208
setQueryItem ( requestUrl, " STYLES" , *styles );
2202
- setQueryItem ( requestUrl, " FORMAT " , mSettings . mImageMimeType );
2209
+ setFormatQueryItem ( requestUrl );
2203
2210
setQueryItem ( requestUrl, " QUERY_LAYERS" , *layers );
2204
2211
setQueryItem ( requestUrl, " INFO_FORMAT" , format );
2205
2212
@@ -2969,7 +2976,7 @@ QImage QgsWmsProvider::getLegendGraphic( double scale, bool forceRefresh )
2969
2976
if ( !url.hasQueryItem ( " REQUEST" ) )
2970
2977
setQueryItem ( url, " REQUEST" , " GetLegendGraphic" );
2971
2978
if ( !url.hasQueryItem ( " FORMAT" ) )
2972
- setQueryItem ( url, " FORMAT " , mSettings . mImageMimeType );
2979
+ setFormatQueryItem ( url );
2973
2980
if ( !url.hasQueryItem ( " LAYER" ) )
2974
2981
setQueryItem ( url, " LAYER" , mSettings .mActiveSubLayers [0 ] );
2975
2982
if ( !url.hasQueryItem ( " STYLE" ) )
0 commit comments