31 QgsLayerSettings settings;
32 settings.name = layer->name();
34 settings.mNamedStyle = layer->styleManager()->currentStyle();
38 layer->setCustomProperty(
"readSLD",
false );
41 QDomDocument styleDoc( QStringLiteral(
"style" ) );
42 QDomElement styleXml = styleDoc.createElement( QStringLiteral(
"style" ) );
43 styleDoc.appendChild( styleXml );
46 QgsMessageLog::logMessage( QStringLiteral(
"QGIS Style has not been added to layer restorer for layer %1: %2" ).arg( layer->name(), errMsg ) );
48 ( void )settings.mQgisStyle.setContent( styleDoc.toString() );
50 switch ( layer->type() )
58 settings.mOpacity = vLayer->
opacity();
80 mLayerSettings[layer] = settings;
88 QgsLayerSettings settings = mLayerSettings[layer];
89 layer->styleManager()->setCurrentStyle( settings.mNamedStyle );
90 layer->setName( mLayerSettings[layer].name );
93 if ( layer->customProperty(
"readSLD",
false ).toBool() )
96 QDomElement root = settings.mQgisStyle.documentElement();
98 if ( !layer->readStyle( root, errMsg, context ) )
100 QgsMessageLog::logMessage( QStringLiteral(
"QGIS Style has not been read from layer restorer for layer %1: %2" ).arg( layer->name(), errMsg ) );
103 layer->removeCustomProperty(
"readSLD" );
105 switch ( layer->type() )
114 vLayer->
selectByIds( settings.mSelectedFeatureIds );
The class is used as a container of context for various read/write operations on other objects...
Base class for all map layer types.
double opacity() const
Returns the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1...
Represents a raster layer.
QgsRasterRenderer * renderer() const
Returns the raster's renderer.
Q_INVOKABLE const QgsFeatureIds & selectedFeatureIds() const
Returns a list of the selected features IDs in this layer.
~QgsLayerRestorer()
Destructor.
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::Warning, bool notifyUser=true)
Adds a message to the log instance (and creates it if necessary).
QgsLayerRestorer(const QList< QgsMapLayer *> &layers)
Constructor for QgsLayerRestorer.
Q_INVOKABLE void selectByIds(const QgsFeatureIds &ids, QgsVectorLayer::SelectBehavior behavior=QgsVectorLayer::SetSelection)
Selects matching features using a list of feature IDs.
virtual bool setSubsetString(const QString &subset)
Sets the string (typically sql) used to define a subset of the layer.
void setOpacity(double opacity)
Sets the opacity for the renderer, where opacity is a value between 0 (totally transparent) and 1...
Represents a vector layer which manages a vector based data sets.
void setOpacity(double opacity)
Sets the opacity for the vector layer, where opacity is a value between 0 (totally transparent) and 1...