void QgsMapRendererCache::clearCacheImage( const QString& layerId ) { QMutexLocker lock( &mMutex ); mCachedImages.remove( layerId ); QgsMapLayer* layer = QgsProject::instance()->mapLayer( layerId ); if ( layer ) { disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) ); } }
void QgsMapRendererCache::setCacheImage( const QString& layerId, const QImage& img ) { QMutexLocker lock( &mMutex ); mCachedImages[layerId] = img; // connect to the layer to listen to layer's repaintRequested() signals QgsMapLayer* layer = QgsProject::instance()->mapLayer( layerId ); if ( layer ) { connect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) ); } }
void QgsMapRendererCache::clearInternal() { mExtent.setMinimal(); mScale = 0; // make sure we are disconnected from all layers Q_FOREACH ( const QString& layerId, mCachedImages.keys() ) { QgsMapLayer* layer = QgsMapLayerRegistry::instance()->mapLayer( layerId ); if ( layer ) { disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) ); } } mCachedImages.clear(); }
void QgsMapRendererCache::clearInternal() { mExtent.setMinimal(); mScale = 0; // make sure we are disconnected from all layers QMap<QString, QImage>::const_iterator it = mCachedImages.constBegin(); for ( ; it != mCachedImages.constEnd(); ++it ) { QgsMapLayer* layer = QgsProject::instance()->mapLayer( it.key() ); if ( layer ) { disconnect( layer, SIGNAL( repaintRequested() ), this, SLOT( layerRequestedRepaint() ) ); } } mCachedImages.clear(); }