@@ -148,6 +148,34 @@ QPointF QgsSymbolLayerV2Utils::decodePoint( QString str )
148
148
return QPointF ( lst[0 ].toDouble (), lst[1 ].toDouble () );
149
149
}
150
150
151
+ QString QgsSymbolLayerV2Utils::encodeOutputUnit ( QgsSymbolV2::OutputUnit unit )
152
+ {
153
+ switch ( unit )
154
+ {
155
+ case QgsSymbolV2::MM:
156
+ return " MM" ;
157
+ case QgsSymbolV2::MapUnit:
158
+ return " MapUnit" ;
159
+ default :
160
+ return " MM" ;
161
+ }
162
+ }
163
+
164
+ QgsSymbolV2::OutputUnit QgsSymbolLayerV2Utils::decodeOutputUnit ( QString str )
165
+ {
166
+ if ( str == " MM" )
167
+ {
168
+ return QgsSymbolV2::MM;
169
+ }
170
+ else if ( str == " MapUnit" )
171
+ {
172
+ return QgsSymbolV2::MapUnit;
173
+ }
174
+
175
+ // milimeters are default
176
+ return QgsSymbolV2::MM;
177
+ }
178
+
151
179
QIcon QgsSymbolLayerV2Utils::symbolPreviewIcon ( QgsSymbolV2* symbol, QSize size )
152
180
{
153
181
return QIcon ( symbolPreviewPixmap ( symbol, size ) );
@@ -343,7 +371,6 @@ QgsSymbolV2* QgsSymbolLayerV2Utils::loadSymbol( QDomElement& element )
343
371
}
344
372
345
373
QString symbolType = element.attribute ( " type" );
346
- QString unitString = element.attribute ( " outputUnit" , " MM" );
347
374
348
375
QgsSymbolV2* symbol = 0 ;
349
376
if ( symbolType == " line" )
@@ -358,14 +385,8 @@ QgsSymbolV2* QgsSymbolLayerV2Utils::loadSymbol( QDomElement& element )
358
385
return NULL ;
359
386
}
360
387
361
- if ( unitString == " MM" )
362
- {
363
- symbol->setOutputUnit ( QgsSymbolV2::MM );
364
- }
365
- else
366
- {
367
- symbol->setOutputUnit ( QgsSymbolV2::MapUnit );
368
- }
388
+ symbol->setOutputUnit ( decodeOutputUnit ( element.attribute ( " outputUnit" ) ) );
389
+
369
390
return symbol;
370
391
}
371
392
@@ -409,12 +430,7 @@ QDomElement QgsSymbolLayerV2Utils::saveSymbol( QString name, QgsSymbolV2* symbol
409
430
QDomElement symEl = doc.createElement ( " symbol" );
410
431
symEl.setAttribute ( " type" , _nameForSymbolType ( symbol->type () ) );
411
432
symEl.setAttribute ( " name" , name );
412
- QString unitString = " MM" ;
413
- if ( symbol->outputUnit () == QgsSymbolV2::MapUnit )
414
- {
415
- unitString = " MapUnit" ;
416
- }
417
- symEl.setAttribute ( " outputUnit" , unitString );
433
+ symEl.setAttribute ( " outputUnit" , encodeOutputUnit ( symbol->outputUnit () ) );
418
434
QgsDebugMsg ( " num layers " + QString::number ( symbol->symbolLayerCount () ) );
419
435
for ( int i = 0 ; i < symbol->symbolLayerCount (); i++ )
420
436
{
0 commit comments