diff options
author | Valentin Fokin <fokinv@inf.u-szeged.hu> | 2018-01-23 13:46:43 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2018-02-02 07:43:06 +0000 |
commit | 11e90d520a782e1d5da1ed965ab070f868199032 (patch) | |
tree | 531d64f5353e26552038d793ac8195f30d3ce85c /src/webengine/api | |
parent | a66db09c6efe0d4dcc6d6a3cc93a000207da2175 (diff) |
Add EditFlags and MediaFlags to Quick and Widget API
- EditFlags shows the available edit actions
- MediaFlags shows the status and available actions of the current media element
- Update the documentations
- Register ContextMenuRequest 1.1
- Update plugins.qmltypes
[ChangeLog][QtWebEngine][QtWebEngineWidgets] Add EditFlags and MediaFlags to the APIs
Change-Id: Ia7603696a291df5465c5e612adc2456f5f6cb479
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/api')
-rw-r--r-- | src/webengine/api/qquickwebenginecontextmenurequest.cpp | 116 | ||||
-rw-r--r-- | src/webengine/api/qquickwebenginecontextmenurequest_p.h | 38 |
2 files changed, 154 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginecontextmenurequest.cpp b/src/webengine/api/qquickwebenginecontextmenurequest.cpp index c53e28d93..dea89b9ab 100644 --- a/src/webengine/api/qquickwebenginecontextmenurequest.cpp +++ b/src/webengine/api/qquickwebenginecontextmenurequest.cpp @@ -42,6 +42,7 @@ QT_BEGIN_NAMESPACE +// Match MediaType enum ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeNone, QQuickWebEngineContextMenuRequest::MediaTypeNone) ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeImage, @@ -57,6 +58,52 @@ ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypeFile, ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaTypePlugin, QQuickWebEngineContextMenuRequest::MediaTypePlugin) +// Match MediaFlag enum +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaNone, + QQuickWebEngineContextMenuRequest::MediaNone) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaInError, + QQuickWebEngineContextMenuRequest::MediaInError) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaPaused, + QQuickWebEngineContextMenuRequest::MediaPaused) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaMuted, + QQuickWebEngineContextMenuRequest::MediaMuted) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaLoop, + QQuickWebEngineContextMenuRequest::MediaLoop) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaCanSave, + QQuickWebEngineContextMenuRequest::MediaCanSave) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaHasAudio, + QQuickWebEngineContextMenuRequest::MediaHasAudio) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaCanToggleControls, + QQuickWebEngineContextMenuRequest::MediaCanToggleControls) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaControls, + QQuickWebEngineContextMenuRequest::MediaControls) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaCanPrint, + QQuickWebEngineContextMenuRequest::MediaCanPrint) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::MediaCanRotate, + QQuickWebEngineContextMenuRequest::MediaCanRotate) + +// Match EditFlag enum +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanDoNone, + QQuickWebEngineContextMenuRequest::CanDoNone) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanUndo, + QQuickWebEngineContextMenuRequest::CanUndo) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanRedo, + QQuickWebEngineContextMenuRequest::CanRedo) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanCut, + QQuickWebEngineContextMenuRequest::CanCut) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanCopy, + QQuickWebEngineContextMenuRequest::CanCopy) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanPaste, + QQuickWebEngineContextMenuRequest::CanPaste) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanDelete, + QQuickWebEngineContextMenuRequest::CanDelete) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanSelectAll, + QQuickWebEngineContextMenuRequest::CanSelectAll) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanTranslate, + QQuickWebEngineContextMenuRequest::CanTranslate) +ASSERT_ENUMS_MATCH(QtWebEngineCore::WebEngineContextMenuData::CanEditRichly, + QQuickWebEngineContextMenuRequest::CanEditRichly) + /*! \qmltype ContextMenuRequest \instantiates QQuickWebEngineContextMenuRequest @@ -272,4 +319,73 @@ void QQuickWebEngineContextMenuRequest::setAccepted(bool accepted) m_accepted = accepted; } +/*! + \qmlproperty flags ContextMenuRequest::mediaFlags + \readonly + \since QtWebEngine 1.7 + + The current media element's status and its available operations. + \c MediaNone if the selected web page content is not a media element. + + \value ContextMenuRequest.MediaNone + Not a media element. + \value ContextMenuRequest.MediaInError + An error occurred. + \value ContextMenuRequest.MediaPaused + Media is paused. + \value ContextMenuRequest.MediaMuted + Media is muted. + \value ContextMenuRequest.MediaLoop + Media can be looped. + \value ContextMenuRequest.MediaCanSave + Media can be saved. + \value ContextMenuRequest.MediaHasAudio + Media has audio. + \value ContextMenuRequest.MediaCanToggleControls + Media can show controls. + \value ContextMenuRequest.MediaControls + Media controls are shown. + \value ContextMenuRequest.MediaCanPrint + Media is printable. + \value ContextMenuRequest.MediaCanRotate + Media is rotatable. +*/ +QQuickWebEngineContextMenuRequest::MediaFlags QQuickWebEngineContextMenuRequest::mediaFlags() const +{ + return static_cast<QQuickWebEngineContextMenuRequest::MediaFlags>(m_data->mediaFlags()); +} + +/*! + \qmlproperty flags ContextMenuRequest::editFlags + \readonly + \since QtWebEngine 1.7 + + The available edit operations in the current context or \c CanDoNone if no actions are available. + + \value ContextMenuRequest.CanDoNone + Nothing can be done. + \value ContextMenuRequest.CanUndo + Undo is available. + \value ContextMenuRequest.CanRedo + Redo is available. + \value ContextMenuRequest.CanCut + Cut is available. + \value ContextMenuRequest.CanCopy + Copy is available. + \value ContextMenuRequest.CanPaste + Paste is available. + \value ContextMenuRequest.CanDelete + Delete is available. + \value ContextMenuRequest.CanSelectAll + Select All is available. + \value ContextMenuRequest.CanTranslate + Translate is available. + \value ContextMenuRequest.CanEditRichly + Context is richly editable. +*/ +QQuickWebEngineContextMenuRequest::EditFlags QQuickWebEngineContextMenuRequest::editFlags() const +{ + return static_cast<QQuickWebEngineContextMenuRequest::EditFlags>(m_data->editFlags()); +} + QT_END_NAMESPACE diff --git a/src/webengine/api/qquickwebenginecontextmenurequest_p.h b/src/webengine/api/qquickwebenginecontextmenurequest_p.h index 3d2de14a2..5f0b0c282 100644 --- a/src/webengine/api/qquickwebenginecontextmenurequest_p.h +++ b/src/webengine/api/qquickwebenginecontextmenurequest_p.h @@ -75,6 +75,38 @@ public: }; Q_ENUM(MediaType) + // Must match QWebEngineCore::WebEngineContextMenuData::MediaFlags: + enum MediaFlag { + MediaNone = 0x0, + MediaInError = 0x1, + MediaPaused = 0x2, + MediaMuted = 0x4, + MediaLoop = 0x8, + MediaCanSave = 0x10, + MediaHasAudio = 0x20, + MediaCanToggleControls = 0x40, + MediaControls = 0x80, + MediaCanPrint = 0x100, + MediaCanRotate = 0x200, + }; + Q_DECLARE_FLAGS(MediaFlags, MediaFlag) + + + // Must match QWebEngineCore::WebEngineContextMenuData::EditFlags: + enum EditFlag { + CanDoNone = 0x0, + CanUndo = 0x1, + CanRedo = 0x2, + CanCut = 0x4, + CanCopy = 0x8, + CanPaste = 0x10, + CanDelete = 0x20, + CanSelectAll = 0x40, + CanTranslate = 0x80, + CanEditRichly = 0x100, + }; + Q_DECLARE_FLAGS(EditFlags, EditFlag) + Q_PROPERTY(int x READ x CONSTANT FINAL) Q_PROPERTY(int y READ y CONSTANT FINAL) Q_PROPERTY(QString selectedText READ selectedText CONSTANT FINAL) @@ -86,6 +118,8 @@ public: Q_PROPERTY(QString misspelledWord READ misspelledWord CONSTANT FINAL) Q_PROPERTY(QStringList spellCheckerSuggestions READ spellCheckerSuggestions CONSTANT FINAL) Q_PROPERTY(bool accepted READ isAccepted WRITE setAccepted FINAL) + Q_PROPERTY(MediaFlags mediaFlags READ mediaFlags CONSTANT FINAL REVISION 1) + Q_PROPERTY(EditFlags editFlags READ editFlags CONSTANT FINAL REVISION 1) ~QQuickWebEngineContextMenuRequest(); int x() const; @@ -100,11 +134,15 @@ public: QStringList spellCheckerSuggestions() const; bool isAccepted() const; void setAccepted(bool accepted); + MediaFlags mediaFlags() const; + EditFlags editFlags() const; private: QQuickWebEngineContextMenuRequest(const QtWebEngineCore::WebEngineContextMenuData &data, QObject *parent = nullptr); QScopedPointer<QtWebEngineCore::WebEngineContextMenuData> m_data; bool m_accepted; + Q_FLAGS(MediaFlags) + Q_FLAGS(EditFlags) friend class QQuickWebEngineView; friend class QQuickWebEngineViewPrivate; Q_DISABLE_COPY(QQuickWebEngineContextMenuRequest) |