diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qplatformdialoghelper.cpp | 17 | ||||
-rw-r--r-- | src/gui/kernel/qplatformdialoghelper.h | 27 |
2 files changed, 26 insertions, 18 deletions
diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp index 0ee8e8b4aa..74442736c3 100644 --- a/src/gui/kernel/qplatformdialoghelper.cpp +++ b/src/gui/kernel/qplatformdialoghelper.cpp @@ -376,9 +376,9 @@ public: QStringList nameFilters; QString defaultSuffix; QStringList history; - QString initialDirectory; + QUrl initialDirectory; QString initiallySelectedNameFilter; - QStringList initiallySelectedFiles; + QList<QUrl> initiallySelectedFiles; }; QFileDialogOptions::QFileDialogOptions() : d(new QFileDialogOptionsPrivate) @@ -530,12 +530,12 @@ bool QFileDialogOptions::isLabelExplicitlySet(DialogLabel label) return label >= 0 && label < DialogLabelCount && !d->labels[label].isEmpty(); } -QString QFileDialogOptions::initialDirectory() const +QUrl QFileDialogOptions::initialDirectory() const { return d->initialDirectory; } -void QFileDialogOptions::setInitialDirectory(const QString &directory) +void QFileDialogOptions::setInitialDirectory(const QUrl &directory) { d->initialDirectory = directory; } @@ -550,16 +550,21 @@ void QFileDialogOptions::setInitiallySelectedNameFilter(const QString &filter) d->initiallySelectedNameFilter = filter; } -QStringList QFileDialogOptions::initiallySelectedFiles() const +QList<QUrl> QFileDialogOptions::initiallySelectedFiles() const { return d->initiallySelectedFiles; } -void QFileDialogOptions::setInitiallySelectedFiles(const QStringList &files) +void QFileDialogOptions::setInitiallySelectedFiles(const QList<QUrl> &files) { d->initiallySelectedFiles = files; } +bool QPlatformFileDialogHelper::isSupportedUrl(const QUrl &url) const +{ + return url.isLocalFile(); +} + /*! \class QPlatformFileDialogHelper \since 5.0 diff --git a/src/gui/kernel/qplatformdialoghelper.h b/src/gui/kernel/qplatformdialoghelper.h index 7412bdbec3..092839aaed 100644 --- a/src/gui/kernel/qplatformdialoghelper.h +++ b/src/gui/kernel/qplatformdialoghelper.h @@ -57,6 +57,7 @@ #include <QtCore/QSharedDataPointer> #include <QtCore/QSharedPointer> #include <QtCore/QDir> +#include <QtCore/QUrl> #include <QtGui/QRgb> QT_BEGIN_NAMESPACE @@ -275,14 +276,14 @@ public: QString labelText(DialogLabel label) const; bool isLabelExplicitlySet(DialogLabel label); - QString initialDirectory() const; - void setInitialDirectory(const QString &); + QUrl initialDirectory() const; + void setInitialDirectory(const QUrl &); QString initiallySelectedNameFilter() const; void setInitiallySelectedNameFilter(const QString &); - QStringList initiallySelectedFiles() const; - void setInitiallySelectedFiles(const QStringList &); + QList<QUrl> initiallySelectedFiles() const; + void setInitiallySelectedFiles(const QList<QUrl> &); private: QSharedDataPointer<QFileDialogOptionsPrivate> d; @@ -295,14 +296,16 @@ class Q_GUI_EXPORT QPlatformFileDialogHelper : public QPlatformDialogHelper Q_OBJECT public: virtual bool defaultNameFilterDisables() const = 0; - virtual void setDirectory(const QString &directory) = 0; - virtual QString directory() const = 0; - virtual void selectFile(const QString &filename) = 0; - virtual QStringList selectedFiles() const = 0; + virtual void setDirectory(const QUrl &directory) = 0; + virtual QUrl directory() const = 0; + virtual void selectFile(const QUrl &filename) = 0; + virtual QList<QUrl> selectedFiles() const = 0; virtual void setFilter() = 0; virtual void selectNameFilter(const QString &filter) = 0; virtual QString selectedNameFilter() const = 0; + virtual bool isSupportedUrl(const QUrl &url) const; + const QSharedPointer<QFileDialogOptions> &options() const; void setOptions(const QSharedPointer<QFileDialogOptions> &options); @@ -310,10 +313,10 @@ public: static const char *filterRegExp; Q_SIGNALS: - void fileSelected(const QString &file); - void filesSelected(const QStringList &files); - void currentChanged(const QString &path); - void directoryEntered(const QString &directory); + void fileSelected(const QUrl &file); + void filesSelected(const QList<QUrl> &files); + void currentChanged(const QUrl &path); + void directoryEntered(const QUrl &directory); void filterSelected(const QString &filter); private: |