@@ -292,6 +292,16 @@ QString getDefaultDataDirectory()
292
292
return PathToQString (GetDefaultDataDir ());
293
293
}
294
294
295
+ QString ExtractFirstSuffixFromFilter (const QString& filter)
296
+ {
297
+ QRegExp filter_re (" .* \\ (\\ *\\ .(.*)[ \\ )]" );
298
+ QString suffix;
299
+ if (filter_re.exactMatch (filter)) {
300
+ suffix = filter_re.cap (1 );
301
+ }
302
+ return suffix;
303
+ }
304
+
295
305
QString getSaveFileName (QWidget *parent, const QString &caption, const QString &dir,
296
306
const QString &filter,
297
307
QString *selectedSuffixOut)
@@ -309,13 +319,7 @@ QString getSaveFileName(QWidget *parent, const QString &caption, const QString &
309
319
/* Directly convert path to native OS path separators */
310
320
QString result = QDir::toNativeSeparators (QFileDialog::getSaveFileName (parent, caption, myDir, filter, &selectedFilter));
311
321
312
- /* Extract first suffix from filter pattern "Description (*.foo)" or "Description (*.foo *.bar ...) */
313
- QRegExp filter_re (" .* \\ (\\ *\\ .(.*)[ \\ )]" );
314
- QString selectedSuffix;
315
- if (filter_re.exactMatch (selectedFilter))
316
- {
317
- selectedSuffix = filter_re.cap (1 );
318
- }
322
+ QString selectedSuffix = ExtractFirstSuffixFromFilter (selectedFilter);
319
323
320
324
/* Add suffix if needed */
321
325
QFileInfo info (result);
@@ -357,14 +361,8 @@ QString getOpenFileName(QWidget *parent, const QString &caption, const QString &
357
361
358
362
if (selectedSuffixOut)
359
363
{
360
- /* Extract first suffix from filter pattern "Description (*.foo)" or "Description (*.foo *.bar ...) */
361
- QRegExp filter_re (" .* \\ (\\ *\\ .(.*)[ \\ )]" );
362
- QString selectedSuffix;
363
- if (filter_re.exactMatch (selectedFilter))
364
- {
365
- selectedSuffix = filter_re.cap (1 );
366
- }
367
- *selectedSuffixOut = selectedSuffix;
364
+ *selectedSuffixOut = ExtractFirstSuffixFromFilter (selectedFilter);
365
+ ;
368
366
}
369
367
return result;
370
368
}
0 commit comments