There were a handfull instances of the kind 1) gettextFromC::instance()->tr(...) 2) gettextFromC::instance()->trGettext(...) 1) is pointless, as tr is a static function. All instances of 2) were likewise pointless, because trGettext() returns a C-string, which was then immediately converted to a QString. Thus, replace both constructs by gettextFromC::tr(...). After this change there was only one user of gettextFromC::instance() left, viz. the C-interface funtion trGettext(). Therefore, remove gettextFromC::instance() and do all the caching / translating directly in the global trGettext(). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
14 lines
344 B
C++
14 lines
344 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "gettextfromc.h"
|
|
#include <QHash>
|
|
|
|
static QHash<QByteArray, QByteArray> translationCache;
|
|
|
|
extern "C" const char *trGettext(const char *text)
|
|
{
|
|
QByteArray &result = translationCache[QByteArray(text)];
|
|
if (result.isEmpty())
|
|
result = gettextFromC::tr(text).toUtf8();
|
|
return result.constData();
|
|
}
|