summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorTasuku Suzuki <stasuku@gmail.com>2013-04-15 08:27:02 +0900
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-17 09:44:22 +0200
commitd9e722d8560c07adb1852cfd061ffb23197d06fd (patch)
tree32ead273ee4b8b4795819c0e7739fe4bc0080dcb /src/tools
parentf730cd7542548d7d5fb7cd25f631e471697960c8 (diff)
Make qtbase compile with QT_NO_TEXTCODEC
Change-Id: I1614dc08c0dd1950020e415f37c97160431b2336 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/qdoc/config.cpp2
-rw-r--r--src/tools/qdoc/ditaxmlgenerator.cpp6
-rw-r--r--src/tools/qdoc/generator.cpp2
-rw-r--r--src/tools/qdoc/generator.h2
-rw-r--r--src/tools/qdoc/htmlgenerator.cpp10
-rw-r--r--src/tools/qdoc/tokenizer.cpp12
6 files changed, 34 insertions, 0 deletions
diff --git a/src/tools/qdoc/config.cpp b/src/tools/qdoc/config.cpp
index 273cb60d7d..a475ccbfb6 100644
--- a/src/tools/qdoc/config.cpp
+++ b/src/tools/qdoc/config.cpp
@@ -877,7 +877,9 @@ void Config::load(Location location, const QString& fileName)
}
QTextStream stream(&fin);
+#ifndef QT_NO_TEXTCODEC
stream.setCodec("UTF-8");
+#endif
QString text = stream.readAll();
text += QLatin1String("\n\n");
text += QLatin1Char('\0');
diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp
index dd87e889bf..af8ac505f8 100644
--- a/src/tools/qdoc/ditaxmlgenerator.cpp
+++ b/src/tools/qdoc/ditaxmlgenerator.cpp
@@ -532,10 +532,12 @@ void DitaXmlGenerator::initializeGenerator(const Config &config)
projectUrl = config.getString(CONFIG_URL);
tagFile_ = config.getString(CONFIG_TAGFILE);
+#ifndef QT_NO_TEXTCODEC
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
if (outputEncoding.isEmpty())
outputEncoding = QLatin1String("ISO-8859-1");
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
+#endif
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
if (naturalLanguage.isEmpty())
@@ -3586,7 +3588,11 @@ QString DitaXmlGenerator::registerRef(const QString& ref)
*/
QString DitaXmlGenerator::protectEnc(const QString& string)
{
+#ifndef QT_NO_TEXTCODEC
return protect(string, outputEncoding);
+#else
+ return protect(string);
+#endif
}
QString DitaXmlGenerator::protect(const QString& string, const QString& ) //outputEncoding)
diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp
index 81be63abe1..187253df50 100644
--- a/src/tools/qdoc/generator.cpp
+++ b/src/tools/qdoc/generator.cpp
@@ -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()));
QTextStream* out = new QTextStream(outFile);
+#ifndef QT_NO_TEXTCODEC
if (outputCodec)
out->setCodec(outputCodec);
+#endif
outStreamStack.push(out);
const_cast<InnerNode*>(node)->setOutputFileName(fileName);
}
diff --git a/src/tools/qdoc/generator.h b/src/tools/qdoc/generator.h
index 28a9ae5ce8..2fb3117765 100644
--- a/src/tools/qdoc/generator.h
+++ b/src/tools/qdoc/generator.h
@@ -178,8 +178,10 @@ protected:
QMap<QString, QStringList> editionGroupMap;
QMap<QString, QStringList> editionModuleMap;
QString naturalLanguage;
+#ifndef QT_NO_TEXTCODEC
QTextCodec* outputCodec;
QString outputEncoding;
+#endif
QString tagFile_;
QStack<QTextStream*> outStreamStack;
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp
index 3d6f04decf..845ed35b3c 100644
--- a/src/tools/qdoc/htmlgenerator.cpp
+++ b/src/tools/qdoc/htmlgenerator.cpp
@@ -179,10 +179,12 @@ void HtmlGenerator::initializeGenerator(const Config &config)
projectUrl = config.getString(CONFIG_URL);
tagFile_ = config.getString(CONFIG_TAGFILE);
+#ifndef QT_NO_TEXTCODEC
outputEncoding = config.getString(CONFIG_OUTPUTENCODING);
if (outputEncoding.isEmpty())
outputEncoding = QLatin1String("UTF-8");
outputCodec = QTextCodec::codecForName(outputEncoding.toLocal8Bit());
+#endif
naturalLanguage = config.getString(CONFIG_NATURALLANGUAGE);
if (naturalLanguage.isEmpty())
@@ -1743,7 +1745,11 @@ void HtmlGenerator::generateHeader(const QString& title,
const Node *node,
CodeMarker *marker)
{
+#ifndef QT_NO_TEXTCODEC
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() << QString("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"%1\" lang=\"%1\">\n").arg(naturalLanguage);
out() << "<head>\n";
@@ -3185,7 +3191,11 @@ QString HtmlGenerator::registerRef(const QString& ref)
QString HtmlGenerator::protectEnc(const QString &string)
{
+#ifndef QT_NO_TEXTCODEC
return protect(string, outputEncoding);
+#else
+ return protect(string);
+#endif
}
QString HtmlGenerator::protect(const QString &string, const QString &outputEncoding)
diff --git a/src/tools/qdoc/tokenizer.cpp b/src/tools/qdoc/tokenizer.cpp
index 3968cdb828..224d451f4c 100644
--- a/src/tools/qdoc/tokenizer.cpp
+++ b/src/tools/qdoc/tokenizer.cpp
@@ -101,7 +101,9 @@ static QRegExp *definedX = 0;
static QRegExp *defines = 0;
static QRegExp *falsehoods = 0;
+#ifndef QT_NO_TEXTCODEC
static QTextCodec *sourceCodec = 0;
+#endif
/*
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);
if (sourceEncoding.isEmpty())
sourceEncoding = QLatin1String("ISO-8859-1");
+#ifndef QT_NO_TEXTCODEC
sourceCodec = QTextCodec::codecForName(sourceEncoding.toLocal8Bit());
+#endif
comment = new QRegExp("/(?:\\*.*\\*/|/.*\n|/[^\n]*$)");
comment->setMinimal(true);
@@ -770,12 +774,20 @@ bool Tokenizer::isTrue(const QString &condition)
QString Tokenizer::lexeme() const
{
+#ifndef QT_NO_TEXTCODEC
return sourceCodec->toUnicode(yyLex);
+#else
+ return QString::fromUtf8(yyLex);
+#endif
}
QString Tokenizer::previousLexeme() const
{
+#ifndef QT_NO_TEXTCODEC
return sourceCodec->toUnicode(yyPrevLex);
+#else
+ return QString::fromUtf8(yyPrevLex);
+#endif
}
QT_END_NAMESPACE