fix_zoom_to_full_extent.diff
src/gui/qgsmapcanvas.cpp (working copy) | ||
---|---|---|
232 | 232 |
} |
233 | 233 | |
234 | 234 |
// create layer set |
235 |
QStringList layerSet, layerSetOverview; |
|
235 |
QStringList layerSet, layerSetOverview, allLayerSet;
|
|
236 | 236 | |
237 | 237 |
int i; |
238 | 238 |
for ( i = 0; i < layers.size(); i++ ) |
... | ... | |
243 | 243 |
continue; |
244 | 244 |
} |
245 | 245 | |
246 |
// collect all layers (both visible and not visible) |
|
247 |
allLayerSet.push_back( lyr.layer()->id() ); |
|
248 |
|
|
246 | 249 |
if ( lyr.isVisible() ) |
247 | 250 |
{ |
248 | 251 |
layerSet.push_back( lyr.layer()->id() ); |
... | ... | |
275 | 278 |
} |
276 | 279 | |
277 | 280 |
mMapRenderer->setLayerSet( layerSet ); |
281 |
mMapRenderer->setAllLayerSet( allLayerSet ); |
|
278 | 282 | |
279 | 283 |
for ( i = 0; i < layerCount(); i++ ) |
280 | 284 |
{ |
src/core/qgsmaprenderer.h (working copy) | ||
---|---|---|
207 | 207 |
//! change current layer set |
208 | 208 |
void setLayerSet( const QStringList& layers ); |
209 | 209 | |
210 |
//! change current all layer set |
|
211 |
void setAllLayerSet( const QStringList& layers ); |
|
212 | ||
210 | 213 |
//! updates extent of the layer set |
211 | 214 |
void updateFullExtent(); |
212 | 215 | |
... | ... | |
303 | 306 |
//! stores array of layers to be rendered (identified by string) |
304 | 307 |
QStringList mLayerSet; |
305 | 308 | |
309 |
//! stores array of all canvas layers (identified by string). |
|
310 |
//! Need this to calculate full extent correctly |
|
311 |
QStringList mAllLayerSet; |
|
312 | ||
306 | 313 |
//! full extent of the layer set |
307 | 314 |
QgsRectangle mFullExtent; |
308 | 315 |
src/core/qgsmaprenderer.cpp (working copy) | ||
---|---|---|
840 | 840 | |
841 | 841 |
// iterate through the map layers and test each layers extent |
842 | 842 |
// against the current min and max values |
843 |
QStringList::iterator it = mLayerSet.begin(); |
|
844 |
while ( it != mLayerSet.end() ) |
|
843 |
QStringList::iterator it = mAllLayerSet.begin();
|
|
844 |
while ( it != mAllLayerSet.end() )
|
|
845 | 845 |
{ |
846 | 846 |
QgsMapLayer * lyr = registry->mapLayer( *it ); |
847 | 847 |
if ( lyr == NULL ) |
... | ... | |
903 | 903 |
updateFullExtent(); |
904 | 904 |
} |
905 | 905 | |
906 |
void QgsMapRenderer::setAllLayerSet( const QStringList& layers ) |
|
907 |
{ |
|
908 |
mAllLayerSet = layers; |
|
909 |
updateFullExtent(); |
|
910 |
} |
|
911 | ||
906 | 912 |
QStringList& QgsMapRenderer::layerSet() |
907 | 913 |
{ |
908 | 914 |
return mLayerSet; |