diff options
-rw-r--r-- | dist/changes-5.2.0 | 2 | ||||
-rw-r--r-- | src/gui/kernel/qplatformdialoghelper.cpp | 2 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 2 | ||||
-rw-r--r-- | tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp | 2 |
4 files changed, 8 insertions, 0 deletions
diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 index 4e7a2f397c..17144221d6 100644 --- a/dist/changes-5.2.0 +++ b/dist/changes-5.2.0 @@ -29,3 +29,5 @@ QtWidgets - [QTBUG-4206] QTableView resizeToContents will now adjust to actual contents and not just visible area. QHeaderView::setAutoResizePrecision() has been introduced to control how precise the autoResize should be. + +- QFileDialog::setDefaultSuffix() removes leading dot characters. diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp index 5f86b511f7..0ee8e8b4aa 100644 --- a/src/gui/kernel/qplatformdialoghelper.cpp +++ b/src/gui/kernel/qplatformdialoghelper.cpp @@ -495,6 +495,8 @@ QStringList QFileDialogOptions::nameFilters() const void QFileDialogOptions::setDefaultSuffix(const QString &suffix) { d->defaultSuffix = suffix; + if (d->defaultSuffix.size() > 1 && d->defaultSuffix.startsWith(QLatin1Char('.'))) + d->defaultSuffix.remove(0, 1); // Silently change ".txt" -> "txt". } QString QFileDialogOptions::defaultSuffix() const diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 657c8cc7c2..ff8303bca4 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -1552,6 +1552,8 @@ bool QFileDialog::confirmOverwrite() const filename if it has no suffix already. The suffix is typically used to indicate the file type (e.g. "txt" indicates a text file). + + If the first character is a dot ('.'), it is removed. */ void QFileDialog::setDefaultSuffix(const QString &suffix) { diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp index 98c4bf69f3..4176fef631 100644 --- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp @@ -621,6 +621,8 @@ void tst_QFiledialog::defaultSuffix() QCOMPARE(fd.defaultSuffix(), QString()); fd.setDefaultSuffix("txt"); QCOMPARE(fd.defaultSuffix(), QString("txt")); + fd.setDefaultSuffix(".txt"); + QCOMPARE(fd.defaultSuffix(), QString("txt")); fd.setDefaultSuffix(QString()); QCOMPARE(fd.defaultSuffix(), QString()); } |