1515#include " qgsvectortilelayer.h"
1616#include " qgsvectorlayer.h"
1717#include " qgsvectorfilewriter.h"
18- #include " qgsdatetimefieldformatter.h"
1918#include " qgsmarkersymbollayer.h"
20- #include " qgis.h"
2119#include " qgslinesymbol.h"
2220#include " qgssymbollayer.h"
2321#include " qgssymbollayerutils.h"
2422#include " qgssymbol.h"
2523#include " qgsmarkersymbol.h"
2624#include " qgssinglesymbolrenderer.h"
27- #include " inpututils.h"
28- #include " coreutils.h"
2925
3026const QString TILES_URL = QStringLiteral( " https://tiles.merginmaps.com" );
3127
@@ -39,17 +35,17 @@ ProjectWizard::ProjectWizard( const QString &dataDir, QObject *parent )
3935
4036QgsVectorLayer *ProjectWizard::createGpkgLayer ( QString const &projectDir, QList<FieldConfiguration> const &fieldsConfig )
4137{
42- QString gpkgName ( QStringLiteral ( " data" ) );
43- QString projectGpkgPath ( QString ( " %1/%2.%3" ).arg ( projectDir ).arg ( gpkgName ).arg ( " gpkg" ) );
44- QString layerName ( QStringLiteral ( " Survey" ) );
45- QgsCoordinateReferenceSystem layerCrs ( LAYER_CRS_ID );
38+ const QString gpkgName ( QStringLiteral ( " data" ) );
39+ const QString projectGpkgPath ( QString ( " %1/%2.%3" ).arg ( projectDir ).arg ( gpkgName ).arg ( " gpkg" ) );
40+ const QString layerName ( QStringLiteral ( " Survey" ) );
41+ const QgsCoordinateReferenceSystem layerCrs ( LAYER_CRS_ID );
4642 QgsFields predefinedFields = createFields ( fieldsConfig );
4743
4844 // Write layer as gpkg
4945 QgsVectorLayer *layer = new QgsVectorLayer ( QStringLiteral ( " PointZ?crs=%1" ).arg ( LAYER_CRS_ID ), layerName, " memory" );
5046 layer->startEditing ();
5147 layer->setCrs ( layerCrs );
52- for ( QgsField f : predefinedFields )
48+ for ( const QgsField & f : predefinedFields )
5349 {
5450 layer->addAttribute ( f );
5551 }
@@ -103,19 +99,19 @@ QgsVectorLayer *ProjectWizard::createTrackingLayer( const QString &trackingGpkgP
10399 options.driverName = " GPKG" ;
104100 options.layerName = " tracking_layer" ;
105101
106- QgsVectorFileWriter *writer = QgsVectorFileWriter::create (
107- trackingGpkgPath,
108- fields,
109- Qgis::WkbType::LineStringZM,
110- QgsCoordinateReferenceSystem ( " EPSG:4326" ),
111- mSettings ->transformContext (),
112- options );
102+ const QgsVectorFileWriter *writer = QgsVectorFileWriter::create (
103+ trackingGpkgPath,
104+ fields,
105+ Qgis::WkbType::LineStringZM,
106+ QgsCoordinateReferenceSystem ( " EPSG:4326" ),
107+ mSettings ->transformContext (),
108+ options );
113109 delete writer;
114110
115111 QgsVectorLayer *layer = new QgsVectorLayer ( trackingGpkgPath, " tracking_layer" , " ogr" );
116112
117113 int idx = layer->fields ().indexFromName ( " fid" );
118- QgsEditorWidgetSetup cfg ( " Hidden" , QVariantMap () );
114+ const QgsEditorWidgetSetup cfg ( " Hidden" , QVariantMap () );
119115 layer->setEditorWidgetSetup ( idx, cfg );
120116
121117 idx = layer->fields ().indexFromName ( " tracking_start_time" );
@@ -154,7 +150,7 @@ QgsVectorLayer *ProjectWizard::createTrackingLayer( const QString &trackingGpkgP
154150 return layer;
155151}
156152
157- void ProjectWizard::createProject ( QString const &projectNameRaw, FieldsModel *fieldsModel )
153+ void ProjectWizard::createProject ( QString const &projectNameRaw, const FieldsModel *fieldsModel )
158154{
159155 if ( !CoreUtils::isValidName ( projectNameRaw ) )
160156 {
@@ -165,10 +161,10 @@ void ProjectWizard::createProject( QString const &projectNameRaw, FieldsModel *f
165161 QString projectName ( projectNameRaw );
166162 projectName = InputUtils::sanitizeNode ( projectName );
167163
168- QString projectDir = CoreUtils::createUniqueProjectDirectory ( mDataDir , projectName );
169- QString projectFilepath ( QString ( " %1/%2.qgz" ).arg ( projectDir ).arg ( projectName ) );
170- QString projectGpkgPath ( QString ( " %1/data.gpkg" ).arg ( projectDir ) );
171- QString trackingGpkgPath ( QString ( " %1/tracking_layer.gpkg" ).arg ( projectDir ) );
164+ const QString projectDir = CoreUtils::createUniqueProjectDirectory ( mDataDir , projectName );
165+ const QString projectFilepath ( QString ( " %1/%2.qgz" ).arg ( projectDir ).arg ( projectName ) );
166+ const QString projectGpkgPath ( QString ( " %1/data.gpkg" ).arg ( projectDir ) );
167+ const QString trackingGpkgPath ( QString ( " %1/tracking_layer.gpkg" ).arg ( projectDir ) );
172168
173169 QgsProject project;
174170
@@ -197,7 +193,7 @@ void ProjectWizard::createProject( QString const &projectNameRaw, FieldsModel *f
197193 project.addMapLayers ( layers );
198194
199195 // Configurate mapSettings
200- QgsCoordinateReferenceSystem projectCrs ( PROJECT_CRS_ID );
196+ const QgsCoordinateReferenceSystem projectCrs ( PROJECT_CRS_ID );
201197 mSettings ->setExtent ( bgLayer->extent () );
202198 mSettings ->setEllipsoid ( " WGS84" );
203199 mSettings ->setDestinationCrs ( projectCrs );
@@ -218,7 +214,7 @@ void ProjectWizard::createProject( QString const &projectNameRaw, FieldsModel *f
218214
219215void ProjectWizard::writeMapCanvasSetting ( QDomDocument &doc )
220216{
221- QDomNodeList nl = doc.elementsByTagName ( QStringLiteral ( " qgis" ) );
217+ const QDomNodeList nl = doc.elementsByTagName ( QStringLiteral ( " qgis" ) );
222218 if ( !nl.count () )
223219 {
224220 QgsDebugError ( QStringLiteral ( " Unable to find qgis element in project file" ) );
@@ -232,14 +228,14 @@ void ProjectWizard::writeMapCanvasSetting( QDomDocument &doc )
232228 mSettings ->writeXml ( mapcanvasNode, doc );
233229}
234230
235- QgsFields ProjectWizard::createFields ( const QList<FieldConfiguration> fieldsConfig ) const
231+ QgsFields ProjectWizard::createFields ( const QList<FieldConfiguration> & fieldsConfig ) const
236232{
237233
238234 QgsFields fields;
239235 for ( const FieldConfiguration &fc : fieldsConfig )
240236 {
241237 QString type = widgetToType ( fc.widgetType );
242- QVariant ::Type qtype = parseType ( type );
238+ const QMetaType ::Type qtype = parseType ( type );
243239 QgsField field ( fc.attributeName , qtype, type );
244240 fields.append ( field );
245241 }
@@ -257,45 +253,53 @@ QgsSingleSymbolRenderer *ProjectWizard::surveyLayerRenderer()
257253 return new QgsSingleSymbolRenderer ( symbol );
258254}
259255
260- QVariant ::Type ProjectWizard::parseType ( const QString &type ) const
256+ QMetaType ::Type ProjectWizard::parseType ( const QString &type ) const
261257{
262258 if ( type == QLatin1String ( " text" ) )
263- return QVariant::String;
264- else if ( type == QLatin1String ( " integer" ) )
265- return QVariant::Int;
266- else if ( type == QLatin1String ( " integer64" ) )
267- return QVariant::Int;
268- else if ( type == QLatin1String ( " real" ) )
269- return QVariant::Double;
270- else if ( type == QLatin1String ( " date" ) )
271- return QVariant::Date;
272- else if ( type == QLatin1String ( " datetime" ) )
273- return QVariant::DateTime;
274- else if ( type == QLatin1String ( " bool" ) )
275- return QVariant::Bool;
276- else if ( type == QLatin1String ( " binary" ) )
277- return QVariant::ByteArray;
278-
279- return QVariant::Invalid;
259+ return QMetaType::QString;
260+
261+ if ( type == QLatin1String ( " integer" ) || type == QLatin1String ( " integer64" ) )
262+ return QMetaType::Int;
263+
264+ if ( type == QLatin1String ( " real" ) )
265+ return QMetaType::Double;
266+
267+ if ( type == QLatin1String ( " date" ) )
268+ return QMetaType::QDate;
269+
270+ if ( type == QLatin1String ( " datetime" ) )
271+ return QMetaType::QDateTime;
272+
273+ if ( type == QLatin1String ( " bool" ) )
274+ return QMetaType::Bool;
275+
276+ if ( type == QLatin1String ( " binary" ) )
277+ return QMetaType::QByteArray;
278+
279+ return QMetaType::UnknownType;
280280}
281281
282282QString ProjectWizard::widgetToType ( const QString &widgetType ) const
283283{
284284 if ( widgetType == QStringLiteral ( " TextEdit" ) )
285285 return QStringLiteral ( " text" );
286- else if ( widgetType == QStringLiteral ( " Range" ) )
286+
287+ if ( widgetType == QStringLiteral ( " Range" ) )
287288 return QStringLiteral ( " integer" );
288- else if ( widgetType == QStringLiteral ( " DateTime" ) )
289+
290+ if ( widgetType == QStringLiteral ( " DateTime" ) )
289291 return QStringLiteral ( " datetime" );
290- else if ( widgetType == QStringLiteral ( " CheckBox" ) )
292+
293+ if ( widgetType == QStringLiteral ( " CheckBox" ) )
291294 return QStringLiteral ( " bool" );
292- else if ( widgetType == QStringLiteral ( " ExternalResource" ) )
295+
296+ if ( widgetType == QStringLiteral ( " ExternalResource" ) )
293297 return QStringLiteral ( " text" );
294298
295299 return QStringLiteral ( " text" );
296300}
297301
298- QString ProjectWizard::findWidgetTypeByFieldName ( const QString name, const QList<FieldConfiguration> fieldsConfig ) const
302+ QString ProjectWizard::findWidgetTypeByFieldName ( const QString & name, const QList<FieldConfiguration> & fieldsConfig ) const
299303{
300304
301305 for ( int i = 0 ; i < fieldsConfig.count (); ++i )
0 commit comments