aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorShyamnath Premnadh <Shyamnath.Premnadh@qt.io>2022-05-09 00:42:57 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-05-18 15:42:58 +0000
commit9fe9c110c5a951f4440015f2a36ac9bc949cd6cc (patch)
tree8bb0b6c4b0b4914921310be872c4fe4a8c82f6bf /sources/pyside6
parent06dd32d94cfc452b2d199d525455af6397f77f3a (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.xml3
-rw-r--r--sources/pyside6/PySide6/glue/qtwebenginecore.cpp17
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