aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmllocale.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-05-07 11:22:52 +0200
committerLars Knoll <lars.knoll@digia.com>2013-05-07 12:28:58 +0200
commit5963aead75991ea8b0fded251e18ef75f099ab8f (patch)
tree17d6fdcb52fc1d59fa2ab3037121c679b9dd20aa /src/qml/qml/qqmllocale.cpp
parent40d2e435cfa29ba7465adc0486e6dabcdfc49773 (diff)
More steps towards eliminating the v8 layer
* Changed the return type of the InvocationCallback from a v8 handle to a QV4::Value * Removed v4 auto tests and fixed build of other tests Change-Id: Ic927b925923ca8785170689a5c260969fd1cb794 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmllocale.cpp')
-rw-r--r--src/qml/qml/qqmllocale.cpp96
1 files changed, 48 insertions, 48 deletions
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp
index cd3b40b02d..3bb91a3079 100644
--- a/src/qml/qml/qqmllocale.cpp
+++ b/src/qml/qml/qqmllocale.cpp
@@ -63,7 +63,7 @@ public:
#define GET_LOCALE_DATA_RESOURCE(OBJECT) \
QV8LocaleDataResource *r = v8_resource_cast<QV8LocaleDataResource>(OBJECT); \
if (!r) \
- V8THROW_ERROR("Not a valid Locale object")
+ V4THROW_ERROR("Not a valid Locale object")
static bool isLocaleObject(v8::Handle<v8::Value> val)
{
@@ -161,7 +161,7 @@ void QQmlDateExtension::registerExtension(QV8Engine *engine)
registerFunction(engine, dateTimeZoneUpdatedFunction, timeZoneUpdated);
}
-v8::Handle<v8::Value> QQmlDateExtension::toLocaleString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::toLocaleString(const v8::Arguments& args)
{
if (args.Length() > 2)
return QV4::Value::undefinedValue();
@@ -193,7 +193,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleString(const v8::Arguments& arg
QLocale::FormatType format = QLocale::FormatType(intFormat);
formattedDt = r->locale.toString(dt, format);
} else {
- V8THROW_ERROR("Locale: Date.toLocaleString(): Invalid datetime format");
+ V4THROW_ERROR("Locale: Date.toLocaleString(): Invalid datetime format");
}
} else {
formattedDt = r->locale.toString(dt, enumFormat);
@@ -202,7 +202,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleString(const v8::Arguments& arg
return r->engine->toString(formattedDt);
}
-v8::Handle<v8::Value> QQmlDateExtension::toLocaleTimeString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::toLocaleTimeString(const v8::Arguments& args)
{
if (args.Length() > 2)
return QV4::Value::undefinedValue();
@@ -235,7 +235,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleTimeString(const v8::Arguments&
QLocale::FormatType format = QLocale::FormatType(intFormat);
formattedTime = r->locale.toString(time, format);
} else {
- V8THROW_ERROR("Locale: Date.toLocaleTimeString(): Invalid time format");
+ V4THROW_ERROR("Locale: Date.toLocaleTimeString(): Invalid time format");
}
} else {
formattedTime = r->locale.toString(time, enumFormat);
@@ -244,7 +244,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleTimeString(const v8::Arguments&
return r->engine->toString(formattedTime);
}
-v8::Handle<v8::Value> QQmlDateExtension::toLocaleDateString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::toLocaleDateString(const v8::Arguments& args)
{
if (args.Length() > 2)
return QV4::Value::undefinedValue();
@@ -277,7 +277,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleDateString(const v8::Arguments&
QLocale::FormatType format = QLocale::FormatType(intFormat);
formattedDate = r->locale.toString(date, format);
} else {
- V8THROW_ERROR("Locale: Date.loLocaleDateString(): Invalid date format");
+ V4THROW_ERROR("Locale: Date.loLocaleDateString(): Invalid date format");
}
} else {
formattedDate = r->locale.toString(date, enumFormat);
@@ -286,7 +286,7 @@ v8::Handle<v8::Value> QQmlDateExtension::toLocaleDateString(const v8::Arguments&
return r->engine->toString(formattedDate);
}
-v8::Handle<v8::Value> QQmlDateExtension::fromLocaleString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::fromLocaleString(const v8::Arguments& args)
{
QV4::ExecutionEngine *engine = args.GetIsolate()->GetEngine();
if (args.Length() == 1 && args[0]->IsString()) {
@@ -297,7 +297,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleString(const v8::Arguments& a
}
if (args.Length() < 1 || args.Length() > 3 || !isLocaleObject(args[0]))
- V8THROW_ERROR("Locale: Date.fromLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Date.fromLocaleString(): Invalid arguments");
GET_LOCALE_DATA_RESOURCE(args[0]->ToObject());
@@ -313,7 +313,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleString(const v8::Arguments& a
QLocale::FormatType format = QLocale::FormatType(intFormat);
dt = r->locale.toDateTime(dateString, format);
} else {
- V8THROW_ERROR("Locale: Date.fromLocaleString(): Invalid datetime format");
+ V4THROW_ERROR("Locale: Date.fromLocaleString(): Invalid datetime format");
}
} else {
dt = r->locale.toDateTime(dateString, enumFormat);
@@ -322,7 +322,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleString(const v8::Arguments& a
return QV4::Value::fromObject(engine->newDateObject(dt));
}
-v8::Handle<v8::Value> QQmlDateExtension::fromLocaleTimeString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::fromLocaleTimeString(const v8::Arguments& args)
{
QV4::ExecutionEngine *engine = args.GetIsolate()->GetEngine();
@@ -336,7 +336,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleTimeString(const v8::Argument
}
if (args.Length() < 1 || args.Length() > 3 || !isLocaleObject(args[0]))
- V8THROW_ERROR("Locale: Date.fromLocaleTimeString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Date.fromLocaleTimeString(): Invalid arguments");
GET_LOCALE_DATA_RESOURCE(args[0]->ToObject());
@@ -352,7 +352,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleTimeString(const v8::Argument
QLocale::FormatType format = QLocale::FormatType(intFormat);
tm = r->locale.toTime(dateString, format);
} else {
- V8THROW_ERROR("Locale: Date.fromLocaleTimeString(): Invalid datetime format");
+ V4THROW_ERROR("Locale: Date.fromLocaleTimeString(): Invalid datetime format");
}
} else {
tm = r->locale.toTime(dateString, enumFormat);
@@ -364,7 +364,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleTimeString(const v8::Argument
return QV4::Value::fromObject(engine->newDateObject(dt));
}
-v8::Handle<v8::Value> QQmlDateExtension::fromLocaleDateString(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::fromLocaleDateString(const v8::Arguments& args)
{
QV4::ExecutionEngine *engine = args.GetIsolate()->GetEngine();
@@ -376,7 +376,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleDateString(const v8::Argument
}
if (args.Length() < 1 || args.Length() > 3 || !isLocaleObject(args[0]))
- V8THROW_ERROR("Locale: Date.fromLocaleDateString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Date.fromLocaleDateString(): Invalid arguments");
GET_LOCALE_DATA_RESOURCE(args[0]->ToObject());
@@ -392,7 +392,7 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleDateString(const v8::Argument
QLocale::FormatType format = QLocale::FormatType(intFormat);
dt = r->locale.toDate(dateString, format);
} else {
- V8THROW_ERROR("Locale: Date.fromLocaleDateString(): Invalid datetime format");
+ V4THROW_ERROR("Locale: Date.fromLocaleDateString(): Invalid datetime format");
}
} else {
dt = r->locale.toDate(dateString, enumFormat);
@@ -401,10 +401,10 @@ v8::Handle<v8::Value> QQmlDateExtension::fromLocaleDateString(const v8::Argument
return QV4::Value::fromObject(engine->newDateObject(QDateTime(dt)));
}
-v8::Handle<v8::Value> QQmlDateExtension::timeZoneUpdated(const v8::Arguments& args)
+QV4::Value QQmlDateExtension::timeZoneUpdated(const v8::Arguments& args)
{
if (args.Length() != 0)
- V8THROW_ERROR("Locale: Date.timeZoneUpdated(): Invalid arguments");
+ V4THROW_ERROR("Locale: Date.timeZoneUpdated(): Invalid arguments");
v8::Date::DateTimeConfigurationChangeNotification();
@@ -447,10 +447,10 @@ void QQmlNumberExtension::registerExtension(QV8Engine *engine)
registerFunction(engine, numberFromLocaleStringFunction, fromLocaleString);
}
-v8::Handle<v8::Value> QQmlNumberExtension::toLocaleString(const v8::Arguments& args)
+QV4::Value QQmlNumberExtension::toLocaleString(const v8::Arguments& args)
{
if (args.Length() > 3)
- V8THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
double number = args.This()->ToNumber()->Value();
@@ -468,7 +468,7 @@ v8::Handle<v8::Value> QQmlNumberExtension::toLocaleString(const v8::Arguments& a
uint16_t format = 'f';
if (args.Length() > 1) {
if (!args[1]->IsString())
- V8THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
v8::Handle<v8::String> fs = args[1]->ToString();
if (!fs.IsEmpty() && fs->Length()) {
v8::String::Value value(fs);
@@ -479,17 +479,17 @@ v8::Handle<v8::Value> QQmlNumberExtension::toLocaleString(const v8::Arguments& a
int prec = 2;
if (args.Length() > 2) {
if (!args[2]->IsNumber())
- V8THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
prec = args[2]->IntegerValue();
}
return r->engine->toString(r->locale.toString(number, (char)format, prec));
}
-v8::Handle<v8::Value> QQmlNumberExtension::toLocaleCurrencyString(const v8::Arguments& args)
+QV4::Value QQmlNumberExtension::toLocaleCurrencyString(const v8::Arguments& args)
{
if (args.Length() > 2)
- V8THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments");
double number = args.This()->ToNumber()->Value();
@@ -500,31 +500,31 @@ v8::Handle<v8::Value> QQmlNumberExtension::toLocaleCurrencyString(const v8::Argu
}
if (!isLocaleObject(args[0]))
- V8THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments");
GET_LOCALE_DATA_RESOURCE(args[0]->ToObject());
QString symbol;
if (args.Length() > 1) {
if (!args[1]->IsString())
- V8THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments");
symbol = args[1]->v4Value().toQString();
}
return r->engine->toString(r->locale.toCurrencyString(number, symbol));
}
-v8::Handle<v8::Value> QQmlNumberExtension::fromLocaleString(const v8::Arguments& args)
+QV4::Value QQmlNumberExtension::fromLocaleString(const v8::Arguments& args)
{
if (args.Length() < 1 || args.Length() > 2)
- V8THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments");
int numberIdx = 0;
QLocale locale;
if (args.Length() == 2) {
if (!isLocaleObject(args[0]))
- V8THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments");
+ V4THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments");
GET_LOCALE_DATA_RESOURCE(args[0]->ToObject());
locale = r->locale;
@@ -534,15 +534,15 @@ v8::Handle<v8::Value> QQmlNumberExtension::fromLocaleString(const v8::Arguments&
v8::Handle<v8::String> ns = args[numberIdx]->ToString();
if (ns.IsEmpty() || ns->Length() == 0)
- return v8::Number::New(Q_QNAN);
+ return QV4::Value::fromDouble(Q_QNAN);
bool ok = false;
double val = locale.toDouble(ns->v4Value().asString()->toQString(), &ok);
if (!ok)
- V8THROW_ERROR("Locale: Number.fromLocaleString(): Invalid format")
+ V4THROW_ERROR("Locale: Number.fromLocaleString(): Invalid format")
- return v8::Number::New(val);
+ return QV4::Value::fromDouble(val);
}
//--------------
@@ -599,12 +599,12 @@ static v8::Handle<v8::Value> locale_get_uiLanguages(v8::Handle<v8::String>, cons
return result;
}
-static v8::Handle<v8::Value> locale_currencySymbol(const v8::Arguments &args)
+static QV4::Value locale_currencySymbol(const v8::Arguments &args)
{
GET_LOCALE_DATA_RESOURCE(args.This());
if (args.Length() > 1)
- V8THROW_ERROR("Locale: currencySymbol(): Invalid arguments");
+ V4THROW_ERROR("Locale: currencySymbol(): Invalid arguments");
QLocale::CurrencySymbolFormat format = QLocale::CurrencySymbol;
if (args.Length() == 1) {
@@ -616,10 +616,10 @@ static v8::Handle<v8::Value> locale_currencySymbol(const v8::Arguments &args)
}
#define LOCALE_FORMAT(FUNC) \
-static v8::Handle<v8::Value> locale_ ##FUNC (const v8::Arguments &args) { \
+static QV4::Value locale_ ##FUNC (const v8::Arguments &args) { \
GET_LOCALE_DATA_RESOURCE(args.This());\
if (args.Length() > 1) \
- V8THROW_ERROR("Locale: " #FUNC "(): Invalid arguments"); \
+ V4THROW_ERROR("Locale: " #FUNC "(): Invalid arguments"); \
QLocale::FormatType format = QLocale::LongFormat;\
if (args.Length() == 1) { \
quint32 intFormat = args[0]->Uint32Value(); \
@@ -634,14 +634,14 @@ LOCALE_FORMAT(dateFormat)
// +1 added to idx because JS is 0-based, whereas QLocale months begin at 1.
#define LOCALE_FORMATTED_MONTHNAME(VARIABLE) \
-static v8::Handle<v8::Value> locale_ ## VARIABLE (const v8::Arguments &args) {\
+static QV4::Value locale_ ## VARIABLE (const v8::Arguments &args) {\
GET_LOCALE_DATA_RESOURCE(args.This()); \
if (args.Length() < 1 || args.Length() > 2) \
- V8THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \
+ V4THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \
QLocale::FormatType enumFormat = QLocale::LongFormat; \
int idx = args[0]->IntegerValue() + 1; \
if (idx < 1 || idx > 12) \
- V8THROW_ERROR("Locale: Invalid month"); \
+ V4THROW_ERROR("Locale: Invalid month"); \
QString name; \
if (args.Length() == 2) { \
if (args[1]->IsNumber()) { \
@@ -649,7 +649,7 @@ static v8::Handle<v8::Value> locale_ ## VARIABLE (const v8::Arguments &args) {\
QLocale::FormatType format = QLocale::FormatType(intFormat); \
name = r->locale. VARIABLE(idx, format); \
} else { \
- V8THROW_ERROR("Locale: Invalid datetime format"); \
+ V4THROW_ERROR("Locale: Invalid datetime format"); \
} \
} else { \
name = r->locale. VARIABLE(idx, enumFormat); \
@@ -659,14 +659,14 @@ static v8::Handle<v8::Value> locale_ ## VARIABLE (const v8::Arguments &args) {\
// 0 -> 7 as Qt::Sunday is 7, but Sunday is 0 in JS Date
#define LOCALE_FORMATTED_DAYNAME(VARIABLE) \
-static v8::Handle<v8::Value> locale_ ## VARIABLE (const v8::Arguments &args) {\
+static QV4::Value locale_ ## VARIABLE (const v8::Arguments &args) {\
GET_LOCALE_DATA_RESOURCE(args.This()); \
if (args.Length() < 1 || args.Length() > 2) \
- V8THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \
+ V4THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \
QLocale::FormatType enumFormat = QLocale::LongFormat; \
int idx = args[0]->IntegerValue(); \
if (idx < 0 || idx > 7) \
- V8THROW_ERROR("Locale: Invalid day"); \
+ V4THROW_ERROR("Locale: Invalid day"); \
if (idx == 0) idx = 7; \
QString name; \
if (args.Length() == 2) { \
@@ -675,7 +675,7 @@ static v8::Handle<v8::Value> locale_ ## VARIABLE (const v8::Arguments &args) {\
QLocale::FormatType format = QLocale::FormatType(intFormat); \
name = r->locale. VARIABLE(idx, format); \
} else { \
- V8THROW_ERROR("Locale: Invalid datetime format"); \
+ V4THROW_ERROR("Locale: Invalid datetime format"); \
} \
} else { \
name = r->locale. VARIABLE(idx, enumFormat); \
@@ -871,7 +871,7 @@ QQmlLocale::~QQmlLocale()
{
}
-v8::Handle<v8::Value> QQmlLocale::locale(QV8Engine *v8engine, const QString &locale)
+QV4::Value QQmlLocale::locale(QV8Engine *v8engine, const QString &locale)
{
QV8LocaleDataDeletable *d = localeV8Data(v8engine);
v8::Handle<v8::Object> v8Value = d->constructor->NewInstance();
@@ -882,7 +882,7 @@ v8::Handle<v8::Value> QQmlLocale::locale(QV8Engine *v8engine, const QString &loc
r->locale = QLocale(locale);
v8Value->SetExternalResource(r);
- return v8Value;
+ return v8Value->v4Value();
}
static const char localeCompareFunction[] =
@@ -901,7 +901,7 @@ void QQmlLocale::registerStringLocaleCompare(QV8Engine *engine)
registerFunction(engine, localeCompareFunction, localeCompare);
}
-v8::Handle<v8::Value> QQmlLocale::localeCompare(const v8::Arguments &args)
+QV4::Value QQmlLocale::localeCompare(const v8::Arguments &args)
{
if (args.Length() != 1 || (!args[0]->IsString() && !args[0]->IsStringObject()))
return QV4::Value::undefinedValue();
@@ -912,7 +912,7 @@ v8::Handle<v8::Value> QQmlLocale::localeCompare(const v8::Arguments &args)
QString thisString = args.This()->v4Value().toString(args.GetIsolate()->GetEngine()->current)->toQString();
QString thatString = args[0]->v4Value().toString(args.GetIsolate()->GetEngine()->current)->toQString();
- return v8::Integer::New(QString::localeAwareCompare(thisString, thatString));
+ return QV4::Value::fromInt32(QString::localeAwareCompare(thisString, thatString));
}
/*!