Skip to content

Commit 222fa76

Browse files
committed
QgsVectorFileWriter: remove the deprecated private driverMetadata(driverName, multiple args) method and use the public one instead
1 parent 8ee697b commit 222fa76

File tree

2 files changed

+11
-223
lines changed

2 files changed

+11
-223
lines changed

src/core/qgsvectorfilewriter.cpp

+11-219
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@ void QgsVectorFileWriter::init( QString vectorFileName,
200200
return;
201201
}
202202

203+
MetaData metadata;
204+
bool metadataFound = driverMetadata( driverName, metadata );
205+
203206
if ( mOgrDriverName == "ESRI Shapefile" )
204207
{
205208
if ( layerOptions.join( "" ).toUpper().indexOf( "ENCODING=" ) == -1 )
@@ -252,13 +255,9 @@ void QgsVectorFileWriter::init( QString vectorFileName,
252255
}
253256
else
254257
{
255-
QString longName;
256-
QString trLongName;
257-
QString glob;
258-
QString exts;
259-
if ( QgsVectorFileWriter::driverMetadata( driverName, longName, trLongName, glob, exts ) )
258+
if ( metadataFound )
260259
{
261-
QStringList allExts = exts.split( ' ', QString::SkipEmptyParts );
260+
QStringList allExts = metadata.ext.split( ' ', QString::SkipEmptyParts );
262261
bool found = false;
263262
Q_FOREACH ( const QString& ext, allExts )
264263
{
@@ -2543,13 +2542,10 @@ QMap<QString, QString> QgsVectorFileWriter::ogrDriverList()
25432542

25442543
Q_FOREACH ( const QString& drvName, writableDrivers )
25452544
{
2546-
QString longName;
2547-
QString trLongName;
2548-
QString glob;
2549-
QString exts;
2550-
if ( QgsVectorFileWriter::driverMetadata( drvName, longName, trLongName, glob, exts ) && !trLongName.isEmpty() )
2545+
MetaData metadata;
2546+
if ( driverMetadata( drvName, metadata ) && !metadata.trLongName.isEmpty() )
25512547
{
2552-
resultMap.insert( trLongName, drvName );
2548+
resultMap.insert( metadata.trLongName, drvName );
25532549
}
25542550
}
25552551

@@ -2573,14 +2569,11 @@ QString QgsVectorFileWriter::fileFilterString()
25732569

25742570
QString QgsVectorFileWriter::filterForDriver( const QString& driverName )
25752571
{
2576-
QString longName;
2577-
QString trLongName;
2578-
QString glob;
2579-
QString exts;
2580-
if ( !driverMetadata( driverName, longName, trLongName, glob, exts ) || trLongName.isEmpty() || glob.isEmpty() )
2572+
MetaData metadata;
2573+
if ( !driverMetadata( driverName, metadata ) || metadata.trLongName.isEmpty() || metadata.glob.isEmpty() )
25812574
return "";
25822575

2583-
return trLongName + " [OGR] (" + glob.toLower() + ' ' + glob.toUpper() + ')';
2576+
return metadata.trLongName + " [OGR] (" + metadata.glob.toLower() + ' ' + metadata.glob.toUpper() + ')';
25842577
}
25852578

25862579
QString QgsVectorFileWriter::convertCodecNameForEncodingOption( const QString &codecName )
@@ -2600,207 +2593,6 @@ QString QgsVectorFileWriter::convertCodecNameForEncodingOption( const QString &c
26002593
return codecName;
26012594
}
26022595

2603-
bool QgsVectorFileWriter::driverMetadata( const QString& driverName, QString &longName, QString &trLongName, QString &glob, QString &ext )
2604-
{
2605-
if ( driverName.startsWith( "AVCE00" ) )
2606-
{
2607-
longName = "Arc/Info ASCII Coverage";
2608-
trLongName = QObject::tr( "Arc/Info ASCII Coverage" );
2609-
glob = "*.e00";
2610-
ext = "e00";
2611-
}
2612-
else if ( driverName.startsWith( "BNA" ) )
2613-
{
2614-
longName = "Atlas BNA";
2615-
trLongName = QObject::tr( "Atlas BNA" );
2616-
glob = "*.bna";
2617-
ext = "bna";
2618-
}
2619-
else if ( driverName.startsWith( "CSV" ) )
2620-
{
2621-
longName = "Comma Separated Value [CSV]";
2622-
trLongName = QObject::tr( "Comma Separated Value [CSV]" );
2623-
glob = "*.csv";
2624-
ext = "csv";
2625-
}
2626-
else if ( driverName.startsWith( "ESRI" ) )
2627-
{
2628-
longName = "ESRI Shapefile";
2629-
trLongName = QObject::tr( "ESRI Shapefile" );
2630-
glob = "*.shp";
2631-
ext = "shp";
2632-
}
2633-
else if ( driverName.startsWith( "DBF file" ) )
2634-
{
2635-
longName = "DBF File";
2636-
trLongName = QObject::tr( "DBF file" );
2637-
glob = "*.dbf";
2638-
ext = "dbf";
2639-
}
2640-
else if ( driverName.startsWith( "FMEObjects Gateway" ) )
2641-
{
2642-
longName = "FMEObjects Gateway";
2643-
trLongName = QObject::tr( "FMEObjects Gateway" );
2644-
glob = "*.fdd";
2645-
ext = "fdd";
2646-
}
2647-
else if ( driverName.startsWith( "GeoJSON" ) )
2648-
{
2649-
longName = "GeoJSON";
2650-
trLongName = QObject::tr( "GeoJSON" );
2651-
glob = "*.geojson";
2652-
ext = "geojson";
2653-
}
2654-
else if ( driverName.startsWith( "GPKG" ) )
2655-
{
2656-
longName = "GeoPackage";
2657-
trLongName = QObject::tr( "GeoPackage" );
2658-
glob = "*.gpkg";
2659-
ext = "gpkg";
2660-
}
2661-
else if ( driverName.startsWith( "GeoRSS" ) )
2662-
{
2663-
longName = "GeoRSS";
2664-
trLongName = QObject::tr( "GeoRSS" );
2665-
glob = "*.xml";
2666-
ext = "xml";
2667-
}
2668-
else if ( driverName.startsWith( "GML" ) )
2669-
{
2670-
longName = "Geography Markup Language [GML]";
2671-
trLongName = QObject::tr( "Geography Markup Language [GML]" );
2672-
glob = "*.gml";
2673-
ext = "gml";
2674-
}
2675-
else if ( driverName.startsWith( "GMT" ) )
2676-
{
2677-
longName = "Generic Mapping Tools [GMT]";
2678-
trLongName = QObject::tr( "Generic Mapping Tools [GMT]" );
2679-
glob = "*.gmt";
2680-
ext = "gmt";
2681-
}
2682-
else if ( driverName.startsWith( "GPX" ) )
2683-
{
2684-
longName = "GPS eXchange Format [GPX]";
2685-
trLongName = QObject::tr( "GPS eXchange Format [GPX]" );
2686-
glob = "*.gpx";
2687-
ext = "gpx";
2688-
}
2689-
else if ( driverName.startsWith( "Interlis 1" ) )
2690-
{
2691-
longName = "INTERLIS 1";
2692-
trLongName = QObject::tr( "INTERLIS 1" );
2693-
glob = "*.itf *.xml *.ili";
2694-
ext = "ili";
2695-
}
2696-
else if ( driverName.startsWith( "Interlis 2" ) )
2697-
{
2698-
longName = "INTERLIS 2";
2699-
trLongName = QObject::tr( "INTERLIS 2" );
2700-
glob = "*.itf *.xml *.ili";
2701-
ext = "ili";
2702-
}
2703-
else if ( driverName.startsWith( "KML" ) )
2704-
{
2705-
longName = "Keyhole Markup Language [KML]";
2706-
trLongName = QObject::tr( "Keyhole Markup Language [KML]" );
2707-
glob = "*.kml";
2708-
ext = "kml";
2709-
}
2710-
else if ( driverName.startsWith( "MapInfo File" ) )
2711-
{
2712-
longName = "Mapinfo TAB";
2713-
trLongName = QObject::tr( "Mapinfo TAB" );
2714-
glob = "*.tab";
2715-
ext = "tab";
2716-
}
2717-
// 'MapInfo MIF' is internal QGIS addition to distinguish between MITAB and MIF
2718-
else if ( driverName.startsWith( "MapInfo MIF" ) )
2719-
{
2720-
longName = "Mapinfo MIF";
2721-
trLongName = QObject::tr( "Mapinfo MIF" );
2722-
glob = "*.mif";
2723-
ext = "mif";
2724-
}
2725-
else if ( driverName.startsWith( "DGN" ) )
2726-
{
2727-
longName = "Microstation DGN";
2728-
trLongName = QObject::tr( "Microstation DGN" );
2729-
glob = "*.dgn";
2730-
ext = "dgn";
2731-
}
2732-
else if ( driverName.startsWith( "S57" ) )
2733-
{
2734-
longName = "S-57 Base file";
2735-
trLongName = QObject::tr( "S-57 Base file" );
2736-
glob = "*.000";
2737-
ext = "000";
2738-
}
2739-
else if ( driverName.startsWith( "SDTS" ) )
2740-
{
2741-
longName = "Spatial Data Transfer Standard [SDTS]";
2742-
trLongName = QObject::tr( "Spatial Data Transfer Standard [SDTS]" );
2743-
glob = "*catd.ddf";
2744-
ext = "ddf";
2745-
}
2746-
else if ( driverName.startsWith( "SQLite" ) )
2747-
{
2748-
longName = "SQLite";
2749-
trLongName = QObject::tr( "SQLite" );
2750-
glob = "*.sqlite";
2751-
ext = "sqlite";
2752-
}
2753-
// QGIS internal addition for SpatialLite
2754-
else if ( driverName.startsWith( "SpatiaLite" ) )
2755-
{
2756-
longName = "SpatiaLite";
2757-
trLongName = QObject::tr( "SpatiaLite" );
2758-
glob = "*.sqlite";
2759-
ext = "sqlite";
2760-
}
2761-
else if ( driverName.startsWith( "DXF" ) )
2762-
{
2763-
longName = "AutoCAD DXF";
2764-
trLongName = QObject::tr( "AutoCAD DXF" );
2765-
glob = "*.dxf";
2766-
ext = "dxf";
2767-
}
2768-
else if ( driverName.startsWith( "Geoconcept" ) )
2769-
{
2770-
longName = "Geoconcept";
2771-
trLongName = QObject::tr( "Geoconcept" );
2772-
glob = "*.gxt *.txt";
2773-
ext = "gxt";
2774-
}
2775-
else if ( driverName.startsWith( "FileGDB" ) )
2776-
{
2777-
longName = "ESRI FileGDB";
2778-
trLongName = QObject::tr( "ESRI FileGDB" );
2779-
glob = "*.gdb";
2780-
ext = "gdb";
2781-
}
2782-
else if ( driverName.startsWith( "XLSX" ) )
2783-
{
2784-
longName = "MS Office Open XML spreadsheet [XLSX]";
2785-
trLongName = QObject::tr( "MS Office Open XML spreadsheet [XLSX]" );
2786-
glob = "*.xlsx";
2787-
ext = "xlsx";
2788-
}
2789-
else if ( driverName.startsWith( "ODS" ) )
2790-
{
2791-
longName = "Open Document Spreadsheet";
2792-
trLongName = QObject::tr( "Open Document Spreadsheet [ODS]" );
2793-
glob = "*.ods";
2794-
ext = "ods";
2795-
}
2796-
else
2797-
{
2798-
return false;
2799-
}
2800-
2801-
return true;
2802-
}
2803-
28042596
void QgsVectorFileWriter::createSymbolLayerTable( QgsVectorLayer* vl, const QgsCoordinateTransform* ct, OGRDataSourceH ds )
28052597
{
28062598
if ( !vl || !ds )

src/core/qgsvectorfilewriter.h

-4
Original file line numberDiff line numberDiff line change
@@ -426,10 +426,6 @@ class CORE_EXPORT QgsVectorFileWriter
426426
QgsRenderContext mRenderContext;
427427

428428
static QMap<QString, MetaData> initMetaData();
429-
/**
430-
* @deprecated
431-
*/
432-
static bool driverMetadata( const QString& driverName, QString &longName, QString &trLongName, QString &glob, QString &ext );
433429
void createSymbolLayerTable( QgsVectorLayer* vl, const QgsCoordinateTransform* ct, OGRDataSourceH ds );
434430
OGRFeatureH createFeature( QgsFeature& feature );
435431
bool writeFeature( OGRLayerH layer, OGRFeatureH feature );

0 commit comments

Comments
 (0)