diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2021-01-29 13:43:37 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2021-02-01 14:02:24 +0100 |
commit | a052487c9ccd3697d487f3936f2cfa5b8088edd1 (patch) | |
tree | f9f3dfe59aaf1b4ac9ccd5a3683d7bc5ab8bf264 /src | |
parent | 4e36c03112e62f3d65391b21c5574cae1a0050c6 (diff) |
Use QDateTime as internal name for the builtin date type
The internal name serves as hint to the C++ class. This is the same
as the internal name of url, for example. The internal name is not
exposed to QML. So, from a language perspective, we can choose any name
there.
All the JavaScript methods of the Date prototype are not actually
available on QDateTime. Due to the magic conversions the QML engine does
in the background, much of them work in practice. Yet, when generating
C++ code, we would need another conversion step to make them available.
In order to express part of this, we introduce a second type for the
JavaScript Date object. In the future we might link them via some
"converts to" property. Then tools could know that creating a
QJSManagedValue from a QDateTime (or QUrl etc) results in a richer API
with additional methods.
Change-Id: I13f66a37d985dbd3581d8bb84937adbbc31286fd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/builtins/builtins.qmltypes | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/src/imports/builtins/builtins.qmltypes b/src/imports/builtins/builtins.qmltypes index 53c97e5b20..4d493193dc 100644 --- a/src/imports/builtins/builtins.qmltypes +++ b/src/imports/builtins/builtins.qmltypes @@ -1348,7 +1348,7 @@ Module { Method { name: "setDate" - type: "date" + type: "Date" Parameter { name: "date" @@ -1359,7 +1359,7 @@ Module { Method { name: "setFullYear" - type: "date" + type: "Date" Parameter { name: "year" @@ -1380,7 +1380,7 @@ Module { Method { name: "setHours" - type: "date" + type: "Date" Parameter { name: "hour" @@ -1406,7 +1406,7 @@ Module { Method { name: "setMilliseconds" - type: "date" + type: "Date" Parameter { name: "ms" @@ -1417,7 +1417,7 @@ Module { Method { name: "setMinutes" - type: "date" + type: "Date" Parameter { name: "min" @@ -1438,7 +1438,7 @@ Module { Method { name: "setMonth" - type: "date" + type: "Date" Parameter { name: "month" @@ -1454,7 +1454,7 @@ Module { Method { name: "setSeconds" - type: "date" + type: "Date" Parameter { name: "seconds" @@ -1470,7 +1470,7 @@ Module { Method { name: "setTime" - type: "date" + type: "Date" Parameter { name: "time" @@ -1481,7 +1481,7 @@ Module { Method { name: "setUTCDate" - type: "date" + type: "Date" Parameter { name: "date" @@ -1492,7 +1492,7 @@ Module { Method { name: "setUTCFullYear" - type: "date" + type: "Date" Parameter { name: "year" @@ -1513,7 +1513,7 @@ Module { Method { name: "setUTCHours" - type: "date" + type: "Date" Parameter { name: "hour" @@ -1539,7 +1539,7 @@ Module { Method { name: "setUTCMilliseconds" - type: "date" + type: "Date" Parameter { name: "ms" @@ -1550,7 +1550,7 @@ Module { Method { name: "setUTCMinutes" - type: "date" + type: "Date" Parameter { name: "min" @@ -1571,7 +1571,7 @@ Module { Method { name: "setUTCMonth" - type: "date" + type: "Date" Parameter { name: "month" @@ -1587,7 +1587,7 @@ Module { Method { name: "setUTCSeconds" - type: "date" + type: "Date" Parameter { name: "seconds" @@ -1703,14 +1703,18 @@ Module { Method { name: "valueOf" - type: "date" + type: "Date" } } Component { - name: "date" + name: "Date" prototype: "DatePrototype" + } + + Component { + name: "QDateTime" exports: ["QML/date 1.0"] exportMetaObjectRevisions: [256] accessSemantics: "value" |