SIC: QLocale: Make QSystemLocale a private class
authorJohn Layt <jlayt@kde.org>
Fri, 27 Jan 2012 20:21:21 +0000 (20:21 +0000)
committerQt by Nokia <qt-info@nokia.com>
Sun, 5 Feb 2012 16:50:04 +0000 (17:50 +0100)
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>
dist/changes-5.0.0
src/corelib/tools/qlocale.h
src/corelib/tools/qlocale.qdoc
src/corelib/tools/qlocale_p.h
tests/auto/corelib/tools/qlocale/tst_qlocale.cpp

index 9df3926..fc5bebd 100644 (file)
@@ -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                                        *
 ****************************************************************************
index 2255340..c029f62 100644 (file)
@@ -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
index 65cdc4d..cc335a4 100644 (file)
 */
 
 /*!
+    \internal
     \class QSystemLocale
     \brief The QSystemLocale class can be used to finetune the system locale
     of the user.
index 849df26..7653f4d 100644 (file)
 
 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
index 52f01e8..5544c0f 100644 (file)
@@ -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);