Merge QObject::tr*() and QCoreApplication::translate() overloads
authorBradley T. Hughes <bradley.hughes@nokia.com>
Mon, 28 Nov 2011 14:24:25 +0000 (15:24 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 30 Nov 2011 21:28:02 +0000 (22:28 +0100)
These were marked as TODO items for Qt 5. Do them now. (The TODO item
was added when plural support was added back in the early Qt 4 days.)

Change-Id: I3be50bc657582db730401103d691234695784340
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
src/corelib/kernel/qcoreapplication.cpp
src/corelib/kernel/qcoreapplication.h
src/corelib/kernel/qmetaobject.cpp
src/corelib/kernel/qobject.h
src/corelib/kernel/qobjectdefs.h

index 2a80d39..de983c2 100644 (file)
@@ -1728,15 +1728,6 @@ void QCoreApplication::removeTranslator(QTranslator *translationFile)
     }
 }
 
-/*!
-    \overload translate()
-*/
-QString QCoreApplication::translate(const char *context, const char *sourceText,
-                                    const char *disambiguation, Encoding encoding)
-{
-    return translate(context, sourceText, disambiguation, encoding, -1);
-}
-
 static void replacePercentN(QString *result, int n)
 {
     if (n >= 0) {
index 4d3ee9b..3d6aa17 100644 (file)
@@ -139,15 +139,11 @@ public:
     static void removeTranslator(QTranslator * messageFile);
 #endif
     enum Encoding { CodecForTr, UnicodeUTF8, DefaultCodec = CodecForTr };
-    // ### Qt 5: merge
     static QString translate(const char * context,
                              const char * key,
                              const char * disambiguation = 0,
-                             Encoding encoding = CodecForTr);
-    static QString translate(const char * context,
-                             const char * key,
-                             const char * disambiguation,
-                             Encoding encoding, int n);
+                             Encoding encoding = CodecForTr,
+                             int n = -1);
 
     static void flush();
 
@@ -240,18 +236,12 @@ inline QString QCoreApplication::translate(const char *, const char *sourceText,
 }
 #endif
 
-// ### merge the four functions into two (using "int n = -1")
 #define Q_DECLARE_TR_FUNCTIONS(context) \
 public: \
-    static inline QString tr(const char *sourceText, const char *disambiguation = 0) \
-        { return QCoreApplication::translate(#context, sourceText, disambiguation); } \
-    static inline QString trUtf8(const char *sourceText, const char *disambiguation = 0) \
-        { return QCoreApplication::translate(#context, sourceText, disambiguation, \
-                                             QCoreApplication::UnicodeUTF8); } \
-    static inline QString tr(const char *sourceText, const char *disambiguation, int n) \
+    static inline QString tr(const char *sourceText, const char *disambiguation = 0, int n = -1) \
         { return QCoreApplication::translate(#context, sourceText, disambiguation, \
                                              QCoreApplication::CodecForTr, n); } \
-    static inline QString trUtf8(const char *sourceText, const char *disambiguation, int n) \
+    static inline QString trUtf8(const char *sourceText, const char *disambiguation = 0, int n = -1) \
         { return QCoreApplication::translate(#context, sourceText, disambiguation, \
                                              QCoreApplication::UnicodeUTF8, n); } \
 private:
index 1319668..3178ee1 100644 (file)
@@ -305,14 +305,6 @@ const QObject *QMetaObject::cast(const QObject *obj) const
 /*!
     \internal
 */
-QString QMetaObject::tr(const char *s, const char *c) const
-{
-    return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::CodecForTr);
-}
-
-/*!
-    \internal
-*/
 QString QMetaObject::tr(const char *s, const char *c, int n) const
 {
     return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::CodecForTr, n);
@@ -321,14 +313,6 @@ QString QMetaObject::tr(const char *s, const char *c, int n) const
 /*!
     \internal
 */
-QString QMetaObject::trUtf8(const char *s, const char *c) const
-{
-    return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::UnicodeUTF8);
-}
-
-/*!
-    \internal
-*/
 QString QMetaObject::trUtf8(const char *s, const char *c, int n) const
 {
     return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::UnicodeUTF8, n);
index 48c0bdb..307518d 100644 (file)
@@ -132,14 +132,10 @@ public:
     static const QMetaObject staticMetaObject;
 #endif
 #ifdef QT_NO_TRANSLATION
-    static QString tr(const char *sourceText, const char *, int)
-        { return QString::fromLatin1(sourceText); }
-    static QString tr(const char *sourceText, const char * = 0)
+    static QString tr(const char *sourceText, const char * = 0, int = -1)
         { return QString::fromLatin1(sourceText); }
 #ifndef QT_NO_TEXTCODEC
-    static QString trUtf8(const char *sourceText, const char *, int)
-        { return QString::fromUtf8(sourceText); }
-    static QString trUtf8(const char *sourceText, const char * = 0)
+    static QString trUtf8(const char *sourceText, const char * = 0, int = -1)
         { return QString::fromUtf8(sourceText); }
 #endif
 #endif //QT_NO_TRANSLATION
index 2b57b40..bfb6808 100644 (file)
@@ -91,23 +91,15 @@ class QString;
 #ifndef QT_NO_TRANSLATION
 # ifndef QT_NO_TEXTCODEC
 // full set of tr functions
-// ### Qt 5: merge overloads
 #  define QT_TR_FUNCTIONS \
-    static inline QString tr(const char *s, const char *c = 0) \
-        { return staticMetaObject.tr(s, c); } \
-    static inline QString trUtf8(const char *s, const char *c = 0) \
-        { return staticMetaObject.trUtf8(s, c); } \
-    static inline QString tr(const char *s, const char *c, int n) \
+    static inline QString tr(const char *s, const char *c = 0, int n = -1) \
         { return staticMetaObject.tr(s, c, n); } \
-    static inline QString trUtf8(const char *s, const char *c, int n) \
+    static inline QString trUtf8(const char *s, const char *c = 0, int n = -1) \
         { return staticMetaObject.trUtf8(s, c, n); }
 # else
 // no QTextCodec, no utf8
-// ### Qt 5: merge overloads
 #  define QT_TR_FUNCTIONS \
-    static inline QString tr(const char *s, const char *c = 0) \
-        { return staticMetaObject.tr(s, c); } \
-    static inline QString tr(const char *s, const char *c, int n) \
+    static inline QString tr(const char *s, const char *c = 0, int n = -1) \
         { return staticMetaObject.tr(s, c, n); }
 # endif
 #else
@@ -299,11 +291,8 @@ struct Q_CORE_EXPORT QMetaObject
     const QObject *cast(const QObject *obj) const;
 
 #ifndef QT_NO_TRANSLATION
-    // ### Qt 4: Merge overloads
-    QString tr(const char *s, const char *c) const;
-    QString trUtf8(const char *s, const char *c) const;
-    QString tr(const char *s, const char *c, int n) const;
-    QString trUtf8(const char *s, const char *c, int n) const;
+    QString tr(const char *s, const char *c, int n = -1) const;
+    QString trUtf8(const char *s, const char *c, int n = -1) const;
 #endif // QT_NO_TRANSLATION
 
     int methodOffset() const;