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)
{
if (n >= 0) {

View 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:

View File

@ -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
*/

View 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

View 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;