if (!args.This()->IsDate())
return QV4::Value::undefinedValue();
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(args.This())->NumberValue());
+ QDateTime dt = args.This()->v4Value().asDateObject()->toQDateTime();
if (args.Length() == 0) {
// Use QLocale for standard toLocaleString() function
if (!args.This()->IsDate())
return QV4::Value::undefinedValue();
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(args.This())->NumberValue());
+ QDateTime dt = args.This()->v4Value().asDateObject()->toQDateTime();;
QTime time = dt.time();
if (args.Length() == 0) {
if (!args.This()->IsDate())
return QV4::Value::undefinedValue();
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(args.This())->NumberValue());
+ QDateTime dt = args.This()->v4Value().asDateObject()->toQDateTime();;
QDate date = dt.date();
if (args.Length() == 0) {
if (value.isString())
return value.stringValue()->toQString();
if (QV4::DateObject *d = value.asDateObject())
- return qtDateTimeFromJsDate(d->value.doubleValue());
+ return d->toQDateTime();
// NOTE: since we convert QTime to JS Date, round trip will change the variant type (to QDateTime)!
Q_ASSERT(value.isObject());
m_extensionData[index] = data;
}
-QDateTime QV8Engine::qtDateTimeFromJsDate(double jsDate)
-{
- if (qIsNaN(jsDate))
- return QDateTime();
-
- return QDateTime::fromMSecsSinceEpoch(jsDate);
-}
-
v8::Persistent<v8::Object> *QV8Engine::findOwnerAndStrength(QObject *object, bool *shouldBeStrong)
{
QQmlData *data = QQmlData::get(object);
QObject *qtObjectFromJS(const QV4::Value &value);
- static QDateTime qtDateTimeFromJsDate(double jsDate);
-
void addRelationshipForGC(QObject *object, v8::Persistent<v8::Value> handle);
void addRelationshipForGC(QObject *object, QObject *other);
#include <private/qqmlengine_p.h>
#include <private/qv4object_p.h>
+#include <private/qv4dateobject_p.h>
#include <qqmlcontext.h>
#include <qqmlinfo.h>
roleIndex = e->setBoolProperty(r, propertyValue->BooleanValue());
} else if (propertyValue->IsDate()) {
const ListLayout::Role &r = m_layout->getRoleOrCreate(propertyName, ListLayout::Role::DateTime);
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(propertyValue)->NumberValue());
+ QDateTime dt = propertyValue->v4Value().asDateObject()->toQDateTime();
roleIndex = e->setDateTimeProperty(r, dt);
} else if (propertyValue->IsObject()) {
QV8ObjectResource *r = (QV8ObjectResource *) propertyValue->ToObject()->GetExternalResource();
} else if (propertyValue->IsDate()) {
const ListLayout::Role &r = m_layout->getRoleOrCreate(propertyName, ListLayout::Role::DateTime);
if (r.type == ListLayout::Role::DateTime) {
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(propertyValue)->NumberValue());
+ QDateTime dt = propertyValue->v4Value().asDateObject()->toQDateTime();;
e->setDateTimePropertyFast(r, dt);
}
} else if (propertyValue->IsObject()) {
} else if (d->IsBoolean()) {
roleIndex = setBoolProperty(role, d->BooleanValue());
} else if (d->IsDate()) {
- QDateTime dt = QV8Engine::qtDateTimeFromJsDate(v8::Handle<v8::Date>::Cast(d)->NumberValue());
+ QDateTime dt = d->v4Value().asDateObject()->toQDateTime();;
roleIndex = setDateTimeProperty(role, dt);
} else if (d->IsObject()) {
QV8ObjectResource *r = (QV8ObjectResource *) d->ToObject()->GetExternalResource();