diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2011-02-25 15:08:57 (GMT) |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2011-02-25 17:51:26 (GMT) |
commit | 0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df (patch) | |
tree | 76f7d93f5babfaae6fbeef8f62f26866c8b4108f /src/corelib/tools/qlocale.h | |
parent | 08868df5e94a5b89d9f8ce904e97b43a48313fc1 (diff) | |
download | Qt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.zip Qt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.tar.gz Qt-0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df.tar.bz2 |
Improved currency value to string conversion in QLocale.
Added a second, optional, argument to QLocale::toCurrencyString() that
represents a currency symbol that is supposed to be added to the formatted
string.
Task-number: QTBUG-17100
Reviewed-by: Zeno Albisser
Reviewed-by: Olivier Goffart
Diffstat (limited to 'src/corelib/tools/qlocale.h')
-rw-r--r-- | src/corelib/tools/qlocale.h | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index 7900c57..a5d5a17 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -42,6 +42,7 @@ #ifndef QLOCALE_H #define QLOCALE_H +#include <QtCore/qvariant.h> #include <QtCore/qstring.h> #include <QtCore/qobjectdefs.h> @@ -68,6 +69,15 @@ public: QSystemLocale(); virtual ~QSystemLocale(); + struct CurrencyToStringArgument + { + CurrencyToStringArgument() { } + CurrencyToStringArgument(const QVariant &v, const QString &s) + : value(v), symbol(s) { } + QVariant value; + QString symbol; + }; + enum QueryType { LanguageId, // uint CountryId, // uint @@ -98,7 +108,7 @@ public: FirstDayOfWeek, // Qt::DayOfWeek WeekendStart, // Qt::DayOfWeek WeekendEnd, // Qt::DayOfWeek - CurrencySymbol, // QString in: format + CurrencySymbol, // QString in: CurrencyToStringArgument CurrencyToString, // QString in: qlonglong, qulonglong or double UILanguages, // QStringList StringToStandardQuotation, // QString in: QStringRef to quote @@ -690,14 +700,14 @@ public: Qt::LayoutDirection textDirection() const; QString currencySymbol(CurrencySymbolFormat = CurrencySymbol) const; - QString toCurrencyString(qlonglong) const; - QString toCurrencyString(qulonglong) const; - inline QString toCurrencyString(short) const; - inline QString toCurrencyString(ushort) const; - inline QString toCurrencyString(int) const; - inline QString toCurrencyString(uint) const; - QString toCurrencyString(double) const; - inline QString toCurrencyString(float) const; + QString toCurrencyString(qlonglong, const QString &symbol = QString()) const; + QString toCurrencyString(qulonglong, const QString &symbol = QString()) const; + inline QString toCurrencyString(short, const QString &symbol = QString()) const; + inline QString toCurrencyString(ushort, const QString &symbol = QString()) const; + inline QString toCurrencyString(int, const QString &symbol = QString()) const; + inline QString toCurrencyString(uint, const QString &symbol = QString()) const; + QString toCurrencyString(double, const QString &symbol = QString()) const; + inline QString toCurrencyString(float, const QString &symbol = QString()) const; QStringList uiLanguages() const; @@ -753,16 +763,16 @@ inline bool QLocale::operator==(const QLocale &other) const inline bool QLocale::operator!=(const QLocale &other) const { return d() != other.d() || numberOptions() != other.numberOptions(); } -inline QString QLocale::toCurrencyString(short i) const - { return toCurrencyString(qlonglong(i)); } -inline QString QLocale::toCurrencyString(ushort i) const - { return toCurrencyString(qulonglong(i)); } -inline QString QLocale::toCurrencyString(int i) const -{ return toCurrencyString(qlonglong(i)); } -inline QString QLocale::toCurrencyString(uint i) const -{ return toCurrencyString(qulonglong(i)); } -inline QString QLocale::toCurrencyString(float i) const -{ return toCurrencyString(double(i)); } +inline QString QLocale::toCurrencyString(short i, const QString &symbol) const + { return toCurrencyString(qlonglong(i), symbol); } +inline QString QLocale::toCurrencyString(ushort i, const QString &symbol) const + { return toCurrencyString(qulonglong(i), symbol); } +inline QString QLocale::toCurrencyString(int i, const QString &symbol) const +{ return toCurrencyString(qlonglong(i), symbol); } +inline QString QLocale::toCurrencyString(uint i, const QString &symbol) const +{ return toCurrencyString(qulonglong(i), symbol); } +inline QString QLocale::toCurrencyString(float i, const QString &symbol) const +{ return toCurrencyString(double(i), symbol); } #ifndef QT_NO_DATASTREAM Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLocale &); @@ -771,6 +781,8 @@ Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLocale &); QT_END_NAMESPACE +Q_DECLARE_METATYPE(QSystemLocale::CurrencyToStringArgument) + QT_END_HEADER #endif // QLOCALE_H |