@@ -151,31 +151,7 @@ QgsVectorLayer::QgsVectorLayer( QString vectorLayerPath,
151
151
// if we're given a provider type, try to create and bind one to this layer
152
152
if ( ! mProviderKey .isEmpty () )
153
153
{
154
- setDataProvider ( mProviderKey );
155
- }
156
- if ( mValid )
157
- {
158
- // Always set crs
159
- setCoordinateSystem ();
160
-
161
- // check if there is a default style / propertysheet defined
162
- // for this layer and if so apply it
163
- bool defaultLoadedFlag = false ;
164
- if ( loadDefaultStyleFlag )
165
- {
166
- loadDefaultStyle ( defaultLoadedFlag );
167
- }
168
-
169
- // if the default style failed to load or was disabled use some very basic defaults
170
- if ( !defaultLoadedFlag && hasGeometryType () )
171
- {
172
- // add single symbol renderer
173
- setRendererV2 ( QgsFeatureRendererV2::defaultRenderer ( geometryType () ) );
174
- }
175
-
176
- setLegend ( QgsMapLayerLegend::defaultVectorLegend ( this ) );
177
-
178
- connect ( QgsMapLayerRegistry::instance (), SIGNAL ( layerWillBeRemoved ( QString ) ), this , SLOT ( checkJoinLayerRemove ( QString ) ) );
154
+ setDataSource ( vectorLayerPath, baseName, providerKey, loadDefaultStyleFlag );
179
155
}
180
156
181
157
connect ( this , SIGNAL ( selectionChanged ( QgsFeatureIds, QgsFeatureIds, bool ) ), this , SIGNAL ( selectionChanged () ) );
@@ -1380,6 +1356,40 @@ bool QgsVectorLayer::readXml( const QDomNode& layer_node )
1380
1356
} // void QgsVectorLayer::readXml
1381
1357
1382
1358
1359
+ void QgsVectorLayer::setDataSource ( QString dataSource, QString baseName, QString provider, bool loadDefaultStyleFlag )
1360
+ {
1361
+ mDataSource = dataSource;
1362
+ mLayerName = capitaliseLayerName ( baseName );
1363
+ setLayerName ( mLayerName );
1364
+ setDataProvider ( provider );
1365
+
1366
+ if ( mValid )
1367
+ {
1368
+ // Always set crs
1369
+ setCoordinateSystem ();
1370
+
1371
+ // check if there is a default style / propertysheet defined
1372
+ // for this layer and if so apply it
1373
+ bool defaultLoadedFlag = false ;
1374
+ if ( loadDefaultStyleFlag )
1375
+ {
1376
+ loadDefaultStyle ( defaultLoadedFlag );
1377
+ }
1378
+
1379
+ // if the default style failed to load or was disabled use some very basic defaults
1380
+ if ( !defaultLoadedFlag && hasGeometryType () )
1381
+ {
1382
+ // add single symbol renderer
1383
+ setRendererV2 ( QgsFeatureRendererV2::defaultRenderer ( geometryType () ) );
1384
+ }
1385
+
1386
+ setLegend ( QgsMapLayerLegend::defaultVectorLegend ( this ) );
1387
+
1388
+ connect ( QgsMapLayerRegistry::instance (), SIGNAL ( layerWillBeRemoved ( QString ) ), this , SLOT ( checkJoinLayerRemove ( QString ) ) );
1389
+ }
1390
+ }
1391
+
1392
+
1383
1393
bool QgsVectorLayer::setDataProvider ( QString const & provider )
1384
1394
{
1385
1395
// XXX should I check for and possibly delete any pre-existing providers?
0 commit comments