Skip to content

Commit 74969ff

Browse files
committedApr 20, 2023
Use template method for format options also for dxf
1 parent 45f7ebe commit 74969ff

File tree

3 files changed

+11
-40
lines changed

3 files changed

+11
-40
lines changed
 

‎src/server/services/wms/qgswmsparameters.cpp

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,7 +1574,7 @@ namespace QgsWms
15741574
bool QgsWmsParameters::isForce2D() const
15751575
{
15761576
bool force2D = false;
1577-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
1577+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
15781578

15791579
if ( options.contains( DxfFormatOption::FORCE_2D ) )
15801580
{
@@ -1587,7 +1587,7 @@ namespace QgsWms
15871587
bool QgsWmsParameters::noMText() const
15881588
{
15891589
bool noMText = false;
1590-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
1590+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
15911591

15921592
if ( options.contains( DxfFormatOption::NO_MTEXT ) )
15931593
{
@@ -2146,7 +2146,7 @@ namespace QgsWms
21462146
QStringList QgsWmsParameters::dxfLayerAttributes() const
21472147
{
21482148
QStringList attributes;
2149-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
2149+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
21502150

21512151
if ( options.contains( DxfFormatOption::LAYERATTRIBUTES ) )
21522152
{
@@ -2159,7 +2159,7 @@ namespace QgsWms
21592159
bool QgsWmsParameters::dxfUseLayerTitleAsName() const
21602160
{
21612161
bool use = false;
2162-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
2162+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
21632163

21642164
if ( options.contains( DxfFormatOption::USE_TITLE_AS_LAYERNAME ) )
21652165
{
@@ -2171,7 +2171,7 @@ namespace QgsWms
21712171

21722172
double QgsWmsParameters::dxfScale() const
21732173
{
2174-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
2174+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
21752175

21762176
double scale = -1;
21772177
if ( options.contains( DxfFormatOption::SCALE ) )
@@ -2184,7 +2184,7 @@ namespace QgsWms
21842184

21852185
QgsDxfExport::SymbologyExport QgsWmsParameters::dxfMode() const
21862186
{
2187-
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();
2187+
const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
21882188

21892189
QgsDxfExport::SymbologyExport symbol = QgsDxfExport::NoSymbology;
21902190

@@ -2210,37 +2210,14 @@ namespace QgsWms
22102210
{
22112211
QString codec = QStringLiteral( "ISO-8859-1" );
22122212

2213-
if ( dxfFormatOptions().contains( DxfFormatOption::CODEC ) )
2213+
if ( formatOptions<QgsWmsParameters::DxfFormatOption>().contains( DxfFormatOption::CODEC ) )
22142214
{
2215-
codec = dxfFormatOptions()[ DxfFormatOption::CODEC ];
2215+
codec = formatOptions<QgsWmsParameters::DxfFormatOption>()[ DxfFormatOption::CODEC ];
22162216
}
22172217

22182218
return codec;
22192219
}
22202220

2221-
QMap<QgsWmsParameters::DxfFormatOption, QString> QgsWmsParameters::dxfFormatOptions() const
2222-
{
2223-
QMap<QgsWmsParameters::DxfFormatOption, QString> options;
2224-
2225-
const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameters::DxfFormatOption>() );
2226-
const QStringList opts = mWmsParameters.value( QgsWmsParameter::FORMAT_OPTIONS ).toStringList( ';' );
2227-
2228-
for ( auto it = opts.constBegin(); it != opts.constEnd(); ++it )
2229-
{
2230-
const int equalIdx = it->indexOf( ':' );
2231-
if ( equalIdx > 0 && equalIdx < ( it->length() - 1 ) )
2232-
{
2233-
const QString name = it->left( equalIdx ).toUpper();
2234-
const QgsWmsParameters::DxfFormatOption option =
2235-
( QgsWmsParameters::DxfFormatOption ) metaEnum.keyToValue( name.toStdString().c_str() );
2236-
const QString value = it->right( it->length() - equalIdx - 1 );
2237-
options.insert( option, value );
2238-
}
2239-
}
2240-
2241-
return options;
2242-
}
2243-
22442221
bool QgsWmsParameters::writeGeoPdf() const
22452222
{
22462223
bool geoPdf = false;

‎src/server/services/wms/qgswmsparameters.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,12 +1328,6 @@ namespace QgsWms
13281328
*/
13291329
QStringList atlasPk() const;
13301330

1331-
/**
1332-
* Returns a map of DXF options defined within FORMAT_OPTIONS parameter.
1333-
* \since QGIS 3.8
1334-
*/
1335-
QMap<DxfFormatOption, QString> dxfFormatOptions() const;
1336-
13371331
/**
13381332
* Returns the DXF LAYERATTRIBUTES parameter.
13391333
* \since QGIS 3.8
@@ -1450,8 +1444,6 @@ namespace QgsWms
14501444

14511445
QString request() const override;
14521446

1453-
private:
1454-
14551447
/**
14561448
* Returns the format options for an output format. Possible template types are QgsWmsParameters::PdfFormatOption or QgsWmsParameters::DxfFormatOption
14571449
* \returns a key-value map
@@ -1482,6 +1474,8 @@ namespace QgsWms
14821474
return options;
14831475
}
14841476

1477+
private:
1478+
14851479
static bool isExternalLayer( const QString &name );
14861480

14871481
bool loadParameter( const QString &name, const QString &value ) override;

‎src/server/services/wms/qgswmsrenderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ namespace QgsWms
10961096
dxf->addLayers( dxfLayers );
10971097
dxf->setLayerTitleAsName( mWmsParameters.dxfUseLayerTitleAsName() );
10981098
dxf->setSymbologyExport( mWmsParameters.dxfMode() );
1099-
if ( mWmsParameters.dxfFormatOptions().contains( QgsWmsParameters::DxfFormatOption::SCALE ) )
1099+
if ( mWmsParameters.formatOptions<QgsWmsParameters::DxfFormatOption>().contains( QgsWmsParameters::DxfFormatOption::SCALE ) )
11001100
{
11011101
dxf->setSymbologyScale( mWmsParameters.dxfScale() );
11021102
}

0 commit comments

Comments
 (0)
Please sign in to comment.