diff options
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 185 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog.h | 32 | ||||
-rw-r--r-- | tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp | 46 | ||||
-rw-r--r-- | tests/manual/dialogs/filedialogpanel.cpp | 70 | ||||
-rw-r--r-- | tests/manual/dialogs/filedialogpanel.h | 6 |
5 files changed, 338 insertions, 1 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index c42752311f..e6b6c2b73f 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -86,15 +86,27 @@ Q_GLOBAL_STATIC(QString, lastVisitedDir) typedef QString (*_qt_filedialog_existing_directory_hook)(QWidget *parent, const QString &caption, const QString &dir, QFileDialog::Options options); Q_WIDGETS_EXPORT _qt_filedialog_existing_directory_hook qt_filedialog_existing_directory_hook = 0; +typedef QUrl (*_qt_filedialog_existing_directory_url_hook)(QWidget *parent, const QString &caption, const QUrl &dir, QFileDialog::Options options, const QStringList &supportedSchemes); +Q_WIDGETS_EXPORT _qt_filedialog_existing_directory_url_hook qt_filedialog_existing_directory_url_hook = 0; + typedef QString (*_qt_filedialog_open_filename_hook)(QWidget * parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options); Q_WIDGETS_EXPORT _qt_filedialog_open_filename_hook qt_filedialog_open_filename_hook = 0; +typedef QUrl (*_qt_filedialog_open_file_url_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +Q_WIDGETS_EXPORT _qt_filedialog_open_file_url_hook qt_filedialog_open_file_url_hook = 0; + typedef QStringList (*_qt_filedialog_open_filenames_hook)(QWidget * parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options); Q_WIDGETS_EXPORT _qt_filedialog_open_filenames_hook qt_filedialog_open_filenames_hook = 0; +typedef QList<QUrl> (*_qt_filedialog_open_file_urls_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +Q_WIDGETS_EXPORT _qt_filedialog_open_file_urls_hook qt_filedialog_open_file_urls_hook = 0; + typedef QString (*_qt_filedialog_save_filename_hook)(QWidget * parent, const QString &caption, const QString &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options); Q_WIDGETS_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook = 0; +typedef QUrl (*_qt_filedialog_save_file_url_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +Q_WIDGETS_EXPORT _qt_filedialog_save_file_url_hook qt_filedialog_save_file_url_hook = 0; + /*! \class QFileDialog \brief The QFileDialog class provides a dialog that allow users to select files or directories. @@ -1798,6 +1810,48 @@ QString QFileDialog::getOpenFileName(QWidget *parent, } /*! + This is a convenience static function that returns an existing file + selected by the user. If the user presses Cancel, it returns an + empty url. + + The function is used similarly to QFileDialog::getOpenFileName(). In + particular \a parent, \a caption, \a dir, \a filter, \a selectedFilter + and \a options are used in the exact same way. + + The main difference with QFileDialog::getOpenFileName() comes from + the ability offered to the user to select a remote file. That's why + the return type and the type of \a dir is QUrl. + + The \a supportedSchemes argument allows to restrict the type of URLs the + user will be able to select. It is a way for the application to declare + the protocols it will support to fetch the file content. An empty list + means that no restriction is applied (the default). + Supported for local files ("file" scheme) is implicit and always enabled. + it is not necessary to include in the restriction. + + When possible, this static function will use the native file dialog and + not a QFileDialog. On platforms which don't support selecting remote + files, Qt will allow to select only local files. + + \sa getOpenFileName(), getOpenFileUrls(), getSaveFileUrl(), getExistingDirectoryUrl() + \since 5.2 +*/ +QUrl QFileDialog::getOpenFileUrl(QWidget *parent, + const QString &caption, + const QUrl &dir, + const QString &filter, + QString *selectedFilter, + Options options, + const QStringList &supportedSchemes) +{ + if (qt_filedialog_open_file_url_hook && !(options & DontUseNativeDialog)) + return qt_filedialog_open_file_url_hook(parent, caption, dir, filter, selectedFilter, options, supportedSchemes); + + // Falls back to local file + return QUrl::fromLocalFile(getOpenFileName(parent, caption, dir.toLocalFile(), filter, selectedFilter, options)); +} + +/*! This is a convenience static function that will return one or more existing files selected by the user. @@ -1883,6 +1937,55 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent, } /*! + This is a convenience static function that will return or or more existing + files selected by the user. If the user presses Cancel, it returns an + empty list. + + The function is used similarly to QFileDialog::getOpenFileNames(). In + particular \a parent, \a caption, \a dir, \a filter, \a selectedFilter + and \a options are used in the exact same way. + + The main difference with QFileDialog::getOpenFileNames() comes from + the ability offered to the user to select remote files. That's why + the return type and the type of \a dir are respectively QList<QUrl> + and QUrl. + + The \a supportedSchemes argument allows to restrict the type of URLs the + user will be able to select. It is a way for the application to declare + the protocols it will support to fetch the file content. An empty list + means that no restriction is applied (the default). + Supported for local files ("file" scheme) is implicit and always enabled. + it is not necessary to include in the restriction. + + When possible, this static function will use the native file dialog and + not a QFileDialog. On platforms which don't support selecting remote + files, Qt will allow to select only local files. + + \sa getOpenFileNames(), getOpenFileUrl(), getSaveFileUrl(), getExistingDirectoryUrl() + \since 5.2 +*/ +QList<QUrl> QFileDialog::getOpenFileUrls(QWidget *parent, + const QString &caption, + const QUrl &dir, + const QString &filter, + QString *selectedFilter, + Options options, + const QStringList &supportedSchemes) +{ + if (qt_filedialog_open_file_urls_hook && !(options & DontUseNativeDialog)) + return qt_filedialog_open_file_urls_hook(parent, caption, dir, filter, selectedFilter, options, supportedSchemes); + + // Falls back to local files + QList<QUrl> urls; + + const QStringList fileNames = getOpenFileNames(parent, caption, dir.toLocalFile(), filter, selectedFilter, options); + foreach (const QString &fileName, fileNames) + urls << QUrl::fromLocalFile(fileName); + + return urls; +} + +/*! This is a convenience static function that will return a file name selected by the user. The file does not have to exist. @@ -1971,6 +2074,48 @@ QString QFileDialog::getSaveFileName(QWidget *parent, } /*! + This is a convenience static function that returns a file selected by + the user. The file does not have to exist. If the user presses Cancel, + it returns an empty url. + + The function is used similarly to QFileDialog::getSaveFileName(). In + particular \a parent, \a caption, \a dir, \a filter, \a selectedFilter + and \a options are used in the exact same way. + + The main difference with QFileDialog::getSaveFileName() comes from + the ability offered to the user to select a remote file. That's why + the return type and the type of \a dir is QUrl. + + The \a supportedSchemes argument allows to restrict the type of URLs the + user will be able to select. It is a way for the application to declare + the protocols it will support to save the file content. An empty list + means that no restriction is applied (the default). + Supported for local files ("file" scheme) is implicit and always enabled. + it is not necessary to include in the restriction. + + When possible, this static function will use the native file dialog and + not a QFileDialog. On platforms which don't support selecting remote + files, Qt will allow to select only local files. + + \sa getSaveFileName(), getOpenFileUrl(), getOpenFileUrls(), getExistingDirectoryUrl() + \since 5.2 +*/ +QUrl QFileDialog::getSaveFileUrl(QWidget *parent, + const QString &caption, + const QUrl &dir, + const QString &filter, + QString *selectedFilter, + Options options, + const QStringList &supportedSchemes) +{ + if (qt_filedialog_save_file_url_hook && !(options & DontUseNativeDialog)) + return qt_filedialog_save_file_url_hook(parent, caption, dir, filter, selectedFilter, options, supportedSchemes); + + // Falls back to local file + return QUrl::fromLocalFile(getSaveFileName(parent, caption, dir.toLocalFile(), filter, selectedFilter, options)); +} + +/*! This is a convenience static function that will return an existing directory selected by the user. @@ -2041,6 +2186,46 @@ QString QFileDialog::getExistingDirectory(QWidget *parent, return QString(); } +/*! + This is a convenience static function that will return an existing + directory selected by the user. If the user presses Cancel, it + returns an empty url. + + The function is used similarly to QFileDialog::getExistingDirectory(). + In particular \a parent, \a caption, \a dir and \a options are used + in the exact same way. + + The main difference with QFileDialog::getExistingDirectory() comes from + the ability offered to the user to select a remote directory. That's why + the return type and the type of \a dir is QUrl. + + The \a supportedSchemes argument allows to restrict the type of URLs the + user will be able to select. It is a way for the application to declare + the protocols it will support to fetch the file content. An empty list + means that no restriction is applied (the default). + Supported for local files ("file" scheme) is implicit and always enabled. + it is not necessary to include in the restriction. + + When possible, this static function will use the native file dialog and + not a QFileDialog. On platforms which don't support selecting remote + files, Qt will allow to select only local files. + + \sa getExistingDirectory(), getOpenFileUrl(), getOpenFileUrls(), getSaveFileUrl() + \since 5.2 +*/ +QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent, + const QString &caption, + const QUrl &dir, + Options options, + const QStringList &supportedSchemes) +{ + if (qt_filedialog_existing_directory_url_hook && !(options & DontUseNativeDialog)) + return qt_filedialog_existing_directory_url_hook(parent, caption, dir, options, supportedSchemes); + + // Falls back to local file + return QUrl::fromLocalFile(getExistingDirectory(parent, caption, dir.toLocalFile(), options)); +} + inline static QString _qt_get_directory(const QString &path) { QFileInfo info = QFileInfo(QDir::current(), path); diff --git a/src/widgets/dialogs/qfiledialog.h b/src/widgets/dialogs/qfiledialog.h index 98d1fd5695..2b276be8f1 100644 --- a/src/widgets/dialogs/qfiledialog.h +++ b/src/widgets/dialogs/qfiledialog.h @@ -44,6 +44,7 @@ #include <QtCore/qdir.h> #include <QtCore/qstring.h> +#include <QtCore/qurl.h> #include <QtWidgets/qdialog.h> QT_BEGIN_NAMESPACE @@ -58,7 +59,6 @@ class QFileIconProvider; class QFileDialogPrivate; class QAbstractItemDelegate; class QAbstractProxyModel; -class QUrl; class Q_WIDGETS_EXPORT QFileDialog : public QDialog { @@ -195,6 +195,14 @@ public: QString *selectedFilter = 0, Options options = 0); + static QUrl getOpenFileUrl(QWidget *parent = 0, + const QString &caption = QString(), + const QUrl &dir = QUrl(), + const QString &filter = QString(), + QString *selectedFilter = 0, + Options options = 0, + const QStringList &supportedSchemes = QStringList()); + static QString getSaveFileName(QWidget *parent = 0, const QString &caption = QString(), const QString &dir = QString(), @@ -202,11 +210,25 @@ public: QString *selectedFilter = 0, Options options = 0); + static QUrl getSaveFileUrl(QWidget *parent = 0, + const QString &caption = QString(), + const QUrl &dir = QUrl(), + const QString &filter = QString(), + QString *selectedFilter = 0, + Options options = 0, + const QStringList &supportedSchemes = QStringList()); + static QString getExistingDirectory(QWidget *parent = 0, const QString &caption = QString(), const QString &dir = QString(), Options options = ShowDirsOnly); + static QUrl getExistingDirectoryUrl(QWidget *parent = 0, + const QString &caption = QString(), + const QUrl &dir = QUrl(), + Options options = ShowDirsOnly, + const QStringList &supportedSchemes = QStringList()); + static QStringList getOpenFileNames(QWidget *parent = 0, const QString &caption = QString(), const QString &dir = QString(), @@ -214,6 +236,14 @@ public: QString *selectedFilter = 0, Options options = 0); + static QList<QUrl> getOpenFileUrls(QWidget *parent = 0, + const QString &caption = QString(), + const QUrl &dir = QUrl(), + const QString &filter = QString(), + QString *selectedFilter = 0, + Options options = 0, + const QStringList &supportedSchemes = QStringList()); + protected: QFileDialog(const QFileDialogArgs &args); diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp index d797c553db..98c4bf69f3 100644 --- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp @@ -1346,6 +1346,38 @@ QString saveName(QWidget *, const QString &, const QString &, const QString &, Q return "saveName"; } +QT_BEGIN_NAMESPACE +typedef QUrl (*_qt_filedialog_existing_directory_url_hook)(QWidget *parent, const QString &caption, const QUrl &dir, QFileDialog::Options options, const QStringList &supportedSchemes); +extern Q_WIDGETS_EXPORT _qt_filedialog_existing_directory_url_hook qt_filedialog_existing_directory_url_hook; +QT_END_NAMESPACE +QUrl existingUrl(QWidget *, const QString &, const QUrl &, QFileDialog::Options, const QStringList &) { + return QUrl("http://dirUrl"); +} + +QT_BEGIN_NAMESPACE +typedef QUrl (*_qt_filedialog_open_file_url_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +extern Q_WIDGETS_EXPORT _qt_filedialog_open_file_url_hook qt_filedialog_open_file_url_hook; +QT_END_NAMESPACE +QUrl openUrl(QWidget *, const QString &, const QUrl &, const QString &, QString *, QFileDialog::Options, const QStringList &) { + return QUrl("http://openUrl"); +} + +QT_BEGIN_NAMESPACE +typedef QList<QUrl> (*_qt_filedialog_open_file_urls_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +extern Q_WIDGETS_EXPORT _qt_filedialog_open_file_urls_hook qt_filedialog_open_file_urls_hook; +QT_END_NAMESPACE +QList<QUrl> openUrls(QWidget *, const QString &, const QUrl &, const QString &, QString *, QFileDialog::Options, const QStringList &) { + return QList<QUrl>() << QUrl("http://openUrls"); +} + +QT_BEGIN_NAMESPACE +typedef QUrl (*_qt_filedialog_save_file_url_hook)(QWidget * parent, const QString &caption, const QUrl &dir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QStringList &supportedSchemes); +extern Q_WIDGETS_EXPORT _qt_filedialog_save_file_url_hook qt_filedialog_save_file_url_hook; +QT_END_NAMESPACE +QUrl saveUrl(QWidget *, const QString &, const QUrl &, const QString &, QString *, QFileDialog::Options, const QStringList &) { + return QUrl("http://saveUrl"); +} + void tst_QFiledialog::hooks() { @@ -1358,6 +1390,20 @@ void tst_QFiledialog::hooks() QCOMPARE(QFileDialog::getOpenFileName(), QString("openName")); QCOMPARE(QFileDialog::getOpenFileNames(), QStringList("openNames")); QCOMPARE(QFileDialog::getSaveFileName(), QString("saveName")); + QCOMPARE(QFileDialog::getExistingDirectoryUrl(), QUrl::fromLocalFile("dir")); + QCOMPARE(QFileDialog::getOpenFileUrl(), QUrl::fromLocalFile("openName")); + QCOMPARE(QFileDialog::getOpenFileUrls(), QList<QUrl>() << QUrl::fromLocalFile("openNames")); + QCOMPARE(QFileDialog::getSaveFileUrl(), QUrl::fromLocalFile("saveName")); + + qt_filedialog_existing_directory_url_hook = &existingUrl; + qt_filedialog_save_file_url_hook = &saveUrl; + qt_filedialog_open_file_url_hook = &openUrl; + qt_filedialog_open_file_urls_hook = &openUrls; + + QCOMPARE(QFileDialog::getExistingDirectoryUrl(), QUrl("http://dirUrl")); + QCOMPARE(QFileDialog::getOpenFileUrl(), QUrl("http://openUrl")); + QCOMPARE(QFileDialog::getOpenFileUrls(), QList<QUrl>() << QUrl("http://openUrls")); + QCOMPARE(QFileDialog::getSaveFileUrl(), QUrl("http://saveUrl")); } #ifdef Q_OS_UNIX diff --git a/tests/manual/dialogs/filedialogpanel.cpp b/tests/manual/dialogs/filedialogpanel.cpp index 636e65b684..b524e3d669 100644 --- a/tests/manual/dialogs/filedialogpanel.cpp +++ b/tests/manual/dialogs/filedialogpanel.cpp @@ -157,6 +157,7 @@ FileDialogPanel::FileDialogPanel(QWidget *parent) , m_acceptMode(createCombo(this, acceptModeComboData, sizeof(acceptModeComboData)/sizeof(ComboData))) , m_fileMode(createCombo(this, fileModeComboData, sizeof(fileModeComboData)/sizeof(ComboData))) , m_viewMode(createCombo(this, viewModeComboData, sizeof(viewModeComboData)/sizeof(ComboData))) + , m_allowedSchemes(new QLineEdit(this)) , m_defaultSuffix(new QLineEdit(this)) , m_directory(new QLineEdit(this)) , m_selectedFileName(new QLineEdit(this)) @@ -171,6 +172,7 @@ FileDialogPanel::FileDialogPanel(QWidget *parent) optionsLayout->addRow(tr("AcceptMode:"), m_acceptMode); optionsLayout->addRow(tr("FileMode:"), m_fileMode); optionsLayout->addRow(tr("ViewMode:"), m_viewMode); + optionsLayout->addRow(tr("Allowed Schemes:"), m_allowedSchemes); optionsLayout->addRow(m_native); optionsLayout->addRow(m_confirmOverWrite); optionsLayout->addRow(m_nameFilterDetailsVisible); @@ -216,9 +218,13 @@ FileDialogPanel::FileDialogPanel(QWidget *parent) row = 0; column++; addButton(tr("getOpenFileName"), buttonLayout, row, column, this, SLOT(getOpenFileName())); + addButton(tr("getOpenFileUrl"), buttonLayout, row, column, this, SLOT(getOpenFileUrl())); addButton(tr("getOpenFileNames"), buttonLayout, row, column, this, SLOT(getOpenFileNames())); + addButton(tr("getOpenFileUrls"), buttonLayout, row, column, this, SLOT(getOpenFileUrls())); addButton(tr("getSaveFileName"), buttonLayout, row, column, this, SLOT(getSaveFileName())); + addButton(tr("getSaveFileUrl"), buttonLayout, row, column, this, SLOT(getSaveFileUrl())); addButton(tr("getExistingDirectory"), buttonLayout, row, column, this, SLOT(getExistingDirectory())); + addButton(tr("getExistingDirectoryUrl"), buttonLayout, row, column, this, SLOT(getExistingDirectoryUrl())); addButton(tr("Restore defaults"), buttonLayout, row, column, this, SLOT(restoreDefaults())); // Main layout @@ -319,6 +325,11 @@ QFileDialog::Options FileDialogPanel::options() const return result; } +QStringList FileDialogPanel::allowedSchemes() const +{ + return m_allowedSchemes->text().simplified().split(' ', QString::SkipEmptyParts); +} + void FileDialogPanel::getOpenFileNames() { QString selectedFilter = m_selectedNameFilter->text().trimmed(); @@ -334,6 +345,22 @@ void FileDialogPanel::getOpenFileNames() } } +void FileDialogPanel::getOpenFileUrls() +{ + QString selectedFilter = m_selectedNameFilter->text().trimmed(); + const QList<QUrl> files = + QFileDialog::getOpenFileUrls(this, tr("getOpenFileNames Qt %1").arg(QLatin1String(QT_VERSION_STR)), + QUrl(m_directory->text()), filterString(), &selectedFilter, options(), + allowedSchemes()); + if (!files.isEmpty()) { + QString result; + QDebug(&result).nospace() + << "Files: " << QUrl::toStringList(files) + << "\nName filter: " << selectedFilter; + QMessageBox::information(this, tr("getOpenFileNames"), result, QMessageBox::Ok); + } +} + void FileDialogPanel::getOpenFileName() { QString selectedFilter = m_selectedNameFilter->text().trimmed(); @@ -349,6 +376,22 @@ void FileDialogPanel::getOpenFileName() } } +void FileDialogPanel::getOpenFileUrl() +{ + QString selectedFilter = m_selectedNameFilter->text().trimmed(); + const QUrl file = + QFileDialog::getOpenFileUrl(this, tr("getOpenFileUrl Qt %1").arg(QLatin1String(QT_VERSION_STR)), + QUrl(m_directory->text()), filterString(), &selectedFilter, options(), + allowedSchemes()); + if (file.isValid()) { + QString result; + QDebug(&result).nospace() + << "File: " << file.toString() + << "\nName filter: " << selectedFilter; + QMessageBox::information(this, tr("getOpenFileName"), result, QMessageBox::Ok); + } +} + void FileDialogPanel::getSaveFileName() { QString selectedFilter = m_selectedNameFilter->text().trimmed(); @@ -364,6 +407,22 @@ void FileDialogPanel::getSaveFileName() } } +void FileDialogPanel::getSaveFileUrl() +{ + QString selectedFilter = m_selectedNameFilter->text().trimmed(); + const QUrl file = + QFileDialog::getSaveFileUrl(this, tr("getSaveFileName Qt %1").arg(QLatin1String(QT_VERSION_STR)), + QUrl(m_directory->text()), filterString(), &selectedFilter, options(), + allowedSchemes()); + if (file.isValid()) { + QString result; + QDebug(&result).nospace() + << "File: " << file.toString() + << "\nName filter: " << selectedFilter; + QMessageBox::information(this, tr("getSaveFileNames"), result, QMessageBox::Ok); + } +} + void FileDialogPanel::getExistingDirectory() { const QString dir = @@ -373,12 +432,23 @@ void FileDialogPanel::getExistingDirectory() QMessageBox::information(this, tr("getExistingDirectory"), QLatin1String("Directory: ") + dir, QMessageBox::Ok); } +void FileDialogPanel::getExistingDirectoryUrl() +{ + const QUrl dir = + QFileDialog::getExistingDirectoryUrl(this, tr("getExistingDirectory Qt %1").arg(QLatin1String(QT_VERSION_STR)), + QUrl(m_directory->text()), options() | QFileDialog::ShowDirsOnly, + allowedSchemes()); + if (!dir.isEmpty()) + QMessageBox::information(this, tr("getExistingDirectory"), QLatin1String("Directory: ") + dir.toString(), QMessageBox::Ok); +} + void FileDialogPanel::restoreDefaults() { QFileDialog d; setComboBoxValue(m_acceptMode, d.acceptMode()); setComboBoxValue(m_fileMode, d.fileMode()); setComboBoxValue(m_viewMode, d.viewMode()); + m_allowedSchemes->setText(QString()); m_confirmOverWrite->setChecked(d.confirmOverwrite()); m_nameFilterDetailsVisible->setChecked(d.isNameFilterDetailsVisible()); m_resolveSymLinks->setChecked(d.resolveSymlinks()); diff --git a/tests/manual/dialogs/filedialogpanel.h b/tests/manual/dialogs/filedialogpanel.h index 7ee7cb3f60..601fb7fc51 100644 --- a/tests/manual/dialogs/filedialogpanel.h +++ b/tests/manual/dialogs/filedialogpanel.h @@ -66,9 +66,13 @@ public slots: void deleteNonModalDialog(); void deleteModalDialog(); void getOpenFileNames(); + void getOpenFileUrls(); void getOpenFileName(); + void getOpenFileUrl(); void getSaveFileName(); + void getSaveFileUrl(); void getExistingDirectory(); + void getExistingDirectoryUrl(); void accepted(); void showAcceptedResult(); void restoreDefaults(); @@ -80,6 +84,7 @@ private slots: private: QString filterString() const; QFileDialog::Options options() const; + QStringList allowedSchemes() const; void applySettings(QFileDialog *d) const; QCheckBox *m_readOnly; @@ -90,6 +95,7 @@ private: QComboBox *m_acceptMode; QComboBox *m_fileMode; QComboBox *m_viewMode; + QLineEdit *m_allowedSchemes; QLineEdit *m_defaultSuffix; QLineEdit *m_directory; QLineEdit *m_selectedFileName; |