aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/PySide6')
-rw-r--r--sources/pyside6/PySide6/QtCore/typesystem_core_common.xml14
-rw-r--r--sources/pyside6/PySide6/glue/qtcore.cpp8
2 files changed, 21 insertions, 1 deletions
diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
index 5e1cc8daf..0e5d8a1a1 100644
--- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
+++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
@@ -150,7 +150,6 @@
<rejection class="*" argument-type="Qt::Initialization"/>
<rejection class="*" argument-type="FILE*"/>
- <rejection class="*" argument-type="std::chrono::milliseconds"/>
<rejection class="*" argument-type="^std::nullptr_t&amp;?$"/>
<rejection class="*" argument-type="^std::initializer_list&lt;.*$"/>
@@ -196,6 +195,19 @@
<primitive-type name="Qt::HANDLE" target-lang-api-name="PyLong"/>
<?endif?>
+ <primitive-type name="std::chrono::milliseconds" target-lang-api-name="PyLong">
+ <extra-includes>
+ <include file-name="chrono" location="global"/>
+ </extra-includes>
+ <conversion-rule>
+ <native-to-target file="../glue/qtcore.cpp" snippet="chrono-to-pylong"/>
+ <target-to-native>
+ <add-conversion type="PyLong" file="../glue/qtcore.cpp"
+ snippet="pylong-to-chrono-milliseconds"/>
+ </target-to-native>
+ </conversion-rule>
+ </primitive-type>
+
<!-- Qt5: add the new pointer-ish types -->
<primitive-type name="qintptr" target-lang-api-name="PyLong">
<conversion-rule>
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp
index da8442d14..e739e05eb 100644
--- a/sources/pyside6/PySide6/glue/qtcore.cpp
+++ b/sources/pyside6/PySide6/glue/qtcore.cpp
@@ -1609,6 +1609,14 @@ return PyBool_FromLong((bool)%in);
return PyBytes_FromStringAndSize(%in.constData(), %in.size());
// @snippet return-pybytes
+// @snippet chrono-to-pylong
+return PyLong_FromLong(%in.count());
+// @snippet chrono-to-pylong
+
+// @snippet pylong-to-chrono-milliseconds
+%out = %OUTTYPE(PyLong_AsLongLong(%in));
+// @snippet pylong-to-chrono-milliseconds
+
// @snippet return-pylong
return PyLong_FromLong(%in);
// @snippet return-pylong