Make qtbase compile with QT_NO_TEXTCODEC
Change-Id: I1614dc08c0dd1950020e415f37c97160431b2336 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
f730cd7542
commit
d9e722d856
@ -883,13 +883,19 @@ int QXcbKeyboard::keysymToQtKey(xcb_keysym_t key) const
|
|||||||
int QXcbKeyboard::keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modifiers, QString text) const
|
int QXcbKeyboard::keysymToQtKey(xcb_keysym_t keysym, Qt::KeyboardModifiers &modifiers, QString text) const
|
||||||
{
|
{
|
||||||
int code = 0;
|
int code = 0;
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
QTextCodec *systemCodec = QTextCodec::codecForLocale();
|
QTextCodec *systemCodec = QTextCodec::codecForLocale();
|
||||||
|
#endif
|
||||||
// Commentary in X11/keysymdef says that X codes match ASCII, so it
|
// Commentary in X11/keysymdef says that X codes match ASCII, so it
|
||||||
// is safe to use the locale functions to process X codes in ISO8859-1.
|
// is safe to use the locale functions to process X codes in ISO8859-1.
|
||||||
// This is mainly for compatibility - applications should not use the
|
// This is mainly for compatibility - applications should not use the
|
||||||
// Qt keycodes between 128 and 255 (extended ACSII codes), but should
|
// Qt keycodes between 128 and 255 (extended ACSII codes), but should
|
||||||
// rather use the QKeyEvent::text().
|
// rather use the QKeyEvent::text().
|
||||||
if (keysym < 128 || (keysym < 256 && systemCodec->mibEnum() == 4)) {
|
if (keysym < 128 || (keysym < 256
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
|
&& systemCodec->mibEnum() == 4
|
||||||
|
#endif
|
||||||
|
)) {
|
||||||
// upper-case key, if known
|
// upper-case key, if known
|
||||||
code = isprint((int)keysym) ? toupper((int)keysym) : 0;
|
code = isprint((int)keysym) ? toupper((int)keysym) : 0;
|
||||||
} else if (keysym >= XK_F1 && keysym <= XK_F35) {
|
} else if (keysym >= XK_F1 && keysym <= XK_F35) {
|
||||||
|
@ -170,11 +170,13 @@ QVariant QXcbMime::mimeConvertToFormat(QXcbConnection *connection, xcb_atom_t a,
|
|||||||
if (!encoding.isEmpty()
|
if (!encoding.isEmpty()
|
||||||
&& atomName == format + QLatin1String(";charset=") + QString::fromLatin1(encoding)) {
|
&& atomName == format + QLatin1String(";charset=") + QString::fromLatin1(encoding)) {
|
||||||
|
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
if (requestedType == QVariant::String) {
|
if (requestedType == QVariant::String) {
|
||||||
QTextCodec *codec = QTextCodec::codecForName(encoding);
|
QTextCodec *codec = QTextCodec::codecForName(encoding);
|
||||||
if (codec)
|
if (codec)
|
||||||
return codec->toUnicode(data);
|
return codec->toUnicode(data);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
@ -877,7 +877,9 @@ void Config::load(Location location, const QString& fileName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QTextStream stream(&fin);
|
QTextStream stream(&fin);
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
stream.setCodec("UTF-8");
|
stream.setCodec("UTF-8");
|
||||||
|
#endif
|
||||||
QString text = stream.readAll();
|
QString text = stream.readAll();
|
||||||
text += QLatin1String("\n\n");
|
text += QLatin1String("\n\n");
|
||||||
text += QLatin1Char('\0');
|
text += QLatin1Char('\0');
|
||||||
|
@ -532,10 +532,12 @@ void DitaXmlGenerator::initializeGenerator(const Config &config)
|
|||||||
projectUrl = config.getString(CONFIG_URL);
|
projectUrl = config.getString(CONFIG_URL);
|
||||||
tagFile_ = config.getString(CONFIG_TAGFILE);
|
tagFile_ = config.getString(CONFIG_TAGFILE);
|
||||||
|
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
|
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
|
||||||
if (outputEncoding.isEmpty())
|
if (outputEncoding.isEmpty())
|
||||||
outputEncoding = QLatin1String("ISO-8859-1");
|
outputEncoding = QLatin1String("ISO-8859-1");
|
||||||
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
|
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
|
||||||
|
#endif
|
||||||
|
|
||||||
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
|
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
|
||||||
if (naturalLanguage.isEmpty())
|
if (naturalLanguage.isEmpty())
|
||||||
@ -3586,7 +3588,11 @@ QString DitaXmlGenerator::registerRef(const QString& ref)
|
|||||||
*/
|
*/
|
||||||
QString DitaXmlGenerator::protectEnc(const QString& string)
|
QString DitaXmlGenerator::protectEnc(const QString& string)
|
||||||
{
|
{
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
return protect(string, outputEncoding);
|
return protect(string, outputEncoding);
|
||||||
|
#else
|
||||||
|
return protect(string);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DitaXmlGenerator::protect(const QString& string, const QString& ) //outputEncoding)
|
QString DitaXmlGenerator::protect(const QString& string, const QString& ) //outputEncoding)
|
||||||
|
@ -273,8 +273,10 @@ void Generator::beginSubPage(const InnerNode* node, const QString& fileName)
|
|||||||
node->location().fatal(tr("Cannot open output file '%1'").arg(outFile->fileName()));
|
node->location().fatal(tr("Cannot open output file '%1'").arg(outFile->fileName()));
|
||||||
QTextStream* out = new QTextStream(outFile);
|
QTextStream* out = new QTextStream(outFile);
|
||||||
|
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
if (outputCodec)
|
if (outputCodec)
|
||||||
out->setCodec(outputCodec);
|
out->setCodec(outputCodec);
|
||||||
|
#endif
|
||||||
outStreamStack.push(out);
|
outStreamStack.push(out);
|
||||||
const_cast<InnerNode*>(node)->setOutputFileName(fileName);
|
const_cast<InnerNode*>(node)->setOutputFileName(fileName);
|
||||||
}
|
}
|
||||||
|
@ -178,8 +178,10 @@ protected:
|
|||||||
QMap<QString, QStringList> editionGroupMap;
|
QMap<QString, QStringList> editionGroupMap;
|
||||||
QMap<QString, QStringList> editionModuleMap;
|
QMap<QString, QStringList> editionModuleMap;
|
||||||
QString naturalLanguage;
|
QString naturalLanguage;
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
QTextCodec* outputCodec;
|
QTextCodec* outputCodec;
|
||||||
QString outputEncoding;
|
QString outputEncoding;
|
||||||
|
#endif
|
||||||
QString tagFile_;
|
QString tagFile_;
|
||||||
QStack<QTextStream*> outStreamStack;
|
QStack<QTextStream*> outStreamStack;
|
||||||
|
|
||||||
|
@ -179,10 +179,12 @@ void HtmlGenerator::initializeGenerator(const Config &config)
|
|||||||
projectUrl = config.getString(CONFIG_URL);
|
projectUrl = config.getString(CONFIG_URL);
|
||||||
tagFile_ = config.getString(CONFIG_TAGFILE);
|
tagFile_ = config.getString(CONFIG_TAGFILE);
|
||||||
|
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
|
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
|
||||||
if (outputEncoding.isEmpty())
|
if (outputEncoding.isEmpty())
|
||||||
outputEncoding = QLatin1String("UTF-8");
|
outputEncoding = QLatin1String("UTF-8");
|
||||||
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
|
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
|
||||||
|
#endif
|
||||||
|
|
||||||
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
|
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
|
||||||
if (naturalLanguage.isEmpty())
|
if (naturalLanguage.isEmpty())
|
||||||
@ -1743,7 +1745,11 @@ void HtmlGenerator::generateHeader(const QString& title,
|
|||||||
const Node *node,
|
const Node *node,
|
||||||
CodeMarker *marker)
|
CodeMarker *marker)
|
||||||
{
|
{
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
out() << QString("<?xml version=\"1.0\" encoding=\"%1\"?>\n").arg(outputEncoding);
|
out() << QString("<?xml version=\"1.0\" encoding=\"%1\"?>\n").arg(outputEncoding);
|
||||||
|
#else
|
||||||
|
out() << QString("<?xml version=\"1.0\"?>\n");
|
||||||
|
#endif
|
||||||
out() << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
|
out() << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
|
||||||
out() << QString("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"%1\" lang=\"%1\">\n").arg(naturalLanguage);
|
out() << QString("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"%1\" lang=\"%1\">\n").arg(naturalLanguage);
|
||||||
out() << "<head>\n";
|
out() << "<head>\n";
|
||||||
@ -3185,7 +3191,11 @@ QString HtmlGenerator::registerRef(const QString& ref)
|
|||||||
|
|
||||||
QString HtmlGenerator::protectEnc(const QString &string)
|
QString HtmlGenerator::protectEnc(const QString &string)
|
||||||
{
|
{
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
return protect(string, outputEncoding);
|
return protect(string, outputEncoding);
|
||||||
|
#else
|
||||||
|
return protect(string);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
QString HtmlGenerator::protect(const QString &string, const QString &outputEncoding)
|
QString HtmlGenerator::protect(const QString &string, const QString &outputEncoding)
|
||||||
|
@ -101,7 +101,9 @@ static QRegExp *definedX = 0;
|
|||||||
static QRegExp *defines = 0;
|
static QRegExp *defines = 0;
|
||||||
static QRegExp *falsehoods = 0;
|
static QRegExp *falsehoods = 0;
|
||||||
|
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
static QTextCodec *sourceCodec = 0;
|
static QTextCodec *sourceCodec = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This function is a perfect hash function for the 37 keywords of C99
|
This function is a perfect hash function for the 37 keywords of C99
|
||||||
@ -496,7 +498,9 @@ void Tokenizer::initialize(const Config &config)
|
|||||||
QString sourceEncoding = config.getString(CONFIG_SOURCEENCODING);
|
QString sourceEncoding = config.getString(CONFIG_SOURCEENCODING);
|
||||||
if (sourceEncoding.isEmpty())
|
if (sourceEncoding.isEmpty())
|
||||||
sourceEncoding = QLatin1String("ISO-8859-1");
|
sourceEncoding = QLatin1String("ISO-8859-1");
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
sourceCodec = QTextCodec::codecForName(sourceEncoding.toLocal8Bit());
|
sourceCodec = QTextCodec::codecForName(sourceEncoding.toLocal8Bit());
|
||||||
|
#endif
|
||||||
|
|
||||||
comment = new QRegExp("/(?:\\*.*\\*/|/.*\n|/[^\n]*$)");
|
comment = new QRegExp("/(?:\\*.*\\*/|/.*\n|/[^\n]*$)");
|
||||||
comment->setMinimal(true);
|
comment->setMinimal(true);
|
||||||
@ -770,12 +774,20 @@ bool Tokenizer::isTrue(const QString &condition)
|
|||||||
|
|
||||||
QString Tokenizer::lexeme() const
|
QString Tokenizer::lexeme() const
|
||||||
{
|
{
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
return sourceCodec->toUnicode(yyLex);
|
return sourceCodec->toUnicode(yyLex);
|
||||||
|
#else
|
||||||
|
return QString::fromUtf8(yyLex);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Tokenizer::previousLexeme() const
|
QString Tokenizer::previousLexeme() const
|
||||||
{
|
{
|
||||||
|
#ifndef QT_NO_TEXTCODEC
|
||||||
return sourceCodec->toUnicode(yyPrevLex);
|
return sourceCodec->toUnicode(yyPrevLex);
|
||||||
|
#else
|
||||||
|
return QString::fromUtf8(yyPrevLex);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user