summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qlocale.h
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-02-25 15:08:57 (GMT)
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2011-02-25 17:51:26 (GMT)
commit0c2ec3cef9f0a91b08d5103ac0bafd173f2a20df (patch)
tree76f7d93f5babfaae6fbeef8f62f26866c8b4108f /src/corelib/tools/qlocale.h
parent08868df5e94a5b89d9f8ce904e97b43a48313fc1 (diff)
downloadQt-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.h50
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