diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-09-23 15:27:50 +0200 |
---|---|---|
committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-03-07 12:50:41 +0100 |
commit | 79cc3ae201483f42b8b333b29a7924ec1d4e2acd (patch) | |
tree | 79568425e40efa1c870dbf18ca88b8345ff39051 /src/gui/platform/wasm/qlocalfileapi_p.h | |
parent | c6183cfc7b971160b293d7f619bb41045837c0e6 (diff) |
Support filter list for file input when opening a file on WASM
The polyfill for file input on WASM now makes use of the supplied
filter list.
Some changes were introduced in the abstraction for filters so that
they are usable both for the new file API and the legacy file input.
Change-Id: Id6341be4d6a1647e17382d13da7be42491cfaf80
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/gui/platform/wasm/qlocalfileapi_p.h')
-rw-r--r-- | src/gui/platform/wasm/qlocalfileapi_p.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/gui/platform/wasm/qlocalfileapi_p.h b/src/gui/platform/wasm/qlocalfileapi_p.h index a8e7f666f9..b8fa6adb99 100644 --- a/src/gui/platform/wasm/qlocalfileapi_p.h +++ b/src/gui/platform/wasm/qlocalfileapi_p.h @@ -36,12 +36,12 @@ public: ~Extension(); - emscripten::val asVal() const; + const QStringView &value() const { return m_value; } private: explicit Extension(QStringView extension); - emscripten::val m_storage; + QStringView m_value; }; MimeType(); @@ -49,38 +49,42 @@ public: void addExtension(Extension type); - emscripten::val asVal() const; + const std::vector<Extension> &extensions() const { return m_extensions; } private: - emscripten::val m_storage; + std::vector<Extension> m_extensions; }; static std::optional<Accept> fromQt(QStringView type); ~Accept(); - void addMimeType(MimeType mimeType); + void setMimeType(MimeType mimeType); - emscripten::val asVal() const; + const MimeType &mimeType() const { return m_mimeType; } private: Accept(); - emscripten::val m_storage; + MimeType m_mimeType; }; Type(QStringView description, std::optional<Accept> accept); ~Type(); static std::optional<Type> fromQt(QStringView type); - emscripten::val asVal() const; + const QStringView &description() const { return m_description; } + const std::optional<Accept> &accept() const { return m_accept; } private: - emscripten::val m_storage; + QStringView m_description; + std::optional<Accept> m_accept; }; Q_CORE_EXPORT emscripten::val makeOpenFileOptions(const QStringList &filterList, bool acceptMultiple); Q_CORE_EXPORT emscripten::val makeSaveFileOptions(const QStringList &filterList, const std::string& suggestedName); +Q_AUTOTEST_EXPORT std::string makeFileInputAccept(const QStringList &filterList); + } // namespace LocalFileApi QT_END_NAMESPACE |