12 : m_dialog(
new QFileDialog)
16 connect(m_dialog.data(), &QDialog::accepted,
this, &QPlatformDialogHelper::accept);
17 connect(m_dialog.data(), &QDialog::rejected,
this, &QPlatformDialogHelper::reject);
19 connect(m_dialog.data(), &QFileDialog::fileSelected,
this, [
this](
const QString &file) {
20 emit fileSelected(QUrl::fromLocalFile(file));
22 connect(m_dialog.data(), &QFileDialog::filesSelected,
this, [
this](
const QList<QString> &files) {
24 urls.reserve(files.size());
25 for (
const QString &file : files)
26 urls += QUrl::fromLocalFile(file);
27 emit filesSelected(urls);
29 connect(m_dialog.data(), &QFileDialog::currentChanged,
this, [
this](
const QString &path) {
30 emit currentChanged(QUrl::fromLocalFile(path));
32 connect(m_dialog.data(), &QFileDialog::directoryEntered,
this, &QWidgetPlatformFileDialog::directoryEntered);
33 connect(m_dialog.data(), &QFileDialog::filterSelected,
this, &QWidgetPlatformFileDialog::filterSelected);
87 QSharedPointer<QFileDialogOptions> options = QPlatformFileDialogHelper::options();
88 m_dialog->setWindowTitle(options->windowTitle());
89 m_dialog->setAcceptMode(
static_cast<QFileDialog::AcceptMode>(options->acceptMode()));
90 m_dialog->setFileMode(
static_cast<QFileDialog::FileMode>(options->fileMode()));
91 m_dialog->setOptions(
static_cast<QFileDialog::Options>(
int(options->options())) | QFileDialog::DontUseNativeDialog);
92 m_dialog->setNameFilters(options->nameFilters());
93 m_dialog->setDefaultSuffix(options->defaultSuffix());
94 if (options->isLabelExplicitlySet(QFileDialogOptions::Accept))
95 m_dialog->setLabelText(QFileDialog::Accept, options->labelText(QFileDialogOptions::Accept));
96 if (options->isLabelExplicitlySet(QFileDialogOptions::Reject))
97 m_dialog->setLabelText(QFileDialog::Reject, options->labelText(QFileDialogOptions::Reject));
99 return QWidgetPlatformDialog::show(m_dialog.data(), flags, modality, parent);