From 1935a56182152775c6c83c7a22903b5cdeab5a1a Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 13 Jun 2013 13:01:14 +0200 Subject: [PATCH] Stop using v4classgen for QQmlLocale It's easy enough now to just define the properties by hand. Change-Id: I6a053bf22f606280d21e9985928d7c69252611d4 Reviewed-by: Lars Knoll --- src/qml/qml/qml.pri | 3 --- src/qml/qml/qqmllocale.cpp | 37 +++++++++++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/qml/qml/qml.pri b/src/qml/qml/qml.pri index 663cf2a..680e317 100644 --- a/src/qml/qml/qml.pri +++ b/src/qml/qml/qml.pri @@ -134,9 +134,6 @@ HEADERS += \ $$PWD/qqmlvaluetypewrapper_p.h \ $$PWD/qqmltypewrapper_p.h -JS_CLASS_SOURCES += \ - $$PWD/qqmllocale.cpp - include(parser/parser.pri) include(rewriter/rewriter.pri) include(ftw/ftw.pri) diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp index 69ce403..1f4503b 100644 --- a/src/qml/qml/qqmllocale.cpp +++ b/src/qml/qml/qqmllocale.cpp @@ -54,10 +54,9 @@ QT_BEGIN_NAMESPACE -class QV4_JS_CLASS(QQmlLocaleData) : public QV4::Object +class QQmlLocaleData : public QV4::Object { Q_MANAGED - QV4_ANNOTATE(managedTypeName QmlLocale staticInitClass true) public: QQmlLocaleData(QV4::ExecutionEngine *engine) : QV4::Object(engine) @@ -75,8 +74,6 @@ public: return thisObject->locale; } - static void initClass(QV4::ExecutionEngine *engine, const QV4::Value &obj); - static QV4::Value method_currencySymbol(QV4::SimpleCallContext *ctx); static QV4::Value method_dateTimeFormat(QV4::SimpleCallContext *ctx); static QV4::Value method_timeFormat(QV4::SimpleCallContext *ctx); @@ -671,8 +668,34 @@ public: QV8LocaleDataDeletable::QV8LocaleDataDeletable(QV8Engine *engine) { QV4::ExecutionEngine *eng = QV8Engine::getV4(engine); - prototype = QV4::Value::fromObject(eng->newObject()); - QQmlLocaleData::initClass(eng, prototype.value()); + QV4::Object *o = eng->newObject(); + prototype = QV4::Value::fromObject(o); + + o->defineDefaultProperty(eng, QStringLiteral("dateFormat"), QQmlLocaleData::method_dateFormat, 0); + o->defineDefaultProperty(eng, QStringLiteral("standaloneDayName"), QQmlLocaleData::method_standaloneDayName, 0); + o->defineDefaultProperty(eng, QStringLiteral("standaloneMonthName"), QQmlLocaleData::method_standaloneMonthName, 0); + o->defineDefaultProperty(eng, QStringLiteral("dayName"), QQmlLocaleData::method_dayName, 0); + o->defineDefaultProperty(eng, QStringLiteral("timeFormat"), QQmlLocaleData::method_timeFormat, 0); + o->defineDefaultProperty(eng, QStringLiteral("monthName"), QQmlLocaleData::method_monthName, 0); + o->defineDefaultProperty(eng, QStringLiteral("currencySymbol"), QQmlLocaleData::method_currencySymbol, 0); + o->defineDefaultProperty(eng, QStringLiteral("dateTimeFormat"), QQmlLocaleData::method_dateTimeFormat, 0); + o->defineAccessorProperty(eng, QStringLiteral("name"), QQmlLocaleData::method_get_name, 0); + o->defineAccessorProperty(eng, QStringLiteral("positiveSign"), QQmlLocaleData::method_get_positiveSign, 0); + o->defineAccessorProperty(eng, QStringLiteral("uiLanguages"), QQmlLocaleData::method_get_uiLanguages, 0); + o->defineAccessorProperty(eng, QStringLiteral("firstDayOfWeek"), QQmlLocaleData::method_get_firstDayOfWeek, 0); + o->defineAccessorProperty(eng, QStringLiteral("pmText"), QQmlLocaleData::method_get_pmText, 0); + o->defineAccessorProperty(eng, QStringLiteral("percent"), QQmlLocaleData::method_get_percent, 0); + o->defineAccessorProperty(eng, QStringLiteral("textDirection"), QQmlLocaleData::method_get_textDirection, 0); + o->defineAccessorProperty(eng, QStringLiteral("weekDays"), QQmlLocaleData::method_get_weekDays, 0); + o->defineAccessorProperty(eng, QStringLiteral("negativeSign"), QQmlLocaleData::method_get_negativeSign, 0); + o->defineAccessorProperty(eng, QStringLiteral("groupSeparator"), QQmlLocaleData::method_get_groupSeparator, 0); + o->defineAccessorProperty(eng, QStringLiteral("decimalPoint"), QQmlLocaleData::method_get_decimalPoint, 0); + o->defineAccessorProperty(eng, QStringLiteral("nativeLanguageName"), QQmlLocaleData::method_get_nativeLanguageName, 0); + o->defineAccessorProperty(eng, QStringLiteral("nativeCountryName"), QQmlLocaleData::method_get_nativeCountryName, 0); + o->defineAccessorProperty(eng, QStringLiteral("zeroDigit"), QQmlLocaleData::method_get_zeroDigit, 0); + o->defineAccessorProperty(eng, QStringLiteral("amText"), QQmlLocaleData::method_get_amText, 0); + o->defineAccessorProperty(eng, QStringLiteral("measurementSystem"), QQmlLocaleData::method_get_measurementSystem, 0); + o->defineAccessorProperty(eng, QStringLiteral("exponential"), QQmlLocaleData::method_get_exponential, 0); } QV8LocaleDataDeletable::~QV8LocaleDataDeletable() @@ -1048,6 +1071,4 @@ QV4::Value QQmlLocale::localeCompare(QV4::SimpleCallContext *ctx) \endlist */ -#include "qqmllocale_jsclass.cpp" - QT_END_NAMESPACE -- 2.7.4