diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2016-11-09 19:12:04 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2017-11-14 17:18:26 +0000 |
commit | c44e56715a535ebd9d687b5cb9b7f914e8500af5 (patch) | |
tree | 361714525e839179a9147c3a5b51d59e017aec39 /src/qml/jsruntime/qv4dateobject.cpp | |
parent | 948e24cb6deeaf0e55794032b90fdf20b7ef12c1 (diff) |
V4 Date.ParseString(): use array in place of QStringList
Converted a QStringList of formats (constructed on each affected call
to the function) to a const array (needing no heap or run-time).
Change-Id: Ia6b32a306620e3ea4dd0ec1456f6b66bc8aba322
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4dateobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4dateobject.cpp | 101 |
1 files changed, 51 insertions, 50 deletions
diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp index 3328725de4..3aa20931ad 100644 --- a/src/qml/jsruntime/qv4dateobject.cpp +++ b/src/qml/jsruntime/qv4dateobject.cpp @@ -543,56 +543,57 @@ static inline double ParseString(const QString &s) if (!dt.isValid()) dt = QDateTime::fromString(s, Qt::RFC2822Date); if (!dt.isValid()) { - QStringList formats; - formats << QStringLiteral("M/d/yyyy") - << QStringLiteral("M/d/yyyy hh:mm") - << QStringLiteral("M/d/yyyy hh:mm A") - - << QStringLiteral("M/d/yyyy, hh:mm") - << QStringLiteral("M/d/yyyy, hh:mm A") - - << QStringLiteral("MMM d yyyy") - << QStringLiteral("MMM d yyyy hh:mm") - << QStringLiteral("MMM d yyyy hh:mm:ss") - << QStringLiteral("MMM d yyyy, hh:mm") - << QStringLiteral("MMM d yyyy, hh:mm:ss") - - << QStringLiteral("MMMM d yyyy") - << QStringLiteral("MMMM d yyyy hh:mm") - << QStringLiteral("MMMM d yyyy hh:mm:ss") - << QStringLiteral("MMMM d yyyy, hh:mm") - << QStringLiteral("MMMM d yyyy, hh:mm:ss") - - << QStringLiteral("MMM d, yyyy") - << QStringLiteral("MMM d, yyyy hh:mm") - << QStringLiteral("MMM d, yyyy hh:mm:ss") - - << QStringLiteral("MMMM d, yyyy") - << QStringLiteral("MMMM d, yyyy hh:mm") - << QStringLiteral("MMMM d, yyyy hh:mm:ss") - - << QStringLiteral("d MMM yyyy") - << QStringLiteral("d MMM yyyy hh:mm") - << QStringLiteral("d MMM yyyy hh:mm:ss") - << QStringLiteral("d MMM yyyy, hh:mm") - << QStringLiteral("d MMM yyyy, hh:mm:ss") - - << QStringLiteral("d MMMM yyyy") - << QStringLiteral("d MMMM yyyy hh:mm") - << QStringLiteral("d MMMM yyyy hh:mm:ss") - << QStringLiteral("d MMMM yyyy, hh:mm") - << QStringLiteral("d MMMM yyyy, hh:mm:ss") - - << QStringLiteral("d MMM, yyyy") - << QStringLiteral("d MMM, yyyy hh:mm") - << QStringLiteral("d MMM, yyyy hh:mm:ss") - - << QStringLiteral("d MMMM, yyyy") - << QStringLiteral("d MMMM, yyyy hh:mm") - << QStringLiteral("d MMMM, yyyy hh:mm:ss"); - - for (int i = 0; i < formats.size(); ++i) { - const QString &format(formats.at(i)); + const QString formats[] = { + QStringLiteral("M/d/yyyy"), + QStringLiteral("M/d/yyyy hh:mm"), + QStringLiteral("M/d/yyyy hh:mm A"), + + QStringLiteral("M/d/yyyy, hh:mm"), + QStringLiteral("M/d/yyyy, hh:mm A"), + + QStringLiteral("MMM d yyyy"), + QStringLiteral("MMM d yyyy hh:mm"), + QStringLiteral("MMM d yyyy hh:mm:ss"), + QStringLiteral("MMM d yyyy, hh:mm"), + QStringLiteral("MMM d yyyy, hh:mm:ss"), + + QStringLiteral("MMMM d yyyy"), + QStringLiteral("MMMM d yyyy hh:mm"), + QStringLiteral("MMMM d yyyy hh:mm:ss"), + QStringLiteral("MMMM d yyyy, hh:mm"), + QStringLiteral("MMMM d yyyy, hh:mm:ss"), + + QStringLiteral("MMM d, yyyy"), + QStringLiteral("MMM d, yyyy hh:mm"), + QStringLiteral("MMM d, yyyy hh:mm:ss"), + + QStringLiteral("MMMM d, yyyy"), + QStringLiteral("MMMM d, yyyy hh:mm"), + QStringLiteral("MMMM d, yyyy hh:mm:ss"), + + QStringLiteral("d MMM yyyy"), + QStringLiteral("d MMM yyyy hh:mm"), + QStringLiteral("d MMM yyyy hh:mm:ss"), + QStringLiteral("d MMM yyyy, hh:mm"), + QStringLiteral("d MMM yyyy, hh:mm:ss"), + + QStringLiteral("d MMMM yyyy"), + QStringLiteral("d MMMM yyyy hh:mm"), + QStringLiteral("d MMMM yyyy hh:mm:ss"), + QStringLiteral("d MMMM yyyy, hh:mm"), + QStringLiteral("d MMMM yyyy, hh:mm:ss"), + + QStringLiteral("d MMM, yyyy"), + QStringLiteral("d MMM, yyyy hh:mm"), + QStringLiteral("d MMM, yyyy hh:mm:ss"), + + QStringLiteral("d MMMM, yyyy"), + QStringLiteral("d MMMM, yyyy hh:mm"), + QStringLiteral("d MMMM, yyyy hh:mm:ss"), + }; + + for (uint i = 0; i < sizeof(formats) / sizeof(formats[0]); ++i) { + const QString &format(formats[i]); dt = format.indexOf(QLatin1String("hh:mm")) < 0 ? QDateTime(QDate::fromString(s, format), QTime(0, 0, 0), Qt::UTC) |