@@ -568,26 +568,32 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, i
568
568
double ymax = std::min ( viewExtent.yMaximum (), layerExtent.yMaximum () );
569
569
570
570
// snap to tile coordinates
571
- double x0 = floor ( xmin / dx ) * dx;
572
- double y0 = floor ( ymin / dy ) * dy;
571
+ double x0 = floor (( xmin - layerExtent. xMinimum () ) / dx ) * dx + layerExtent. xMinimum () ;
572
+ double y0 = floor (( ymin - layerExtent. yMinimum () ) / dy ) * dy + layerExtent. yMinimum () ;
573
573
574
574
#ifdef QGISDEBUG
575
575
// calculate number of tiles
576
576
int n = ceil (( xmax - xmin ) / dx ) * ceil (( ymax - ymin ) / dy );
577
577
#endif
578
578
579
+ QgsDebugMsg ( QString ( " layer extent: %1,%2 %3x%4" )
580
+ .arg ( layerExtent.xMinimum (), 0 , ' f' )
581
+ .arg ( layerExtent.yMinimum (), 0 , ' f' )
582
+ .arg ( layerExtent.width () )
583
+ .arg ( layerExtent.height () )
584
+ );
579
585
QgsDebugMsg ( QString ( " view extent: %1,%2 %3x%4 res:%5" )
580
- .arg ( viewExtent.xMinimum () )
581
- .arg ( viewExtent.yMinimum () )
586
+ .arg ( viewExtent.xMinimum (), 0 , ' f ' )
587
+ .arg ( viewExtent.yMinimum (), 0 , ' f ' )
582
588
.arg ( viewExtent.width () )
583
589
.arg ( viewExtent.height () )
584
- .arg ( vres )
590
+ .arg ( vres, 0 , ' f ' )
585
591
);
586
592
QgsDebugMsg ( QString ( " tile extent: %1,%2 %3x%4 pixel:%5x%6 res:%7" )
587
- .arg ( x0 ).arg ( y0 )
588
- .arg ( dx ).arg ( dy )
593
+ .arg ( x0, 0 , ' f ' ).arg ( y0, 0 , ' f ' )
594
+ .arg ( dx, 0 , ' f ' ).arg ( dy, 0 , ' f ' )
589
595
.arg ( mTileWidth ).arg ( mTileHeight )
590
- .arg ( tres )
596
+ .arg ( tres, 0 , ' f ' )
591
597
);
592
598
QgsDebugMsg ( QString ( " tile number: %1x%2 = %3" )
593
599
.arg ( ceil (( xmax - xmin ) / dx ) )
@@ -643,29 +649,29 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, i
643
649
tileReplies << reply;
644
650
connect ( reply, SIGNAL ( finished () ), this , SLOT ( tileReplyFinished () ) );
645
651
}
652
+ }
646
653
647
- mWaiting = true ;
654
+ mWaiting = true ;
648
655
649
- QTime t;
650
- t.start ();
656
+ QTime t;
657
+ t.start ();
651
658
652
- // draw everything that is retrieved within a second
653
- // and the rest asynchronously
654
- while ( !tileReplies.isEmpty () && t.elapsed () < WMS_THRESHOLD )
655
- {
656
- QCoreApplication::processEvents ( QEventLoop::ExcludeUserInputEvents, WMS_THRESHOLD );
657
- }
659
+ // draw everything that is retrieved within a second
660
+ // and the rest asynchronously
661
+ while ( !tileReplies.isEmpty () && t.elapsed () < WMS_THRESHOLD )
662
+ {
663
+ QCoreApplication::processEvents ( QEventLoop::ExcludeUserInputEvents, WMS_THRESHOLD );
664
+ }
658
665
659
- mWaiting = false ;
666
+ mWaiting = false ;
660
667
661
668
#ifdef QGISDEBUG
662
- emit statusChanged ( tr ( " %n tile requests in background" , " tile request count" , tileReplies.count () )
663
- + tr ( " , %n cache hits" , " tile cache hits" , mCacheHits )
664
- + tr ( " , %n cache misses." , " tile cache missed" , mCacheMisses )
665
- + tr ( " , %n errors." , " errors" , mErrors )
666
- );
669
+ emit statusChanged ( tr ( " %n tile requests in background" , " tile request count" , tileReplies.count () )
670
+ + tr ( " , %n cache hits" , " tile cache hits" , mCacheHits )
671
+ + tr ( " , %n cache misses." , " tile cache missed" , mCacheMisses )
672
+ + tr ( " , %n errors." , " errors" , mErrors )
673
+ );
667
674
#endif
668
- }
669
675
}
670
676
671
677
return cachedImage;
@@ -688,7 +694,7 @@ void QgsWmsProvider::tileReplyFinished()
688
694
689
695
QgsDebugMsg ( QString ( " tile reply %1 (%2) tile:%3 rect:%4,%5 %6x%7) fromcache:%8 error:%9" )
690
696
.arg ( tileReqNo ).arg ( mTileReqNo ).arg ( tileNo )
691
- .arg ( r.left () ).arg ( r.bottom () ).arg ( r.width () ).arg ( r.height () )
697
+ .arg ( r.left (), 0 , ' f ' ).arg ( r.bottom (), 0 , ' f ' ).arg ( r.width (), 0 , ' f ' ).arg ( r.height (), 0 , ' f ' )
692
698
.arg ( fromCache )
693
699
.arg ( reply->errorString () )
694
700
);
@@ -2109,9 +2115,34 @@ QString QgsWmsProvider::metadata()
2109
2115
{
2110
2116
QString myMetadataQString = " " ;
2111
2117
2118
+ myMetadataQString += " <tr><td>" ;
2119
+
2120
+ myMetadataQString += " <a href=\" #serverproperties\" >" ;
2121
+ myMetadataQString += tr ( " Server Properties" );
2122
+ myMetadataQString += " </a> " ;
2123
+
2124
+ myMetadataQString += " <a href=\" #layerproperties\" >" ;
2125
+ myMetadataQString += tr ( " Layer Properties" );
2126
+ myMetadataQString += " </a> " ;
2127
+
2128
+ if ( tilesetsSupported.size () > 0 )
2129
+ {
2130
+ myMetadataQString += " <a href=\" #tilesetproperties\" >" ;
2131
+ myMetadataQString += tr ( " Tileset Properties" );
2132
+ myMetadataQString += " </a> " ;
2133
+
2134
+ #if QT_VERSION >= 0x40500
2135
+ myMetadataQString += " <a href=\" #cachestats\" >" ;
2136
+ myMetadataQString += tr ( " Cache Stats" );
2137
+ myMetadataQString += " </a> " ;
2138
+ #endif
2139
+ }
2140
+
2141
+ myMetadataQString += " </td></tr>" ;
2142
+
2112
2143
// Server Properties section
2113
- myMetadataQString += " <tr><td bgcolor=\" gray\" >" ;
2114
- myMetadataQString += tr ( " Server Properties: " );
2144
+ myMetadataQString += " <tr><td bgcolor=\" gray\" ><a name= \" serverproperties \" ></a> " ;
2145
+ myMetadataQString += tr ( " Server Properties" );
2115
2146
myMetadataQString += " </td></tr>" ;
2116
2147
2117
2148
// Use a nested table
@@ -2242,7 +2273,7 @@ QString QgsWmsProvider::metadata()
2242
2273
myMetadataQString += " </td></tr>" ;
2243
2274
2244
2275
// Layer properties
2245
- myMetadataQString += " <tr><td bgcolor=\" gray\" >" ;
2276
+ myMetadataQString += " <tr><td bgcolor=\" gray\" ><a name= \" layerproperties \" ></a> " ;
2246
2277
myMetadataQString += tr ( " Layer Properties:" );
2247
2278
myMetadataQString += " </td></tr>" ;
2248
2279
@@ -2436,8 +2467,8 @@ QString QgsWmsProvider::metadata()
2436
2467
// Tileset properties
2437
2468
if ( tilesetsSupported.size () > 0 )
2438
2469
{
2439
- myMetadataQString += " <tr><td bgcolor=\" gray\" >" ;
2440
- myMetadataQString += tr ( " Tileset Properties: " );
2470
+ myMetadataQString += " <tr><td bgcolor=\" gray\" ><a name= \" tilesetproperties \" ></a> " ;
2471
+ myMetadataQString += tr ( " Tileset Properties" );
2441
2472
myMetadataQString += " </td></tr>" ;
2442
2473
2443
2474
// Iterate through tilesets
@@ -2501,10 +2532,13 @@ QString QgsWmsProvider::metadata()
2501
2532
myMetadataQString += " </td></tr>" ;
2502
2533
}
2503
2534
2535
+ myMetadataQString += " </table></td></tr>" ;
2536
+
2537
+ #if QT_VERSION >= 0x40500
2504
2538
if ( mTiled )
2505
2539
{
2506
- myMetadataQString += " <tr><td bgcolor=\" gray\" >" ;
2507
- myMetadataQString += tr ( " Cache stats: " );
2540
+ myMetadataQString += " <tr><td bgcolor=\" gray\" ><a name= \" cachestats \" ></a> " ;
2541
+ myMetadataQString += tr ( " Cache stats" );
2508
2542
myMetadataQString += " </td></tr>" ;
2509
2543
2510
2544
// Iterate through tilesets
@@ -2536,8 +2570,9 @@ QString QgsWmsProvider::metadata()
2536
2570
myMetadataQString += QString::number ( mErrors );
2537
2571
myMetadataQString += " </td></tr>" ;
2538
2572
2539
- myMetadataQString += " </table>" ;
2573
+ myMetadataQString += " </table></td></tr> " ;
2540
2574
}
2575
+ #endif
2541
2576
}
2542
2577
2543
2578
myMetadataQString += " </table>" ;
0 commit comments