diff options
author | Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> | 2022-05-09 00:42:57 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-05-18 15:42:58 +0000 |
commit | 9fe9c110c5a951f4440015f2a36ac9bc949cd6cc (patch) | |
tree | 8bb0b6c4b0b4914921310be872c4fe4a8c82f6bf /sources/pyside6 | |
parent | 06dd32d94cfc452b2d199d525455af6397f77f3a (diff) |
webenginecore - QtWebEngineProfile setNotificationPresenter
- added setNotificationPresenter(...)
- added QtWebEngineWidgets Notifications example which uses
setNotificationPresenter
Task-number: PYSIDE-1912
Change-Id: Ib8fdf7879d6e54bcae47dcc89be6bd5a861a8846
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit cd394249fc77063a2bd6ba7a7633fdbc10621475)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'sources/pyside6')
-rw-r--r-- | sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml | 3 | ||||
-rw-r--r-- | sources/pyside6/PySide6/glue/qtwebenginecore.cpp | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml b/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml index 478621736..9514100e4 100644 --- a/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml +++ b/sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml @@ -111,6 +111,9 @@ <object-type name="QWebEngineProfile"> <enum-type name="HttpCacheType"/> <enum-type name="PersistentCookiesPolicy"/> + <add-function signature="setNotificationPresenter(PyCallable* @notificationPresenter@)"> + <inject-code class="target" position="beginning" file="../glue/qtwebenginecore.cpp" snippet="qwebengineprofile-setnotificationpresenter"/> + </add-function> </object-type> <object-type name="QWebEngineNewWindowRequest"> diff --git a/sources/pyside6/PySide6/glue/qtwebenginecore.cpp b/sources/pyside6/PySide6/glue/qtwebenginecore.cpp index 41fe99440..a0a08af40 100644 --- a/sources/pyside6/PySide6/glue/qtwebenginecore.cpp +++ b/sources/pyside6/PySide6/glue/qtwebenginecore.cpp @@ -53,3 +53,20 @@ auto callback = [callable](const QWebEngineCookieStore::FilterRequest& filterReq }; %CPPSELF.%FUNCTION_NAME(callback); // @snippet qwebenginecookiestore-setcookiefilter + +// @snippet qwebengineprofile-setnotificationpresenter +auto callable = %PYARG_1; +auto callback = [callable](std::unique_ptr<QWebEngineNotification> webEngineNotification) -> void +{ + Shiboken::GilState state; + Shiboken::AutoDecRef arglist(PyTuple_New(1)); + PyTuple_SET_ITEM(arglist.object(), 0, + Shiboken::Conversions::pointerToPython( + SbkPySide6_QtWebEngineCoreTypes[SBK_QWEBENGINENOTIFICATION_IDX], + webEngineNotification.release())); + Py_INCREF(callable); + PyObject_CallObject(callable, arglist); + Py_DECREF(callable); +}; +%CPPSELF.%FUNCTION_NAME(callback); +// @snippet qwebengineprofile-setnotificationpresenter |