Skip to content

Commit f2ea6e8

Browse files
committedMay 28, 2020
use selected filter to determine style type (QML or SLD) (fix #35944)
1 parent 0ea7187 commit f2ea6e8

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed
 

‎src/gui/raster/qgsrasterlayerproperties.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2169,21 +2169,28 @@ void QgsRasterLayerProperties::saveStyleAs_clicked()
21692169
QgsSettings settings;
21702170
QString lastUsedDir = settings.value( QStringLiteral( "style/lastStyleDir" ), QDir::homePath() ).toString();
21712171

2172+
QString selectedFilter;
21722173
QString outputFileName = QFileDialog::getSaveFileName(
21732174
this,
21742175
tr( "Save layer properties as style file" ),
21752176
lastUsedDir,
2176-
tr( "QGIS Layer Style File" ) + " (*.qml)" + ";;" + tr( "Styled Layer Descriptor" ) + " (*.sld)" );
2177+
tr( "QGIS Layer Style File" ) + " (*.qml)" + ";;" + tr( "Styled Layer Descriptor" ) + " (*.sld)",
2178+
&selectedFilter );
21772179
if ( outputFileName.isEmpty() )
21782180
return;
21792181

2180-
// set style type depending on extension
2181-
StyleType type = StyleType::QML;
2182-
if ( outputFileName.endsWith( QLatin1String( ".sld" ), Qt::CaseInsensitive ) )
2183-
type = StyleType::SLD;
2184-
else
2185-
// ensure the user never omits the extension from the file name
2182+
StyleType type;
2183+
// use selectedFilter to set style type
2184+
if ( selectedFilter.contains( QStringLiteral( ".qml" ), Qt::CaseInsensitive ) )
2185+
{
21862186
outputFileName = QgsFileUtils::ensureFileNameHasExtension( outputFileName, QStringList() << QStringLiteral( "qml" ) );
2187+
type = StyleType::QML;
2188+
}
2189+
else
2190+
{
2191+
outputFileName = QgsFileUtils::ensureFileNameHasExtension( outputFileName, QStringList() << QStringLiteral( "sld" ) );
2192+
type = StyleType::SLD;
2193+
}
21872194

21882195
apply(); // make sure the style to save is up-to-date
21892196

0 commit comments

Comments
 (0)
Please sign in to comment.