summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2012-01-27 20:21:21 +0000
committerQt by Nokia <qt-info@nokia.com>2012-02-05 17:50:04 +0100
commit23457bd6d9d54df2cab505e581e72f9942b0fdbb (patch)
treebecbdb0cce5277c0c1e7d87dfd3efa69347f1986
parent29c4a27a94d6f0dc9d91227d99bab7c2f55710db (diff)
SIC: QLocale: Make QSystemLocale a private class
As discussed on list and approved by Lars and Thiago. Make QSystemLocale private to give us time and space to change it to a better implementation. Change-Id: Ifd806972f3996c43a876f544f78c6557ad71cd75 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
-rw-r--r--dist/changes-5.0.02
-rw-r--r--src/corelib/tools/qlocale.h69
-rw-r--r--src/corelib/tools/qlocale.qdoc1
-rw-r--r--src/corelib/tools/qlocale_p.h68
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp40
5 files changed, 71 insertions, 109 deletions
diff --git a/dist/changes-5.0.0 b/dist/changes-5.0.0
index 9df39260a6..fc5bebd11d 100644
--- a/dist/changes-5.0.0
+++ b/dist/changes-5.0.0
@@ -198,6 +198,8 @@ information about a particular change.
longer take a parameter for base, they will only perform localised base 10
conversions. For converting other bases use the QString methods instead.
+- QSystemLocale has been removed from the public API.
+
****************************************************************************
* General *
****************************************************************************
diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h
index 2255340b67..c029f627b2 100644
--- a/src/corelib/tools/qlocale.h
+++ b/src/corelib/tools/qlocale.h
@@ -61,71 +61,6 @@ class QTextStreamPrivate;
class QLocale;
-#ifndef QT_NO_SYSTEMLOCALE
-class Q_CORE_EXPORT QSystemLocale
-{
-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
- DecimalPoint, // QString
- GroupSeparator, // QString
- ZeroDigit, // QString
- NegativeSign, // QString
- DateFormatLong, // QString
- DateFormatShort, // QString
- TimeFormatLong, // QString
- TimeFormatShort, // QString
- DayNameLong, // QString, in: int
- DayNameShort, // QString, in: int
- MonthNameLong, // QString, in: int
- MonthNameShort, // QString, in: int
- DateToStringLong, // QString, in: QDate
- DateToStringShort, // QString in: QDate
- TimeToStringLong, // QString in: QTime
- TimeToStringShort, // QString in: QTime
- DateTimeFormatLong, // QString
- DateTimeFormatShort, // QString
- DateTimeToStringLong, // QString in: QDateTime
- DateTimeToStringShort, // QString in: QDateTime
- MeasurementSystem, // uint
- PositiveSign, // QString
- AMText, // QString
- PMText, // QString
- FirstDayOfWeek, // Qt::DayOfWeek
- Weekdays, // QList<Qt::DayOfWeek>
- CurrencySymbol, // QString in: CurrencyToStringArgument
- CurrencyToString, // QString in: qlonglong, qulonglong or double
- UILanguages, // QStringList
- StringToStandardQuotation, // QString in: QStringRef to quote
- StringToAlternateQuotation, // QString in: QStringRef to quote
- ScriptId, // uint
- ListToSeparatedString, // QString
- LocaleChanged, // system locale changed
- NativeLanguageName, // QString
- NativeCountryName // QString
- };
- virtual QVariant query(QueryType type, QVariant in) const;
- virtual QLocale fallbackLocale() const;
-
-private:
- QSystemLocale(bool);
- friend QSystemLocale *QSystemLocale_globalSystemLocale();
-};
-#endif
-
struct QLocalePrivate;
class Q_CORE_EXPORT QLocale
{
@@ -811,10 +746,6 @@ Q_CORE_EXPORT QDebug operator<<(QDebug, const QLocale &);
QT_END_NAMESPACE
-#ifndef QT_NO_SYSTEMLOCALE
-Q_DECLARE_METATYPE(QSystemLocale::CurrencyToStringArgument)
-#endif
-
QT_END_HEADER
#endif // QLOCALE_H
diff --git a/src/corelib/tools/qlocale.qdoc b/src/corelib/tools/qlocale.qdoc
index 65cdc4d7ff..cc335a4575 100644
--- a/src/corelib/tools/qlocale.qdoc
+++ b/src/corelib/tools/qlocale.qdoc
@@ -711,6 +711,7 @@
*/
/*!
+ \internal
\class QSystemLocale
\brief The QSystemLocale class can be used to finetune the system locale
of the user.
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h
index 849df26c4c..7653f4d93d 100644
--- a/src/corelib/tools/qlocale_p.h
+++ b/src/corelib/tools/qlocale_p.h
@@ -61,6 +61,71 @@
QT_BEGIN_NAMESPACE
+#ifndef QT_NO_SYSTEMLOCALE
+class QSystemLocale
+{
+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
+ DecimalPoint, // QString
+ GroupSeparator, // QString
+ ZeroDigit, // QString
+ NegativeSign, // QString
+ DateFormatLong, // QString
+ DateFormatShort, // QString
+ TimeFormatLong, // QString
+ TimeFormatShort, // QString
+ DayNameLong, // QString, in: int
+ DayNameShort, // QString, in: int
+ MonthNameLong, // QString, in: int
+ MonthNameShort, // QString, in: int
+ DateToStringLong, // QString, in: QDate
+ DateToStringShort, // QString in: QDate
+ TimeToStringLong, // QString in: QTime
+ TimeToStringShort, // QString in: QTime
+ DateTimeFormatLong, // QString
+ DateTimeFormatShort, // QString
+ DateTimeToStringLong, // QString in: QDateTime
+ DateTimeToStringShort, // QString in: QDateTime
+ MeasurementSystem, // uint
+ PositiveSign, // QString
+ AMText, // QString
+ PMText, // QString
+ FirstDayOfWeek, // Qt::DayOfWeek
+ Weekdays, // QList<Qt::DayOfWeek>
+ CurrencySymbol, // QString in: CurrencyToStringArgument
+ CurrencyToString, // QString in: qlonglong, qulonglong or double
+ UILanguages, // QStringList
+ StringToStandardQuotation, // QString in: QStringRef to quote
+ StringToAlternateQuotation, // QString in: QStringRef to quote
+ ScriptId, // uint
+ ListToSeparatedString, // QString
+ LocaleChanged, // system locale changed
+ NativeLanguageName, // QString
+ NativeCountryName // QString
+ };
+ virtual QVariant query(QueryType type, QVariant in) const;
+ virtual QLocale fallbackLocale() const;
+
+private:
+ QSystemLocale(bool);
+ friend QSystemLocale *QSystemLocale_globalSystemLocale();
+};
+#endif
+
struct Q_CORE_EXPORT QLocalePrivate
{
public:
@@ -261,5 +326,8 @@ QT_END_NAMESPACE
Q_DECLARE_METATYPE(QStringRef)
Q_DECLARE_METATYPE(QList<Qt::DayOfWeek>)
+#ifndef QT_NO_SYSTEMLOCALE
+Q_DECLARE_METATYPE(QSystemLocale::CurrencyToStringArgument)
+#endif
#endif // QLOCALE_P_H
diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
index 52f01e8754..5544c0fd71 100644
--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
@@ -123,9 +123,6 @@ private slots:
void monthName();
void standaloneMonthName();
- // QSystemLocale tests
- void queryDateTime();
-
void ampm();
void currency();
void quoteString();
@@ -1778,43 +1775,6 @@ a(QLatin1String("0.0000000000000000000000000000000000000000000000000000000000000
QVERIFY(!ok);
}
-class SystemLocale : public QSystemLocale
-{
-public:
- virtual QVariant query(QueryType type, QVariant in) const
- {
- switch (type) {
- case DateTimeFormatLong: return QLatin1String("dddd ddd dd d MMMM MMM MM M yyyy hh:mm:ss.zzz");
- case DateTimeFormatShort: return QLatin1String("d M yy h:m");
- case DateTimeToStringLong:
- case DateTimeToStringShort:
- return in.toDateTime().toString(type == DateTimeToStringShort
- ? QLatin1String("dMyyhm")
- : QLatin1String("ddMMyyyyhhmmsszzz"));
- default:
- break;
- }
- return QSystemLocale::query(type, in);
- }
-};
-
-
-
-void tst_QLocale::queryDateTime()
-{
- SystemLocale loc;
- QCOMPARE(QLocale::system().dateTimeFormat(QLocale::LongFormat),
- loc.query(QSystemLocale::DateTimeFormatLong, QVariant()).toString());
- QCOMPARE(QLocale::system().dateTimeFormat(QLocale::ShortFormat),
- loc.query(QSystemLocale::DateTimeFormatShort, QVariant()).toString());
- QCOMPARE(QLocale::system().toString(QDateTime(QDate(1974, 12, 1), QTime(1, 2, 3, 4)), QLocale::ShortFormat),
- QString("1127412"));
- QCOMPARE(QLocale::system().toString(QDateTime(QDate(1974, 12, 1), QTime(1, 2, 3, 4)), QLocale::NarrowFormat),
- QLocale::system().toString(QDateTime(QDate(1974, 12, 1), QTime(1, 2, 3, 4)), QLocale::ShortFormat));
- QCOMPARE(QLocale::system().toString(QDateTime(QDate(1974, 12, 1), QTime(1, 2, 3, 4)), QLocale::LongFormat),
- QString("01121974010203004"));
-}
-
void tst_QLocale::ampm()
{
QLocale c(QLocale::C);