mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-04 12:55:02 +02:00
qt: Add a function that extracts the suffix from a filter
Extract the 'Extract first suffix from filter pattern...' functionality into a testable utility function
This commit is contained in:
@@ -292,6 +292,16 @@ QString getDefaultDataDirectory()
|
||||
return PathToQString(GetDefaultDataDir());
|
||||
}
|
||||
|
||||
QString ExtractFirstSuffixFromFilter(const QString& filter)
|
||||
{
|
||||
QRegExp filter_re(".* \\(\\*\\.(.*)[ \\)]");
|
||||
QString suffix;
|
||||
if (filter_re.exactMatch(filter)) {
|
||||
suffix = filter_re.cap(1);
|
||||
}
|
||||
return suffix;
|
||||
}
|
||||
|
||||
QString getSaveFileName(QWidget *parent, const QString &caption, const QString &dir,
|
||||
const QString &filter,
|
||||
QString *selectedSuffixOut)
|
||||
@@ -309,13 +319,7 @@ QString getSaveFileName(QWidget *parent, const QString &caption, const QString &
|
||||
/* Directly convert path to native OS path separators */
|
||||
QString result = QDir::toNativeSeparators(QFileDialog::getSaveFileName(parent, caption, myDir, filter, &selectedFilter));
|
||||
|
||||
/* Extract first suffix from filter pattern "Description (*.foo)" or "Description (*.foo *.bar ...) */
|
||||
QRegExp filter_re(".* \\(\\*\\.(.*)[ \\)]");
|
||||
QString selectedSuffix;
|
||||
if(filter_re.exactMatch(selectedFilter))
|
||||
{
|
||||
selectedSuffix = filter_re.cap(1);
|
||||
}
|
||||
QString selectedSuffix = ExtractFirstSuffixFromFilter(selectedFilter);
|
||||
|
||||
/* Add suffix if needed */
|
||||
QFileInfo info(result);
|
||||
@@ -357,14 +361,8 @@ QString getOpenFileName(QWidget *parent, const QString &caption, const QString &
|
||||
|
||||
if(selectedSuffixOut)
|
||||
{
|
||||
/* Extract first suffix from filter pattern "Description (*.foo)" or "Description (*.foo *.bar ...) */
|
||||
QRegExp filter_re(".* \\(\\*\\.(.*)[ \\)]");
|
||||
QString selectedSuffix;
|
||||
if(filter_re.exactMatch(selectedFilter))
|
||||
{
|
||||
selectedSuffix = filter_re.cap(1);
|
||||
}
|
||||
*selectedSuffixOut = selectedSuffix;
|
||||
*selectedSuffixOut = ExtractFirstSuffixFromFilter(selectedFilter);
|
||||
;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -123,6 +123,14 @@ namespace GUIUtil
|
||||
*/
|
||||
QString getDefaultDataDirectory();
|
||||
|
||||
/**
|
||||
* Extract first suffix from filter pattern "Description (*.foo)" or "Description (*.foo *.bar ...).
|
||||
*
|
||||
* @param[in] filter Filter specification such as "Comma Separated Files (*.csv)"
|
||||
* @return QString
|
||||
*/
|
||||
QString ExtractFirstSuffixFromFilter(const QString& filter);
|
||||
|
||||
/** Get save filename, mimics QFileDialog::getSaveFileName, except that it appends a default suffix
|
||||
when no suffix is provided by the user.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user