File tree Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -2169,21 +2169,28 @@ void QgsRasterLayerProperties::saveStyleAs_clicked()
2169
2169
QgsSettings settings;
2170
2170
QString lastUsedDir = settings.value ( QStringLiteral ( " style/lastStyleDir" ), QDir::homePath () ).toString ();
2171
2171
2172
+ QString selectedFilter;
2172
2173
QString outputFileName = QFileDialog::getSaveFileName (
2173
2174
this ,
2174
2175
tr ( " Save layer properties as style file" ),
2175
2176
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 );
2177
2179
if ( outputFileName.isEmpty () )
2178
2180
return ;
2179
2181
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
+ {
2186
2186
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
+ }
2187
2194
2188
2195
apply (); // make sure the style to save is up-to-date
2189
2196
You can’t perform that action at this time.
0 commit comments