diff options
Diffstat (limited to 'src/qml/qml/qqmllocale_p.h')
-rw-r--r-- | src/qml/qml/qqmllocale_p.h | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/src/qml/qml/qqmllocale_p.h b/src/qml/qml/qqmllocale_p.h index 8ca67a8c83..1f26f1834f 100644 --- a/src/qml/qml/qqmllocale_p.h +++ b/src/qml/qml/qqmllocale_p.h @@ -118,7 +118,8 @@ public: Saturday = Qt::Saturday }; - static QV4::ReturnedValue locale(QV8Engine *v8engine, const QString &lang); + static QV4::ReturnedValue locale(QV8Engine *v8engine, const QString &localeName); + static QV4::ReturnedValue wrap(QV8Engine *engine, const QLocale &locale); static void registerStringLocaleCompare(QV4::ExecutionEngine *engine); @@ -128,6 +129,61 @@ private: static QV4::ReturnedValue method_localeCompare(QV4::CallContext *ctx); }; +class QQmlLocaleData : public QV4::Object +{ + Q_MANAGED +public: + QQmlLocaleData(QV4::ExecutionEngine *engine) + : QV4::Object(engine) + { + setVTable(&static_vtbl); + } + + QLocale locale; + + static QLocale *getThisLocale(QV4::CallContext *ctx) { + QQmlLocaleData *thisObject = ctx->callData->thisObject.asObject()->as<QQmlLocaleData>(); + if (!thisObject) { + ctx->throwTypeError(); + return 0; + } + return &thisObject->locale; + } + + static QV4::ReturnedValue method_currencySymbol(QV4::CallContext *ctx); + static QV4::ReturnedValue method_dateTimeFormat(QV4::CallContext *ctx); + static QV4::ReturnedValue method_timeFormat(QV4::CallContext *ctx); + static QV4::ReturnedValue method_dateFormat(QV4::CallContext *ctx); + static QV4::ReturnedValue method_monthName(QV4::CallContext *ctx); + static QV4::ReturnedValue method_standaloneMonthName(QV4::CallContext *ctx); + static QV4::ReturnedValue method_dayName(QV4::CallContext *ctx); + static QV4::ReturnedValue method_standaloneDayName(QV4::CallContext *ctx); + + static QV4::ReturnedValue method_get_firstDayOfWeek(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_measurementSystem(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_textDirection(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_weekDays(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_uiLanguages(QV4::CallContext *ctx); + + static QV4::ReturnedValue method_get_name(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_nativeLanguageName(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_nativeCountryName(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_decimalPoint(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_groupSeparator(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_percent(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_zeroDigit(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_negativeSign(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_positiveSign(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_exponential(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_amText(QV4::CallContext *ctx); + static QV4::ReturnedValue method_get_pmText(QV4::CallContext *ctx); + +private: + static void destroy(Managed *that) + { + static_cast<QQmlLocaleData *>(that)->~QQmlLocaleData(); + } +}; QT_END_NAMESPACE |