From 53a420a4d1a2d845603dd85ce9ce345c6819088e Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Mon, 28 Nov 2011 15:24:25 +0100 Subject: [PATCH] Merge QObject::tr*() and QCoreApplication::translate() overloads 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 --- src/corelib/kernel/qcoreapplication.cpp | 9 --------- src/corelib/kernel/qcoreapplication.h | 18 ++++-------------- src/corelib/kernel/qmetaobject.cpp | 16 ---------------- src/corelib/kernel/qobject.h | 8 ++------ src/corelib/kernel/qobjectdefs.h | 21 +++++---------------- 5 files changed, 11 insertions(+), 61 deletions(-) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 2a80d396201..de983c2dedf 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -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) { diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h index 4d3ee9bc7a7..3d6aa170fd2 100644 --- a/src/corelib/kernel/qcoreapplication.h +++ b/src/corelib/kernel/qcoreapplication.h @@ -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: diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 1319668c487..3178ee1b264 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -302,14 +302,6 @@ const QObject *QMetaObject::cast(const QObject *obj) const } #ifndef QT_NO_TRANSLATION -/*! - \internal -*/ -QString QMetaObject::tr(const char *s, const char *c) const -{ - return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::CodecForTr); -} - /*! \internal */ @@ -318,14 +310,6 @@ QString QMetaObject::tr(const char *s, const char *c, int n) const return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::CodecForTr, n); } -/*! - \internal -*/ -QString QMetaObject::trUtf8(const char *s, const char *c) const -{ - return QCoreApplication::translate(d.stringdata, s, c, QCoreApplication::UnicodeUTF8); -} - /*! \internal */ diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 48c0bdbfcbe..307518d81e1 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -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 diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 2b57b403b31..bfb6808ad52 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -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;