@@ -159,6 +159,8 @@ void QgsBrowserLayerProperties::setItem( QgsDataItem *item )
159
159
ProjectionSettingRestorer restorer;
160
160
( void )restorer; // no warnings
161
161
162
+ std::unique_ptr<QgsMapLayer> layer;
163
+
162
164
// find root item
163
165
// we need to create a temporary layer to get metadata
164
166
// we could use a provider but the metadata is not as complete and "pretty" and this is easier
@@ -167,54 +169,32 @@ void QgsBrowserLayerProperties::setItem( QgsDataItem *item )
167
169
{
168
170
QgsDebugMsg ( QStringLiteral ( " creating raster layer" ) );
169
171
// should copy code from addLayer() to split uri ?
170
- std::unique_ptr<QgsRasterLayer> layer ( new QgsRasterLayer ( layerItem->uri (), layerItem->uri (), layerItem->providerKey () ) );
171
- if ( layer )
172
- {
173
- if ( layer->isValid () )
174
- {
175
- bool ok = false ;
176
- layer->loadDefaultMetadata ( ok );
177
- layerCrs = layer->crs ();
178
- layerMetadata = layer->htmlMetadata ();
179
- }
180
- }
172
+ layer = qgis::make_unique< QgsRasterLayer >( layerItem->uri (), layerItem->name (), layerItem->providerKey () );
181
173
}
182
174
else if ( type == QgsMapLayer::MeshLayer )
183
175
{
184
176
QgsDebugMsg ( QStringLiteral ( " creating mesh layer" ) );
185
- std::unique_ptr<QgsMeshLayer> layer ( new QgsMeshLayer ( layerItem->uri (), layerItem->uri (), layerItem->providerKey () ) );
186
- if ( layer )
187
- {
188
- if ( layer->isValid () )
189
- {
190
- bool ok = false ;
191
- layer->loadDefaultMetadata ( ok );
192
- layerCrs = layer->crs ();
193
- layerMetadata = layer->htmlMetadata ();
194
- }
195
- }
177
+ layer = qgis::make_unique < QgsMeshLayer >( layerItem->uri (), layerItem->name (), layerItem->providerKey () );
196
178
}
197
179
else if ( type == QgsMapLayer::VectorLayer )
198
180
{
199
181
QgsDebugMsg ( QStringLiteral ( " creating vector layer" ) );
200
- std::unique_ptr<QgsVectorLayer> layer ( new QgsVectorLayer ( layerItem->uri (), layerItem->name (), layerItem->providerKey () ) );
201
- if ( layer )
202
- {
203
- if ( layer->isValid () )
204
- {
205
- bool ok = false ;
206
- layer->loadDefaultMetadata ( ok );
207
- layerCrs = layer->crs ();
208
- layerMetadata = layer->htmlMetadata ();
209
- }
210
- }
182
+ layer = qgis::make_unique < QgsVectorLayer>( layerItem->uri (), layerItem->name (), layerItem->providerKey () );
211
183
}
212
184
else if ( type == QgsMapLayer::PluginLayer )
213
185
{
214
186
// TODO: support display of properties for plugin layers
215
187
return ;
216
188
}
217
189
190
+ if ( layer && layer->isValid () )
191
+ {
192
+ bool ok = false ;
193
+ layer->loadDefaultMetadata ( ok );
194
+ layerCrs = mLayer ->crs ();
195
+ layerMetadata = mLayer ->htmlMetadata ();
196
+ }
197
+
218
198
QString myStyle = QgsApplication::reportStyleSheet ();
219
199
mMetadataTextBrowser ->document ()->setDefaultStyleSheet ( myStyle );
220
200
mMetadataTextBrowser ->setHtml ( layerMetadata );
0 commit comments