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 <ogoffart@woboq.com>
This commit is contained in:
Bradley T. Hughes 2011-11-28 15:24:25 +01:00 committed by Qt by Nokia
parent 49140efe2d
commit 53a420a4d1
5 changed files with 11 additions and 61 deletions

View 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) static void replacePercentN(QString *result, int n)
{ {
if (n >= 0) { if (n >= 0) {

View File

@ -139,15 +139,11 @@ public:
static void removeTranslator(QTranslator * messageFile); static void removeTranslator(QTranslator * messageFile);
#endif #endif
enum Encoding { CodecForTr, UnicodeUTF8, DefaultCodec = CodecForTr }; enum Encoding { CodecForTr, UnicodeUTF8, DefaultCodec = CodecForTr };
// ### Qt 5: merge
static QString translate(const char * context, static QString translate(const char * context,
const char * key, const char * key,
const char * disambiguation = 0, const char * disambiguation = 0,
Encoding encoding = CodecForTr); Encoding encoding = CodecForTr,
static QString translate(const char * context, int n = -1);
const char * key,
const char * disambiguation,
Encoding encoding, int n);
static void flush(); static void flush();
@ -240,18 +236,12 @@ inline QString QCoreApplication::translate(const char *, const char *sourceText,
} }
#endif #endif
// ### merge the four functions into two (using "int n = -1")
#define Q_DECLARE_TR_FUNCTIONS(context) \ #define Q_DECLARE_TR_FUNCTIONS(context) \
public: \ public: \
static inline QString tr(const char *sourceText, const char *disambiguation = 0) \ static inline QString tr(const char *sourceText, const char *disambiguation = 0, int n = -1) \
{ 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) \
{ return QCoreApplication::translate(#context, sourceText, disambiguation, \ { return QCoreApplication::translate(#context, sourceText, disambiguation, \
QCoreApplication::CodecForTr, n); } \ 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, \ { return QCoreApplication::translate(#context, sourceText, disambiguation, \
QCoreApplication::UnicodeUTF8, n); } \ QCoreApplication::UnicodeUTF8, n); } \
private: private:

View File

@ -302,14 +302,6 @@ const QObject *QMetaObject::cast(const QObject *obj) const
} }
#ifndef QT_NO_TRANSLATION #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 \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); 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 \internal
*/ */

View File

@ -132,14 +132,10 @@ public:
static const QMetaObject staticMetaObject; static const QMetaObject staticMetaObject;
#endif #endif
#ifdef QT_NO_TRANSLATION #ifdef QT_NO_TRANSLATION
static QString tr(const char *sourceText, const char *, int) static QString tr(const char *sourceText, const char * = 0, int = -1)
{ return QString::fromLatin1(sourceText); }
static QString tr(const char *sourceText, const char * = 0)
{ return QString::fromLatin1(sourceText); } { return QString::fromLatin1(sourceText); }
#ifndef QT_NO_TEXTCODEC #ifndef QT_NO_TEXTCODEC
static QString trUtf8(const char *sourceText, const char *, int) static QString trUtf8(const char *sourceText, const char * = 0, int = -1)
{ return QString::fromUtf8(sourceText); }
static QString trUtf8(const char *sourceText, const char * = 0)
{ return QString::fromUtf8(sourceText); } { return QString::fromUtf8(sourceText); }
#endif #endif
#endif //QT_NO_TRANSLATION #endif //QT_NO_TRANSLATION

View File

@ -91,23 +91,15 @@ class QString;
#ifndef QT_NO_TRANSLATION #ifndef QT_NO_TRANSLATION
# ifndef QT_NO_TEXTCODEC # ifndef QT_NO_TEXTCODEC
// full set of tr functions // full set of tr functions
// ### Qt 5: merge overloads
# define QT_TR_FUNCTIONS \ # define QT_TR_FUNCTIONS \
static inline QString tr(const char *s, const char *c = 0) \ static inline QString tr(const char *s, const char *c = 0, int n = -1) \
{ 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) \
{ return staticMetaObject.tr(s, c, n); } \ { 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); } { return staticMetaObject.trUtf8(s, c, n); }
# else # else
// no QTextCodec, no utf8 // no QTextCodec, no utf8
// ### Qt 5: merge overloads
# define QT_TR_FUNCTIONS \ # define QT_TR_FUNCTIONS \
static inline QString tr(const char *s, const char *c = 0) \ static inline QString tr(const char *s, const char *c = 0, int n = -1) \
{ return staticMetaObject.tr(s, c); } \
static inline QString tr(const char *s, const char *c, int n) \
{ return staticMetaObject.tr(s, c, n); } { return staticMetaObject.tr(s, c, n); }
# endif # endif
#else #else
@ -299,11 +291,8 @@ struct Q_CORE_EXPORT QMetaObject
const QObject *cast(const QObject *obj) const; const QObject *cast(const QObject *obj) const;
#ifndef QT_NO_TRANSLATION #ifndef QT_NO_TRANSLATION
// ### Qt 4: Merge overloads QString tr(const char *s, const char *c, int n = -1) const;
QString tr(const char *s, const char *c) const; QString trUtf8(const char *s, const char *c, int n = -1) 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;
#endif // QT_NO_TRANSLATION #endif // QT_NO_TRANSLATION
int methodOffset() const; int methodOffset() const;