32 QWidget *parent,
const QString &caption,
33 const QString &dir,
const QString &filter)
35 return QFileDialog::getOpenFileName(parent, caption, dir, filter);
39 QWidget *parent,
const QString &caption,
40 const QString &dir,
const QString &filter)
42 QFileDialog dialog(parent, caption, dir, filter);
43 dialog.setAcceptMode(QFileDialog::AcceptSave);
44 dialog.setFileMode(QFileDialog::AnyFile);
46 if (dialog.exec() == QDialog::Rejected) {
50 const auto files = dialog.selectedFiles();
51 if (files.isEmpty()) {
55 return {files.constFirst(), dialog.selectedNameFilter()};
static FileDialogProvider * s_provider
static RealFileDialogProvider s_realProvider
Abstract file dialog interface for testability.
Production implementation that delegates to QFileDialog.
QString getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter) override
FileDialogResult getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter) override
FileDialogProvider * provider()
Returns the active provider. Never null.
FileDialogProvider * setProvider(FileDialogProvider *newProvider)
Result from a save file dialog operation.