diff options
Diffstat (limited to 'src/gui/kernel/qplatformdialoghelper.cpp')
-rw-r--r-- | src/gui/kernel/qplatformdialoghelper.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp index 3d37088182..f69efe0935 100644 --- a/src/gui/kernel/qplatformdialoghelper.cpp +++ b/src/gui/kernel/qplatformdialoghelper.cpp @@ -36,7 +36,6 @@ #include <QtCore/QVariant> #include <QtCore/QSharedData> #include <QtCore/QSettings> -#include <QtCore/QHash> #include <QtCore/QUrl> #include <QtGui/QColor> @@ -120,6 +119,8 @@ static const int buttonRoleLayouts[2][5][14] = QPlatformDialogHelper::QPlatformDialogHelper() { + qRegisterMetaType<StandardButton>(); + qRegisterMetaType<ButtonRole>(); } QPlatformDialogHelper::~QPlatformDialogHelper() @@ -423,6 +424,7 @@ public: QUrl initialDirectory; QString initiallySelectedNameFilter; QList<QUrl> initiallySelectedFiles; + QStringList supportedSchemes; }; QFileDialogOptions::QFileDialogOptions() : d(new QFileDialogOptionsPrivate) @@ -614,6 +616,18 @@ void QFileDialogOptions::setInitiallySelectedFiles(const QList<QUrl> &files) d->initiallySelectedFiles = files; } +// Schemes supported by the application +void QFileDialogOptions::setSupportedSchemes(const QStringList &schemes) +{ + d->supportedSchemes = schemes; +} + +QStringList QFileDialogOptions::supportedSchemes() const +{ + return d->supportedSchemes; +} + +// Return true if the URL is supported by the filedialog implementation *and* by the application. bool QPlatformFileDialogHelper::isSupportedUrl(const QUrl &url) const { return url.isLocalFile(); @@ -639,12 +653,13 @@ void QPlatformFileDialogHelper::setOptions(const QSharedPointer<QFileDialogOptio } const char *QPlatformFileDialogHelper::filterRegExp = -"^(.*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$"; +"^(.*)\\(([a-zA-Z0-9_.,*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$"; // Makes a list of filters from a normal filter string "Image Files (*.png *.jpg)" QStringList QPlatformFileDialogHelper::cleanFilterList(const QString &filter) { QRegExp regexp(QString::fromLatin1(filterRegExp)); + Q_ASSERT(regexp.isValid()); QString f = filter; int i = regexp.indexIn(f); if (i >= 0) |