Search
SailfishOS Open Build Service
>
Projects
>
home:kaltsi
:
tnhlbug
>
qt
> 0014-Add-Qt.weekNumber.patch
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File 0014-Add-Qt.weekNumber.patch of Package qt
From c726c8a5d39f7541d1cc5918f8765474ba295953 Mon Sep 17 00:00:00 2001 From: Bea Lam <bea.lam@qinetic.com.au> Date: Fri, 2 Nov 2012 14:06:20 +1000 Subject: [PATCH 14/29] Add Qt.weekNumber() Wraps QDate::weekNumber(). --- src/declarative/qml/qdeclarativeengine.cpp | 15 +++++++++++++++ src/declarative/qml/qdeclarativeengine_p.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp index 92a7391..2be4bfa 100644 --- a/src/declarative/qml/qdeclarativeengine.cpp +++ b/src/declarative/qml/qdeclarativeengine.cpp @@ -437,6 +437,7 @@ QDeclarativeScriptEngine::QDeclarativeScriptEngine(QDeclarativeEnginePrivate *pr qtObject.setProperty(QLatin1String("formatDate"),newFunction(QDeclarativeEnginePrivate::formatDate, 2)); qtObject.setProperty(QLatin1String("formatTime"),newFunction(QDeclarativeEnginePrivate::formatTime, 2)); qtObject.setProperty(QLatin1String("formatDateTime"),newFunction(QDeclarativeEnginePrivate::formatDateTime, 2)); + qtObject.setProperty(QLatin1String("weekNumber"),newFunction(QDeclarativeEnginePrivate::weekNumber, 1)); #endif //misc methods @@ -1676,6 +1677,20 @@ QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScr } return engine->newVariant(QVariant::fromValue(date.toString(enumFormat))); } + +QScriptValue QDeclarativeEnginePrivate::weekNumber(QScriptContext*ctxt, QScriptEngine*engine) +{ + int argCount = ctxt->argumentCount(); + if(argCount == 0 || argCount > 1) + return ctxt->throwError(QLatin1String("Qt.weekNumber(): Invalid arguments")); + + QScriptValue sv = ctxt->argument(0); + if (!sv.isDate()) + return ctxt->throwError(QLatin1String("Qt.weekNumber(): Invalid date argument")); + + QDate date = sv.toDateTime().date(); + return engine->newVariant(QVariant::fromValue(date.weekNumber())); +} #endif // QT_NO_DATESTRING /*! diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h index c324f7a..259731c 100644 --- a/src/declarative/qml/qdeclarativeengine_p.h +++ b/src/declarative/qml/qdeclarativeengine_p.h @@ -310,6 +310,7 @@ public: static QScriptValue formatDate(QScriptContext*, QScriptEngine*); static QScriptValue formatTime(QScriptContext*, QScriptEngine*); static QScriptValue formatDateTime(QScriptContext*, QScriptEngine*); + static QScriptValue weekNumber(QScriptContext*, QScriptEngine*); #endif static QScriptEngine *getScriptEngine(QDeclarativeEngine *e) { return &e->d_func()->scriptEngine; } static QDeclarativeEngine *getEngine(QScriptEngine *e) { return static_cast<QDeclarativeScriptEngine*>(e)->p->q_func(); } -- 1.7.10.3