@@ -329,16 +329,27 @@ void QgsDwgImportDialog::createGroup( QgsLayerTreeGroup *group, const QString &n
329
329
l = layer ( layerGroup, layerFilter, QStringLiteral ( " polylines" ) );
330
330
if ( l )
331
331
{
332
+ sym = new QgsLineSymbol ();
333
+
332
334
QgsSimpleLineSymbolLayer *sll = new QgsSimpleLineSymbolLayer ();
333
335
sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty::fromField ( QStringLiteral ( " color" ) ) );
334
336
sll->setPenJoinStyle ( Qt::MiterJoin );
335
337
sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeWidth, QgsProperty::fromField ( QStringLiteral ( " width" ) ) );
338
+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyLayerEnabled, QgsProperty::fromExpression ( QStringLiteral ( " width>0" ) ) );
339
+ sll->setOutputUnit ( QgsUnitTypes::RenderMapUnits );
336
340
// sll->setUseCustomDashPattern( true );
337
341
// sll->setCustomDashPatternUnit( QgsSymbolV2::MapUnit );
338
342
// sll->setDataDefinedProperty( QgsSymbolLayer::PropertyCustomDash, QgsProperty::fromField( "linetype" ) );
339
- sym = new QgsLineSymbol ();
340
343
sym->changeSymbolLayer ( 0 , sll );
341
- sym->setOutputUnit ( QgsUnitTypes::RenderMapUnits );
344
+
345
+ sll = new QgsSimpleLineSymbolLayer ();
346
+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty::fromField ( QStringLiteral ( " color" ) ) );
347
+ sll->setPenJoinStyle ( Qt::MiterJoin );
348
+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeWidth, QgsProperty::fromField ( QStringLiteral ( " linewidth" ) ) );
349
+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyLayerEnabled, QgsProperty::fromExpression ( QStringLiteral ( " width=0" ) ) );
350
+ sll->setOutputUnit ( QgsUnitTypes::RenderMillimeters );
351
+ sym->appendSymbolLayer ( sll );
352
+
342
353
l->setRenderer ( new QgsSingleSymbolRenderer ( sym ) );
343
354
}
344
355
0 commit comments